The Changelog: Software Development, Open Source - GitHub Actions as a time-sharing supercomputer (News)

Episode Date: January 22, 2024

Alex Ellis' new actions-batch project uses GitHub Actions as a time-sharing supercomputer, DevDocs.io combines multiple API documentations in a fast, organized, and searchable interface, Jarred Sumner... announces Bun's very own JavaScript shell, Shoelace is a forward-thinking library of web components & Martin Heinz writes an awesome guide to building an indoor air quality monitoring system with Prometheus, Grafana & a CO2 sensor.

Transcript
Discussion (0)
Starting point is 00:00:00 What up, nerds? I'm Jared, and this is Changelog News for the week of Monday, January 22nd, 2024. On Saturday, I shipped out our first ever Changelog++ exclusive episode of JS Party. The public mp3 is a 6-minute teaser trailer for the 52-minute changelog++ full version. Is this kind of thing interesting? Does it compel you to sign up or stay signed up to changelog++? Or is it lame and gatekeepy? I'd love to hear your thoughts on the matter. We're always experimenting. Let us know what you think. Okay, let's get into the news. Let's start out with some quick headlines to whet your appetite.
Starting point is 00:00:48 After four months of work, OpenTofu is now generally available for download. Flipboard has started its three-phase process of joining the Fediverse. Mozilla now maintains a dashboard to track platform tilt against Firefox The concise TypeScript book is free and open source on GitHub And the Apache Answer team is looking for contributors Links to all of these are in the companion newsletter Alex Ellis writes, quote, The time-sharing computers of the 1970s meant operators could submit a job and get the results at some point in the future.
Starting point is 00:01:33 Under the guise of serverless, everything old is new again, end quote. Back in those days, users would submit tasks or batch jobs to large computers and collect the results when the jobs were done. Alex's new project, called Actions Batch, is bringing that workflow back thanks to GitHub Actions. How it works. One, you write a bash script and pass it in as an argument. Two, a new repo is created with a random name in the specified organization. Three, a workflow file is written to the repo along with the shell script. Three, a workflow file is written to the repo along with the shell script. The workflow's only job is to run the shell script and exit.
Starting point is 00:02:10 Four, the workflow is triggered and you can check the results. He has a bunch of example scripts in the readme showing everything from generating ASCII art to using Lama from Hugging Face and a whole lot more. Devdocs.io is my new favorite documentation browser. It combines multiple API documentations in a fast, organized, and searchable web interface.
Starting point is 00:02:31 This installable web app works offline, has keyboard shortcuts for quick navigation, supports fuzzy matching, and is 100% free and open source. I've been using it nonstop since I found it last week. It's so nice to have a unified interface for disparate languages and ecosystems right there in a browser tab just waiting for you. Let's do some sponsored news. Socket for GitHub protects your apps from those dreaded supply chain attacks right where you live. Whenever a new dependency is added in a PR,
Starting point is 00:03:02 Socket analyzes the package's behavior and security risk. The best part, Socket is quick and easy to install. Just install the official GitHub app from the Marketplace, choose the repos you want it to protect, and Socket will automatically analyze your project and keep them secure. But don't take our word for it. Check it out for yourself using the link in the show notes and chapter data. Thank you to Firas and our friends at Socket for sponsoring this week on Changelog News. Bun creator Jared Sumner reiterates just how popular JavaScript is
Starting point is 00:03:34 and then explains why existing shells don't work in JavaScript. Quote, Mac OS, ZShell, Linux, Bash, and Windows, CMD, all have slightly different shells with different syntaxes and different commands. The commands available on each platform are different and even the same command can have different flags and behaviors. End quote. Because of this, the community relies on NPM packages like RimRaf, Crossenv, and Witch to polyfill missing commands. To help JS devs write shell scripts with less ceremony and more speed, the Bunn team decided to build a shell
Starting point is 00:04:07 right into the runtime. Quote, The Bunn shell is a new experimental embedded language and interpreter in Bunn that allows you to run cross-platform shell scripts in JavaScript and TypeScript. It works on Windows, macOS, and Linux. We've implemented many common commands
Starting point is 00:04:23 and features like globbing, environment variables, redirection, piping, and more. End quote. The code samples all look pretty sweet, but the one thing Bunshill has going against it? Potential vendor lock-in. Web components have been discussed a lot recently because browser support is creeping up and web developers are looking for non-framework specific ways of creating their components. Quote, unfortunately, framework specific components fail us in a number of ways. You can only use them in the framework they're designed for. Their lifespan is limited to that of the frameworks. New frameworks and versions can lead to breaking changes requiring substantial effort to update components. End quote. Web components solve these
Starting point is 00:05:05 problems and Shoelace is a new library to help you use web components directly. Shoelace provides a collection of professionally designed, highly customizable UI components built on a framework agnostic technology. Why spend hundreds of hours or more building a design system from scratch? Why make a component library that only works with one framework? Good questions indeed. Check out Shoelace for your web component needs. Home labbers, unite around this awesome guide by Martin Hines. Martin says, quote, low indoor air quality or high CO2 negatively impacts cognitive performance, causes headaches, drowsiness, and more. It's easy to fix, though. Just use a CO2 sensor and open a window from time to time. But why stop there when you can set up complete air
Starting point is 00:05:50 quality monitoring solution using CO2 sensors, Prometheus, Grafana dashboards, and alerts? End quote. The entire guide and sample code are available for you to follow for yourself. Martin's closing thought, though, is yet another demonstration that the hacker spirit is alive and well. Quote, could you just use the phone app that comes with the sensor? Sure. Is this setup over-engineered? Probably. Is it unnecessary? Most definitely, but it works and it's fun to tinker with hardware. It also gives you full control of the data, transforms it into standardized formats in case you want to play with it further, and you don't have to rely on closed source smartphone apps. End quote. control of the data, transforms it into standardized formats in case you want to play with it further,
Starting point is 00:06:29 and you don't have to rely on closed-source smartphone apps. End quote. That's the news for now, but also scan the newsletter for more stories like Brent Simmons on why corporations are not to be loved, an insane post where the author implemented a GPT in 500 lines of SQL, yes, SQL, Balder, Bjarnason's disillusionment with Dino, and more. If you don't also receive the changelog newsletter, pop your email address in at changelog.com slash news and fix that bug. We have some awesome guests coming up on the pods this week. Raza Habib from Human Loop on Practical AI,
Starting point is 00:07:00 the Boxy HQ team on the changelog, Shande Person on JS Party and Jose Valim on Changelog and Friends have a great week hit us up with a 5 star review if you dig our work and I'll talk to you again real soon

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.