Avsnitt

  • Summary

    Rob is learning Rust, and feels like he's total beginner again. Rust's concept of ownership and its handling of strings are just different than any other language he has worked with, but JD ensures him that this is how everyone feels when starting with Rust...

    JD spent the last week working on their game, starting with rewriting everything. He explored using a game engine instead of React for the visualization, and really likes the approach. He set up the new game engine Bevy, and hacked around to integrate it with a gRPC API. One problem he didn't anticipate is that querying state in the game can only happen during the game's core loop. Running at 60Hz, this means any API request takes at least 16ms. 😫 This will require some research in the future...

    Diving deeper and deeper into game design and development, JD is amazed and inspired by the experience of the community. Looking specifically at user experience and Data-Oriented Design. For anyone who's interested in this, here are a few talks JD watched this week:

    - Understanding Data-Oriented Design for Entity-Component-Systems (Unity at GDC '19)
    - Building a Data-Oriented Future - Mike Acton

    And here are the two blog posts mentioned in the episode:

    - Introducing Bevy
    - Specs and Legion, two very different approaches to ECS

    Sorry for the audio quality in this episode. We had a small technical glitch and lost one of the high-quality recordings.

    Stay in touch

    Website: https://www.devnlife.com
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

  • Summary

    Rob is back home after a stressful trip to renew a passport. For JD it was the first week after his vacation, and he had to readjust to work again. He also wanted to shape some work after their discussion in the last episode, but didn't manage to get as far as he hoped. JD wonders if it makes more sense to focus on game development, or invest equally in building up a community around the project. Rob's concerned that someone might steal their work, and is not too enthusiastic about the idea of open source. The two start a long discussion around this, diving into the pros and cons of open source, the difficulties of monetization, and their fears and concerns regarding the success of the project.

    Stay in touch

    Website: https://www.devnlife.com
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

  • Saknas det avsnitt?

    Klicka här för att uppdatera flödet manuellt.

  • Summary

    Rob and JD catch up after their last episode on Shape Up. Rob has been studying game engines, and bought a Rust course. JD just watch the talk Bending the Curve from RustConf, in which Esteban Kuber talks about the difficulty teaching Rust to experienced programmers, and shares how it is necessary to unlearn certain assumptions from other programming languages.

    JD has been thinking a lot about how to really start the project he wants to do with Rob. Both are freaking out a little bit given the complexity of the goal they set themselves. JD expects a lot of research ahead of them, while Rob fears that this might demotivate him. The two discuss ways how to reduce the risk, and get to a playable prototype as fast as possible. This puts many earlier ideas into questions, and brings back a discussion about game engines and multiplayer. The two discuss building a singleplayer game first, and only if it is successful start working on multiplayer. But with so many unknowns, they probably simply have to start and learn more about their project before making such a choice.

    Special shout outs
    Passionate game developers mentioned in the podcast and their most recent games:
    Ryan Ford https://ryanford.itch.io/goobers-in-the-mix
    Cody Loyd https://codyloyd.itch.io/bug

    Stay in touch

    Website: https://www.devnlife.com
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

  • Summary

    YEAR 1 ANNIVERSARY! Rob and JD totally forgot that they released their first episode one year ago, and didn't prepare anything special...

    Rob has been reading Shape Up by Basecamp, and the two start discussing its content. Rob got hooked when he read that Basecamp doesn't keep a backlog. (And he now wonders how the Hey support team passes feature requests to the developers.) For JD, the concept of Fixed Time, Variable Scope resonated the most. Regarding backlogs, he thinks it is really helpful to reset every few weeks and ask what is most relevant now instead of blindly following a backlog that was created weeks or even months ago.

    Rob is still not convinced that it is worth taking the time to shape ideas, instead of just going ahead and implementing them. JD on the other hand thinks the more planning upfront the better, as it allows to focus on execution later on. Rob is afraid that shaping is unproductive and takes time away from implementation and demotivates, while JD hopes they learn how to become efficient in planning and reducing risk upfront to then enjoy the coding more.

    JD wrote a blog post covering the first feature the two are thinking about implementing, which can be found here https://jandavid.co/turtles-all-the-way-down-2 and here https://dev.to/jdno/turtles-all-the-way-down-10on.

    Stay in touch

    Website: https://www.devnlife.com
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

  • Summary

    Rob is back after moving to Austin, Texas! And JD survived a heatwave in Europe that made it very tough to be productive. Nonetheless, JD managed to think more about the game he wants to build. And he set up a prototype with some technologies he is interested in exploring. To get Rob up to speed, he introduces the game Screeps, which is an MMO strategy game for programmers and an inspiration. From there, the discussion turns into a general reflection on video games, and what will be important for their game.

    JD then shares his vision for the game's technical architecture, consisting of a game engine, the player's code, and a UI at the minimum. For the game engine, JD is thinking about writing it in Rust. It's fast, has good memory management, but it is still young and the comparatively small ecosystem might make things more complicated. For the UI, JD wants to go with React since that runs almost anywhere. And finally for the API between the engine, the UI, and the player's code, JD was considering a REST interface, GraphQL, or gRPC. JD really likes the features of gRPC, and intents to use it in the prototype.

    Feeling a little bit overwhelmed by the complexity of designing a game, the two discuss a good strategy to get started with a very small feature. One idea is to generate events, and have the player react to them. This could be easily implemented without the need for a feature rich UI or advanced rules in the backend.

    Stay in touch

    Website: https://www.devnlife.com
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

  • Summary

    Rob had a busy week and some big news: He's moving next week. JD on the other hand took it a bit easier than usual this week, and has been thinking a lot about a new project. Reflecting on his past projects and why he started them, JD noticed a pattern. He began those projects to learn about a very specific topic, for example Stimulus, and once he did that there was not purpose in continuing with the project. Which led to quite a lot of unfinished work, a feeling of guilt, and the question if there's not a better way to practice programming. On the other hand, video games (especially competitive games) are designed with the single purpose in mind to teach players a mechanic and have them master it. JD wonders if we can't learn from game design to make learning and practicing programming more interesting.

    Stay in touch

    Website: https://www.devnlife.com
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

  • Summary

    Rob and JD are back after a week without recording. Rob has been giving hey.com a spin as his email solution, and is enjoying the experience so far. JD is still contemplating how to optimize his own setup, now thinking of adding another email host in the middle as a backup. Other than that, JD has been a bit in a slump. He started a small side project, trying out Basecamp and Shape Up in the process, which has been a lot of fun. Especially the idea behind hill charts resonated with him, and reflected his own experience working on the project.

    The project JD started working on is a Rails app that uses OAuth for sign in. He's been working through the various different edge cases that this flow comes with, enjoying the challenge and working with Ruby again. Now that the authentication part is done, he is wondering what to do next, since there are too many different paths from which to choose.

    The two end the episode discussing 1Password and its business model. Rob doesn't want to be locked into a subscription service, and doesn't want to upload his passwords to the cloud. JD on the other hand gladly pays a monthly fee to know his password manager is improved and secure, and values the integration of 1Password with all modern operating systems. Rob is now looking into Keepass, after briefly considering building his own thing.

    PS: Sorry for the audio quality in this episode. Seems we both accidentally used the builtin microphone to record instead of our external ones.

    Stay in touch

    Website: https://www.devnlife.com
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

  • Summary

    Rob is back from a small vacation, while JD is waiting for his. During his vacation, Rob joined the virtual ElixirConf EU and got his invite for hey.com, the new email service by Basecamp. He has been on the fence about paying for email and migrating, and he's curious about JD's opinion on both hey.com and ProtonMail. JD shares his setup with a custom domain, and how he's been using ProtonMail the past few years. Rob has had advertised hey.com to friends, and had to argue why you would pay for email services. The two discuss the various ins and outs of email, the features of the two services, and their experience with email so far...

  • Rob is still going in depth with elixir, discussing his progress and learns more about processes, concurrency and parallelism in elixir. JD discusses his struggles in finding the project he wants to pursue, leaning towards gamification for learning to code.

  • Summary

    We are back to our normal recording schedule. Rob found a new intermediate programming course about Elixir that he started this weekend. It's by The Pragmatic Studio, and it slowly builds up a web framework from scratch. Rob is super excited about this, as he expects to learn a lot from the course.

    JD has been thinking about the last episode, and Rob's and his differing opinions on Rails and whether it does too much. Exploring Domain-Driven Design, he wonders how to apply the lessons he has learnt to Rails. Another thing on his mind has been the question how many projects one can do in one lifetime, raising the question if he is working on something important right now. He is reflecting on their goals to put something valuable into the world, and the reason they started the podcast in the first place. And finally, he saw the announcement of a talk that combines side projects with the science of habit formation. It also reminded him of Basecamp's Shape Up methodology, which is focused on delivering a working piece of software as quickly as possible. This made him think that there must be better ways to approach his projects than what he is doing now. All three thoughts combined raised the big question for him what to focus his attention on next.

    And since Rob and JD started the podcast to explore entrepreneurship, the two start to discuss what that means for their projects as well. Rob has been inspired by the Rework episode The Bookshop Around the Corner about a socially responsible business, and is thinking about how a business might help diversify his income as a freelancer.

    The two end the episode in agreement that there is a lot to think about, and that they'll have to continue the discussion in the next episode.

    Stay in touch

    Website: https://www.devnlife.com
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

  • Summary

    Rob plans some activities again in a world that slowly opens up, and shares his frustrating experience booking tickets for Universal Studios. JD is thinking about his summer vacation, and has decided to take a full three weeks off to recharge from the stress. It'll probably be a motorcycle vacation in Germany. The two chat about the cultural differences when it comes to holidays, especially between the US and Sweden.

    Then JD gives an update on his project, reflects on his approach, and describes how he shifted from a "getting things done" to a growth mindset to enjoy the work more. This has helped push him forward exploring DDD, which the two discuss in depth. With the lessons he learnt, JD rewrote the initial version of his domain model and is making much more progress than before. One insight in particular helped redesign the domain:

    Aggregates turned out to be one of the most difficult patterns to apply. There was an over-emphasis on access rules within aggregates (nobody can hold a reference to things within an aggregate apart from the aggregate root). A much more useful view at aggregates is to look at them as consistency boundaries for transactions, distributions and concurrency.

    Progress is still slow though, which prompts JD to reflect on his expectations on software development and open source. Do other people really write side projects in one weekend? Were popular projects open source projects really created in a day? Or is it a sign of practice and experience? And what role play frameworks in this? Do they support the projects, or do they hide too much complexity for learning? JD argues that he's been too focused on executing, and has not payed enough attention to deliberate practice.

    Stay in touch

    Website: https://www.devnlife.com
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

  • Summary

    Rob and JD go in depth about software architectures, domain driven design and web frameworks. JD is getting a bit overwhelmed at home, but still managing to dive into his side project and deciding and thinking about the architecture around it, while listening to a lot of Alicia Keys. Rob and JD discuss their, strong dislike for JavaScript because hate is a strong word, discussing all the "bugs/features" that the technology offers along with its crazy types.

    Stay in touch

    Website: https://www.devnlife.com
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

  • Summary

    Rob and JD catch up again after missing a week. Rob enjoys learning new things, and has focused his attention on new knowledge vs. progress for the sake of progress. His work with GraphQL for the Taskful 3 API rewrite is one example, and rebuilding his portfolio website with nuxt another. Rob is excited about Phoenix LiveView, and its equivalent in Rails called StimulusReflex. JD and Rob geek out hard over the current state of the Rails ecosystem, starting with StimulusReflex and A May of WTFs, before discussing their enjoyment of strongly typed languages and what that means for Ruby. Talking about DHH's keynote at RailsConf Couch Edition–and his interesting perspective on Ruby and its–benefits brings them to hey.com and what it might introduce to Rails. Could it be a framework to more easily build mobile apps for Rails applications? And from hey.com they dive deep into their email setups, in particular their experience with ProtonMail.

    Links

    The Selfish Programmer talk from RailsConf
    Rob's portfolio website

    Stay in touch

    Website: https://www.devnlife.com
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

  • Summary

    JD and Rob check in after another week of quarantine. JD's brain has gone into overdrive looking for problems to solve to distract from the current situation, while Rob has found peace rediscovering music from his past that fuels his coding. The talk of music gets the two sidetracked into discussing Spotify vs. Apple Music...

    When they recover, JD starts introducing a new project he is working on. Dreaming of a paperless office, but without a good system to organize his digital files, he is setting out to build a CLI in Rust that solves this problem for him. The idea is to have a folder with an inbox, and rules that can link files from the inbox into different indices. Think automatically indexing files by creation date, file type, user-provided tags, or other metadata...

    Lowkey Tech Playlist on Spotify: https://open.spotify.com/playlist/37i9dQZF1DX0r3x8OtiwEM

    Stay in touch

    Website: https://www.devnlife.com/
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

  • Summary

    Rob is enjoying his new life as a freelancer, while JD struggled through another stage of grief. He doesn't expect to be back in an office till autumn or even winter, and doesn't know how to take a vacation to really disconnect and get away from it all. Rob wonders if camping could be an option, and JD shares his dream to do a road trip with friends to the remote countryside of Sweden.

    While working on Taskful's backend, Rob has started to explore GraphQL. He also got hooked on the problem of password hashing, and how to design a more modern authentication system now that the backend is getting rewritten.

    JD put his sim racing project aside and has focused working on small Rust CLIs. The first is an old workflow for Alfred he wrote five years that he now rewrote in Rust. Next he wants to work on a CLI that can help him organize the documents on his machine.

    https://twitter.com/0x6a64/status/1254377149026447361

    Stay in touch

    Website: https://www.devnlife.com/
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

  • Summary

    Corona is still a thing that weighs heavily on Rob and JD. They catch up on how they've been dealing with quarantine, and discuss how living in a remote rural area suddenly seems very appealing. Despite the lock down, JD still managed to make a new experience at a McDonald's drive-thru. Rob shares his experience diving deeper into Elixir and Domain Driven Design, and how he's considering GraphQL for the Taskful backend. JD reorganized his Git repositories now that GitHub organizations are free, and has slowly picked up development on the iRacing API. His most exciting news this week is the new font in his IntelliJ IDE, which ends in a discussion about IntelliJ IDEs and how they compare to VS Code.

    Stay in touch

    Website: https://www.devnlife.com/
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

  • Summary

    At the end of week five of quarantine, JD and Rob catch up. They start being sick of staying home and they miss exercising. JD contemplates buying some exercise equipment, and Rob dreams of a house with an exercise room. Rob shares exciting news about big changes in his work, and how he felt really burned out before. JD bought an upgrade for his hobby, which came with some unexpected exercise. Two weeks into Q2, they finally find the time to reflect on Q1 and the goals they set at the beginning of the year, and start looking ahead at the next three months.

    Stay in touch

    Website: https://www.devnlife.com/
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

  • Summary

    JD and Rob continue where they left off. They check in about how they've adjusted to Corona, and share how they stay sane being at home. Rob shares how the launch of Taskful 3 went, and JD talks about what he did in his side project the last two weeks. Long story short: lots of procrastination playing with Terraform. JD mentions that he is looking for better ways to plan his work, and the two discuss tools and their trade-offs for managing tasks, projects, and ideas.

    New Format!

    We are trying a new format to see if shorter episodes help us record more reguarly. Stay tuned for a few weeks of 30 minutes episodes!

    Stay in touch

    Website: https://www.devnlife.com/
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

  • JD and Rob are stuck at home like everyone else. With these unique times they each share their experience, being a different set up for JD and nothing changing for Rob. They both discuss the future and permanent effects they think this pandemic and quarantine may cause to society. Rob and JD also talk about what they have been working on and the process they are making.

  • For the first time ever, both Rob and JD are formally working remotely. They catch up on COVID-19, routines while working from home, and the risks of walking to your mailbox in Florida, and then they get technical. Rob has some questions around legacy databases and Elixir, and JD shares his experience working with TypeScript. They discuss the pros and cons of React and Vue, and the value of strongly typed languages. At the end, JD provides an update on his work in the sim racing space, and explains the problem he is trying to solve in more detail.s