The Changelog: Software Development, Open Source - GitHub Actions as a time-sharing supercomputer (News)
Episode Date: January 22, 2024Alex 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)
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.
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.
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.
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.
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,
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
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
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
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
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
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,
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,
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