Changelog News – Episode #29
Data tool belts, Build Your Own Redis, the giscus comments system, prompt engineering shouldn't exist & ALPACA
Jeremia Kimelman takes stock of his “data tool belt”, Build Your Own Redis with C/C++ is ready to read, giscus is a comments system powered by GitHub Discussions, Matt Rickard says prompt engineering shouldn’t be a thing and won’t be a thing in the future & Kolja Lubitz’s ALPACA is engine for building adventure games and interactive comics.
Notes & Links
Click here to listen along while you enjoy the transcript. 🎧
What up nerds, I’m Jerod and this is Changelog News for the week of Monday, January 30th 2023!
Our Monday news brief experiment has been pretty successful,
They like me they truly like me!
so we’re thinking about promoting it be its very own show.
Am I a real boy?
That means it’ll get its own name and its own podcast feed, amongst other changes and improvements.
Curious: would you be upset by this? Happy? Would you subscribe to this as a separate podcast or nah? Let me know in the comments, or on the socials (jerodsanto on twitter, firstname.lastname@example.org on Mastodon), or via email at email@example.com
Oh, and of course if you’re subscribed to Changelog++ or our master feed, you might not even notice this change, except for new show art and stuff like that. So that’s cool.
Ok, let’s get into the news.
Jeremia Kimelman, a data scientist and recovering web developer living in Sacramento, California, took stock of his “data tool belt”, writing up twelve software projects and companies he uses all the time as a working data journalist.
Side note: this style blog post is awesome. It’s always interesting to learn what tools people are using and why. Also, they’re pretty easy to write. You just look around at what you use on the regular, make a list, and write a bit about each tool. If you have blogger’s block, well, now you don’t!
Ok, back to Jeremia. He broke his tools down into five categories: general-use, web scraping, geospatial, website, and tools that are also companies. Some of these you may be familiar with, like D3 and lodash, but others are more obscure: like cheerio, and turfjs.
Check out the full list on his blog and if you end up taking stock of your own tool belt, let us know about it, will ya?
New book alert! Build Your Own Redis with C/C++ is now complete. Author, James Smith, says this in his announcment post: “Most of us are not working on projects of such a level, but it is still worthwhile to learn from those projects. It takes higher skill and deeper knowledge to build such projects, thus learning from those projects could be a path to the next level as a software developer. The book is the result of my own learning.”
He also answers the questions: why a book, why from scratch, and why Redis. The book is free to read on the web. If it’s helpful to you, consider purchasing the ebook or a hard copy. I’ll link to both the free and paid versions in the show notes.
Here’s a cool project with a not-so-cool name: giscus
It’s a modern take on Disqus, which started as an easy way to add commenting to static pages, but grew into quite a bit more than that. One thing that’s been added to Disqus over the years is a link in their website’s footer called Data Services.
So, yeah. Not the hacker spirit most of us are after.
Anyways, here comes giscus: a comments system powered by GitHub Discussions! giscus is open source, has no tracking, no ads, and will always be free. As long as you’re cool with using GitHub Discussions as your database.
One thing I noticed is that your page does have to load a script directly from the giscus.app domain, so they could do some tracking and other tomfoolery if they wanted to. But hopefully that’s a convenience thing and you can re-host that file yourself if you’re uber privacy-oriented.
That aside, the end result is a comment thread that supports all the features we know and love from GitHub without any of the hassle. If your target reader already has a GitHub account, seems like a good option for you.
Matt Rickard says prompt engineering, the art/science of crafting useful commands for Large Language Models to respond to, shouldn’t be a thing and won’t be a thing in the future.
The first thing we have to realize about prompt engineering is that the state of the art today is concatenation and templating. Many of the startups and products that popped up out of nowhere in the wake of ChatGPT’s splash are doing exactly this. They craft a prompt that works well for a certain task, provide an input mechanism for users to type some text, and concatenate the user’s text with their crafted prompt using a template.
Matt thinks this whole song and dance creates a functional interface, but not the ultimate one, concluding that “prompt engineering looks more like a systems engineering problem, not a machine learning one. Pprompt engineering as an NLP task will go away fairly quickly. Instead, we’ll figure out ways to bring more structure to the input and output of querying LLMs.”
He also lists out some possibilities of what that might look like, but there’s no prompt you could engineer to convince me to read all those to ya. If you’re curious, the link to the post is in your show notes.
Finally, it’s time for our new segment where we feature weird and wild stuff.
That is weird. That is wild. I did not know that.
Kolja Lubitz sent me his project: ALPACA. That’s short for “A Library for Point And Click Adventures”. Nice acronym, Kolja!
It’s a C++-based engine for building adventure games and interactive comics. While it’s written in C++, ALPACA can easily be scripted in Lua. Check out the examples in the project’s README and also check out Kolja’s game, Portal Dogs: as king of the dogs your mission is to find all your loyal subjects and guide them to the portal.
I guess we finally answer the question of who let the dogs out… sorry I just can’t help myself sometimes.
I just can’t do it, captain. I don’t have the power!
That is the news for now. Reminder: please do let us know what you think about this as its own podcast. For it, against it, or indifferent. I love hearing from y’all, regardless.
I leave you today with a quote from John Woods: “Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live”
Have a great week, and we’ll talk to you again on Friday.
Our transcripts are open source on GitHub. Improvements are welcome. 💚