I'd Rather Be Scripting

I'd Rather Be Scripting

By Ash Arnwine & Kerri ShottsTechnology
Download on the App Store

I'd Rather Be Scripting episodes

  • OAS Tools deep dive!

    Kerri and Ash continue chatting about Open API tooling for Node.js and Express!

    This episode of I'd Rather Be Scripting is all about OAS Tools, an open source Node.js server-side framework with full support for OpenAPI v3. Our co-hosts use the OAS Tools Quickstart as a path to discussing the tool's features, including:

    • What an "entity resource" is
    • Creating an OpenAPI document from an entity resource
    • Creating a Node.js/Express server from an OpenAPI document
    • Understanding the generated server entry point, controllers, and services
    • Validating a server's adherence to an OpenAPI spec

    ... all with OAS Tools.

    Kerri and Ash also discuss some potential wishlist items for the tool, including:

    • Ensuring that generated service responses adhere to OpenAPI document schema
    • Continual controller/service generation (see GitHub discussion #15 for Ash's question and the friendly response from one of the maintainers)
    • Ability to eject from the OAS Tool dependency in order to gain tighter visibility and control over the usage of the Express library

    We hope you enjoy this deep dive into OAS Tools!

    ===

    The Changelog podcast episode that Ash references midway through is "The terminal as a platform", which covers Textualize, a company that builds platforms for terminal-based UX/DX.

    1 hr 12 min
  • “Spooky’s not quite the right word”: Warp terminal, Fig CLI, and OpenAPI tools

    Kerri and Ash are back in the command line, which will surprise no one.

    First up, is a discussion of Kerri’s recent adventures with Warp terminal and Fig CLI. Our hosts discuss autocompletes and AI tools in the terminal. Kerri also shares a difficulty she found getting Warp and Spaceship prompt to play well together. If you’re following along, this was her remedy:

    ```

    if [[ $TERM_PROGRAM != "WarpTerminal" ]]; then

       ZSH_THEME="spaceship"

    fi

    ```

    Ash then retraces some of his steps playing around with OpenAPI 3.x. Many tools are discussed! From API spec creation tools to server generation tools (like OpenAPI Generator and Swagger Codegen) and beyond. Of course, GitHub Copilot makes another appearance. If you’re ever looking for OpenAPI tools, check out https://openapi.tools/.

    Wondering what’s the difference between Swagger and OpenAPI? This article will help you with that.

    The Stratechery interview that Ash references is “An Interview With Daniel Gross and Nat Friedman About the Democratization of AI”.

    1 hr 3 min
  • Spaceship prompt, zsh, fish, & coding on the iPad

    Kerri and Ash cover a couple favorite topics: command line shells and coding on the iPad.

    First up! Spaceship prompt, which bills itself as a "minimalistic, powerful and extremely customizable Zsh prompt". https://spaceship-prompt.sh

    Kerri and Ash explore what Spaceship's async capabilities can enable for a zsh prompt and consider why having a battery indicator in your shell prompt might be useful. Of course, fish shell and Oh My Zsh do not go neglected in the conversation.

    Next up! Coding on the iPad with Code App, a native IDE for iPad. https://thebaselab.com/code/

    Our hosts consider the pros and cons of two different approaches to enabling real development work on iPad: thin clients like GitHub Codespaces (browser-based, server-side execution) versus native applications like Code App (app-based, local execution—with some exceptions). Kerri and Ash also theorize on what it must be like to get local code execution environments for Node.js, Python, PHP, and C/C++ past Apple App Store review.

    59 min
  • "In the future I'll need to protect my pinky": GitHub Copilot writes a Node.js tutorial

    Kerri and Ash go down a GitHub Copilot rabbit hole, but not for coding apps like you might expect!

    Instead, they are exploring the possibilities of authoring technical tutorials for developers where 95% of the writing is done by AI/ML.

    In this episode, you'll get to listen to *thrilling* audio content wherein Ash hits the tab button in VS Code until he's got a Node.js and Express tutorial written almost entirely by GitHub Copilot.

    What does it all mean?! Kerri and Ash want to know!

    • Can GitHub Copilot do QA for an article that it mostly wrote on its own?
    • Could Copilot please just write a sample app, author the tutorial, then QA everything already thx?
    • Can we simply tab our way into writing bespoke tutorials for technologies we don't even know yet with GitHub Copilot?
    • Will humans still at least get to make the memes?

    See below for the text of the article GitHub Copilot created (in proper Markdown!) based on a seed of 8–10 words provided by a soon-to-be-obsolete human, including the inexplicable link in the "Next steps" section to the Photoshop UXP API documentation.

    Relax and enjoy this podcast, humans; the AIs can do the work now.

    ===

    # Making a server with Node.js and Express

    In this tutorial, we will make a simple server with Node.js and Express. We will also use the `express-generator` package to generate the project.

    ## Prerequisites

    - Node.js

    - npm

    - Express

    ## Building the project

    First, we will create a new project using the `express-generator` package. This package will generate a new project for us, and we can use it to create a new project.

    ```bash

    $ npm install express-generator -g

    $ express myapp

    $ cd myapp

    $ npm install

    ```

    Now, we can run the project using the `npm start` command.

    ```bash

    $ npm start

    ```

    This will start the server on port 3000. We can now visit the server at `http://localhost:3000`.

    ## Adding a route

    Now, we will add a new route to the server. We will add a new route to the `routes/index.js` file.

    ```js

    router.get("/hello", function (req, res, next) {

    res.send("Hello World!");

    });

    ```


    Now, we can visit the route at `http://localhost:3000/hello`.


    ## Conclusion

    In this tutorial, we learned how to make a simple server with Node.js and Express. We also learned how to use the `express-generator` package to generate a new project.


    ## Next steps

    - [Making a server with Node.js and Express](https://developer.adobe.com/photoshop/uxp/2022/guides/getting-started/making-a-server-with-nodejs-and-express/)


    ## Resources

    - [Node.js](https://nodejs.org/en/)

    - [npm](https://www.npmjs.com/)

    - [Express](https://expressjs.com/)

    - [express-generator](https://www.npmjs.com/package/express-generator)

    53 min
  • "What is JavaScript?" is the answer no developer wants to hear

    Kerri and Ash reappear after a Marvel-style blip for episode 2 of I'd Rather Be Scripting.

    This episode covers some fun stuff including:

    • Node.js, Deno, and Bun: emerging variety in JavaScript server runtimes
    • The JavaScript spec versus browser APIs: the oft-overlooked distinction between the two
    • Browser APIs, Node APIs, and popular node modules: factors in choosing what to support in new development environments like UXP for Photoshop and Bun for servers
    • Performance considerations when choosing a Mac for development work
    • GitHub Codespaces and the state of web development on the iPad
    • Steam Deck's hackability
    • ... and probably more

    1 hr 6 min
  • S1E1 - Nov 15, 2020

    Thoughts on macOS Big Sur

    • Border Radius!
    • Touch MacBooks?

    iPad Pro for Developers

    • Play.js
    • ISH Shell
    • a-Shell

    No-Code Scripting Limitations (especially iOS Shortcuts)

    Photography

    • Fujinon 27mm

    1 hr

About I'd Rather Be Scripting

From the publisher's feed

Ash and Kerri go on mostly random tangents about technology, music, photography, and just about anything else. You never know what you'll hear!