Podcasts about Vim

  • 410PODCASTS
  • 888EPISODES
  • 42mAVG DURATION
  • 5WEEKLY NEW EPISODES
  • Jan 17, 2023LATEST

POPULARITY

20152016201720182019202020212022

Categories



Best podcasts about Vim

Latest podcast episodes about Vim

The Bike Shed
367: Value Objects

The Bike Shed

Play Episode Listen Later Jan 17, 2023 34:00


Joël's been traveling. Stephanie's working on professional development. She's also keeping up a little bit more with Ruby news and community news in general and saw that Ruby 3.2 introduced a new class called data to its core library for the use case of creating simple value objects. This episode is brought to you by Airbrake (https://airbrake.io/?utm_campaign=Q3_2022%3A%20Bike%20Shed%20Podcast%20Ad&utm_source=Bike%20Shed&utm_medium=website). Visit Frictionless error monitoring and performance insight for your app stack. Maggie Appleton's Tools for Thought (https://maggieappleton.com/tools-for-thought) Episode on note-taking with Amanda Beiner (https://www.bikeshed.fm/357) Obsidian (https://obsidian.md/) Zettelkasten (https://zettelkasten.de/posts/overview/) Evergreen notes (https://notes.andymatuschak.org/Evergreen_notes) New Data class (https://ruby-doc.org/3.2.0/Data.html) Joël's article on value objects (https://thoughtbot.com/blog/value-object-semantics-in-ruby) Episode on specialized vocabulary (https://www.bikeshed.fm/356) Primitive Obsession (https://wiki.c2.com/?PrimitiveObsession) Transcript: AD: thoughtbot is thrilled to announce our own incubator launching this year. If you are a non-technical founding team with a business idea that involves a web or mobile app, we encourage you to apply for our eight-week program. We'll help you move forward with confidence in your team, your product vision, and a roadmap for getting you there. Learn more and apply at tbot.io/incubator. STEPHANIE: Hello and welcome to another episode of The Bike Shed, a weekly podcast from your friends at thoughtbot about developing great software. I'm Stephanie Minn. JOËL: And I'm Joël Quenneville. And together, we're here to share a little bit of what we've learned along the way. STEPHANIE: So, Joël, what's new in your world? JOËL: I've been traveling for the past few weeks in Europe. I just recently got back to the U.S. and have just gotten used to drinking American-style drip coffee again after having espresso every day for a few weeks. And it's been an adjustment. STEPHANIE: I bet. I think that it's such a downgrade compared to European espresso. I remember when I was in Italy, I also would really enjoy espresso every day at a local cafe and just be like sitting outside drinking it. And it was very delightful. JOËL: They're very different experiences. I have to say I do enjoy just holding a hot mug and sort of sipping on it for a long time. It's also a lot weaker. You wouldn't want to do a full hot mug of espresso. That would just be way too intense. But yeah, I think both experiences are enjoyable. They're just different. STEPHANIE: Yeah. So, that first day with your measly drip coffee and your jet lag, how are you doing on your first day back at work? JOËL: I did pretty good. I think part of the fun of coming back to the U.S. from Europe is that the jet lag makes me a very productive morning person for a week. Normally, I'm a little bit more of an evening person. So I get to get a bit of an alter ego for a week, and that helps me to transition back into work. STEPHANIE: Nice. JOËL: So you've also been on break and have started work again. How are you feeling productivity-wise, kicking off the New Year? STEPHANIE: I'm actually unbooked this week and the last week too. So I'm not working on client projects, but I am having a lot of time to work on just professional development. And usually, during this downtime, I also like to reassess just how I'm working, and lately, what that has meant for me is changing my note-taking process. And I'm really excited to share this with you because I know that you have talked about this on the show before, I think in a previous episode with a guest, Amanda Beiner. And I listened to that episode, and I was really inspired because I was feeling like I didn't have a note-taking system that worked super well for me. But you all talked about some tools you used and some, I guess, philosophies around note-taking that like I said, I was really inspired by. And so I hopped on board the Obsidian train. And I'm really excited to share with you my experience with it. So I really like it because I previously was taking notes in my editor under the impression that, oh, like, everything is in one place. It'll be like a seamless transition from code to note-taking. And I was already writing in Markdown. But I actually didn't like it that much because I found it kind of distracting to have code things kind of around. And if I was navigating files or something, something work or code-related might come up, and that ended up being a bit distracting for me. But I know that that works really well for some people; a coworker of ours, Aji, I know that he takes his notes in Vim and has a really fancy setup for that. And so I thought maybe that's what I wanted, but it turns out that what I wanted was actually more of a boundary between code and notes. And so, I was assessing different note-taking and knowledge management software. And I have been really enjoying Obsidian because it also has quite a bit of community support. So I've installed a few plugins for just quality-of-life features like snippets which I had in my editor, and now I get to have in Obsidian. I also installed things like Natural Language Dates. So for my running to-do list, I can just do a shortcut for today, and it'll autofill today's date, which, I don't know, because for me, [laughs] that is just a little bit less mental work that I have to do to remember the date. And yeah, I've been really liking it. I haven't even fully explored backlinking, and that connectivity aspect, which I know is a core feature, but it's been working well for me so far. JOËL: That's really exciting. I love notes and note-taking and the ways that we can use those to make our lives better as developers and as human beings. Do you have a particular system or way you've approached that? Because I know for me, I probably looked at Obsidian for six months before I kind of had the courage to download it because I didn't want to go into it and not have a way to organize things. I was like; I don't want to just throw random notes in here. I want to have a system. That might just be me. But did you just kind of jump into it and see, like, oh, a system will emerge? Did you have a particular philosophy going in? How are you approaching taking notes there? STEPHANIE: That's definitely a you thing because I've definitely had the opposite experience [laughs] where I'm just like, oh, I've downloaded this thing. I'm going to start typing notes and see what happens. I have never really had a good organizational system, which I think is fine for me. I was really leaning on pen and paper notes for a while, and I still have a certain use case for them. Because I find that when I'm in meetings or one-on-ones and taking notes, I don't actually like to have my hands on the keyboard because of distractions. Like I mentioned earlier, it's really easy for me to, like, oh, accidentally Command-Tab and open Slack and be like, oh, someone posted something new in Slack; let me go read this. And I'm not giving the meeting or the person I'm talking to my full attention, and I really didn't like that. So I still do pen and paper for things where I want to make sure that I'm not getting distracted. And then, I will transfer any gems from those notes to Obsidian if I find that they are worth putting in a place where I do have a little bit more discoverability and eventually maybe kind of adding on to my process of using those backlinks and connecting thoughts like that. So, so far, it's truly just a list of separate little pages of notes, and yeah, we'll see how it goes. I'm curious what your system for organizing is or if you have kind of figured out something that works well for you. JOËL: So my approach focuses very heavily on the backlinks. It's loosely inspired by two similar systems of organization called Zettelkasten and evergreen notes. The idea is that you create notes that are ideas. Typically, the title is like a thesis statement, and you keep them very short, focused on a single thing. And if you have a more complex idea, it probably breaks down into two or three, and then you link them to each other as makes sense. So you create a web of these atomic ideas that are highly interconnected with each other. And then later on, because I use this a lot for either creating content in the future or to help refine my thinking on various software topics, so later on, I can go through and maybe connect three or four things I didn't realize connected together. Or if I'm writing an article or a talk, maybe find three or four of these ideas that I generated at very different moments, but now they're connected. And I can make an article or a talk out of them. So that's sort of the purpose that I use them for and how I've organized things for myself. STEPHANIE: I think that's a really interesting topic because while I was assessing different software for note-taking and, like I said, knowledge management, I discovered this blog post by Maggie Appleton that was super interesting because she is talking about the term tools of thought which a lot of these different software kind of leveraged in their marketing copy as like, oh, this software will be like the key to evolving your thinking and help you expand making connections, like you mentioned, in ways that you weren't able to before. And was very obviously trying to upsell you on this product, and she -- JOËL: It's over the top. STEPHANIE: A little bit, a little bit. So in this article, I liked that she took a critical lens to that idea and rooted her article in history and gave examples of a bunch of different things in human history that also evolved the ways humans were able to express their thoughts and solve problems. And so some of the ones that she listed were like storytelling and oral tradition. Literally, the written language obviously [laughs] empowered humans to be able to communicate and think in ways that we never were before but also drawings, and maps, and spreadsheets. So I thought that was really cool because she was basically saying that tools of thought don't need to be digital, and people claiming that these software, you know, are the new way to think or whatever, it's like, the way we're thinking now, but we also have this long history of using and developing different things that helped us communicate with each other and think about stuff. JOËL: I think that's something that appealed to me when I was looking at some of these note-taking systems. Zettelkasten, in particular, predates digital technology. The original system was built on note cards, and the digital stuff just made it a little bit easier. But I think also when I was reading about these ideas of keeping ideas small and linking them together, I realized that's already kind of how I tend to organize information when I just hold it in my brain or even when I try to do something like a tweet thread on Twitter where I'll try to break it up. It might be a larger, more complex idea, but each tweet, I try to get it to kind of stand on its own to make it easier to retweet and all that. And so it becomes a chain of related ideas that maybe build up to something, but each idea stands on its own. And that's kind of how in these systems notes end up working. And they're in a way that you can kind of remix them with each other. So it's not just a linear chain like you would have on Twitter. STEPHANIE: Yeah, I remember you all in that episode about note-taking with Amanda talked about the value of having an atomic piece of information in every note that you write. And since then, I've been trying to do that more because, especially when I was doing pen and paper, I would just write very loose, messy thoughts down. And I would just think that maybe I would come back to them one day and try to figure out, like, oh, what did I say here, and can I apply it to something? But it's kind of like doing any kind of refactoring or whatever. It's like, in that moment, you have the most context about what you just wrote down or created. And so I've been a little more intentional about trying to take that thought to its logical end, and then hopefully, it will provide value later. What you were saying about the connectivity I also wanted to kind of touch on a little bit further because I've realized that for me, a lot of the connection-making happens during times where I'm not very actively trying to think, or reflect, or do a lot of deep work, if you will. Because lately, I've been having a lot of revelations in the shower, or while I'm trying to fall asleep, or just other kinds of meditative activity. And I'm just coming to terms with that's just how my brain works. And doing those kinds of activities has value for me because it's like something is clearly going on in my brain. And I definitely want to just honor that's how it works for me. JOËL: I had a great conversation recently with another colleague about the gift of boredom and how that can impact our work and what we think about, and our creativity. That was really great. Sometimes it's important to give ourselves a little bit more blank space in our lives. And counter-intuitively, it can make us more productive, even though we're not scheduling ourselves to be productive. STEPHANIE: Yes, I wholeheartedly agree with that. I think a lot about the feeling of boredom, and for me, that is like the middle of summer break when you're still in school and you just had no obligations whatsoever. And you could just do whatever you wanted and could just laze around and be bored. But letting your mind wander during those times is something I really miss. And sometimes, when I do experience that feeling, I get a little bit anxious. I'm like, oh, I could be doing something else. There's whatever endless list of chores or things that are, quote, unquote, "productive." But yeah, I really like how you mentioned that there is value in that experience, and it can feel really indulgent, but that can be good too. MID-ROLL AD: Debugging errors can be a developer's worst nightmare...but it doesn't have to be. Airbrake is an award-winning error monitoring, performance, and deployment tracking tool created by developers for developers that can actually help cut your debugging time in half. So why do developers love Airbrake? It has all of the information that web developers need to monitor their application - including error management, performance insights, and deploy tracking! Airbrake's debugging tool catches all of your project errors, intelligently groups them, and points you to the issue in the code so you can quickly fix the bug before customers are impacted. In addition to stellar error monitoring, Airbrake's lightweight APM helps developers to track the performance and availability of their application through metrics like HTTP requests, response times, error occurrences, and user satisfaction. Finally, Airbrake Deploy Tracking helps developers track trends, fix bad deploys, and improve code quality. Since 2008, Airbrake has been a staple in the Ruby community and has grown to cover all major programming languages. Airbrake seamlessly integrates with your favorite apps to include modern features like single sign-on and SDK-based installation. From testing to production, Airbrake notifiers have your back. Your time is valuable, so why waste it combing through logs, waiting for user reports, or retrofitting other tools to monitor your application? You literally have nothing to lose. Head on over to airbrake.io/try/bikeshed to create your FREE developer account today! JOËL: So you mentioned recently that you've had a lot of revelations or new ideas that have come upon you or that you've been able to dig into a little bit more. Is there one you'd like to share with the audience? STEPHANIE: Yeah. So during this downtime that I've had not working on client work, I have been able to keep up a little bit more with Ruby news or just community news in general. And in, I think, an edition of Ruby Weekly, I saw that Ruby 3.2 introduced this new class called data to its core library for the use case of creating simple value objects. And I was really excited about this new feature because I remembered that you had written a thoughtbot blog post about value objects back in the summer that I had reviewed. That was an opportunity that I could make a connection between something happening in recent news with some thoughts that I had about this topic a few months ago. But basically, this new class can be used over something like a struct to create objects that are immutable in their values, which is a big improvement if you are trying to follow value objects semantics. JOËL: So, I have not played around with the new data class. How is it different from the existing struct that we have in Ruby? STEPHANIE: So I think I might actually answer that first by saying how they're similar, which is that they are both vehicles for holding pieces of data. So we've, in the past, been able to use a struct to very cheaply and easily create a new class that has attributes. But one pitfall of using a struct when you're trying to implement something like a value object is that structs also came with writer methods for all of its members. And so you could change the value of a member, and that it kind of inherently goes against the semantics of a value object because, ideally, they're immutable. And so, with the data class, it doesn't offer writer methods essentially. And I think that it freezes the instance as well in the constructor. And so even if you tried to add writer methods, you would eventually get an error. JOËL: That's really convenient. I think that may be an area where I've been a little bit frustrated with structs in the past, which is that they can be modified. They basically get treated as if they're hashes with a slightly nicer syntax to interact with them. And I want slightly harder boundaries around the data. Particularly when I'm using them as value objects, I generally don't want people to modify them because that might lead to some weird bugs in the code where you've got a, I don't know, something represents a time value or a date value or something, and you're trying to do math on it. And instead of giving you a new time or date, value just modifies the first one. And so now your start date is in the past or something because you happen to subtract a time from it to do a calculation. And you can't assign it to a variable anywhere. STEPHANIE: Yeah, for sure. Another kind of pitfall I remember noticing about structs were that the struct class includes the enumerable module, which makes a struct kind of like a collection. Whereas if you are using it for a value object, that's maybe not what you want. So there was a bit of discourse about whether or not the data class should inherit from struct. And I think they landed on it not inheriting because then you can draw a line in the sand and have that stricter enforcement of saying like, this is what a data as value object should be, and this is what it should not be. So I found that pretty valuable too. JOËL: I think I've heard people talk about sort of two classes of problems that are typically solved with a struct; one is something like a value object where you probably don't want it to be writable. You probably don't want it to be enumerable. And it sounds like data now takes on that role very nicely. The other category of problem is that you have just a hash, and you're trying to incrementally migrate it over to some nicer objects in some kind of domain. And struct actually gives you this really nice intermediate phase where it still mostly behaves like a hash if you needed to, but it also behaves like an object. And it can help you incrementally transition away from just a giant hash into something that's a little bit more programmatic. STEPHANIE: Yeah, that's a really good point. I think struct will still be a very viable option for that second category that you described. But having this new data class could be a good middle ground before you extract something into its own class because it better encapsulates the idea of a value object. And one thing that I remember was really interesting about the article that you wrote was that sometimes people forget to implement certain methods when they're writing their own custom value objects. And these come a bit more out of the box with data and just provide a bit more like...what's the word I'm looking for? I'm looking for...you know when you're bowling, and you have those bumpers, I guess? [laughs] JOËL: Uh-huh. STEPHANIE: They provide just like safeguards, I guess, for following semantics around value objects that I thought was really important because it's creating an artifact for this concept that didn't exist. JOËL: And to recap for the audience here, the difference is in how objects are compared for equality. So value objects, if they have the same internal value, even if they're separate objects in memory, should be considered equal. That's how numbers work. That's how hashes work. Generally, primitives in Ruby behave this way. And structs behave that way, and the new data class, it sounds, also behaves that way. Whereas regular objects that you would make they compare based off of the identity of the object, not its value. So if you create two user instances, not ActiveRecord, but you could create a user class, you create two instances in memory. They both have the same attributes. They will be considered not equal to each other because they're not the same instance in memory, and that's fine for something more complex. But when you're dealing with value objects, it's important that two objects that represent the same thing, like a particular time for a unit of measure or something like that, if they have the same internal value, they must be the same. STEPHANIE: Right. So prior to the introduction of this class, that wasn't really enforced or codified anywhere. It was something that if you knew what a value object was, you could apply that concept to your code and make sure that the code you wrote was semantically aligned with this concept. And what was kind of exciting to me about the addition of this to the core class library in Ruby is that someone could discover this without having to know what a value object is like more formally. They might be able to see the use of a data class and be like, oh, let me look this up in the official Ruby docs. And then they could learn like, okay, here's what that means, and here's some rules for this concept in a way that, like I mentioned earlier, felt very implicit to me prior. So that, I don't know, was a really exciting new development in my eyes. JOËL: One of the first episodes that you and I recorded together was about the value of specific vocabulary. And I think part of what the Ruby team has done here is they've taken an implicit concept and given it a name. It's extracted, and it has a name now. And if you use it now, it's because you're doing this data thing, this value object thing. And now there's a documentation page. You can Google it. You can find it rather than just be wondering like, oh, why did someone use a struct in this way and not realize there are some implicit semantics that are different? Or wondering why did the override double equals on this custom class? STEPHANIE: Yeah, exactly. I think that the introduction of this class also provides a solution for something that you mentioned in that blog post, which was the idea of testing value objects. Because previously, when you did have to make sure that you implemented methods, those comparison methods to align with the concept of a value object, it was very easy to forget or just not know. And so you provided a potential solution of testing value objects via an RSpec shared example. And I remember thinking like, ooh, that was a really hot topic because we had also been debating about shared examples in general. But yeah, I was just thinking that now that it's part of the core library, I think, in some ways, that eliminates the need to test something that is using a data class anyway because we can rely a little bit more on that dependency. JOËL: Right? It's the built-in behavior now. Do you have any fun uses for value objects recently? STEPHANIE: I have not necessarily had to implement my own recently. But I do think that the next time I work with one or the next time I think that I might want to have something like a value object it will be a lot easier. And I'm just excited to play around with this and see how it will help solve any problem that might come up. So, Joël, do you have any ideas about when you might reach for a data object? JOËL: A lot of situations, I think, when you see the primitive obsession smell are a great use case for value objects, or maybe we should call them data objects now, now that this is part of Ruby's vocabulary. I think I often tend to; preemptively sounds bad, but a lot of times, I will try to be careful. Anytime I'm doing anything with raw numbers, magic strings, things like that, I'll try to encapsulate them into some sort of struct. Or even if it's like a pair of numbers, it always goes together, maybe a latitude and longitude. Now, those are a pair. Do I want to just be passing around a two-element array all the time or a hash that would probably make a very nice data object? If I have a unit of measure, some number that represents not just the abstract concept of three but specifically three miles or three minutes, then I might reach for something like a data class. STEPHANIE: Yeah, I think that's also true if you're doing any kind of arithmetic or, in general, trying to compare anything about two of the same things. That might be a good indicator as well that you could use something richer, like a value object, to make some of that code more readable, and you get some of those convenient methods for doing those comparisons. JOËL: Have you ever written code where you just have like some number in the code, and there's a comment afterwards that's like minutes or miles or something like that, just giving you the unit as a comment afterwards? STEPHANIE: Oh yeah. I've definitely seen some of that code. And yeah, I mean, now that you mentioned it, that's a great use case for what we're talking about, and it's definitely a code smell. JOËL: It can often be nice as you make these more domain concepts; maybe they start as a data object, but then they might grow with their own custom methods. And maybe you extend data the same way you could extend a struct, or maybe you create a custom class to the point where the user...whoever calls that object, doesn't really need to know or care about the particular unit, just like when you have duration value. If you have a duration object, you can do the math you want. You can do all the operations and don't have to know whether it is in milliseconds, or seconds, or minutes because it knows that internally and keeps all of the math straight as opposed to just holding on to what I've done before, which is you have some really big number somewhere. You have start is, or length is equal to some big number and then comment milliseconds. And then, hopefully, whoever does math on that number later remembers to do the division by 1,000 or whatever they need. STEPHANIE: I've certainly worked on code where we've tolerated those magic numbers for probably longer than we should have because maybe we did have the shared understanding that that value represents minutes or milliseconds or whatever, and that was just part of the domain knowledge. But you're right, like when you see them, and without a very clear label, all of that stuff is implied and is really not very friendly for someone coming along in the future. As well as, like you mentioned earlier, if you have to do math on it later to convert it to something else, that is also a red flag that you could use some kind of abstraction or something to represent this concept at a higher level but also be extensible to different forms, so a duration to represent different amounts of time or money to represent different values and different currencies, stuff like that. JOËL: Do you have a guideline that you follow as to when something starts being worth extracting into some kind of data object? STEPHANIE: I don't know if I have particularly clear guidelines, but I do remember feeling frustrated when I've had to test really complicated hashes or just primitives that are holding a lot of different pieces of information in a way that just is very unwieldy when you do have to write a test for it. And if those things were encapsulated in methods, that would have been a lot easier. And so I think that is a bit of a signal for me. Do you have any other guidelines or gut instincts around that? JOËL: We mentioned the comment that is the unit. That's probably a...I wasn't sure if I would have to call it a code smell, but I'm going to call it a code smell that tells you maybe you should...that value wants to be something a little bit more than just a number. I've gotten suspicious of just raw integers in general, not enough to say that I'm going to make all integers data objects now, but enough to make me pause and think a lot of times. What does this number represent? Should it be a data object? I think I also tend to default to try to do something like a data object when I'm dealing with API responses. You were talking about hashes and how they can be annoying to test. But also, when you're dealing with data coming back from a third-party API, a giant nested hash is not the most convenient thing to work with, both for the implementation but then also just for the readability of your code. I often try to have almost like a translation layer where very quickly I take the payload from a third-party service and turn it into some kind of object. STEPHANIE: Yeah, I think the data class docs itself has an example of using it for HTTP responses because I think the particular implementation doesn't even require it to have attributes. And so you can use it to just label something rather than requiring a value for it. JOËL: And that is one thing that is nice about something like a data object versus a hash is that a hash could have literally anything in it. And to a certain extent, a data object is self-documenting. So if I want to know I've gotten to a shopping cart object from a third-party API, what can I get out of the shopping cart? I can look at the data object. I can open the class and see here are the methods I can call. If it's just a hash, well, I guess I can try to either find the documentation for the API or try to make a real request and then inspect the hash at runtime. But there's not really any way to find out without actually executing the code. STEPHANIE: Yeah, that's totally fair. And what you said about self-documenting makes a lot of sense. And it's always preferable than that stray comment in the code. [laughs] JOËL: I'm really excited to use the data class in future Ruby 3.2 projects. So I'm really glad that you brought it up. I've not tried it myself, but I'm excited to use it in future projects. STEPHANIE: On that note, shall we wrap up? JOËL: Let's wrap up. STEPHANIE: Show notes for this episode can be found at bikeshed.fm. JOËL: This show has been produced and edited by Mandy Moore. STEPHANIE: If you enjoyed listening, one really easy way to support the show is to leave us a quick rating or even a review in iTunes. It really helps other folks find the show. JOËL: If you have any feedback for this or any of our other episodes, you can reach us @_bikeshed, or you can reach me @joelquen on Twitter. STEPHANIE: Or reach both of us at hosts@bikeshed.fm via email. JOËL: Thanks so much for listening to The Bike Shed, and we'll see you next week. ALL: Byeeeeeeeeeeeeee!!!!!!!!!!!! ANNOUNCER: This podcast is brought to you by thoughtbot, your expert strategy, design, development, and product management partner. We bring digital products from idea to success and teach you how because we care. Learn more at thoughtbot.com.

FOCUS ON: Linux
Rückblick: Ein Jahr FOCUS ON: Linux

FOCUS ON: Linux

Play Episode Listen Later Jan 13, 2023 98:53


Ein Jahr FOCUS ON: Linux! Wir ziehen Bilanz und gewähren euch Einblicke in unsere Arbeit bei der Pflege des Podcasts. Neben Zahlen und Fakten besprechen wir auch Highlights und zeigen euch worauf ihr euch im kommenden Jahr freuen könnt. Zahlen, Daten, Fakten Festplatte defragmentieren ASMR: https://www.youtube.com/watch?v=KR3TbL3Tl6M Einschlafen-Podcast: https://einschlafen-podcast.de/ Beliebteste Folgen /dev/nullnummer: https://ageofdevops.de/index.php/podcast/00/ Proxmox: https://ageofdevops.de/index.php/podcast/proxmox/ SerenityOS: https://ageofdevops.de/index.php/podcast/serenityos/ Vim - der beste Editor der Welt: https://ageofdevops.de/index.php/podcast/vim-der-beste-editor-der-welt/ Monitoring: https://ageofdevops.de/index.php/podcast/12-monitoring/ Retrospektive Lieblingsfolgen SerenityOS: https://ageofdevops.de/index.php/podcast/serenityos/ Vim - der beste Editor der Welt: https://ageofdevops.de/index.php/podcast/vim-der-beste-editor-der-welt/ September News Update: https://ageofdevops.de/index.php/podcast/newsupdate-09-22/ Neue Formate Stay Forever-Quiz: https://www.stayforever.de/2022/12/das-quiz-runde-8/ 20 Jahre Red Hat Enterprise Linux: https://ageofdevops.de/index.php/podcast/mai-2022/ Blick hinter die Kulissen Focusrite Scarlett Solo: https://focusrite.com/en/audio-interface/scarlett/scarlett-solo Beyerdynamic DT 797 PV: https://www.beyerdynamic.de/dt-797.html REAPER DAW: https://www.reaper.fm/ Ultraschall: https://ultraschall.fm/ Sendegate Podcasting-Community: https://sendegate.de/ Tooltipps https://github.com/o2sh/onefetch https://github.com/stretchr/testify https://www.youtube.com/watch?v=VleXC0mTsvY https://github.com/ogham/exa

Ruby for All
What's Going on in 2023?

Ruby for All

Play Episode Listen Later Jan 5, 2023 22:11


Timestamps[00:30] Do you set New Years resolutions? Andrew and Julie talk about whether they set them for themselves and the problems they have had with them in the past.[03:27] Julie asks Andrew if he is a proactive or reactive person and how she wants to be more proactive in 2023 and the pair talk about deadlines.[07:00] Julie and Andrew share their goals for 2023. What are your goals?[13:10] Andrew is learning Swift and Vim and Julie is trying to increase her React skills.[19:30] Julie shares a sneak peak at some upcoming episodes you can look forward to in 2023.SponsorGoRailsLinks- Ruby 3.2.0 Released- The Well Grounded Rubyist- Swift Playgrounds

Hacker Public Radio
HPR3764: My text-focused journey into tech

Hacker Public Radio

Play Episode Listen Later Jan 5, 2023


Wikipedia's entry for the ZX81: https://en.wikipedia.org/wiki/ZX81 WordPerfect in many of its forms, complete with download links: https://winworldpc.com/product/wordperfect/3x-dos Hog Bay Software's WriteRoom for Mac: https://www.hogbaysoftware.com/products/writeroom/ FocusWriter: https://gottcode.org/focuswriter/ How to turn Vim into a word processor: https://www.maketecheasier.com/turn-vim-word-processor/ Hunspell: http://hunspell.github.io/ The GNU Emacs site: https://www.gnu.org/software/emacs/ GNU aspell: http://aspell.net/ Flycheck for GNU Emacs: https://www.flycheck.org/en/latest/ Help for sufferers of RSI: https://www.rsiprevention.com/ enistello can be reached by email: enistello@tuta.io Or on Mastodon: @ensitello@fosstodon.org

Papa - Renascença V+ - Videocast
​“Vim para fazer-lhe companhia… ou ele a mim”. Fiéis esperam mais de uma hora na fila para velar Bento XVI

Papa - Renascença V+ - Videocast

Play Episode Listen Later Jan 2, 2023 1:35


​“Vim para fazer-lhe companhia… ou ele a mim”. Fiéis esperam mais de uma hora na fila para velar Bento XVI

Scanline Talks
Oops More Anime – Mobile Suit Gundam: The Witch from Mercury Ep. 11

Scanline Talks

Play Episode Listen Later Dec 31, 2022


The second-to-last episode of the cours! Shaddiq holds his breath, Suletta catches her breath, Vim curses under his breath, and Delling doesn't waste his breath. Step aside, Type-Moon, there are TWO witches on this holy night. And is that an Aerial upgrade I spy? Damn, gang- this episode's good, so was the last, and I think the next will be great as well. I'm just hoping the break between cours doesn't kill this momentum.

Sales Stories by Concurate.
If it's not Crazy, it doesn't go Viral - "Dish Washing Liquid For Men", What's Say!

Sales Stories by Concurate.

Play Episode Listen Later Dec 19, 2022 2:46


If it's not crazy, it won't go viral.If it doesn't question the common belief, people won't pay attention to it.Let's draw some inspiration from this creative marketing campaign from Vim.

Distributed Future Podcast
Will we regret computers as much as we do cars?

Distributed Future Podcast

Play Episode Listen Later Dec 17, 2022 48:46


Vim and Tim get together to chat about techological regret, paths not taken and the decisions we are taking now.

FOCUS ON: Linux
Die fabelhafte Welt der CLI-Editoren

FOCUS ON: Linux

Play Episode Listen Later Dec 13, 2022 12:19


Wenn es um Linux-Editoren geht, ist häufige die Rede von vi(m) und Emacs. Allerdings gibt es eine ganze Reihe weiterer, weniger bekannten, Editoren, die ebenfalls Vorzüge haben - Zeit, einen Blick auf sie zu werfen! micro: https://micro-editor.github.io/YouTube-Video über micro: https://www.youtube.com/watch?v=kqCQLyrEZwwArtikel über micro: https://gnulinux.ch/micro-der-beste-cli-texteditortilde: https://os.ghalkes.nl/tilde/nano: https://www.nano-editor.org/vim Podcast-Episode: https://ageofdevops.de/index.php/podcast/vim-der-beste-editor-der-welt/Helix: https://helix-editor.com/Kakoune Editor: http://kakoune.org/ne, Nice Editor: https://ne.di.unimi.it/

Cyrus Says
CnB ft. Abbas & Masoom | First Dishwashing Liquid For Men

Cyrus Says

Play Episode Listen Later Dec 13, 2022 57:55


Welcome to Cyrus Says, Cock & Bull! In today's episode, Cyrus is joined by Masoom & Abbas. Today Cyrus is ranting about the Colaba region of Mumbai being closed because of the G20 Summit! In the show: Abbas talks about the new Malaika Arora show - like, literally everything about the show, EVERYTHING. And we all get to know how big of an opportunist Masoom is. Topics discussed: Backlash on Vim's ‘first dishwashing liquid for men,' Probable banning of loose cigarettes by Govt, and The sending of Argentina vs Netherlands referee back home. Tune in for this and much more!Subscribe to the Cyrus Says YouTube Channel for full video episodes!Check out the Cyrus Says Official MerchFollow Masoom on Instagram at @masoom_rajwani Follow Abbas on Instagram at @abbasmomin88 Listen to Cyrus Says across Audio PlatformsIVM Podcasts | Apple Podcasts | Spotify | Google Podcasts | Gaana | Amazon MusicEmail your AMA questions to us at whatcyrussays@gmail.com Don't forget to follow Cyrus Says' official Instagram handle at @whatcyrussays for best bits from the show, memes and much more!Connect with Cyrus on socials:Instagram | TwitterAnd don't forget to rate us!You can listen to this show and other awesome shows on the new and improved IVM Podcasts App on Android: https://ivm.today/android or iOS: https://ivm.today/iosSee omnystudio.com/listener for privacy information.

Modernize or Die ® Podcast - CFML News Edition
Modernize or Die® - CFML News Podcast for December 6th, 2022 - Episode 174

Modernize or Die ® Podcast - CFML News Edition

Play Episode Listen Later Dec 6, 2022 37:26


2022-12-06 Weekly News - Episode 174Watch the video version on YouTube at https://youtu.be/TLt1L1HzqZQ Hosts:  Gavin Pickin - Senior Developer at Ortus Solutions Eric Peterson - Senior Developer at Ortus Solutions Thanks to our Sponsor - Ortus SolutionsThe makers of ColdBox, CommandBox, ForgeBox, TestBox and all your favorite box-es out there. A few ways  to say thanks back to Ortus Solutions: Like and subscribe to our videos on YouTube.  Help ORTUS reach for the Stars - Star and Fork our ReposStar all of your Github Box Dependencies from CommandBox with https://www.forgebox.io/view/commandbox-github  Subscribe to our Podcast on your Podcast Apps and leave us a review Sign up for a free or paid account on CFCasts, which is releasing new content every week BOXLife store: https://www.ortussolutions.com/about-us/shop Buy Ortus's Books  102 ColdBox HMVC Quick Tips and Tricks on GumRoad (http://gum.co/coldbox-tips) Learn Modern ColdFusion (CFML) in 100+ Minutes - Free online https://modern-cfml.ortusbooks.com/ or buy an EBook or Paper copy https://www.ortussolutions.com/learn/books/coldfusion-in-100-minutes  Patreon Support ( stupendous  )Goal 1 - We have 43 patreons providing 100% of the funding for our Modernize or Die Podcasts via our Patreon site: https://www.patreon.com/ortussolutions. Goal 2 - We are 39% of the way to fully fund the hosting of ForgeBox.io Patreon Sponsored Job Announcement - Tomorrows GuidesTomorrows Guides is a fast paced leader in the UK care sector, catering for care seekers across three areas: Care Homes, Nurseries and Home Care. We are often called the Trip Advisor of the care sector.  Current Roles - More in the job section Senior Cf Developer – UK Only | Remote | Permanent | Circa £60k -  https://app.occupop.com/shared/job/senior-coldfusion-developer-5925b/ Automation Test Engineer – UK Only | Remote | Permanent | Crica £40k - https://app.occupop.com/shared/job/automation-test-engineer-a6545/ News and AnnouncementsWe've Made It!Scraped as “Update or Pass away®”https://updates4devs.com/update-or-pass-away-cfml-information-podcast-for-november-29th-2022-episode-173/?feed_id=1459&_unique_id=6387bc888f2d6Adobe ColdFusion Fortuna AlphaSignup for the pre-release - Special things happening which I can't talk abouthttps://www.adobeprerelease.com/beta/C0A219A0-A127-417A-D0D3-A7B5B3C5A0AE/participate/C3B4F4DC-8662-4610-D2B1-EE8FAD396648 Advent of Codehttps://adventofcode.com/CFML Slack Leaderboard: `1574707-be30db8f`Box Team Leaderboard: `26416-a4842ce2`ICYMI - ColdBox Master Class - Completely Free until the end of the Year!Want to learn about modern web apps in ColdFusion (CFML)? We have our ColdBox Master Class for FREE until the end of the year!  A gift to the community, so we can all build amazing apps together! Watch all the videos!  Binge Coding Anyone? Enjoy! https://www.cfcasts.com/series/cb-master-class?utm_source=podcast&utm_medium=PODCAST&utm_campaign=LM-PODCAST New Releases and UpdatesICYMI - Lucee released 5.3.10One of the most exciting features in 5.3.10+97, which should make everyone's life easier when deploying Lucee servers, is improved, still experimental, native support for CFconfig.https://dev.lucee.org/t/lucee-5-3-10-97-stable-release/11540 Webinar / Meetups and WorkshopsThis Week - Ortus Software Craftsmanship Book Club - Patreon OnlyFriday, December 9th at 2pm CDT - 2nd Friday of the MonthClean Code: A Handbook of Agile Software Craftsmanship by Robert Martin (Uncle Bob)Focus - Chapter 2 - Naming Conventions - 1 of the 2 hardest things in programming, along with cache invalidation and off by 1 errors ;) We will meet monthly on Zoom, and we'll use the Ortus Community Forum for Patreon to discuss the book.https://community.ortussolutions.com/t/ortus-software-craftsmanship-book-club-clean-code/9432 We will also be rewriting the code from Java to CFML as we proceed through the book.The final result will be here https://github.com/gpickin/clean-code-book-cfml-examples You can get a copy of the book at one of the below links, or your favorite bookstorehttps://amzn.to/3TIrmKm or https://www.audible.com/pd/Clean-Code-Audiobook/B08X7KL3TF?action_code=ASSGB149080119000H&share_location=pdp&shareTest=TestShare Zoom link will be posted in Patreon Slack Channel and Patreon Community ForumSignup to Patreon to join live: https://www.patreon.com/ortussolutions Ortus Event Calendar for Googlehttps://calendar.google.com/calendar/u/0?cid=Y181NjJhMWVmNjFjNGIxZTJlNmQ4OGVkNzg0NTcyOGQ1Njg5N2RkNGJiNjhjMTQwZjc3Mzc2ODk1MmIyOTQyMWVkQGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20 ColdFusion Security Training - Writing Secure CFML with Pete Freitag from FoundeoWhen: Tuesday December 13, 2022 @ 11am-2pm & Wednesday December 14 @ 11am-2pm(Eastern Standard Time, UTC -5) - 6 hours in total.A hands-on CFML / ColdFusion Security Training class for developers. Learn how to identify and fix security vulnerabilities in your ColdFusion / CFML applications.The class will be recorded, so if you cannot attend it fully online you will have access to a recording.Where: Online / Web ConferenceWho: Taught by Pete FreitagCost: $999/student $899/student (Early Bird Discount)Register: https://foundeo.com/consulting/coldfusion/security-training/ CFCasts Content Updateshttps://www.cfcasts.comRecent Releases ITB - 12 Days of Xmas - ITB 2022 - starting Thursday 12/8/22 until Xmas Eve ColdBox Master Class - Now FREE 2022 ForgeBox Module of the Week Series - 1 new Video https://cfcasts.com/series/2022-forgebox-modules-of-the-week 2022 VS Code Hint tip and Trick of the Week Series - 1 new Video https://cfcasts.com/series/2022-vs-code-hint-tip-and-trick-of-the-week  Coming Soon More ForgeBox and VS Code Podcast snippet videos Box-ifying a 3rd Party Library from Gavin ColdBox Elixir from Eric Getting Started with ContentBox from Daniel Conferences and TrainingCF Summit Online All the webinars, all the speakers from Adobe ColdFusion Summit 2022 – brought right to your screen. All sessions will soon be streamed online, for your convenience. Stay tuned for more! MINING ELECTRONIC DOCUMENTS FOR FUN AND PROFIT (AND OTHER BUSINESS CRITICAL NEEDS)Raymond Camden December 7 | 12:00 to 13:00 EST (1 hour)BELOW THE SURFACE: WEB VULNERABILITIES HIDING IN YOUR APPLICATIONSBrian ReillyDecember 9, 2022 | 12:00 - 13:00 EST (1 hour)EXPLORING AWS JAVA SDK DEVELOPER FEATURES USING CFJAVABrian BockholdDecember 12, 2022 | 12:00 - 13:00 EST (1 hour)And many more in Dec and Jan… Website for CF Summit Onlinehttps://cfsummit-online.meetus.adobeevents.com/ Into the Box Latam 2022 - TOMORROWDec 7th, 2022 - 8am - 5pm2 tracks - 1 set of sessions, 1 set of deep dive workshop sessionsPricing $9-$29 USDLocation: Hyatt Centric Las Cascadas Shopping Center,Merliot, La Libertad 99999 El Salvadorhttps://latam.intothebox.org/ VUEJS AMSTERDAM 20239-10 February 2023, Theater AmsterdamWorld's Most Special and Largest Vue ConferenceCALL FOR PAPERS AND BLIND TICKETS AVAILABLE NOW!Call for Papers: https://forms.gle/GopxfjYHfpE8fKa57 Blind Tickets: https://eventix.shop/abzrx3b5 https://vuejs.amsterdam/ Dev NexusApril 4-6th in AtlantaGeorgia World Congress Center285 Andrew Young International Blvd NWAtlanta, GA 30313USAApril 4th – 6th, 2023Begin: 09:00  Your local time: 06:00End: 18:00  Your local time: 15:00https://devnexus.com/ VueJS Live MAY 12 & 15, 2023ONLINE + LONDON, UKCODE / CREATE / COMMUNICATE35 SPEAKERS, 10 WORKSHOPS10000+ JOINING ONLINE GLOBALLY300 LUCKIES MEETING IN LONDONGet Early Bird Tickets: https://ti.to/gitnation/vuejs-london-2022  Watch 2021 Recordings: https://portal.gitnation.org/events/vuejs-london-2021 https://vuejslive.com/ Into the Box 2023 - 10th EditionMay 17-19, 2023 The conference will be held in The Woodlands (Houston), TexasThis year we will continue the tradition of training and offering a pre-conference hands-on training day on May 17th and our live Mariachi Band Party! However, we are back to our Spring schedule and beautiful weather in The Woodlands! Also, this 2023 will mark our 10 year anniversary. So we might have two live bands and much more!!!We are pleased to announce the call for speakers for the Into The Box Conference for 2023 is now officially open. https://www.intothebox.org/blog/into-the-box-2023-call-for-speakers CFCamp is backJune, 22-23rd 2023Marriott Hotel Munich Airport, FreisingCall for Speakers coming in the New yearhttps://www.cfcamp.org/ More conferencesNeed more conferences, this site has a huge list of conferences for almost any language/community.https://confs.tech/https://github.com/scraly/developers-conferences-agenda Blogs, Tweets, and Videos of the Week 12/6/22 - Blog - Grant Copley - CBWIRE ExamplesConstructing reactive, modern CFML applications is a breeze with our module CBWIRE. To make sure users can take advantage of the features we've added to CBWIRE, I have created an examples repository that includes Getting Started, Forms, Template Directives, Advanced, and Alpine sections.https://www.ortussolutions.com/blog/cbwire-examples 12/5/22 - Blog - Ben Nadel - I'm Beginning To Think That Much Of Programming Is Wildly SubjectiveFrom what I've seen and heard, a large portion of the programming community - myself often included - feels that much of what goes into programming is objectively good or bad. We all seem to have hills that we're willing to die on because we believe that said hills are objectively the right choice. Vim vs an IDE; tabs vs spaces; functional vs object oriented; relational databases vs document stores; single-file components vs separation of concerns; single-letter variables vs intuitive variables; ORM vs SQL; Go vs ColdFusion; Angular vs React; single-quotes vs double-quotes; idiomatic vs pragmatic; monoliths vs microservices; REST vs GraphQL; the list goes on and on ad infinitum.https://www.bennadel.com/blog/4363-im-beginning-to-think-that-much-of-programming-is-wildly-subjective.htm 12/1/22 - Blog - Brad Wood - Improving Lucee's QoQ Support Again- now 200% fasterTwo years ago, I published this post detailing how I had refactored the Query of Query support in Lucee to be much better and also much faster:https://www.codersrevolution.com/blog/improving-lucees-query-of-query-supportI removed the single-threaded HSQLDB callback for grouped/aggregate and distinct selects and tuned the performance.  QoQ's are a bit of a polarizing feature in CFML.  They've suffered in the past from poor support and poor performance which has caused a lot of people to avoid them.  There are certainly places where queryMap(), queryFilter(), and queryReduce() are the best approach, but there are also times where you simply can't beat the readability and conciseness of an ordered,  aggregated select.  I know developers who tell me they never use "reduce" higher order functions because they are too confusing, but I've never met a developer who didn't understand "GROUP BY department"! https://www.codersrevolution.com/blog/improving-lucees-qoq-support-again-now-200-faster 11/29/22 - Blog - Charlie Arehart - ColdFusion Portal - Recordings of CF Summit Online sessions, finding them posted after each sessionInterested in finding the recordings of the Online version of the 2022 CF Summit?TLDR: recordings of the CF Summit Online are now being posted on the Adobe CF team Youtube channel, andwe can expect to see soon other places listing all the recordings for the event, as a single playlist.https://coldfusion.adobe.com/2022/11/recordings-of-cf-summit-online/ CFML JobsSeveral positions available on https://www.getcfmljobs.com/Listing over 34 ColdFusion positions from 23 companies across 21 locations in 5 Countries.Since August 1st.1 new jobs listed this weekFull-Time - Remote ColdFusion Developer at North Philadelphia, PA - United States Dec 01https://www.getcfmljobs.com/jobs/index.cfm/united-states/Remote-CFDeveloper/11538 Patreon Sponsored Job Announcement - Tomorrows GuidesTomorrows Guides is a fast paced leader in the UK care sector, catering for care seekers across three areas: Care Homes, Nurseries and Home Care. We are often called the Trip Advisor of the care sector. Our Product team consists of over 20 individuals across the UK working remotely to expand and improve our offering with regular expansion in teams year on year. We work with both Coldfuson 2021 and Node.js/React in the Azure cloud, while also using both MSSQL and MongoDB databases. Currently we are looking for Senior Coldfusion developers and Automation Testers with training paths to node.js available as well. We offer a wide variety of perks from our company wide £4k bonus scheme, and quarterly nights out with the whole company and the Product team to a 6% company pension contribution. Current Roles in detail All roles: https://www.tomorrows.co.uk/jobs.cfm Senior Cf Developer – UK Only | Remote | Permanent | Circa £60k -  https://app.occupop.com/shared/job/senior-coldfusion-developer-5925b/-  Minimum three years' experience with ColdFusion-  Database design, normalisation and ability to write/understand complex queries using MSSQL Server 2019-  Familiarity with Git-  Flexible skillset covering a wide range of development Automation Test Engineer – UK Only | Remote | Permanent | Crica £40k - https://app.occupop.com/shared/job/automation-test-engineer-a6545/-  Minimum three years experience with automated testing-  Experience with automated testing tools such as selenium-  Experience with API test tools such as Postman/Fiddler etc Benefits of both roles:-  £4,000 per annum discretionary company bonus scheme-  25 days annual leave + bank holidays-  6% employer pension contribution-  Access to free perks and discounts through Perkbox-  Long Service Awards-  Cycle to Work Scheme-  Company and Team nights outOther Job Links Ortus Solutions https://www.ortussolutions.com/about-us/careers  There is a jobs channel in the CFML slack team, and in the box team slack now too ForgeBox Module of the WeekOrtus PDF ToolsBy Ortus SolutionsThe Ortus PDF Lucee Extension adds to any Lucee engine the missing PDF capabilities you were longing for and enhancing some PDF capabilities as well. The extension contains several new CFML built-in tags and functions (coming soon) that will help you manipulate and work with PDF documents. You can read more about this extension here: https://www.ortussolutions.com/products/ortuspdf The following are the implemented tags that bring compatibility from Adobe ColdFusion to Lucee. You can see much more detailed information about these tags here: https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-tags/tags-p-q/cfpdfform.html cfpdfform - https://cfdocs.org/cfpdfform cfpdfformparam - https://cfdocs.org/cfpdfformparam https://www.forgebox.io/view/ortuspdf-extension VS Code Hint Tips and Tricks of the WeekVscode-petsPets for your VS CodePuts a small, bored cat, an enthusiastic dog, a feisty snake, a rubber duck, or Clippy in your code editor to boost productivity.https://marketplace.visualstudio.com/items?itemName=tonybaloney.vscode-pets Thank you to all of our Patreon SupportersThese individuals are personally supporting our open source initiatives to ensure the great toolings like CommandBox, ForgeBox, ColdBox,  ContentBox, TestBox and all the other boxes keep getting the continuous development they need, and funds the cloud infrastructure at our community relies on like ForgeBox for our Package Management with CommandBox. You can support us on Patreon here https://www.patreon.com/ortussolutionsDon't forget, we have Annual Memberships, pay for the year and save 10% - great for businesses. Bronze Packages and up, now get a ForgeBox Pro and CFCasts subscriptions as a perk for their Patreon Subscription. All Patreon supporters have a Profile badge on the Community Website All Patreon supporters have their own Private Forum access on the Community Website All Patreon supporters have their own Private Channel access BoxTeam Slack Live Stream Access to streams like “Koding with the Kiwi + Friends” and Ortus Software Craftsmanship Book Club https://community.ortussolutions.com/ Patreons John Wilson - Synaptrix Tomorrows Guides Jordan Clark Gary Knight Mario Rodrigues Giancarlo Gomez David Belanger Dan Card Jeffry McGee - Sunstar Media Dean Maunder Nolan Erck  Wil De Bruin Abdul Raheen Don Bellamy Joseph Lamoree Jonathan Perret Jan Jannek  Laksma Tirtohadi Brian Ghidinelli - Hagerty MotorsportReg Carl Von Stetten Jeremy Adams Didier Lesnicki Matthew Clemente Scott Steinbeck - Agri Tracking Systems Daniel Garcia Ben Nadel  Richard Herbet Brett DeLine Kai Koenig Charlie Arehart Jason Daiger Shawn Oden Ross Phillips Matthew Darby Edgardo Cabezas Patrick Flynn Stephany Monge  (Monghee) Kevin Wright John Whish Peter Amiri Cavan Vannice John Nessim Tia You can see an up to date list of all sponsors on Ortus Solutions' Websitehttps://ortussolutions.com/about-us/sponsors Thanks everyone!!! ★ Support this podcast on Patreon ★

Remote Ruby
New Ruby versions, the Pay gem, and the new GitHub file browser

Remote Ruby

Play Episode Listen Later Dec 2, 2022 34:49


[00:03:33] We learn about a new Ruby version that came out with a CGI security fix.  [00:04:30] Ruby 3.2.0 is supposed to come out at Christmas, there's a Preview 3 out and we hear about a few new features happening.[00:07:47] Chris tells us about some speed improvements with Regexp.[00:08:58] Andrew and Jason paired with Collin and other people, and he tells us what they did with a PR in the pay Gem.[00:12:25] Chris pulls up the Shopify Globe that shows sales per minute of people buying stuff all around the world.[00:14:17] We hear Chris and Collin did some payments things and refactoring stuff to get ready for Black Friday. [00:20:08] Andrew's tells us he's been learning Vim, but then stops using it and doesn't remember all the things.[00:21:39] There's a new file browser on GitHub and Chris and Andrew tells us about the changes.[00:23:20] Chris was testing a subscription and a tine thing happened that he hasn't seen happen ever.  What is it? [00:26:19] Andrew explains routing issues he had at Podia. The guys chat about the RubyMoney library, Money, and Money-Rails Gems.[00:28:25] Jason explains how the Money Gem works and Chris tells us about the most important Gem he created a week ago.Panelists:Jason CharnesChris OliverAndrew MasonSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterRuby 3.2.0 Preview ReleasedRubyMoney-MoneyRubyMoney-Money-RailsRuby Radar NewsletterRuby Radar TwitterRuby for All Podcast

The Unhandled Exception Podcast
Vim - with Joseph Woodward

The Unhandled Exception Podcast

Play Episode Listen Later Nov 27, 2022 38:59


In this episode, I was joined again by Joseph Woodward to geek out on Vim! Joe joined us on the last episode to talk about the Go programming language - and as we're both huge fans of Vim, we decided to stay on and record a second episode chatting about it!In it, we talk about both the Vim way of using the keyboard (Vim keybindings), and also Vim the editor and its plugin ecosystem.Joseph is a Software Engineer at Form3, speaker, and open-source contributor. Lover of Go, OSS, Neovim and distributed systems things.For a full list of show notes, or to add comments - please see the website here

Brasil-Mundo
Para bióloga italiana, custo de preservação da Amazônia não deve recair apenas sobre o Brasil

Brasil-Mundo

Play Episode Listen Later Nov 19, 2022 7:58


A bióloga italiana Emanuela Evangelista trabalha no Brasil desde o ano 2000. Ela vive há mais de 10 anos na comunidade de Xixuaú, na divisa entre os estados de Amazonas e Roraima. Como presidente da organização italiana Amazônia Onlus, ela está na linha de frente da defesa ambiental e ajudou a criar a Reserva Extrativista Baixo Rio Branco Jauaperi. Nesta imensa área, a floresta e os habitantes estão protegidos. Gina Marques, correspondente da RFI em Roma A reportagem da RFI conversou com Emanuela Evangelista no Parque da Caffarella, em Roma. “Nossa organização se dedica à Amazônia brasileira com o intuito de preservar o [meio] ambiente e lutar por esse grande desafio de manter a floresta em pé. A gente faz isso trabalhando em regiões remotas distantes do desmatamento, longe de degradação, em áreas que são ainda de floresta primária intacta e que são habitadas por populações tradicionais. Nosso trabalho é de aliança, de união com as populações tradicionais”, diz ela. Ela explica que seu trabalho consiste em ampliar, junto com os habitantes, alternativas de renda. “Nosso objetivo é o desenvolvimento sustentável para que as pessoas possam manter esse precioso tesouro que elas têm, a floresta Amazônica, sua biodiversidade, sua cultura e também suas tradições.” Na avaliação de Evangelista, é preciso ter vontade política e econômica de preservar a Amazônia. A responsabilidade, na opinião da italiana, não deve ser só do Brasil, mas sim "do mundo". “Acreditamos que a falta de recursos econômicos esteja ligada à vontade política. Os órgãos institucionais foram, de alguma forma, enfraquecidos nos últimos anos, e não houve grande disponibilidade econômica para a Amazônia”, estima a pesquisadora. Ela ressalta que zerar o desmatamento é um desafio complexo, principalmente neste momento em que a taxa de destruição da floresta está muito elevada. Segundo Evangelista, o novo governo de Luiz Inácio Lula da Silva poderá inserir a proteção da Amazônia entre as prioridades. “Lula pode ter a vantagem de reabrir o diálogo com os países desenvolvidos para atrair ajuda internacional, que eu acredito ser fundamental por dois motivos: em primeiro lugar, porque a Amazônia é um bioma que fornece benefícios ao mundo inteiro. Em segundo lugar, porque boa parte do mundo, inclusive os países industrializados, são responsáveis e participam de alguma forma do desmatamento, da destruição, do que estamos fazendo à Amazônia”. Ela salienta que é necessário reconhecer a responsabilidade europeia e dos países desenvolvidos, e participar de forma ativa da proteção da Amazônia. “Não é possível continuar dizendo que é um bioma que oferece benefícios ao mundo inteiro, e deixar que caia nos ombros e no bolso do Brasil, exclusivamente, o custo da preservação e de proteção da floresta", argumenta. Difíceis condições de vida Mesmo com riquezas naturais inestimáveis, as condições de vida dos ribeirinhos e povos indígenas da Amazônia são difíceis. Muitas vezes faltam estruturas básicas necessárias, como escolas e hospitais. De acordo com a bióloga, “mais da metade das pessoas residentes na Amazônia vive abaixo da linha da pobreza. Ela constata que há uma necessidade de desenvolvimento econômico importante na região. "Os povos tradicionais vivem isolados das regiões onde existe trabalho e pagam o preço por esse isolamento", observa. "Por um lado é bom, porque se preservam os recursos naturais; mas, por outro lado, torna tudo muito complicado”, destaca a italiana. Ela cita o exemplo de um quebrador de castanha, que deve vender seu produto nos mercados que ficam distantes do local de colheita. “Além disso, se você quer que seus filhos estudem e continuem após o quinto ano, que é o que normalmente você encontra nessas comunidades remotas, é preciso se deslocar ou mandar seus filhos para a cidade", explica. As necessidades sanitárias também são importantes, assim como as de educação e geração de renda. "O isolamento dificulta a vida de alguma forma", afirma Emanuela Evangelista. Amor à primeira vista A italiana fez a sua primeira viagem ao Brasil no ano 2000 para trabalhar como pesquisadora em um projeto do Instituto Nacional de Pesquisas da Amazônia (Inpa), com sede em Manaus. Como bióloga, ela é especialista em mamíferos aquáticos. Segundo Evangelista, a Amazônia foi "paixão à primeira vista". “Vim ao Brasil para estudar uma espécie de mamífero que é chamada Lontra Gigante, que em português a gente chama de Ariranha. Aí foi amor à primeira vista, né? Eu me apaixonei pela biodiversidade da floresta, pela magia das águas. Essas regiões remotas da Amazônia são únicas. É muito difícil para quem não nasceu no Brasil imaginar tanta beleza.” Sabedoria dos povos nativos A bióloga alerta que muitos pesquisadores internacionais não reconhecem a importância da sabedoria dos povos nativos. Segundo ela, a destruição da floresta poderá acarretar a perda de conhecimentos ancestrais das populações locais.   “O conhecimento dos povos nativos não recebe o justo valor nos países industrializados. Muitas vezes um cientista anuncia ao mundo a descoberta de uma nova espécie, e um ribeirinho diz que ela já era conhecida havia muito tempo”, ressalta. Reserva Extrativista Baixo Rio Branco Jauaperi Por iniciativa da Amazônia Onlus e de outras organizações da sociedade civil, a Reserva Extrativista Baixo Rio Branco Jauaperi foi criada em junho de 2018. O território fica na divisa entre os estados de Roraima e Amazonas. São quase 600 mil hectares de floresta, 14 comunidades e 1.500 moradores protegidos para sempre. Mas a luta pelo reconhecimento oficial como área de preservação durou quase duas décadas. Em 2009, o Ministério do Meio Ambiente emitiu uma avaliação favorável à criação da área para proteger as comunidades da região “de uma série de ações criminosas” feitas por invasores “que buscam a região para a prática de pesca e caça predatórias e grilagem de terras públicas”. De acordo com o texto, a reserva, localizada nos municípios de Rorainópolis (RR) e de Novo Airão (AM), vai “proteger os meios de vida e garantir a conservação e a utilização sustentável dos recursos naturais renováveis utilizados pelas comunidades tradicionais”. O espaço natural foi então dividido em três áreas. A primeira delas constitui uma zona de preservação, na qual não é permitida a ocupação nem a utilização direta ou indireta dos recursos naturais ali presentes. Uma segunda zona de uso restrito serve de moradia para as comunidades tradicionais e a tribo indígena Waimiri-Atroari, que podem utilizar a área. A terceira parte da reserva é voltada para atividades de recreação e turismo. A ocupação e o uso direto de recursos naturais, nesses casos, são definidas em um plano de manejo. O Instituto Chico Mendes administra toda a reserva e é responsável por sua proteção. A ONG Amazônia Onlus trabalha há mais de 20 anos na região do Jauaperi. "A organização contribuiu e participou de uma luta muito importante que foi, em primeiro lugar, a luta do povo residente da região, da população ribeirinha que mora nessa região, porque a demanda partiu deles”, destaca a bióloga italiana. “Conseguimos realizar o sonho da população, que era de criar uma área protegida de forma legal e robusta", acrescenta Evangelista. Segundo ela, a Reserva Extrativista do Baixo Rio Branco Jauaperi permite às populações tradicionais de continuar a viver na região e usar todos os recursos locais de forma sustentável. "É uma fórmula muito interessante, porque protege ao mesmo tempo a floresta, a cultura e as tradições das populações residentes”, explica. Emanuela Evangelista recebeu vários prêmios internacionais pela defesa da Amazônia. Em 2020, ela foi condecorada pelo presidente italiano, Sergio Mattarella, com a medalha de Oficial da Ordem do Mérito da República Italiana.

Contaminated Site Clean-Up Information (CLU-IN): Internet Seminar Audio Archives
Audio for "Vapor Intrusion Mitigation (VIM-1) - A Two Part Series," Nov 15, 2022

Contaminated Site Clean-Up Information (CLU-IN): Internet Seminar Audio Archives

Play Episode Listen Later Nov 15, 2022


ITRC's Vapor Intrusion Mitigation training is a series of eight (8) modules, presented over two sessions. The Vapor Intrusion Mitigation training series provides an overview of vapor intrusion mitigation and presenting information from the ITRC fact sheets, technology information sheets, and checklists (VIM-1, 2021): Session 1:Introduction & Overview of Vapor Intrusion Mitigation Training TeamConceptual Site Models for Vapor Intrusion MitigationPublic Outreach During Vapor Intrusion MitigationRapid Response & Ventilation for Vapor Intrusion MitigationRemediation & Institutional Controls Session 2:Active Mitigation ApproachesPassive Mitigation ApproachesSystem Verification, OM&M, and Exit Strategies When certain contaminants or hazardous substances are released into the soil or groundwater, they may volatilize into soil gas. Vapor intrusion (VI) occurs when these vapors migrate up into overlying buildings and contaminate indoor air. ITRC has previously released guidance documents focused on VI, including the "Vapor Intrusion Pathway: A Practical Guidance" (VI-1, 2007) and "Petroleum Vapor Intrusion: Fundamentals of Screening, Investigation, and Management" (PVI, 2014). However, ITRC has received multiple requests for additional details and training on mitigation strategies for addressing this exposure pathway. The ITRC Vapor Intrusion Mitigation Team (VIMT) created ten fact sheets, 16 technology information sheets, and 4 checklists with the goal of assisting regulators during review of vapor intrusion mitigation systems, and helping contractors understand the essential elements of planning, design, implementation, and operation, maintenance and monitoring (OM&M) of mitigation systems. After the Vapor Intrusion Mitigation series, you should understand:How to locate and utilize the VIM-1 fact sheets, technology information sheets, and checklistsThe importance of a VI mitigation conceptual site modelHow public outreach for VI mitigation differs from other environmental mattersWhen to implement rapid response for vapor intrusion and applicable methodologies The differences between remediation, mitigation, and institutional controlsAvailable technologies for active and passive mitigation, and design considerations for various approachesHow/when/why different mitigation technologies are appropriateHow to verify mitigation system success, address underperformance, and develop a plan for discontinuing a mitigation system We encourage you to use the ITRC Vapor Intrusion Mitigation work products (VIM-1) and these training modules to learn about vapor intrusion mitigation and how you can apply these best practices to improve decision-making at your sites. For regulators and other government agency staff, this understanding of vapor intrusion mitigation can be incorporated into your own programs. While the training makes every effort to keep the information accessible to a wide audience, it is assumed that the participants will have some basic technical understanding of chemistry, environmental sciences, and risk assessment. As with other emerging contaminants, our understanding of vapor intrusion mitigation continues to advance. This training provides the participants with information on areas where the science is evolving and where uncertainty persists. To view this archive online or download the slides associated with this seminar, please visit http://www.clu-in.org/conf/itrc/VIM-1_111522/

Changelog Master Feed
Useful Vim commands, bad first ideas, PETS config manager, Kaizen shirts for sale & infinite canvas tools (Changelog News)

Changelog Master Feed

Play Episode Listen Later Nov 7, 2022 6:51 Transcription Available


Colin Bartlett's 50 useful Vim commands, Jeremey Utley on why your first ideas aren't always the best, Emanuele Rocca's pets configuration management project, our Kaizen shirts are now on sale & Arun Venkatesen makes a microsite for infinite canvas tools.

The Changelog
Useful Vim commands, bad first ideas, PETS config manager, Kaizen shirts for sale & infinite canvas tools

The Changelog

Play Episode Listen Later Nov 7, 2022 6:51 Transcription Available


Colin Bartlett's 50 useful Vim commands, Jeremey Utley on why your first ideas aren't always the best, Emanuele Rocca's pets configuration management project, our Kaizen shirts are now on sale & Arun Venkatesen makes a microsite for infinite canvas tools.

Contaminated Site Clean-Up Information (CLU-IN): Internet Seminar Audio Archives
Audio for "Vapor Intrusion Mitigation (VIM-1) - A Two Part Series," Nov 3, 2022

Contaminated Site Clean-Up Information (CLU-IN): Internet Seminar Audio Archives

Play Episode Listen Later Nov 3, 2022


ITRC's Vapor Intrusion Mitigation training is a series of eight (8) modules, presented over two sessions. The Vapor Intrusion Mitigation training series provides an overview of vapor intrusion mitigation and presenting information from the ITRC fact sheets, technology information sheets, and checklists (VIM-1, 2021): Session 1:Introduction & Overview of Vapor Intrusion Mitigation Training TeamConceptual Site Models for Vapor Intrusion MitigationPublic Outreach During Vapor Intrusion MitigationRapid Response & Ventilation for Vapor Intrusion MitigationRemediation & Institutional Controls Session 2:Active Mitigation ApproachesPassive Mitigation ApproachesSystem Verification, OM&M, and Exit Strategies When certain contaminants or hazardous substances are released into the soil or groundwater, they may volatilize into soil gas. Vapor intrusion (VI) occurs when these vapors migrate up into overlying buildings and contaminate indoor air. ITRC has previously released guidance documents focused on VI, including the "Vapor Intrusion Pathway: A Practical Guidance" (VI-1, 2007) and "Petroleum Vapor Intrusion: Fundamentals of Screening, Investigation, and Management" (PVI, 2014). However, ITRC has received multiple requests for additional details and training on mitigation strategies for addressing this exposure pathway. The ITRC Vapor Intrusion Mitigation Team (VIMT) created ten fact sheets, 16 technology information sheets, and 4 checklists with the goal of assisting regulators during review of vapor intrusion mitigation systems, and helping contractors understand the essential elements of planning, design, implementation, and operation, maintenance and monitoring (OM&M) of mitigation systems. After the Vapor Intrusion Mitigation series, you should understand:How to locate and utilize the VIM-1 fact sheets, technology information sheets, and checklistsThe importance of a VI mitigation conceptual site modelHow public outreach for VI mitigation differs from other environmental mattersWhen to implement rapid response for vapor intrusion and applicable methodologies The differences between remediation, mitigation, and institutional controlsAvailable technologies for active and passive mitigation, and design considerations for various approachesHow/when/why different mitigation technologies are appropriateHow to verify mitigation system success, address underperformance, and develop a plan for discontinuing a mitigation system We encourage you to use the ITRC Vapor Intrusion Mitigation work products (VIM-1) and these training modules to learn about vapor intrusion mitigation and how you can apply these best practices to improve decision-making at your sites. For regulators and other government agency staff, this understanding of vapor intrusion mitigation can be incorporated into your own programs. While the training makes every effort to keep the information accessible to a wide audience, it is assumed that the participants will have some basic technical understanding of chemistry, environmental sciences, and risk assessment. As with other emerging contaminants, our understanding of vapor intrusion mitigation continues to advance. This training provides the participants with information on areas where the science is evolving and where uncertainty persists. To view this archive online or download the slides associated with this seminar, please visit http://www.clu-in.org/conf/itrc/VIM-1_110322/

Freedom in Five Minutes
204 FIFM — How to Build Your Brand Awareness Strategy the Easy Way with Steph Hilfer

Freedom in Five Minutes

Play Episode Listen Later Oct 31, 2022 38:48


Welcome to another episode of Freedom In Five Minutes! I am your host Dean Soto. Your man of systems helping you create more freedom and profit than they ever thought possible. That is why we have Steph Hilfer on the show – the lady full of Vim and Vigor! Steph Hilfer is the founder and Chief Creative Director of https://getviim.com—a marketing consulting firm that helps businesses discover their brand. She can visualize what doesn't yet exist and bring it to life... and boy it's alive!

Remote Ruby
Development Workflows with Collin Jilbert

Remote Ruby

Play Episode Listen Later Oct 28, 2022 44:51 Very Popular


[00:00:39] Go Rails and Discord went crazy for Go Rails this morning, Collin talks about putting out the fires. This reminds Andrew of the issue he had with his dotfiles once. Admit it, we've all been there before! [00:05:31] Collin is enjoying his minimal config setup lately. Andrew talks about how he likes using Znap! to help him with his dot files and reduce his shell's startup time.[00:06:43] Andrew talks more about minimalizing his setup by getting rid of aliases he's not using every couple months, as well as plugins. It's hard to stop hoarding those plugins! [00:07:13] Collin really only uses Vim but has a lot of theme plugins, and the plugins he does have tend to be from Tim Pope.  [00:08:26] Both Collin and Andrew dive deeper into aliases. Collin, he's runs his pretty lean and just uses some mnemonics for Rails commands. Andrew did a lot of house cleaning and now just has a handful for very basic things for Rails and Git.[00:14:06] Andrew discusses functions and thinning the herd. One that he does love is the GitHub labels he made. Andrew talks about how great the GitHub CLI is, and if you haven't checked it out in a while, PLEASE DO.[00:17:59] Andrew recently switched his terminal to Warp, a Rust based terminal. Find out why he's almost as excited about Warp as he is when DoorDash shows up with Chick-fil-a. [00:19:48] The boys talk tmux and Andrew tells us the NUMBER 1 reason why he uses it. Tell us if you've had this happen. Ha! And have we told you how much Andrew loves Warp? He tells us more things it can do to make your life easier.[00:25:39] Collin moved to Vim about six months ago and talks about making the move over to it. Andrew tried it in the past, and he thinks it's time to board the Vim train again. Like he says, and this applies to anything new you bring into your workflow, “You just need to dive in, take your time, and you're gonna be moving slow at first.”[00:28:11] The whole Vim talk evolves into remapping your keyboard to prevent your fingers from contorting.  [00:34:49] After Andrew talks about some of his go to VSCode plugins, Collin wants to know more about his VSCode setup and layout. Andrew talks more about some of the plugins he likes, like Customize UI, and how he likes to keep his VSCode looking clean.[00:36:31] Let's talk monitor setups: Multiple, single, full screen. Find out Collin and Andrew's setup. Collin shares a keyboard shortcut he uses to manage his windows.[00:40:00] One last thing…whether you prefer Alfred or Raycast, it's time to replace your Spotlight. Andrew talks about the benefits it has in his workflow and Collin, who doesn't need another tool, is intrigued. [00:43:23] So, let's summarize it for you. If you're new to coding…bookmark this spot. Learn it, know it, live it. Panelist:Andrew MasonGuest/Panelist:Collin JilbertSponsor:  HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterCollin Jilbert TwitterZnap!VimtpopewarptmuxRails Fast NavRails Flip-FlopMake VSCode Awesome E-BookCustomize UIBetterTouchToolAlfredRaycast

Atareao con Linux
ATA 432 Un año con Neovim. Mis sensaciones

Atareao con Linux

Play Episode Listen Later Oct 27, 2022 27:50


Hace ya un año que te hablé de que había decidido migrar de Vim a Neovim, y hoy, después del tiempo transcurrido, ya te puedo decir, que ha sido una de las mejores decisiones que he tomado en los últimos tiempos. Sin lugar a dudas. Sabes, que he cambiado de distribución, de entorno de escritorio, sin embargo, lo que realmente ha supuesto un antes y un después ha sido Neovim. Así, en este nuevo episodio del podcast te quiero hablar sobre mi experiencia después de un año de Neovim, y cuales han sido mis sensaciones. --- Más información en las notas del podcast sobre Un año de Neovim. Mis sensaciones.

The Jackson Hole Connection
Episode 213 – Training Inside to Conquer the Outside with Julie Guttormson

The Jackson Hole Connection

Play Episode Listen Later Oct 26, 2022 49:30


Julie Guttormson is a trainer, community leader, baton twirler, entrepreneur, stroke survivor, former news anchor, the founder of VIM, and the new non-profit Rock on Society. VIM is a fitness and training studio that specializes in group classes. The Rock on Society is a dynamic experience and fundraising non-profit that provides aid for stroke and cardiac patients.  In this episode, Julie shares why her life was flipped upside down at the age of 31 and how it led her to start the VIM. Stephan and Julie also chat about recovery, authentic fitness, following your passions, re-branding, the power of positivity, and supporting your community.  Find out more about Julie and VIM athttps://www.vimstrong.com/ ( VIMstrong.com) Learn more about the new non-profit Rock On Society athttp://rockonsociety.org/ ( RockOnSociety.org) Follow VIM on Instagramhttps://www.instagram.com/vimstrong/?hl=en ( @vimstrong) This week's episode is sponsored in part by Teton County Solid Waste and Recycling. Fall Clean Up is around the corner for residential yard waste collection, beginning the week of October 31st. For more details about this year's Fall Clean Up and Pumpkin Smash event visithttps://tetoncountywy.gov/ ( TetonCountyWY.gov). More athttps://www.instagram.com/roadtozerowaste.jh ( @RoadToZeroWaste.JH) Support also comes from The Jackson Hole Marketplace. The Deli at Jackson Hole Marketplace offers ready-made soups, sandwiches, breakfast burritos, and hot lunch specials. More athttps://jhmarketplace.com/ ( JHMarketplace.com) Want to be a guest on The Jackson Hole Connection? Email us at connect@thejacksonholeconnection.com. Marketing and editing support byhttps://www.linkedin.com/in/michaelmoeri ( Michael Moeri) (http://michaelmoeri.com/ (michaelmoeri.com))

Podlodka Podcast
Podlodka #291 – Продуктивность разработчика

Podlodka Podcast

Play Episode Listen Later Oct 24, 2022 98:09


На продуктивность можно смотреть по-разному – через призму количества закрытых задач, достигнутых результатов, собственного wellbeing. В этом выпуске мы с Кириллом Мокевниным обсуждаем продуктивность владения инструментами разработки, достижение которой позволит вам увереннее входить в состояние потока и дольше в нем оставаться. Слепая печать, горячие клавиши, терминал, Vim и куча других способов оптимизировать свою рутину. «Золотое Яблоко» - №1 по выручке среди бьюти e-commerce России. А у приложения более 14 млн скачиваний. Ищем аналитиков 1С, системных аналитиков и администраторов, инженеров по тестированию, ведущих разработчиков BI, UXUI дизайнеров и контент-менеджеров. Резюме присылайте на hr.it@goldapple.ru Поддержи лучший подкаст про IT: www.patreon.com/podlodka Также ждем вас, ваши лайки, репосты и комменты в мессенджерах и соцсетях!
 Telegram-чат: https://t.me/podlodka Telegram-канал: https://t.me/podlodkanews Страница в Facebook: www.facebook.com/podlodkacast/ Twitter-аккаунт: https://twitter.com/PodlodkaPodcast Ведущие в выпуске: Стас Цыганов, Егор Толстой Полезные ссылки: Тред Кирилла про эффективность разработки https://twitter.com/mokevnin/status/1566110250348023814 Тред Кирилла про Vim https://twitter.com/mokevnin/status/1567594899859546115 Гайд по обучению слепой печати https://guides.hexlet.io/ru/typing/ Подробная статья про Vim https://guides.hexlet.io/ru/vim/ Репозиторий с dotfiles Кирилла https://github.com/mokevnin/dotfiles Менеджеры версий https://guides.hexlet.io/ru/version-managers/

Chitas for Kids Audio
Shabbos Parshas Bereishis

Chitas for Kids Audio

Play Episode Listen Later Oct 21, 2022 22:20


Chof-Zayin Tishrei - Shabbos Bereishis - Shabbos Mevorchim Mar-Cheshvan (22:12)

Syntax - Tasty Web Development Treats
Supper Club × Neovim, Lua, RPC and Twitch with TJ DeVries

Syntax - Tasty Web Development Treats

Play Episode Listen Later Oct 14, 2022 56:18 Very Popular


In this supper club episode of Syntax, Wes and Scott talk with TJ DeVries about his work on Neovim, programming in Lua, the benefits of RPC, live streaming your work day, and PDE. FireHydrant - Sponsor Incidents are hard. Managing them shouldn't be. FireHydrant makes it easy for anyone in your organization to respond to incidents efficiently and consistently. Intuitive, guided workflows provide turn-by-turn navigation for incident response, while thoughtful prompts and powerful integrations capture all of your incident data to drive useful retros and actionable analytics. Hasura - Sponsor With Hasura, you can get a fully managed, production-ready GraphQL API as a service to help you build modern apps faster. You can get started for free in 30 seconds, or if you want to try out the Standard tier for zero cost, use the code “TryHasura” at this link: hasura.info. We've also got an amazing selection of GraphQL tutorials at hasura.io/learn. Gatsby - Sponsor Today's episode was sponsored by Gatsby, the fastest frontend for the headless web. Gatsby is the framework of choice for content-rich sites backed by a headless CMS as its GraphQL data layer makes it straightforward to source website content from anywhere. Gatsby's opinionated, React-based framework makes the hardest parts of building a performant website simpler. Visit Gatsby.dev/Syntax to get your first Gatsby site up in minutes and experience the speed. ⚡️ Show Notes 00:36 Welcome 01:13 Guest introduction Teej_dv on Twitter TJ Devries Teej_DV on Twitch TJ on YouTube Telescope on GitHub Neovim on GitHub Syntax 508 with The Primeagan 03:15 The difference between Vim and Neovim 06:14 Why did you choose to write in Lua? Lua Luajit 13:26 What is adapative UI in Neovim? 17:38 Lunarvim and alternatives Fvim LunarVim 20:24 Personalized development environment PDE PDE Firenvim 22:40 Sponsor: FireHydrant 23:21 Benefits of RPC 30:34 Is working on Neovim your job? Sponsor Neovim Sourcegraph 31:30 What is your approach to streaming? 34:11 Did you go to school for computer science? 39:12 Sponsor: Gatsby 39:46 Supper Club questions System76 Pop Dactyl Manuform Keyboard Kit Jetbrains Mono 49:52 Sponsor: Hasura 50:47 SIIIIICK ××× PIIIICKS ××× Tweet us your tasty treats Scott's Instagram LevelUpTutorials Instagram Wes' Instagram Wes' Twitter Wes' Facebook Scott's Twitter Make sure to include @SyntaxFM in your tweets

HealthBiz with David E. Williams
Interview with Vim CEO Oron Afek

HealthBiz with David E. Williams

Play Episode Listen Later Sep 15, 2022 31:01


Vim connects data from health insurers and other sources into existing electronic medical record workflows, helping doctors make better cost and quality decisions during patient visits. The company is backed by tens of millions from Optum, Walgreens and other industry heavyweights so they're clearly doing something right.It's not the most obvious path for someone who grew up in Israel and served in the special forces there before founding telecoms, gaming, real estate and education. But in this episode, CEO Oron Afek puts all the pieces together.

Hacker Public Radio
HPR3682: Hacker Public Radio 2021 - 2022 New Years Show Part 5

Hacker Public Radio

Play Episode Listen Later Sep 13, 2022


Hacker Public Radio New Years Eve Show 2021 - 2022 Part 5 What is a Recliner Chair https://en.wikipedia.org/wiki/Recliner Shillelagh https://en.wikipedia.org/wiki/Shillelagh Goedendag https://www.military-history.org/feature/medieval/the-goedendag-medieval-weaponry.htm https://en.wikipedia.org/wiki/Goedendag Flail https://medievalbritain.com/type/medieval-life/weapons/medieval-flail/ https://en.wikipedia.org/wiki/Flail_(weapon) http://myarmoury.com/talk/viewtopic.12645.html That '70s Show https://www.imdb.com/title/tt0165598/ https://en.wikipedia.org/wiki/That_%2770s_Show Tommy Chong https://tommychong.com/ https://www.imdb.com/name/nm0001045/ That '80s Show https://www.imdb.com/title/tt0305472/ https://en.wikipedia.org/wiki/That_%2780s_Show The Goldbergs https://www.imdb.com/title/tt2712740/ https://en.wikipedia.org/wiki/The_Goldbergs_(2013_TV_series) Leverage - Redemption https://www.imdb.com/title/tt12197698/ https://en.wikipedia.org/wiki/Leverage:_Redemption The Librarians https://www.imdb.com/title/tt3663490/ https://en.wikipedia.org/wiki/The_Librarians_(2014_TV_series) Warehouse 13 https://warehouse13.fandom.com/wiki/Warehouse_13_(Series) https://www.imdb.com/title/tt1132290/ https://en.wikipedia.org/wiki/Warehouse_13 The Librarian (TV Movies) https://en.wikipedia.org/wiki/The_Librarian_(franchise) https://en.wikipedia.org/wiki/The_Librarian:_Quest_for_the_Spear https://en.wikipedia.org/wiki/The_Librarian:_Return_to_King_Solomon%27s_Mines https://en.wikipedia.org/wiki/The_Librarian:_Curse_of_the_Judas_Chalice Falling Skies https://fallingskies.fandom.com/wiki/Falling_Skies_Wiki https://www.imdb.com/title/tt1462059/ https://en.wikipedia.org/wiki/Falling_Skies Sanctuary https://sanctuary.fandom.com/wiki/Sanctuary https://en.wikipedia.org/wiki/Sanctuary_(TV_series) https://www.imdb.com/title/tt0965394/ How I Met Your Mother https://how-i-met-your-mother.fandom.com/wiki/How_I_Met_Your_Mother https://www.imdb.com/title/tt0460649/ https://en.wikipedia.org/wiki/How_I_Met_Your_Mother Doogie Houser, MD https://en.wikipedia.org/wiki/Doogie_Howser,_M.D. https://www.imdb.com/title/tt0096569/ The Wonder Years https://en.wikipedia.org/wiki/The_Wonder_Years https://www.imdb.com/title/tt0094582/ Defiance https://defiance.fandom.com/wiki/Defiance_(TV) https://www.imdb.com/title/tt1034303/ https://en.wikipedia.org/wiki/Defiance_(TV_series) Firefly https://firefly.fandom.com/wiki/Firefly https://en.wikipedia.org/wiki/Firefly_(TV_series) https://www.imdb.com/title/tt0303461/ KillJoys https://killjoys.fandom.com/wiki/Killjoys https://www.imdb.com/title/tt3952222/ https://en.wikipedia.org/wiki/Killjoys Cowboy BeBop https://cowboybebop.fandom.com/wiki/Main_Page https://en.wikipedia.org/wiki/Cowboy_Bebop https://www.imdb.com/title/tt0213338/ The Orville https://en.wikipedia.org/wiki/The_Orville https://www.imdb.com/title/tt5691552/ Star Trek Enterprise https://memory-alpha.fandom.com/wiki/Star_Trek:_Enterprise https://www.imdb.com/title/tt0244365/ https://en.wikipedia.org/wiki/Star_Trek:_Enterprise Eureka https://eureka.fandom.com/wiki/Eureka_(TV_series) https://www.imdb.com/title/tt0796264/ https://en.wikipedia.org/wiki/Eureka_(American_TV_series) Supernatural https://supernatural.fandom.com/wiki/Supernatural_Wiki https://www.imdb.com/title/tt0460681/ https://en.wikipedia.org/wiki/Supernatural_(American_TV_series) Project Hail Mary (book) https://en.wikipedia.org/wiki/Project_Hail_Mary SETI - The Search For Extraterrestrial Intelligence https://www.seti.org/ https://en.wikipedia.org/wiki/Search_for_extraterrestrial_intelligence https://setiathome.berkeley.edu/ Red Dwarf https://reddwarf.co.uk/ https://reddwarf.fandom.com/wiki/Red_Dwarf https://en.wikipedia.org/wiki/Red_Dwarf Farscape https://farscape.fandom.com/wiki/Farscape_Encyclopedia_Project:Main_Page https://www.imdb.com/title/tt0187636/ https://en.wikipedia.org/wiki/Farscape Farscape: The Peacekeeper Wars https://www.imdb.com/title/tt0387736/ https://en.wikipedia.org/wiki/Farscape:_The_Peacekeeper_Wars Deep Space 9 https://www.imdb.com/title/tt0106145/ https://en.wikipedia.org/wiki/Star_Trek:_Deep_Space_Nine https://memory-alpha.fandom.com/wiki/Star_Trek:_Deep_Space_Nine Torchwood https://tardis.fandom.com/wiki/Torchwood_(series) https://www.imdb.com/title/tt0485301/ https://en.wikipedia.org/wiki/Torchwood Robert Murray Smith - Battery Tech Youtube Channel (Bromine Fusion Reactor?) https://www.youtube.com/c/RobertMurraySmith Californication https://www.imdb.com/title/tt0904208/ https://en.wikipedia.org/wiki/Californication_(TV_series) Mister Robot https://mrrobot.fandom.com/wiki/Mr._Robot https://www.imdb.com/title/tt4158110/ https://en.wikipedia.org/wiki/Mr._Robot American Gods (book and TV series) https://americangods.fandom.com/wiki/American_Gods_Wiki https://en.wikipedia.org/wiki/American_Gods_(TV_series) https://www.imdb.com/title/tt1898069/ https://en.wikipedia.org/wiki/American_Gods https://www.neilgaiman.com/works/Books/American+Gods/ Neil Gaiman https://www.neilgaiman.com/ https://journal.neilgaiman.com/ https://www.mousecircus.com/ Good Omens (book and TV series) https://www.imdb.com/title/tt1869454/ https://en.wikipedia.org/wiki/Good_Omens_(TV_series) https://www.neilgaiman.com/works/Books/Good+Omens/ https://www.terrypratchettbooks.com/books/good-omens/ The Pretender https://pretender.fandom.com/wiki/The_Pretender https://www.imdb.com/title/tt0115320/ https://en.wikipedia.org/wiki/The_Pretender_(TV_series) Parker Lewis Can't Loose https://en.wikipedia.org/wiki/Parker_Lewis_Can%27t_Lose https://www.imdb.com/title/tt0098888/ Ferris Bueller's Day Off https://www.imdb.com/title/tt0091042/ https://en.wikipedia.org/wiki/Ferris_Bueller%27s_Day_Off https://www.inverse.com/culture/ferris-buellers-day-off-cameron-red-jersey Rock and Roll High School Forever https://www.imdb.com/title/tt0100504/ https://en.wikipedia.org/wiki/Rock_%27n%27_Roll_High_School_Forever Inspector Gadget https://www.imdb.com/title/tt0085033/ https://www.imdb.com/title/tt3910690/ https://en.wikipedia.org/wiki/Inspector_Gadget_(1983_TV_series) Into The Badlands https://www.imdb.com/title/tt3865236/ https://en.wikipedia.org/wiki/Into_the_Badlands_(TV_series) Journey To The West https://en.wikipedia.org/wiki/Journey_to_the_West Dark Crystal - Age Of Resistance (TV Show) https://www.imdb.com/title/tt6905542/ https://en.wikipedia.org/wiki/The_Dark_Crystal:_Age_of_Resistance https://www.syfy.com/syfy-wire/dark-crystal-age-of-resistance-netflix-lisa-henson-whats-next Night Court https://www.imdb.com/title/tt0086770/ https://en.wikipedia.org/wiki/Night_Court PBS https://www.pbs.org/ https://en.wikipedia.org/wiki/PBS Metal Hurlant Chronicles https://www.imdb.com/title/tt1629348/ https://en.wikipedia.org/wiki/M%C3%A9tal_Hurlant_Chronicles Metal Hurlant (comic/magazine) https://en.wikipedia.org/wiki/M%C3%A9tal_hurlant https://www.openculture.com/2017/08/metal-hurlant.html Heavy Metal Magazine https://www.heavymetal.com/ http://www.heavymetalmagazinefanpage.com/index.html https://en.wikipedia.org/wiki/Heavy_Metal_(magazine) Heavy Metal (movie) https://heavymetalmedia.fandom.com/wiki/Heavy_Metal_1981 https://www.imdb.com/title/tt0082509/ https://en.wikipedia.org/wiki/Heavy_Metal_(film) Total Recall 2070 (TV Show) https://www.imdb.com/title/tt0159920/ https://en.wikipedia.org/wiki/Total_Recall_2070 Sapphire and Steele https://www.imdb.com/title/tt0078682/ https://en.wikipedia.org/wiki/Sapphire_%26_Steel Sapphire and Steel Big Finish audio drama https://en.wikipedia.org/wiki/The_Mystery_of_the_Missing_Hour Dinosaucers https://www.imdb.com/title/tt0213341/ https://en.wikipedia.org/wiki/Dinosaucers https://dinosaucers.fandom.com/wiki/Dinosaucers Super Ted https://www.imdb.com/title/tt0085096/ https://en.wikipedia.org/wiki/SuperTed Bravestarr https://hero.fandom.com/wiki/BraveStarr https://bravestarr.fandom.com/wiki/Bravestarr_Wiki https://en.wikipedia.org/wiki/BraveStarr https://www.imdb.com/title/tt0127471/ Denver the Last Dinosaur https://zagtoon.fandom.com/wiki/Denver_the_Last_Dinosaur https://www.imdb.com/title/tt0190178/ https://en.wikipedia.org/wiki/Denver,_the_Last_Dinosaur Mummies Alive! https://en.wikipedia.org/wiki/Mummies_Alive! https://www.imdb.com/title/tt0125633/ https://youtu.be/AO-qRSL9nng SWAT Kats: The Radical Squadron https://90scartoons.fandom.com/wiki/SWAT_Kats:_The_Radical_Squadron https://www.imdb.com/title/tt0126173/ https://en.wikipedia.org/wiki/SWAT_Kats:_The_Radical_Squadron https://www.kickstarter.com/projects/1820796125/swat-kats-revolution (Kickstarter to bring the series back) How To Train Your Dragon https://www.dreamworks.com/how-to-train-your-dragon https://www.imdb.com/title/tt0892769/ https://www.imdb.com/title/tt1646971/ https://www.imdb.com/title/tt2386490/ https://en.wikipedia.org/wiki/How_to_Train_Your_Dragon#How_to_Train_Your_Dragon_(2010) https://en.wikipedia.org/wiki/How_to_Train_Your_Dragon_2 https://en.wikipedia.org/wiki/How_to_Train_Your_Dragon:_The_Hidden_World https://www.polygon.com/animation-cartoons/22724287/how-to-train-your-dragon-tv-show-hulu-peacock-modern-day Dungeons & Dragons Cartoon https://www.imdb.com/title/tt0085011/ https://en.wikipedia.org/wiki/Dungeons_%26_Dragons_(TV_series) https://movieweb.com/dungeons-and-dragons-80s-animated-series/ https://www.tor.com/2022/01/11/revisiting-the-dungeons-dragons-animated-series/ https://boingboing.net/2021/07/10/fans-animate-unfinished-last-episode-of-dungeons-and-dragons-cartoon.html https://www.thegamer.com/dungeons-dragons-cartoon-facts/ https://dungeonsdragons.fandom.com/wiki/Dungeons_%26_Dragons_(TV_series) https://en.wikiquote.org/wiki/Dungeons_%26_Dragons_(TV_series) Chip and Dale Rescue Rangers (TV cartoon & Movie) https://www.imdb.com/title/tt0096557/ https://youtu.be/Y5feVNIkX-I https://disney.fandom.com/wiki/Chip_%27n_Dale_Rescue_Rangers_(film) https://www.imdb.com/title/tt3513500/ https://en.wikipedia.org/wiki/Chip_%27n_Dale:_Rescue_Rangers_(film) Dark Wing Duck https://disney.fandom.com/wiki/Darkwing_Duck https://www.imdb.com/title/tt0101076/ https://en.wikipedia.org/wiki/Darkwing_Duck https://variety.com/2020/tv/news/darkwing-duck-reboot-disney-plus-1234830283/ Tale Spin https://disney.fandom.com/wiki/TaleSpin https://en.wikipedia.org/wiki/TaleSpin https://www.imdb.com/title/tt0098924/ The Octonauts https://www.imdb.com/title/tt1710177/ https://www.bbc.co.uk/iplayer/episodes/b00xhyjf/octonauts https://en.wikipedia.org/wiki/Octonauts Aquanauts https://www.imdb.com/title/tt0053481/ https://www.imdb.com/title/tt0257292/ https://en.wikipedia.org/wiki/The_Aquanauts Woody Woodpecker https://en.wikipedia.org/wiki/The_Woody_Woodpecker_Show https://unitedparamountnetworkupn.fandom.com/wiki/The_Woody_Woodpecker_Show https://youtu.be/Q4uIdPOpen8 Donald Duck Gets Discharged from the Military https://www.portablepress.com/blog/2017/05/donald-duck-trivia/ GizmoDuck https://scrooge-mcduck.fandom.com/wiki/Gizmoduck Donald Duck has PTSD https://cartoonoveranalyzations.wordpress.com/2009/02/20/diagnosis-donald-duck-suffers-from-ptsd/ https://youtu.be/ehy7Mq7SP80 Voltron https://www.imdb.com/title/tt5580664/ https://en.wikipedia.org/wiki/Voltron https://voltron.com/ Rin Tin Tin / Adventures of Tin Tin https://en.wikipedia.org/wiki/Rin_Tin_Tin https://en.wikipedia.org/wiki/The_Adventures_of_Rin_Tin_Tin https://www.imdb.com/name/nm0863833/ https://www.imdb.com/title/tt0046576/ https://americacomesalive.com/the-story-of-rin-tin-tin-2/ Heinz 57 https://en.wikipedia.org/wiki/Heinz_57 Winnie The Pooh https://disney.fandom.com/wiki/Winnie_the_Pooh https://www.smithsonianmag.com/arts-culture/winnie-pooh-became-household-bear-180967090/ https://www.yahoo.com/lifestyle/upcoming-film-winnie-pooh-blood-140045130.html Furries https://en.wikipedia.org/wiki/Furry_fandom Teen Wolf https://www.imdb.com/title/tt0090142/ The Goonies https://goonies.fandom.com/wiki/The_Goonies_(film) https://www.imdb.com/title/tt0089218/ https://en.wikipedia.org/wiki/The_Goonies Magic The Gathering - Innistrad https://mtg.fandom.com/wiki/Innistrad_(plane) Galaxy S6 Phone https://www.gsmarena.com/samsung_galaxy_s6-6849.php Lineage OS https://lineageos.org/ Ubports https://ubports.com/ Tony is enjoying his Juno Linux PC - Brutus 5000 https://junocomputers.com/product/brutus-5000-v2/ Boxes (Linux Virtual Machine application) https://help.gnome.org/users/gnome-boxes/stable/ Haskell https://www.haskell.org/ Rooibos Tea https://www.healthline.com/nutrition/rooibos-tea-benefits https://en.wikipedia.org/wiki/Rooibos IPFS https://ipfs.io/ https://en.wikipedia.org/wiki/InterPlanetary_File_System https://medium.com/@ConsenSys/an-introduction-to-ipfs-9bba4860abd0 Arc Wedling https://www.twi-global.com/technical-knowledge/faqs/what-is-arc-welding https://weldguru.com/what-is-arc-welding/ https://en.wikipedia.org/wiki/Arc_welding 6011 Stick Welding Rods https://weldingtroop.com/what-is-6011-welding-rod-used-for/ Zinc https://www.rsc.org/periodic-table/element/30/zinc https://en.wikipedia.org/wiki/Zinc Zamak https://en.wikipedia.org/wiki/Zamak https://decoprod.com/design-support/zamak/ Biodiesel https://en.wikipedia.org/wiki/Biodiesel https://www.biodiesel.org/ Boats with Underwater Wing (Hydrofoils?) http://www.hydrofoil.org/history.html https://en.wikipedia.org/wiki/Hydrofoil https://web.mit.edu/2.972/www/reports/hydrofoil/hydrofoil.html Cardano https://cardano.org/ Plutus Tutorial https://plutus.readthedocs.io/en/latest/tutorials/ Racket https://racket-lang.org/ Plutus Pioneer Program https://testnets.cardano.org/en/plutus-pioneer-program/ NixOS https://nixos.org/ https://distrowatch.com/table.php?distribution=nixos https://en.wikipedia.org/wiki/NixOS Scheme https://en.wikipedia.org/wiki/Scheme_(programming_language) Lisp https://en.wikipedia.org/wiki/Lisp_(programming_language) https://www.tutorialspoint.com/lisp/index.htm Functional Programming https://www.geeksforgeeks.org/functional-programming-paradigm/ https://en.wikipedia.org/wiki/Functional_programming Clojure https://clojure.org/ https://en.wikipedia.org/wiki/Clojure https://clojuredocs.org/ Solaris https://www.oracle.com/solaris/solaris11/ VIM https://www.vim.org/ https://en.wikipedia.org/wiki/Vim_(text_editor) CentOS https://www.centos.org/ https://distrowatch.com/table.php?distribution=centos https://en.wikipedia.org/wiki/CentOS 2022-01-01T09:00:00Z AKST Alaska/USA and regions of French Polynesia Anchorage, Fairbanks, Juneau, Unalaska HST Small region of USA and 2 more Honolulu, Rarotonga, Adak, Papeete https://www.worldtimezone.com/newyear.html Solstice https://en.wikipedia.org/wiki/Solstice https://www.irishamericanmom.com/newgrange-irelands-megalithic-wonder-of-the-winter-solstice/ https://www.newgrange.com/ TIVO https://www.tivo.com/custom/product-bolt Yagi Antenna https://en.wikipedia.org/wiki/Yagi%E2%80%93Uda_antenna https://www.eeweb.com/lets-build-the-yagi-antenna/

Syntax - Tasty Web Development Treats
Supper Club × The Primeagan - Vim, Streaming, Rust, all Around Interesting Guy

Syntax - Tasty Web Development Treats

Play Episode Listen Later Sep 9, 2022 64:21 Very Popular


In this supper club episode of Syntax, Wes and Scott talk with The Primeagan about his streaming set up, how he decides what to stream, why he makes the kind of content he does, and why he loves Vim. Hasura - Sponsor With Hasura, you can get a fully managed, production-ready GraphQL API as a service to help you build modern apps faster. You can get started for free in 30 seconds, or if you want to try out the Standard tier for zero cost, use the code “TryHasura” at this link: hasura.info. We've also got an amazing selection of GraphQL tutorials at hasura.io/learn. Storyblok - Sponsor Storyblok is a headless component-based CMS with a real-time visual editor. It offers the flexibility for developers to craft their perfect tech stack, but it also empowers content creators to make changes independently. The result is that every team has the freedom to quickly and easily create the ideal website with limitless extensibility. Other key features include robust Storyblok SDKs and APIs, powerful internationalization options, and an eCommerce-ready platform. Show Notes 00:35 Welcome 01:48 Guest introduction ThePrimeagen on YouTube ThePrimeagen on Twitch @ThePrimeagen on Twitter Why I Make Content 03:53 Dropping in on skateboarding Tony Hawk's Pro Skater 05:43 What do you do? 07:17 How do you plan your live streams? 10:05 Sponsor: Hasura 11:27 Do you do interactive content via OBS on stream? OBS 16:22 What languages do you use on stream? Bun Zig 22:03 What do you try to build on stream? 24:53 Sponsor: StoryBlok 25:45 Why do you use Vim? 38:42 Do you ever have to do pair programming with Vim? 40:43 What kind of hardware are you playing with? Arduino 42:52 Supper club questions Lemur Pop Kinesis Advantage 2 56:20 SIIIIICK ××× PIIIICKS ××× Tweet us your tasty treats Scott's Instagram LevelUpTutorials Instagram Wes' Instagram Wes' Twitter Wes' Facebook Scott's Twitter Make sure to include @SyntaxFM in your tweets

Linux User Space
Episode 3:05: How to Exit Vim

Linux User Space

Play Episode Listen Later Aug 29, 2022 68:44


Coming up in this episode 1. Vim stories 2. The quick history of vi and vim 3. A snappy Mozilla watch 4. Gnome can toggle too 5. We take a sip of Cider 0:00 Cold Open 1:48 vim Stories 12:05 vi & vim History 22:13 A Few More Thoughts on vim 39:28 A Snappy Mozilla Watch 42:22 New Features to Gnome 52:19 Feedback 58:23 Community Focus: DistroTube 1:00:32 App Focus: Cider 1:05:33 Next Time: Clear Linux 1:07:35 Stinger Support us on Patreon! (https://www.patreon.com/linuxuserspace) Banter Vim Stories There are many guides/shortcut cheatsheets out there. Here are a few that seem good: https://www.maketecheasier.com/cheatsheet/vim-keyboard-shortcuts/ https://linuxhint.com/vim_shortcuts/ http://vimsheet.com Announcements Give us a sub on YouTube (https://linuxuserspace.show/youtube) You can watch us live on Twitch (https://linuxuserspace.show/twitch) the day after an episode drops. History Series on Text Editors - vi and vim vi (http://ex-vi.sourceforge.net/) (Pronounced V, I) vim (https://www.vim.org/) vi wikipedia page (https://en.wikipedia.org/wiki/Vi) Vim wikipedia page (https://en.wikipedia.org/wiki/Vim_(text_editor)) George Colouris (http://www.eecs.qmul.ac.uk/~gc/history/) Bill Joy (https://en.wikipedia.org/wiki/Bill_Joy) ADM-3A Terminal (https://en.wikipedia.org/wiki/ADM-3A) and the keyboard layout (https://en.wikipedia.org/wiki/File:KB_Terminal_ADM3A.svg) Bill also hacked together a temporary, intermediary editor (https://begriffs.com/pdf/unix-review-bill-joy.pdf) 1987 - A limited vi clone STEVIE, the ST Editor for VI Enthusiasts, was born. (https://timthompson.com/tjt/stevie/) 1988 - Bram Moolenaar took the source for STEVIE and ported it to the Amiga which marked the first release of Vim. It was also known as the "wq text editor" at the time. Most folks take the acronym to mean vi Improved, but originally, it stood for vi Imitation (https://invisible-island.net/vile/vile.faq.html#clone_began). It took on the Improved meaning later in 1993 around version 2. Bram Moolenaar (https://en.wikipedia.org/wiki/Bram_Moolenaar) Bram's Web page (https://www.moolenaar.net/index.html) elvis (https://groups.google.com/g/comp.editors/c/rdUYDzANsMw/m/ErR-8j1VCfQJ) nvi was born (https://books.google.com/books?id=Eb8J3BONVxAC&pg=PA307#v=onepage&q&f=false) The original vi source code was released as open source. (http://www.mckusick.com/csrg/calder-lic.pdf) 2020 - Fedora switches from Vim to nano for the default text editor (https://fedoraproject.org/wiki/Releases/33/ChangeSet#Make_nano_the_default_editor) June 28, 2022 - Vim 9.0 is released! (https://www.vim.org/vim90.php) More Announcements Want to have a topic covered or have some feedback? - send us an email, contact@linuxuserspace.show Mozilla watch Firefox on Ubuntu (https://www.omgubuntu.co.uk/2022/07/ubuntu-devs-fix-another-frustrating-firefox-snap-flaw) Firefox 104 is released (https://9to5linux.com/mozilla-firefox-104-is-now-available-for-download-this-is-whats-new) Housekeeping Catch these and other great topics as they unfold on our Subreddit or our News channel on Discord. * Linux User Space subreddit (https://linuxuserspace.show/reddit) * Linux User Space Discord Server (https://linuxuserspace.show/discord) * Linux User Space Telegram (https://linuxuserspace.show/telegram) * Linux User Space Matrix (https://linuxuserspace.show/matrix) Gnome Can Now... Toggle Speakers and Mics (https://www.omgubuntu.co.uk/2022/08/gnome-43-new-features) in 43! Feedback Great feedback on our last episode on YouTube (https://youtu.be/_AIWIfraNt8) lendarker on reddit (https://www.reddit.com/r/EndeavourOS/comments/wr5mql/comment/ikrqf4d/?utm_source=share&utm_medium=web2x&context=3) Community Focus Distrotube (https://www.youtube.com/distrotube) Distrotube Vim videos (https://www.youtube.com/c/DistroTube/search?query=vim) Including some tutorial videos part 1 (https://youtu.be/ER5JYFKkYDg) and part 2 (https://youtu.be/tExTz7GnpdQ) App Focus Cider (https://github.com/ciderapp/Cider) Next Time We will discuss Clear Linux (https://clearlinux.org/) and the history. Come back in two weeks for more Linux User Space Stay tuned and interact with us on Twitter, Mastodon, Telegram, Matrix, Discord whatever. Give us your suggestions on our subreddit r/LinuxUserSpace Join the conversation. Talk to us, and give us more ideas. All the links in the show notes and on linuxuserspace.show. We would like to acknowledge our top patrons. Thank you for your support! Producer Bruno John Co-Producer Johnny Sravan Tim Contributor Advait CubicleNate Eduardo S. Jill and Steve LiNuXsys666 Nicholas Paul sleepyeyesvince

Screaming in the Cloud
How to Leverage AWS for Web Developers with Adam Elmore

Screaming in the Cloud

Play Episode Listen Later Aug 23, 2022 34:24


About AdamAdam is an independent cloud consultant that helps startups build products on AWS. He's also the host of AWS FM, a podcast with guests from around the AWS community, and an AWS DevTools Hero.Adam is passionate about open source and has made a handful of contributions to the AWS CDK over the years. In 2020 he created Ness, an open source CLI tool for deploying web sites and apps to AWS.Previously, Adam co-founded StatMuse—a Disney backed startup building technology that answers sports questions—and served as CTO for five years. He lives in Nixa, Missouri, with his wife and two children.Links Referenced: 17 Ways to Run Containers On AWS: https://www.lastweekinaws.com/blog/the-17-ways-to-run-containers-on-aws/ Twitter: https://twitter.com/aeduhm Twitch: https://www.twitch.tv/adamelmore TranscriptAnnouncer: Hello, and welcome to Screaming in the Cloud with your host, Chief Cloud Economist at The Duckbill Group, Corey Quinn. This weekly show features conversations with people doing interesting work in the world of cloud, thoughtful commentary on the state of the technical world, and ridiculous titles for which Corey refuses to apologize. This is Screaming in the Cloud.Corey: Welcome to Screaming in the Cloud. I'm Corey Quinn. Every once in a while, I encounter someone in the wild that… well, I'll just be direct, makes me feel a little bit uneasy, almost like someone's walking over my grave. And I think I've finally figured out elements of what that is. It feels sometimes like I run into people—ideally not while driving—who are trying to occupy sort of the same space in the universe, and I never quite know how to react to that.Today's guest is just one such person. Adam Elmore is an independent AWS consultant, has been all over the Twitters for a while, recently started live streaming basically his every waking moment because he is just that interesting. Adam, thank you for suffering my slings and arrows—Adam: [laugh].Corey: —and agreeing to chat with me today.Adam: I would say first of all, you don't need to be worried about anyone walking over your grave. [laugh]. That was very flattering.Corey: No, honestly, I have big enterprise companies looking to put me in my grave, but that's a separate threat model. We're good on that, for now.Adam: [laugh]. I got to set myself up here to—I'm just going to laugh a lot, and your editor or somebody's going to have to deal with that. And maybe the audience will see—[laugh].Corey: Hey, I prefer that as opposed to talking to people who have absolutely no sense of humor of which they are aware. Awesome, I have a list of companies that they should apply for immediately. So, when I say that we're trying to occupy elements of the same space in the universe, let me talk a little bit about what I mean by that. You are independent as a consultant, which is how I started this whole nonsense, and then I started gathering a company around me almost accidentally. You are an AWS Dev Tools Hero, whereas I am an AWS community villain, which is kind of a polar opposite slash anti-hero approach, and it's self-granted in my case. How did you stumble into the universe of AWS? You just realized one day you were too happy and what can you do to make yourself miserable, and this was the answer, or what?Adam: Yeah, I guess. So. I mean, I've been a software developer for 15 years, like, my whole career, that's kind of what I've done. And at some point, I started a startup called StatMuse. And I was able, as sort of a co-founder there, with venture backing, like, I was able to just kind of play with the cloud.And we deployed everything on AWS, so that was—like, I was there five years; it was sort of five years of running this, I would call it like a Digital Media Studio. Like, we built technology, but we did lots of experiments, so it felt like playing on AWS. Because we built kind of weird one-offs, these digital experiences for various organizations. The Hall of Fame was one of them. We did, like, a, like, a 3-D Talking bust of John Madden, so it was like all kinds of weird technology involved.But that was sort of five years of, I guess, spending venture money [laugh] to play on AWS. And some of that was Google money; I guess I never thought about that, but Google was an investor in StatMuse. [laugh]. Yeah, so we sort of like—I ran that for five years and was able to learn just a lot of AWS stuff that really excited me. I guess, coming from normal web development stuff, it was exciting just how much leverage you have with AWS, so I sort of dove in pretty hard. And then yeah, when I left StatMuse in 2019 I've just been, I guess, going even harder into that direction. I just really enjoy it.Corey: My first real exposure to AWS was at a company where the CTO was a, I guess we'll call him an extraordinarily early cloud evangelist. I was there as a contractor, and he was super excited and would tweet nonsensical things like, “I'm never going to rack a server ever again.” And I was a grumpy sysadmin type; I came from the ops world where anything that is new shouldn't be treated with disdain and suspicion because once you've been a sysadmin for 20 minutes, you've been there long enough to see today's shiny new shit become tomorrow's legacy garbage that you're stuck supporting. So, “Oh, great. What now?”I was very down on Cloud in those days and I encountered it with increasing frequency as I stumbled my way through my career. And at the end of 2016, I wound up deciding to go out independent and fix… well, what problems am I good at fixing that I can articulate in a sentence, and well, I'd gotten surprised by AWS bills from time to time—fortunately with someone else's money; the best kind of mistake to make—and well I know a few things. Let's get really into it. In time, I came to learn that cost and architecture the same thing in cloud, and now I don't know how the hell to describe myself. Other people love to describe me, usually with varying forms of profanity, but here we are. It really turns into the idea of forging something of your own path. And you've absolutely been doing that for at least the last three years as you become someone who's increasingly well known and simultaneously harder to describe.Adam: Yeah, I would say if you figure it out, if you know how to describe me, I would love to know because just coming up with the title—for this episode you needed, like, my title, I don't know what my title is. I'm also—like, we talked about independent, so nobody sort of gives me a title. I would love to just receive one if you think of one, [laugh] if anyone listening thinks of one… it's increasingly hard to, sort of like, even decide what I care most about. I know I need to, like, probably niche down, I feel like you've kind of niched into the billing stuff. I can't just be like, “I'm an AWS guy,” because AWS is so big. But yeah, I have no idea.Corey: Anyone who claims, “Oh, I'm an expert in AWS,” is lying or trying to sell something.Adam: [laugh]. Exactly.Corey: I love that. It's, “Really? I have some questions to establish that for you.” As far as naming what it is, you do, first piece of advice, never ever, ever, ever listen to someone who works at AWS; those people are awful at naming things, as evidenced by basically every service they've ever launched. But you are actually fairly close to being an AWS expert. You did a six-week speed-run through every certification that they offer and that is nothing short of astonishing. How'd it come about?Adam: It's a unique intersection of skills that I think I have. And I'm not very self-aware, I don't know all my strengths and weaknesses and I struggle to sort of nail those down, but I think one of my strengths is just ability to, like, consume information, I guess at a high volume. So, I'm like an auditory learner; I can listen to content really fast and sort of retain enough. And then I think the other skill I have is just I'm good at tests. I've always said that, like, going back to school, like, high school, I always felt like I was really good at multiple-choice tests. I don't know if that's a skill or some kind of innate talent.But I think those two things combined, and then, like, eight years of building on AWS, and that sort of frames how I was able to take all that on. And I don't know that I really set out thinking I will do it in six weeks. I took the first few and then did them pretty fast and thought, “I wonder how quickly I could do all of them.” And I just kind of at that point, it became this sort of goal. I have to take on certain challenges occasionally that just sound fun for no reason other than they sound fun and that was kind of the thing for those six weeks. [laugh].Corey: I have two certifications: Cloud Practitioner and the SysOps Administrator Associate. Those were interesting.Adam: You took the new one, right? The new SysOps with the labs and stuff I'd love to hear about that.Corey: I did, back when it was in beta. That was a really interesting experience and I'll definitely get to that, but I wound up, for example, getting a question wrong in the Cloud Practitioner exam four years ago or so, when it was, “How long does it take to restore an RDS instance from backup?” And I gave the honest answer instead of the by-the-book, correct answer. That's part of the problem is that I've been doing this stuff too long and I know how these things break and what the real world looks like. Certifications are also very much a snapshot at a point in time.Because I write the Last Week in AWS newsletter, I'm generally up-to-the-minute on what has changed, and things that were not possible yesterday, suddenly are possible today, so I need to know when was this certification launched. Oh, it was in early 2021. Yeah, I needed to be a lot more specific; which week? And then people look at me very strangely and here we are.The Systems Administrator Certification was interesting because this is the first one, to my knowledge, where they started doing a live lab as a—Adam: Yeah.Corey: Component of this. And I don't think it's a breach of the NDA to point out that one of the exams was, “Great. Configure CloudWatch out of the box to do this thing that it's supposed to do out of the box.” And I've got to say that making the service do what it's supposed to do with no caveats is probably the sickest shade I've ever seen anyone throw at AWS, like, configuring the service is so bad that it is going to be our test to prove you know what you're doing. That is amazing.Adam: [laugh]. Yeah, I don't have any shade through I'm not as good with the, like, ability to come off, like, witty and kind while still criticizing things. So, I generally just try not to because I'm bad at it. [laugh].Corey: It's why I generally advise people don't try, in seriousness. It's not that people can't be clever; it's that the failure mode of clever is ‘asshole' and I'm not a big fan of making people feel worse based upon the things that I say and do. It's occasionally I wind up getting yelled at by Amazonians saying that the people who built a service didn't feel great about something I said, and my instinctive immediate reaction is, “Oh, shit, that wasn't my intention. How did I screw this up?” Given a bit of time, I realized that well hang on a minute because I'm not—they're not my target audience. I'm trying to explain this to other customers.And, on some level, if you're going to charge tens of millions of dollars a month for a service or more, maybe make a better one, not for nothing. So, I see both sides of it. I'm not intentionally trying to cause pain, but I'm also not out here insulting people individually. Like, sometimes people make bad decisions, sometimes individually, sometimes in a group. And then we have a service name we have to live with, and all right, I guess I'm going to make fun of that forever. It's fun that keeps it engaging for me because otherwise, it's boring.Adam: No, I hear you. No, and somebody's got to do it. I'm glad you do it and do it so well because, I mean, you got to keep them honest. Like, that's the thing. Keep AWS in check.Corey: Something that I went through somewhat recently was a bit of an awakening. I have no problem revisiting old opinions and discovering that huh, I no longer agree with it; it's time to evolve that opinion. The CDK specifically was one of those where I looked at it and thought this thing looks a little hokey. So, I started using it in Python and sure enough, the experience was garbage. So cool, the CDK is a piece of crap. There we go. My job is easy.I was convinced to take a second look at it via TypeScript, a language I do not know and did not have any previous real experience with. So, I spent a few days just powering through it, and now I'm a convert. I think it's amazing. It is my default go-to for building AWS infrastructure. And all it took was a little bit of poking and prodding to get me to change my mind on that. You've taken it to another level and you started actively contributing to the AWS CDK. What was your journey with that, honestly, remarkable piece of software?Adam: Yeah, so I started contributing to CDK when I was actually doing a lot of Python development. So, I worked with a company that was doing—there was a Python shop. So actually, the first thing I contributed was a Python function construct, which is sort of the equivalent of the Node.js function construct, which like, you can just basically point at a TypeScript file and it transpiles it, bundles it, and does all that, right? So, it makes it easy to deploy TypeScript as a Lambda function.Well, I mean, it ends up being a JavaScript Lambda function, but anyway, that was the Python function construct. And then I sort of got really into it. So, I got pretty hooked on using the CDK in every place that I could. I'm a huge fan, and I do primarily write in TypeScript these days. I love being able to write TypeScript front-end and back, so built a lot of, like, Next.JS front-ends, and then I'm building back-ends with CDK TypeScript.Yeah, I've had, like, a lot of conversations about CDK. I think there's definitely a group that's sort of, against the CDK, if you're thinking in terms of, like, beginners. And I do see where, for people who aren't as familiar with AWS, or maybe this is their entry point into cloud development, it does a lot of things that maybe you're not aware of that, you know, you're now kind of responsible for. So, it's deploying—like, it makes it really easy to write, like, three lines of TypeScript that stand up an entire VPC with all this configuration and Managed NAT Gateways and [laugh] everything else. And you may not be aware of all the things you just stood up.So, CloudFormation maybe is a little more—sort of gives you that better visibility into what you're creating. So, I've definitely seen that pushback. But I think for people who really, like, have built a lot of applications on AWS, I think the CDK is just such a time-saver. I mean, I spend so much less time building the same things in the CDK versus CloudFormation. I'm a big fan.Corey: For me, I've learned enough about JavaScript to be dangerous and it seems like TypeScript is more or less trying to automate a bunch of people's jobs away, which is basically, from I can tell, their job is to go on the internet and complain about someone's JavaScript. So great, that that's really all it does is it complains, “Oh, this ambiguous. You should be more specific about it.” And great. Awesome. I still haven't gotten into scenarios where I've been caught out by typing issues, and very often I find that it just feels like sheer bloodymindedness, but I smile, nod, bend the knee and life goes on.Adam: [laugh]. When you've got a project that's, like, I don't know, a few months old—or better, a few years old—and you need to do, like, major refactoring, that's when TypeScript really saves you just a ton of time. Like, when you can make a change in a type or in actual implementation stuff and then see the ripple effects and then sort of go around the codebase and fix those things, it's just a lot easier than doing it in JavaScript and discovering stuff at runtime. So, I'm a big TypeScript fan. I don't know where it's all headed. I know there's people that are not fans of, like, transpiling your Lambda functions, for instance. Like, why not just ship good JavaScript? And I get that case, too. Yeah, but I've definitely—I felt the productivity boost, I guess—if that's the thing—from TypeScript.Corey: For me, I'm still at a point where I'm learning the edges of where things start and where they stop. But one of the big changes I made was that I finally, after 15 years, gave up my beloved Vim as my editor for this and started using VS Code. Because the reasons that I originally went with Vi were understandable when you realize what I was. I'm always going to be remoting into network gear or random—on maintained Unix boxes. Vi is going to be everywhere on everything and that's fine.Yeah, I don't do that anymore, and increasingly, I find that everything I'm writing is local. It is not something that is tied to a remote thing that I need to login and edit by hand. At that point, we are in disaster area. And suddenly it's nice. I mean things like tab completion, where it just winds up completing the rest of the variable name or, once you enable Copilot and absolutely not CodeWhisperer yet, it winds up you tab complete your entire application. Why not? It's just outsourcing it to Stack Overflow without that pesky copy and paste step.Adam: Yeah, I don't know how in the weeds you want to get on your p—I don't know, in terms of technical stuff, but Copilot both blows me away—there are days where it autocompletes something that I just, I can't fathom how—it pulled in not just, like, the patterns that it found, obviously, in training, but, like, the context in the file I'm working and sort of figured out what I was trying to do. Sometimes it blows me away. A lot of times, though, it frustrates me because of TypeScript. Like, I'm used to Typescript and types saving me from typing a lot. Like, I can tab-complete stuff because I have good types defined, right, or it's just inferred from the libraries I'm using.It's tough though when GitHub is fighting with TypeScript and VS Code. But it's funny that you came from Vim and you now live in VS Code. I really am trying to move from VS Code to, like, the Vim world, mostly because of Twitch streamers that blow my mind with what they can do in Vim [laugh] and how fast they can move. I do—every time I move my hand, like, over to the arrow keys, I feel a little sad and I wish I just did Vim.Corey: This episode is sponsored in part by our friends at Lambda Cloud. They offer GPU instances with pricing that's not only scads better than other cloud providers, but is also accessible and transparent. Also, check this out, they get a lot more granular in terms of what's available. AWS offers NVIDIA A100 GPUs on instances that only come in one size and cost $32/hour. Lambda offers instances that offer those GPUs as single card instances for $1.10/hour. That's 73% less per GPU. That doesn't require any long term commitments or predicting what your usage is gonna look like years down the road. So if you need GPUs, check out Lambda. In beta, they're offering 10TB of free storage and, this is key, data ingress and egress are both free. Check them out at lambdalabs.com/cloud. That's l-a-m-b-d-a-l-a-b-s.com/cloud.Corey: There are people who have just made it into an entire lifestyle, on some level. And I'm fair to middling; I've known people who are dark wizards at it. In practice, I found that my productivity was never constrained by how quickly I can type. It's one of those things where it's, I actually want to stop and have my brain catch up sometimes, believe it or not, for those who follow me on Twitter. It's the idea of wanting to make sure that I am able to intelligently and rationally wrap my head around what it is I'm doing.And okay, just type out a whole bunch of boilerplate is, like, the least valuable use of anything and that is where I find things like Copilot working super well, where I, if I'm doing CloudFormation, for example, the fact that it tab-completes all the necessary attributes and can go back and change them or whatnot, that's an enormous time saver. Same story with the CDK, although with some constructs, it doesn't quite understand which ones get certain values to it. And I really liked the idea behind it. I think this is in some ways, the future of IDEs, to a point.Adam: Oh, for sure. I think, like, the case, you call that with CloudFormation, you don't have really typeahead in VS Code, at least I'm not using anything. Maybe there are extensions that give you that in VS Code. But to have Copilot fill in required prompts on a CloudFormation template, that's a lifesaver. Because I just, every time I write CloudFormation, I've just got the docs up and I'm copying stuff I've done before or whatever; like, to save that time it's huge. But CodeWhisperer, not so much? Is it not, I guess, up to snuff? I haven't seen it or played with it at all.Corey: It's still very early days and it hasn't had exposure outside of Amazonian codebases to my understanding, so it's, like, “Learn to code like an Amazonian.” And you can fill in your own joke here on that one. I imagine it's like—isn't that—aren't they primarily a Java shop, for one? And all right. It turns out most of my code doesn't need to operate the way that there's does.Adam: I didn't know that they were training it just internally. Like, I'm assuming Copilot is trained on, like, Stack Overflow or something, right? Or just all of GitHub, I guess.Corey: And GitHub and a bunch of other things, and people are yelling at them for it, and I haven't been tracking that. But honestly, the CodeWhisperer announcement taught me things about Copilot, which is weird, which tells me that none of these companies are great at explaining this. Like I can just write a comment in this of, “Add an S3 bucket,” and then Copilot will tab-complete the entirety of adding an S3 bucket, usually even secure, which is awesome. They also fix the early Copilot teething problems of tab-completing people's AWS API credentials. You know, the—yeah, they've fixed a lot of that, thankfully.Adam: Yeah.Corey: But it's still one of those neat things that you can just basically start—it gets a little bit closer to describe what you want the application to do and then it'll automatically write it for you on the back-end. Sure, sometimes it makes naive decisions that do not bear out, but again, it's still early days. I'm optimistic.Adam: Yeah, that reminds me of, like, the, I mean, the serverless cloud, so serverless framework folks, like, what they're doing where they're sort of inferring your infrastructure based on you just write an app and it sort of creates the infrastructure as code for you, or just sort of infers it all from your code. So, if you start using a bucket, it'll create a bucket for that. That definitely seems to be a movement as well, where just do less as a developer [laugh] seems to be the theme.Corey: Yeah, just move up the stack. We see this time and time again. I mean, look at the—I use this analogy from time to time from the sysadmin world, but in the late-90s, if you wanted to build a web server, you needed a spare week and an intimate knowledge of GCC compiler flags. In time, it became oh, great, now it's rpm install, then yum install, then ensure present with something like Puppet, and then Docker has it, and now it's just a checkbox on the S3 page, and you're running a static site. Things don't get harder with time, and I don't think that as a developer, your time is best spent writing by hand the proper syntax for a for loop or whatnot.It's not the differentiated value. Talk to me instead about what you want that thing to do. That was my big problem with Lambda when it first came out and I spent two weeks writing my first Lambda function—because I'm bad at programming—where I had to learn the exact format of expected for input and output, and now any Lambda function I write takes me a couple of minutes to write because I'm also bad at programming and don't know what tests are.Adam: [laugh]. Tests are overrated, I don't spend a lot of time writing t—I mean, I do a lot of stuff alone and I do a lot of stuff for myself, so in those contexts, I'm not writing tests if I'm being honest. I stream now and everyone on the stream is constantly asking, “Where are the tests?” Like, there are no tests. I'm sorry. [laugh]. Was someone else's stream.Corey: Oh yeah, it used to be though, that you had to be a little sneakier to have other people do work for you. Copilot makes it easier and presumably CodeWhisperer will, too. Used to be that if AWS launched new service and I didn't know how to configure it, all I would do is restrict a role down to only being able to work with that service, attach that to a user and then just drop the credentials on Twitter or GitHub. And I waited 20 minutes and I came back and sure enough, someone configured it and was already up and mining Bitcoin. So, turn that off, take what they built, and off the production with it. Problem solved. Oh, and rotate those credentials, unless you enjoy pain. Problem solved. The end. And I don't know if it's a best practice, but it sure was effective.Adam: Yeah, that would do it. Well, they're just like scanners now, right, like they're just scanning GitHub public repos for any credentials that are leaked like that, and they're available within seconds. You can literally, like, push a public repo with credentials and it is being [laugh] used within minutes. It's nuts.Corey: GitHub has some automatic back channel thing—I believe; I haven't done an experiment lately, but I believe that AWS will intentionally shoot down the credential as soon as it gets reported, which is kind of amazing. I really should do some more experiments with it just to see how disastrous this can get.Adam: Yeah. No, I'd be curious. Please let me know. I guess you'll tweet about it so I'll see it.Corey: Can I borrow your account for a few minutes?Adam: Yeah. [laugh].Corey: Yeah, it's fun. Now, the secret to my 17 Ways to Run Containers On AWS is in almost every case, those containers can be crypto miners, so it's not just about having too many services do the same thing; it's the attack surface continues to grow and expand in the fullness of time. I'm not saying this is right or wrong; it is what it is, but it's also something that I think people have an understated appreciation for.Let's change topic a little bit. Something you've been doing lately and talking about is the idea of building a course on AWS. You're clearly capable of doing the engineering work. That's not in question. You've been a successful consultant for years, which tells me you also know how to deliver software that meets customer requirements, as opposed to, “Well, the spec was shitty, but I wrote it anyway,” because you don't last long as a consultant if you enjoy being able to afford to eat if that's the direction you go in. Now, you're drifting toward becoming a teacher. Tell me about that. First, what makes you think that's something you're good at?Adam: So, I don't know. I don't know that I'm good at it and I guess I'll find out. I've been streaming, like, on Twitch just my work days, and that's been early signs that I think I'm okay at it, at least. I think it's very different, obviously, like, a self-paced course are going to be very different from streaming for hours, so there's a lot more editing and thoughtfulness involved, but I do think, like, I've always wanted to teach. So, even before I got into technology—I was pretty late into technology; it was after high school. Like back in high school, I always thought I wanted to be a professor.I just enjoyed, I guess the idea of presenting ideas in ways that people understood. And I live in an area—so I live in the Ozarks, it's not a very tech literate area. It became, like, this thing where I felt like I could really explain technology to people who are non-technical. And that's not necessarily what my course—what I'm aiming to do. I'm trying to teach web developers how to leverage AWS, and then sort of get out of the maybe front-end only or maybe traditional web frameworks—like, they've only worked with stuff that they deploy to Heroku or whatever—trying to teach that crowd, how to leverage AWS and all these wonderful primitives that we have.So, that's not exactly the same thing, but that's sort of like, I feel like I do have the ability to translate technology to non-technical folks. And then I guess, like, for me, at this stage of my career, you know, I've done a lot of work for a company, for startups, for individual clients, and it feels very, like—I just always feel like I'm going in a hole. Like, I feel like, I'm doing this little thing and I'm serving this one customer, but the idea of being able to, I guess, serve more people and sort of spread my reach, the idea of creating something that I can share with a lot of developers who would maybe benefit from it, it just feels better, I guess. [laugh]. I don't know exactly all the reasons why that feels better, but like, at the end of the day, my consulting kind of feels like this thing I do because I just need money.And now that I need money less and less, I just feel like I'd rather do stuff that I actually am excited about. I'm actually really excited about the outcomes for creating a course where, you know, I think I can maybe—my style of teaching or something could resonate with some group of people. Yeah, so that's it. It's AWS for web devs. The thought is that I'm going to create courses after this. Like, I hope to move into more education, less consulting. That's where I'm at.Corey: I would say you're probably selling yourself fairly short. I've seen a lot of the content you've put out over the years and I learned a lot from it every time. I think that there are some folks who put courses out where, one, they don't have the baseline knowledge around what it is that they're teaching, it just feels like a grift, and another failure mode is that people know how to do the thing, but they have no idea how to teach it to someone who isn't them. And there's nothing inherently wrong with not knowing how to teach; it is its own distinct skill. The problem is when you don't recognize that about yourself and in turn, wind up having some somewhat significant challenges.Adam: Yeah. No, I know that one of the struggles is, I work with pretty obscure technologies on AWS. Not obscure, but like, I have a very specific way I build APIs on AWS and I don't know that's generally, if you're taking a bunch of web developers and trying to move them into AWS is probably not the stack that I use. So, that is part of it, but that's also kind of to my benefit, I guess. It works for me a little bit in that I'm less familiar with maybe the more beginner-friendly way to enter into AWS.It's been years, so I think I can kind of come at it a little fresh and that'll help me produce a course that maybe meets them where they're at better. Yeah, the grifting thing, I'm definitely sensitive to just this idea of putting out a course. It was hard for me to really go out there and say I was making a course, even on Twitter, because I just feel like there's, like, some stereotype—I don't know, there's an association with that, for me at least, for my perception of course creation. But I know that there are people who've done it right and do it for the right reasons. And I think to the extent that I could hit that, you know, both those things, do it right and do it for the right reasons, then it's exciting to me. And if I can't, and it turned out not good at teaching, then I'll move on and do more consulting, I guess, [laugh] or streaming on Twitch.Corey: You are very clearly self-aware enough that if you put something out and it isn't effective, I have zero doubt that you won't just stop selling it, you'll take it down and reach out to people. Because you, more so than most, seem very cognizant of the fact that a poor experience learning something does not in most people's cases, translate to, “Oh, my teacher is shitty.” Instead, it's, “Oh, I'm bad at this and I'm not smart enough to figure it out.” That's still the problem I run into with bad developer experience on a bunch of things that get launched. If I have a bad time, I assume it's, “Oh, I'm stupid. I wish someone had told me.”And first, they did, secondly, it's the sense that no, it's just not being very clearly explained and the folks who wrote the documentation or talking about it are too close to what they've built to understand what it's like to look at this thing from fresh eyes. They're doing a poor job of setting the stage to explain the value it brings and in what scenario, you should be using this.Adam: It's a long process. I want to launch the course in the fall, but in the process of building out the course, I'm really going to be doing workshops and individual—like, I just have a lot of friends that are web developers and I'm going to be kind of getting on with them and teaching them this material and just trying to see what resonates. I'm going to a lot of trouble, I guess, to make sure I'm not just putting out a thing just to say I made a course. Like, I don't actually want to say I made a course, so if I'm going to do it, it's like most things I do I really kind of throw myself into. And I know if I spend enough energy and effort, I think I can make something that at least helps some people. I guess we'll see.Corey: I look forward to it. Any idea as far as rough timeline goes?Adam: Yeah, I hope to launch in the fall. But if it takes longer, I don't know. I've heard people say, to do a course right, you should spend a year on it. And maybe that's what I do.Corey: No, I love that answer. It's great. You're just saying I want to launch in the fall, which is sufficiently vague, and if that winds up not being vague enough, you could always qualify with, “Well, I didn't say what year.”Adam: [laugh].Corey: So, great you know, it's always going to be the fall somewhere.Adam: [laugh]. I just know, like, when someone says you should spend a year I just do things very hard. Like I really, like, throw a lot of time and obsess, like, I'm very obsessive. And when I do something, it's hard for me imagine doing any one thing for a year because I burn myself out. Like, I obsess very hard for usually, like, three months, it's usually, like, a quarter, and then I fall off the face of the earth for three months and I basically mope around the house and I'm just too tired to do anything else. So, I think right now I'm streaming and that's kind of been my obsession. I'm three weeks in so we got a few more months and then we'll see, [laugh] we'll see how I maintain it.Corey: Well, I look forward to seeing how it comes out. You'll have to come back and let us know when it's ready for launch.Adam: Yeah, that sounds great.Corey: I really want to thank you for being so generous with your time and taking me through what you're up to. If people want to learn more, what's the best place for them to find you?Adam: Yeah, I think Twitter. I mean, I mostly hang out on Twitter, and these days Twitch. So, Twitter my handle—I guess you'll put it, like, in the thing description or something. It's like the phonetic—Corey: Oh, we will absolutely toss it into the show notes, where useful content goes to linger.Adam: [laugh]. It's like A-E-D-U-H-M. It's like a—it's the phonetic way of saying Adam, I guess. And then on Twitch, I'm adamelmore. So, those are the two places I spend most my time.Corey: And off to the show notes it goes. Thank you so much for being so generous with your time. I really appreciate it, Adam.Adam: Thank you so much for having me, Corey. I really appreciate it.Corey: Adam Elmore, independent AWS consultant. I'm Cloud Economist Corey Quinn, and this is Screaming in the Cloud. If you've enjoyed this podcast, please leave a five-star review on your podcast platform of choice, whereas if you've hated this podcast, please leave a five-star review on your podcast platform of choice along with an insulting comment that attempts to teach us exactly what we got wrong, but fails utterly because you're terrible at teaching things.Corey: If your AWS bill keeps rising and your blood pressure is doing the same, then you need The Duckbill Group. We help companies fix their AWS bill by making it smaller and less horrifying. The Duckbill Group works for you, not AWS. We tailor recommendations to your business and we get to the point. Visit duckbillgroup.com to get started.Announcer: This has been a HumblePod production. Stay humble.

Things Worth Learning
Neovim, with Jess Archer

Things Worth Learning

Play Episode Listen Later Aug 19, 2022 59:50


Jess Archer's Twitter - https://twitter.com/jessarchercodesJess Archer's GitHub - https://github.com/jessarcherJess Archer's GitHub dotfiles - https://github.com/jessarcher/dotfilesJess Archer's Website - https://jessarcher.comJess Archer's Youtube - https://www.youtube.com/channel/UCrk0VncCvtJUtAVEdwYIE-AHow to turn Vim into a powerful and beautiful IDE | Jess Archer, Vimconf 2021 - https://www.youtube.com/watch?v=434tljD-5C8Airlume - https://airlume.app/Neovim - https://neovim.io/Neovim GitHub - https://github.com/neovimSponsor Neovim - https://github.com/sponsors/neovimVim - https://www.vim.org/vi - https://en.wikipedia.org/wiki/ViVimtutor - https://web.archive.org/web/20100107121743/http://linuxcommand.gds.tuwien.ac.at/man_pages/vimtutor1.htmlVisual Studio Code - https://code.visualstudio.com/PhpStorm - https://www.jetbrains.com/phpstorm/Markdown - https://www.markdownguide.org/Matt's Book - https://mattstauffer.com/laravel-up-and-running/GitHub dotfiles - https://github.com/topics/dotfilesVimConf - https://vimconf.org/Jeffrey Way's Twitter - https://twitter.com/jeffrey_way?lang=enJeffrey Way's GitHub - https://github.com/JeffreyWayKinesis Advantage2 - https://kinesis-ergo.com/shop/advantage2/Bram Moolenaar's Website - https://moolenaar.net/Lua - https://www.lua.org/Practical Vim - http://vimcasts.org/publications/Drew Neil - http://drewneil.com/Taylor Otwell's Twitter - https://twitter.com/taylorotwellTaylor Otwell's GitHub - https://github.com/taylorotwellTailwind - https://tailwindcss.com/

SBS Hmong - SBS Hmong
Lagluam cog truffle

SBS Hmong - SBS Hmong

Play Episode Listen Later Aug 19, 2022 12:05


Cog truffle puas tau lagluam zoo thiab tau txais txiaj ntsim dab tsi rau tej neeg cog? Vim li cas thiaj muaj neeg nyiam noj truffle? Yuav mus saib tau tej chaw cog truffle qhov twg?

Software Unscripted
Vim and Nix with Jasper Woudenberg

Software Unscripted

Play Episode Listen Later Aug 15, 2022 45:08


Richard and Jasper talk about Vim, Nix, and related topics.

PHPUgly
298: Hire Tom

PHPUgly

Play Episode Listen Later Aug 12, 2022 73:57


Links from the show:PHP: rfc:asymmetric-visibilityIt's time for Apple to fix texting.Google has an app called Meet, and it decided to change the name of Duo to Meet. So now it has two products called Meet. Neat! | Boing BoingBlue Bubbles vs Green Bubbles: Explained! - YouTubeLaravel 9.24 Released | Laravel NewsLaravel: New DB Commands - The Laravel Blog Xdebug 3: Debugging with VIM and Vdebug - YouTubeXdebug Update: July 2022 — Derick RethansLaravel VersionsThe Laravel Blog Enlightn: Boost your Laravel App's Performance & SecurityThis episode of PHPUgly was sponsored by:Honeybadger.io - https://www.honeybadger.io/PHPUgly streams the recording of this podcast live. Typically every Thursday night around 9 PM PT. Come and join us, and subscribe to our Youtube Channel, Twitch, or Periscope. Also, be sure to check out our Patreon Page.Twitter Account https://twitter.com/phpuglyHost:Eric Van JohnsonJohn CongdonTom RideoutStreams:Youtube ChannelTwitchPowered by RestreamPatreon PagePHPUgly Anthem by Harry Mack / Harry Mack Youtube ChannelThanks to all of our Patreon Sponsors:Honeybadger ** This weeks Sponsor **ButteryCrumpetFrank WDavid QShawnKen FBoštjanMarcusShelby CS FergusonRodrigo CBillyDarryl HKnut Erik BDmitri GElgimboMikePageDevKenrick BKalen JR. C. S.Peter AClayton SRonny MBen RAlex BKevin YEnno RWayneJeroen FAndy HSeviCharltonSteve MRobert SThorstenEmily JJoe FAndrew WulrikJohn CJames HEric MLaravel MagazineEd GRirielilHermitChampJeffrey DChris B

Runtime Rundown
The One About HTMX and Hyperscript

Runtime Rundown

Play Episode Listen Later Aug 12, 2022 51:00


This week we talk about Hyperscript and HTMX, a new-ish scripting language and its HTML-based cousin. Will it be the language that usurps JavaScript? Only time will tell. We also talk Vim and VSCode, tree structures and Tetris, and bring you some cruise-based news on the Good News Cruise. The article: Reimagining front-end web development with HTMX and Hyperscript The sources: HTMX and Hyperscript Joe's Tetris video series: Let's Build Tetris! Music by Hina and Kevin MacLeod

Becker’s Healthcare Podcast
Opportunities and Pitfalls in Scaling Provider Enablement Technology

Becker’s Healthcare Podcast

Play Episode Listen Later Aug 12, 2022 21:33


Tune into this episode featuring Jonas Goldstein, Vice President, Strategy and Commercial at Vim. Find out why payers and providers are investing in point-of-care solutions that integrate with traditional EHRs at scale, potential use cases for payer-provider partnerships, and his predictions for the future of value-based care. Jonas also discusses how Vim has grown, its success in signing its 500th provider organization to its flagship technology, and the lessons the company has learned along the way. This episode is sponsored by Vim.

Laravel News Podcast
Redesigning Artisan, tinkering with Vim, and building your own packages

Laravel News Podcast

Play Episode Listen Later Aug 11, 2022 35:58


Michael and Tim discuss all the latest Laravel releases, tutorials, and happenings in the community.This episode is sponsored by Honeybadger - combining error monitoring, uptime monitoring and check-in monitoring into a single, easy to use platform and making you a DevOps hero. Show links A redesigned Artisan serve command in Laravel 9.22 New Artisan docs command in Laravel 9.23 Statix Server is an object-oriented wrapper for PHP's built-in server Artisan Tinker with Vim in Tinkeray Vite Livewire plugin Build your own Laravel packages Using Laravel model factories in your tests Factories should be the bare minimum SQL is not complex Introducing Laravel security in depth

Coder Radio
478: Strange New Workflows

Coder Radio

Play Episode Listen Later Aug 10, 2022 75:11


MP3 – mintCast
391- Putting our Money where our mouths are

MP3 – mintCast

Play Episode Listen Later Jul 27, 2022 94:05


First up in the news, Mint is coming, Lennart Poettering has left the building, Vim speaks a new language, WebApps come to GNOME 43, Fedora lets Flatpak out of jail and wants to talk, GTK5 is dropping the X, Linux gets Siri, er, Cortana, er, Carola. In security and privacy, CISA sounds the alarm, and Firefox strips Then in our Wanderings, Bill repaves his Omen, Moss goes back to school, Joe is still in 3D and Norbert is typing still In our Innards section We talk subscription Services And finally, the feedback and a couple of suggestions Download

Ubuntu Security Podcast
Episode 169

Ubuntu Security Podcast

Play Episode Listen Later Jul 22, 2022 14:50


It's the 22.10 mid-cycle roadmap sprint at Canonical this week plus we look at security updates for Git, the Linux kernel, Vim, Python, PyJWT and more.

Ubuntu Security Podcast
Episode 168

Ubuntu Security Podcast

Play Episode Listen Later Jul 15, 2022 14:00


This week we rocket back into your podcast feed with a look at the OrBit Linux malware teardown from Intezer, plus we cover security updates for cloud-init, Vim, the Linux kernel, GnuPG, Dovecot and more.

Screaming in the Cloud
Kubernetes and OpenGitOps with Chris Short

Screaming in the Cloud

Play Episode Listen Later Jul 14, 2022 39:01


About ChrisChris Short has been a proponent of open source solutions throughout his over two decades in various IT disciplines, including systems, security, networks, DevOps management, and cloud native advocacy across the public and private sectors. He currently works on the Kubernetes team at Amazon Web Services and is an active Kubernetes contributor and Co-chair of OpenGitOps. Chris is a disabled US Air Force veteran living with his wife and son in Greater Metro Detroit. Chris writes about Cloud Native, DevOps, and other topics at ChrisShort.net. He also runs the Cloud Native, DevOps, GitOps, Open Source, industry news, and culture focused newsletter DevOps'ish.Links Referenced: DevOps'ish: https://devopsish.com/ EKS News: https://eks.news/ Containers from the Couch: https://containersfromthecouch.com opengitops.dev: https://opengitops.dev ChrisShort.net: https://chrisshort.net Twitter: https://twitter.com/ChrisShort TranscriptAnnouncer: Hello, and welcome to Screaming in the Cloud with your host, Chief Cloud Economist at The Duckbill Group, Corey Quinn. This weekly show features conversations with people doing interesting work in the world of cloud, thoughtful commentary on the state of the technical world, and ridiculous titles for which Corey refuses to apologize. This is Screaming in the Cloud.Corey: Welcome to Screaming in the Cloud. I'm Corey Quinn. Coming back to us since episode two—it's always nice to go back and see the where are they now type of approach—I am joined by Senior Developer Advocate at AWS Chris Short. Chris, been a few years. How has it been?Chris: Ha. Corey, we have talked outside of the podcast. But it's been good. For those that have been listening, I think when we recorded I wasn't even—like, when was season two, what year was that? [laugh].Corey: Episode two was first pre-pandemic and the rest. I believe—Chris: Oh. So, yeah. I was at Red Hat, maybe, when I—yeah.Corey: Yeah. You were doing Red Hat stuff, back when you got to work on open-source stuff, as opposed to now, where you're not within 1000 miles of that stuff, right?Chris: Actually well, no. So, to be clear, I'm on the EKS team, the Kubernetes team here at AWS. So, when I joined AWS in October, they were like, “Hey, you do open-source stuff. We like that. Do more.” And I was like, “Oh, wait, do more?” And they were like, “Yes, do more.” “Okay.”So, since joining AWS, I've probably done more open-source work than the three years at Red Hat that I did. So, that's kind of—you know, like, it's an interesting point when I talk to people about it because the first couple months are, like—you know, my friends are like, “So, are you liking it? Are you enjoying it? What's going on?” And—Corey: Do they beat you with reeds? Like, all the questions people have about companies? Because—Chris: Right. Like, I get a lot of random questions about Amazon and AWS that I don't know the answer to.Corey: Oh, when I started telling people, I fixed Amazon bills, I had to quickly pivot that to AWS bills because people started asking me, “Well, can you save me money on underpants?” It's I—Chris: Yeah.Corey: How do you—fine. Get the prime credit card. It docks 5% off the bill, so there you go. But other than that, no, I can't.Chris: No.Corey: It's—Chris: Like, I had to call my bank this morning about a transaction that I didn't recognize, and it was from Amazon. And I was like, that's weird. Why would that—Corey: Money just flows one direction, and that's the wrong direction from my employer.Chris: Yeah. Like, what is going on here? It shouldn't have been on that card kind of thing. And I had to explain to the person on the phone that I do work at Amazon but under the Web Services team. And he was like, “Oh, so you're in IT?”And I'm like, “No.” [laugh]. “It's actually this big company. That—it's a cloud company.” And they're like, “Oh, okay, okay. Yeah. The cloud. Got it.” [laugh]. So, it's interesting talking to people about, “I work at Amazon.” “Oh, my son works at Amazon distribution center,” blah, blah, blah. It's like, cool. “I know about that, but very little. I do this.”Corey: Your son works in Amazon distribution center. Is he a robot? Is normally my next question on that? Yeah. That's neither here nor there.So, you and I started talking a while back. We both write newsletters that go to a somewhat similar audience. You write DevOps'ish. I write Last Week in AWS. And recently, you also have started EKS News because, yeah, the one thing I look at when I'm doing these newsletters every week is, you know what I want to do? That's right. Write more newsletters.Chris: [laugh].Corey: So, you are just a glutton for punishment? And, yeah, welcome to the addiction, I suppose. How's it been going for you?Chris: It's actually been pretty interesting, right? Like, we haven't pushed it very hard. We're now starting to include it in things. Like we did Container Day; we made sure that EKS news was on the landing page for Container Day at KubeCon EU. And you know, it's kind of just grown organically since then.But it was one of those things where it's like, internally—this happened at Red Hat, right—when I started live streaming at Red Hat, the ultimate goal was to do our product management—like, here's what's new in the next version thing—do those live so anybody can see that at any point in time anywhere on Earth, the second it's available. Similar situation to here. This newsletter actually is generated as part of a report my boss puts together to brief our other DAs—or developer advocates—you know, our solutions architects, the whole nine yards about new EKS features. So, I was like, why can't we just flip that into a weekly newsletter, you know? Like, I can pull from the same sources you can.And what's interesting is, he only does the meeting bi-weekly. So, there's some weeks where it's just all me doing it and he ends up just kind of copying and pasting the newsletter into his document, [laugh] and then adds on for the week. But that report meeting for that team is now getting disseminated to essentially anyone that subscribes to eks.news. Just go to the site, there's a subscribe thing right there. And we've gotten 20 issues in and it's gotten rave reviews, right?Corey: I have been a subscriber for a while. I will say that it has less Chris Short personality—Chris: Mm-hm.Corey: —to it than DevOps'ish does, which I have to assume is by design. A lot of The Duckbill Group's marketing these days is no longer in my voice, rather intentionally, because it turns out that being a sarcastic jackass and doing half-billion dollar AWS contracts can not to be the most congruent thing in the world. So okay, we're slowly ameliorating that. It's professional voice versus snarky voice.Chris: Well, and here's the thing, right? Like, I realized this year with DevOps'ish that, like, if I want to take a week off, I have to do, like, what you did when your child was born. You hired folks to like, do the newsletter for you, or I actually don't do the newsletter, right? It's binary: hire someone else to do it, or don't do it. So, the way I structured this newsletter was that any developer advocate on my team could jump in and take over the newsletter so that, you know, if I'm off that week, or whatever may be happening, I, Chris Short, am not the voice. It is now the entire developer advocate team.Corey: I will challenge you on that a bit. Because it's not Chris Short voice, that's for sure, but it's also not official AWS brand voice either.Chris: No.Corey: It is clearly written by a human being who is used to communicating with the audience for whom it is written. And that is no small thing. Normally, when oh, there's a corporate newsletter; that's just a lot of words to say it's bad. This one is good. I want to be very clear on that.Chris: Yeah, I mean, we have just, like, DevOps'ish, we have sections, just like your newsletter, there's certain sections, so any new, what's new announcements, those go in automatically. So, like, that can get delivered to your inbox every Friday. Same thing with new blog posts about anything containers related to EKS, those will be in there, then Containers from the Couch, our streaming platform, essentially, for all things Kubernetes. Those videos go in.And then there's some ecosystem news as well that I collect and put in the newsletter to give people a broader sense of what's going on out there in Kubernetes-land because let's face it, there's upstream and then there's downstream, and sometimes those aren't in sync, and that's normal. That's how Kubernetes kind of works sometimes. If you're running upstream Kubernetes, you are awesome. I appreciate you, but I feel like that would cause more problems and it's worse sometimes.Corey: Thank you for being the trailblazers. The rest of us can learn from your misfortune.Chris: [laugh]. Yeah, exactly. Right? Like, please file your bugs accordingly. [laugh].Corey: EKS is interesting to me because I don't see a lot of it, which is, probably, going to get a whole lot of, “Wait, what?” Moments because wait, don't you deal with very large AWS bills? And I do. But what I mean by that is that EKS, until you're using its Fargate expression, charges for the control plane, which rounds to no money, and the rest is running on EC2 instances running in a company's account. From the billing perspective, there is no difference between, “We're running massive fleets of EKS nodes.” And, “We're managing a whole bunch of EC2 instances by hand.”And that feels like an interesting allegory for how Kubernetes winds up expressing itself to cloud providers. Because from a billing perspective, it just looks like one big single-tenant application that has some really strange behaviors internally. It gets very chatty across AZs when there's no reason to, and whatnot. And it becomes a very interesting study in how to expose aspects of what's going on inside of those containers and inside of the Kubernetes environment to the cloud provider in a way that becomes actionable. There are no good answers for this yet, but it's something I've been seeing a lot of. Like, “Oh, I thought you'd be running Kubernetes. Oh, wait, you are and I just keep forgetting what I'm looking at sometimes.”Chris: So, that's an interesting point. The billing is kind of like, yeah, it's just compute, right? So—Corey: And my insight into AWS and the way I start thinking about it is always from a billing perspective. That's great. It's because that means the more expensive the services, the more I know about it. It's like, “IAM. What is that?” Like, “Oh, I have no idea. It's free. How important could it be?” Professional advice: do not take that philosophy, ever.Chris: [laugh]. No. Ever. No.Corey: Security: it matters. Oh, my God. It's like you're all stars. Your IAM policy should not be. I digress.Chris: Right. Yeah. Anyways, so two points I want to make real quick on that is, one, we've recently released an open-source project called Carpenter, which is really cool in my purview because it looks at your Kubernetes file and says, “Oh, you want this to run on ARM instance.” And you can even go so far as to say, right, here's my limits, and it'll find an instance that fits those limits and add that to your cluster automatically. Run your pod on that compute as long as it needs to run and then if it's done, it'll downsize—eventually, kind of thing—your cluster.So, you can basically just throw a bunch of workloads at it, and it'll auto-detect what kind of compute you will need and then provision it for you, run it, and then be done. So, that is one-way folks are probably starting to save money running EKS is to adopt Carpenter as your autoscaler as opposed to the inbuilt Kubernetes autoscaler. Because this is instance-aware, essentially, so it can say, like, “Oh, your massive ARM application can run here,” because you know, thank you, Graviton. We have those processors in-house. And you know, you can run your ARM64 instances, you can run all the Intel workloads you want, and it'll right size the compute for your workloads.And I'll look at one container or all your containers, however you want to configure it. Secondly, the good folks over at Kubecost have opencost, which is the open-source version of Kubecost, basically. So, they have a service that you can run in your clusters that will help you say, “Hey, maybe this one notes too heavy; maybe this one notes too light,” and you know, give you some insights into Kubernetes spend that are a little bit more granular as far as usage and things like that go. So, those two projects right there, I feel like, will give folks an optimal savings experience when it comes to Kubernetes. But to your point, it's just compute, right? And that's really how we treat it, kind of, here internally is that it's a way to run… compute, Kubernetes, or ECS, or any of those tools.Corey: A fairly expensive one because ignoring entirely for a second the actual raw cost of compute, you also have the other side of it, which is in every environment, unless you are doing something very strange or pre-funding as a one-person startup in your spare time, your payroll costs will it—should—exceed your AWS bill by a fairly healthy amount. And engineering time is always more expensive than services time. So, for example, looking at EKS, I would absolutely recommend people use that rather than rolling their own because—Chris: Rolling their own? Yeah.Corey: —get out of that engineering space where your time is free. I assure you from a business context, it is not. So, there's always that question of what you can do to make things easier for people and do more of the heavy lifting.Chris: Yeah, and to your rather cheeky point that there's 17 ways to run a container on AWS, it is answering that question, right? Like those 17 ways, like, how much of this do you want to run yourself, you could run EKS distro on EC2 instances if you want full control over your environment.Corey: And then run IoT Greengrass core on top within that cluster—Chris: Right.Corey: So, I can run my own Lambda function runtime, so I'm not locked in. Also, DynamoDB local so I'm not locked into AWS. At which point I have gone so far around the bend, no one can help me.Chris: Well—Corey: Pro tip, don't do that. Just don't do that.Chris: But to your point, we have all these options for compute, and specifically containers because there's a lot of people that want to granularly say, “This is where my engineering team gets involved. Everything else you handle.” If I want EKS on Spot Instances only, you can do that. If you want EKS to use Carpenter and say only run ARM workloads, you can do that. If you want to say Fargate and not have anything to manage other than the container file, you can do that.It's how much does your team want to manage? That's the customer obsession part of AWS coming through when it comes to containers is because there's so many different ways to run those workloads, but there's so many different ways to make sure that your team is right-sized, based off the services you're using.Corey: I do want to change gears a bit here because you are mostly known for a couple of things: the DevOps'ish newsletter because that is the oldest and longest thing you've been doing the time that I've known you; EKS, obviously. But when prepping for this show, I discovered you are now co-chair of the OpenGitOps project.Chris: Yes.Corey: So, I have heard of GitOps in the context of, “Oh, it's just basically your CI/CD stuff is triggered by Git events and whatnot.” And I'm sitting here going, “Okay, so from where you're sitting, the two best user interfaces in the world that you have discovered are YAML and Git.” And I just have to start with the question, “Who hurt you?”Chris: [laugh]. Yeah, I share your sentiment when it comes to Git. Not so much with YAML, but I think it's because I'm so used to it. Maybe it's Stockholm Syndrome, maybe the whole YAML thing. I don't know.Corey: Well, it's no XML. We'll put it that way.Chris: Thankfully, yes because if it was, I would have way more, like, just template files laying around to build things. But the—Corey: And rage. Don't forget rage.Chris: And rage, yeah. So, GitOps is a little bit more than just Git in IaC—infrastructure as Code. It's more like Justin Garrison, who's also on my team, he calls it infrastructure software because there's four main principles to GitOps, and if you go to opengitops.dev, you can see them. It's version one.So, we put them on the website, right there on the page. You have to have a declared state and that state has to live somewhere. Now, it's called GitOps because Git is probably the most full-featured thing to put your state in, but you could use an S3 bucket and just version it, for example. And make it private so no one else can get to it.Corey: Or you could use local files: copy-of-copy-of-this-thing-restored-parentheses-use-this-one-dot-final-dot-doc-dot-zip. You know, my preferred naming convention.Chris: Ah, yeah. Wow. Okay. [laugh]. Yeah.Corey: Everything I touch is terrifying.Chris: Yes. Geez, I'm sorry. So first, it's declarative. You declare your state. You store it somewhere. It's versioned and immutable, like I said. And then pulled automatically—don't focus so much on pull—but basically, software agents are applying the desired state from source. So, what does that mean? When it's—you know, the fourth principle is implemented, continuously reconciled. That means those software agents that are checking your desired state are actually putting it back into the desired state if it's out of whack, right? So—Corey: You're talking about agents running it persistently on instances, validating—Chris: Yes.Corey: —a checkpoint on a cron. How is this meaningfully different than a Puppet agent running in years past? Having spent I learned to speak publicly by being a traveling trainer for Puppet; same type of model, and in fact, when I was at Pinterest, we wound up having a fair bit—like, that was their entire model, where they would have—the Puppet's code would live in an S3 bucket that was then copied down, I believe, via Git, and then applied to the instance on a schedule. Like, that sounds like this was sort of a early days GitOps.Chris: Yeah, exactly. Right? Like so it's, I like to think of that as a component of GitOps, right? DevOps, when you talk about DevOps in general, there's a lot of stuff out there. There's a lot of things labeled DevOps that maybe are, or maybe aren't sticking to some of those DevOps core things that make you great.Like the stuff that Nicole Forsgren writes about in books, you know? Accelerate is on my desk for a reason because there's things that good, well-managed DevOps practices do. I see GitOps as an actual implementation of DevOps in an open-source manner because all the tooling for GitOps these days is open-source and it all started as open-source. Now, you can get, like, Flux or Argo—Argo, specifically—there's managed services out there for it, you can have Flux and not maintain it, through an add-on, on EKS for example, and it will reconcile that state for you automatically. And the other thing I like to say about GitOps, specifically, is that it moves at the speed of the Kubernetes Audit Log.If you've ever looked at a Kubernetes audit log, you know it's rather noisy with all these groups and versions and kinds getting thrown out there. So, GitOps will say, “Oh, there's an event for said thing that I'm supposed to be watching. Do I need to change anything? Yes or no? Yes? Okay, go.”And the change gets applied, or, “Hey, there's a new Git thing. Pull it in. A change has happened inGit I need to update it.” You can set it to reconcile on events on time. It's like a cron or it's like an event-driven architecture, but it's combined.Corey: How does it survive the stake through the heart of configuration management? Because before I was doing all this, I wasn't even a T-shaped engineer: you're broad across a bunch of things, but deep in one or two areas, and one of mine was configuration management. I wrote part of SaltStack, once upon a time—Chris: Oh.Corey: —due to a bunch of very strange coincidences all hitting it once, like, I taught people how to use Puppet. But containers ultimately arose and the idea of immutable infrastructure became a thing. And these days when we were doing full-on serverless, well, great, I just wind up deploying a new code bundle to the Lambdas function that I wind up caring about, and that is a immutable version replacement. There is no drift because there is no way to log in and change those things other than through a clear deployment of this as the new version that goes out there. Where does GitOps fit into that imagined pattern?Chris: So, configuration management becomes part of your approval process, right? So, you now are generating an audit log, essentially, of all changes to your system through the approval process that you set up as part of your, how you get things into source and then promote that out to production. That's kind of the beauty of it, right? Like, that's why we suggest using Git because it has functions, like, requests and issues and things like that you can say, “Hey, yes, I approve this,” or, “Hey, no, I don't approve that. We need changes.” So, that's kind of natively happening with Git and, you know, GitLab, GitHub, whatever implementation of Git. There's always, kind of—Corey: Uh, JIF-ub is, I believe, the pronunciation.Chris: JIF-ub? Oh.Corey: Yeah. That's what I'm—Chris: Today, I learned. Okay.Corey: Exactly. And that's one of the things that I do for my lasttweetinaws.com Twitter client that I build—because I needed it, and if other people want to use it, that's great—that is now deployed to 20 different AWS commercial regions, simultaneously. And that is done via—because it turns out that that's a very long to execute for loop if you start down that path—Chris: Well, yeah.Corey: I wound up building out a GitHub Actions matrix—sorry a JIF-ub—actions matrix job that winds up instantiating 20 parallel builds of the CDK deploy that goes out to each region as expected. And because that gets really expensive with native GitHub Actions runners for, like, 36 cents per deploy, and I don't know how to test my own code, so every time I have a typo, that's another quarter in the jar. Cool, but that was annoying for me so I built my own custom runner system that uses Lambda functions as runners running containers pulled from ECR that, oh, it just runs in parallel, less than three minutes. Every time I commit something between I press the push button and it is out and running in the wild across all regions. Which is awesome and also terrifying because, as previously mentioned, I don't know how to test my code.Chris: Yeah. So, you don't know what you're deploying to 20 regions sometime, right?Corey: But it also means I have a pristine, re-composable build environment because I can—Chris: Right.Corey: Just automatically have that go out and the fact that I am making a—either merging a pull request or doing a direct push because I consider main to be my feature branch as whenever something hits that, all the automation kicks off. That was something that I found to be transformative as far as a way of thinking about this because I was very tired of having to tweak my local laptop environment to, “Oh, you didn't assume the proper role and everything failed again and you broke it. Good job.” It wound up being something where I could start developing on more and more disparate platforms. And it finally is what got me away from my old development model of everything I build is on an EC2 instance, and that means that my editor of choice was Vim. I use the VS Code now for these things, and I'm pretty happy with it.Chris: Yeah. So, you know, I'm glad you brought up CDK. CDK gives you a lot of the capabilities to implement GitOps in a way that you could say, like, “Hey, use CDK to declare I need four Amazon EKS clusters with this size, shape, and configuration. Go.” Or even further, connect to these EKS clusters to RDS instances and load balancers and everything else.But you put that state into Git and then you have something that deploys that automatically upon changes. That is infrastructure as code. Now, when you say, “Okay, main is your feature branch,” you know, things happen on main, if this were running in Kubernetes across a fleet of clusters or the globe-wide in 20 regions, something like Flux or Argo would kick in and say, “There's been a change to source, main, and we need to roll this out.” And it'll start applying those changes. Now, what do you get with GitOps that you don't get with your configuration?I mean, can you rollback if you ever have, like, a bad commit that's just awful? I mean, that's really part of the process with GitOps is to make sure that you can, A, roll back to the previous good state, B, roll forward to a known good state, or C, promote that state up through various environments. And then having that all done declaratively, automatically, and immutably, and versioned with an audit log, that I think is the real power of GitOps in the sense that, like, oh, so-and-so approve this change to security policy XYZ on this date at this time. And that to an auditor, you just hand them a log file on, like, “Here's everything we've ever done to our system. Done.” Right?Like, you could get to that state, if you want to, which I think is kind of the idea of DevOps, which says, “Take all these disparate tools and processes and procedures and culture changes”—culture being the hardest part to adopt in DevOps; GitOps kind of forces a culture change where, like, you can't do a CAB with GitOps. Like, those two things don't fly. You don't have a configuration management database unless you absolutely—Corey: Oh, you CAB now but they're all the comments of the pull request.Chris: Right. Exactly. Like, don't push this change out until Thursday after this other thing has happened, kind of thing. Yeah, like, that all happens in GitHub. But it's very democratizing in the sense that people don't have to waste time in an hour-long meeting to get their five minutes in, right?Corey: DoorDash had a problem. As their cloud-native environment scaled and developers delivered new features, their monitoring system kept breaking down. In an organization where data is used to make better decisions about technology and about the business, losing observability means the entire company loses their competitive edge. With Chronosphere, DoorDash is no longer losing visibility into their applications suite. The key? Chronosphere is an open-source compatible, scalable, and reliable observability solution that gives the observability lead at DoorDash business, confidence, and peace of mind. Read the full success story at snark.cloud/chronosphere. That's snark.cloud slash C-H-R-O-N-O-S-P-H-E-R-E.Corey: So, would it be overwhelmingly cynical to suggest that GitOps is the means to implement what we've all been pretending to have implemented for the last decade when giving talks at conferences?Chris: Ehh, I wouldn't go that far. I would say that GitOps is an excellent way to implement the things you've been talking about at all these conferences for all these years. But keep in mind, the technology has changed a lot in the, what 11, 12 years of the existence of DevOps, now. I mean, we've gone from, let's try to manage whole servers immutably to, “Oh, now we just need to maintain an orchestration platform and run containers.” That whole compute interface, you go from SSH to a Docker file, that's a big leap, right?Like, you don't have bespoke sysadmins; you have, like, a platform team. You don't have DevOps engineers; they're part of that platform team, or DevOps teams, right? Like, which was kind of antithetical to the whole idea of DevOps to have a DevOps team. You know, everybody's kind of in the same boat now, where we see skill sets kind of changing. And GitOps and Kubernetes-land is, like, a platform team that manages the cluster, and its state, and health and, you know, production essentially.And then you have your developers deploying what they want to deploy in when whatever namespace they've been given access to and whatever rights they have. So, now you have the potential for one set of people—the platform team—to use one set of GitOps tooling, and your applications teams might not like that, and that's fine. They can have their own namespaces with their own tooling in it. Like, Argo, for example, is preferred by a lot of developers because it has a nice UI with green and red dots and they can show people and it looks nice, Flux, it's command line based. And there are some projects out there that kind of take the UI of Argo and try to run Flux underneath that, and those are cool kind of projects, I think, in my mind, but in general, right, I think GitOps gives you the choice that we missed somewhat in DevOps implementations of the past because it was, “Oh, we need to go get cloud.” “Well, you can only use this cloud.” “Oh, we need to go get this thing.” “Well, you can only use this thing in-house.”And you know, there's a lot of restrictions sometimes placed on what you can use in your environment. Well, if your environment is Kubernetes, how do you restrict what you can run, right? Like you can't have an easily configured say, no open-source policy if you're running Kubernetes. [laugh] so it becomes, you know—Corey: Well, that doesn't stop some companies from trying.Chris: Yeah, that's true. But the idea of, like, enabling your developers to deploy at will and then promote their changes as they see fit is really the dream of DevOps, right? Like, same with production and platform teams, right? I want to push my changes out to a larger system that is across the globe. How do I do that? How do I manage that? How do I make sure everything's consistent?GitOps gives you those ways, with Kubernetes native things like customizations, to make consistent environments that are robust and actually going to be reconciled automatically if someone breaks the glass and says, “Oh, I need to run this container immediately.” Well, that's going to create problems because it's deviated from state and it's just that one region, so we'll put it back into state.Corey: It'll be dueling banjos, at some point. You'll try and doing something manually, it gets reverted automatically. I love that pattern. You'll get bored before the computer does, always.Chris: Yeah. And GitOps is very new, right? When you think about the lifetime of GitOps, I think it was coined in, like, 2018. So, it's only four years old, right? When—Corey: I prefer it to ChatOps, at least, as far as—Chris: Well, I mean—Corey: —implementation and expression of the thing.Chris: —ChatOps was a way to do DevOps. I think GitOps—Corey: Well, ChatOps is also a way to wind up giving whoever gets access to your Slack workspace root in production.Chris: Mmm.Corey: But that's neither here nor there.Chris: Mm-hm.Corey: It's yeah, we all like to pretend that's not a giant security issue in our industry, but that's a topic for another time.Chris: Yeah. And that's why, like, GitOps also depends upon you having good security, you know, and good authorization and approval processes. It enforces that upon—Corey: Yeah, who doesn't have one of those?Chris: Yeah. If it's a sole operation kind of deal, like in your setup, your case, I think you kind of got it doing right, right? Like, as far as GitOps goes—Corey: Oh, to be clear, we are 11 people and we do have dueling pull requests and all the rest.Chris: Right, right, right.Corey: But most of the stuff I talk about publicly is not our production stuff, so it really is just me. Just as a point of clarity there. I've n—the 11 people here do not all—the rest of you don't just sit there and clap as I do all the work.Chris: Right.Corey: Most days.Chris: No, I'm sure they don't. I'm almost certain they don't clap… for you. I mean, they would—Corey: No. No, they try and talk me out of it in almost every case.Chris: Yeah, exactly. So, the setup that you, Corey Quinn, have implemented to deploy these 20 regions is kind of very GitOps-y, in the sense that when main changes, it gets updated. Where it's not GitOps-y is what if the endpoint changes? Does it get reconciled? That's the piece you're probably missing is that continuous reconciliation component, where it's constantly checking and saying, “This thing out there is deployed in the way I want it. You know, the way I declared it to be in my source of truth.”Corey: Yeah, when you start having other people getting involved, there can—yeah, that's where regressions enter. And it's like, “Well, I know where things are so why would I change the endpoint?” Yeah, it turns out, not everyone has the state of the entire application in their head. Ideally it should live in—Chris: Yeah. Right. And, you know—Corey: —you know, Git or S3.Chris: —when I—yeah, exactly. When I think about interactions of the past coming out as a new DevOps engineer to work with developers, it's always been, will developers have access to prod or they don't? And if you're in that environment with—you're trying to run a multi-billion dollar operation, and your devs have direct—or one Dev has direct access to prod because prod is in his brain, that's where it's like, well, now wait a minute. Prod doesn't have to be only in your brain. You can put that in the codebase and now we know what is in your brain, right?Like, you can almost do—if you document your code, well, you can have your full lifecycle right there in one place, including documentation, which I think is the best part, too. So, you know, it encourages approval processes and automation over this one person has an entire state of the system in their head; they have to go in and fix it. And what if they're not on call, or in Jamaica, or on a cruise ship somewhere kind of thing? Things get difficult. Like, for example, I just got back from vacation. We were so far off the grid, we had satellite internet. And let me tell you, it was hard to write an email newsletter where I usually open 50 to 100 tabs.Corey: There's a little bit of internet out Californ-ie way.Chris: [laugh].Corey: Yeah it's… it's always weird going from, like, especially after pandemic; I have gigabit symmetric here and going even to re:Invent where I'm trying to upload a bunch of video and whatnot.Chris: Yeah. Oh wow.Corey: And the conference WiFi was doing its thing, and well, Verizon 5G was there but spotty. And well, yeah. Usual stuff.Chris: Yeah. It's amazing to me how connectivity has become so ubiquitous.Corey: To the point where when it's not there anymore, it's what do I do with myself? Same story about people pushing back against remote development of, “Oh, I'm just going to do it all on my laptop because what happens if I'm on a plane?” It's, yeah, the year before the pandemic, I flew 140,000 miles domestically and I was almost never hamstrung by my ability to do work. And my only local computer is an iPad for those things. So, it turns out that is less of a real world concern for most folks.Chris: Yeah I actually ordered the components to upgrade an old Nook that I have here and turn it into my, like, this is my remote code server, that's going to be all attached to GitHub and everything else. That's where I want to be: have Tailscale and just VPN into this box.Corey: Tailscale is transformative.Chris: Yes. Tailscale will change your life. That's just my personal opinion.Corey: Yep.Chris: That's not an AWS opinion or anything. But yeah, when you start thinking about your network as it could be anywhere, that's where Tailscale, like, really shines. So—Corey: Tailscale makes the internet work like we all wanted to believe that it worked.Chris: Yeah. And Wireguard is an excellent open-source project. And Tailscale consumes that and puts an amazingly easy-to-use UI, and troubleshooting tools, and routing, and all kinds of forwarding capabilities, and makes it kind of easy, which is really, really, really kind of awesome. And Tailscale and Kubernetes—Corey: Yeah, ‘network' and ‘easy' don't belong in the same sentence, but in this case, they do.Chris: Yeah. And trust me, the Kubernetes story in Tailscale, there is a lot of there. I understand you might want to not open ports in your VPC, maybe, but if you use Tailscale, that node is just another thing on your network. You can connect to that and see what's going on. Your management cluster is just another thing on the network where you can watch the state.But it's all—you're connected to it continuously through Tailscale. Or, you know, it's a much lighter weight, kind of meshy VPN, I would say, if I had to sum it up in one sentence. That was not on our agenda to talk about at all. Anyways. [laugh]Corey: No, no. I love how many different topics we talk about on these things. We'll have to have you back soon to talk again. I really want to thank you for being so generous with your time. If people want to learn more about what you're up to and how you view these things, where can they find you?Chris: Go to ChrisShort.net. So, Chris Short—I'm six-four so remember, it's Short—dot net, and you will find all the places that I write, you can go to devopsish.com to subscribe to my newsletter, which goes out every week. This year. Next year, there'll be breaks. And then finally, if you want to follow me on Twitter, Chris Short: at @ChrisShort on Twitter. All one word so you see two s's. Like, it's okay, there's two s's there.Corey: Links to all of that will of course be in the show notes. It's easier for people to do the clicky-clicky thing as a general rule.Chris: Clicky things are easier than the wordy things, yes.Corey: Says the Kubernetes guy.Chris: Yeah. Says the Kubernetes guy. Yeah, you like that, huh? Like I said, Argo gives you a UI. [laugh].Corey: Thank you [laugh] so much for your time. I really do appreciate it.Chris: Thank you. This has been fun. If folks have questions, feel free to reach out. Like, I am not one of those people that hides behind a screen all day and doesn't respond. I will respond to you eventually.Corey: I'm right here, Chris. Come on, come on. You're calling me out in front of myself. My God.Chris: Egh. It might take a day or two, but I will respond. I promise.Corey: Thanks again for your time. This has been Chris Short, senior developer advocate at AWS. I'm Cloud Economist Corey Quinn and this is Screaming in the Cloud. If you've enjoyed this podcast, please leave a five-star review on your podcast platform of choice and if it's YouTube, click the thumbs-up button. Whereas if you've hated this podcast, same thing, smash the buttons five-star review and leave an insulting comment that is written in syntactically correct YAML because it's just so easy to do.Corey: If your AWS bill keeps rising and your blood pressure is doing the same, then you need The Duckbill Group. We help companies fix their AWS bill by making it smaller and less horrifying. The Duckbill Group works for you, not AWS. We tailor recommendations to your business and we get to the point. Visit duckbillgroup.com to get started.Announcer: This has been a HumblePod production. Stay humble.