Chris Padilla/Blog

My passion project! Posts spanning music, art, software, books, and more
You can follow by Newsletter or RSS! (What's RSS?) Full archive here.

    Service and Expression

    One of the best distinctions I made a few years ago was understanding that my work would be balanced by two spheres: Service and expression.

    I dipped my toes into SVSLearn's illustration podcast on an episode about what it's like diving into the comics industry. Not my personal goal, but I've been reading a lot of comics and I thought it would be interesting!

    Right out the gate, the guest described his work as a rollercoaster ride between the stable, steady work in animation and writing comics, where there's comparatively no money to be made.

    Tim Ferris describes a similar back and forth in the Four Hour Work Week, coining the term"mini retirements." Tim would work his butt off launching a product or project, working 12-16 hour days, and then spending those same 12-16 hours in brazil learning salsa dancing for three months.

    A little extreme for my personal taste and for this phase of life. To each their own, but in my experience it's a lot more sustainable to work a bit of both into your daily life.

    Back to the podcast: the guest describes a tension creative people fill: to have the stability and camaraderie of working on a team to bring someone else's vision to life — and the tension to create something wholly your own, and have your own voice fully expressed.

    I think we all experience a bit of that, and we all find our own ways to fill those needs. Understanding that there's a difference between the purpose of those two spheres of work makes a world of a difference, though.

    My software work isn't dragged down by ego. Because I have a few options for expression and play, I can more fully do work during the day that best serves the interest of my colleagues.

    And vic versa. When I was a music teacher, my creative work felt like it had to be tied with teaching. I didn't feel like I could really explore visual art or piano or writing music because my full time gig was playing and teaching saxophone. Surely I had to be putting my free time in on the horn, too! Now, because my daytime work is a world apart, there's no baggage around what I should be doing to express myself. Heck, I've said it before, I'll say it again — blogging has surprisingly been one of the best ways to fulfill that itch!

    Calling those halves service and expression works for me, but maybe Tony Robin's terms of Stability and Instability works better for you. Or maybe Brene Brown's guidepost to find "Meaningful Work." I'm a person that's driven primarily by the desire to create. But say that you are actually primarily service driven. Then, the two spheres might include stable service and unstable service. That stable service of holding a marketing job that pays the bills, balanced with the unstable (but more fulfilling) service work of non-profit contributions and volunteering.

    What ever the words really are — finding balance between two complimentary needs can make the world of a difference in everyday fulfillment.

    Faber - Tropical Island

    COLOR!! 🖍

    My sister very kindly loaned me her Copics to play with!

    🌊

    After months in greyscale, it's fun to have shades and hues to work with!

    🌋

    Perfect opportunity to do this Satsuki study from My Neighbor Totoro! Borrowed from this beautiful Miyazaki art book.

    🌳

    From MVC to API Routes in ASP.NET Core

    MVC patterns make for quick and easy development in .NET Core. This week, I'm switching over to an API servicing a React application, and there are a couple of small differences in getting started with serving up API endpoints:

    ApiController Attribute

    In MVC, all we needed to setup a controller was inherit from the controller class:

    namespace BulkyBookWebDotNet6MVC.Controllers
    {
        public class CategoryController : Controller
        {
        . . .
        }
    }

    For API's, we need to go up the family tree to ControllerBase, which controller inherits from:

    namespace BulkyBookWebDotNet6MVC.Controllers
    {
        public class CategoryController : ControllerBase
        {
        . . .
        }
    }

    Attributes

    In addition, we need a few different attributes:

    [ApiController]
    [Route("[controller]")]
    public class BookController : ControllerBase
    {
        . . .
    }

    [ApiController] will give goodies specific to APIs, such as specifying routes and more detailed error responses.

    Since we have to specify routes, we're doing so with the next attribute [Route("[controller]")] We're defaulting to the controller based routing, but we could just as well define our own route such as [Route("/users")]

    Return

    Of course, since we're working with an API returning data and not a View from an MVC, the return methods will be slightly different. [ApiController] provides methods that are analogous to Status codes:

    if (BookFromDb == null)
    {
        // Status: 404
        return NotFound();
    }
    
    // Status: 200 with created object
    return Ok(BookFromDb);

    And that should be enough to get started! More details are available on MSDN.

    C Fingerstyle Barre Improv

    Listen on Youtube

    Just messing around today!