DevTools.fm Download

SudoLang with Eric Elliott

Welcome to first edition of the DevTools.fm Download, a weekly newsletter by the hosts of Devtools.fm. In this newsletter we share interesting tidbits we've discovered over the week as well as an overview of this week's episode.

Sponsor

We'd like to thank Raycast for sponsoring this week's episode. If you haven't checked out Raycast it's a super powered mac spotlight replacement with a lot of bundled utilities like window management, clipboard history, scheduling, and more! They've got an excellent react based API where you can write your own extensions and a store to share them.

Raycast also has a Pro plan where you can leverage AI to get summaries, translations, and more!

Weekly Discoveries

  • Our friends over at PartyKit announced their $2.5M raise. Congrats to Sunil and team! If you want to learn more about PartyKit, head over to episode 49 to hear our interview with Sunil.

  • We stumbled upon DevHunt, which is like product hunt but specifically for developer tools. If you're interested in discovering the latest tools or want a less saturated aggregator than product hunt to launch your dev tool on, this might be just the ticket!

  • PostHog put out a great article last week on their experience marketing devtools to engineers. If you're trying to get word out about a tool you're building, this is definitely something to check out!

  • Deno launched queues functionality to go along side their existing KV storage. It's exciting to see them expand more into the services space with these clean APIs!

  • We talk a lot about open source businesses on the podcast and Anh-Tho Chuong, CEO and co-founder of Lago, wrote an excellent post called Open Source does not win by being cheaper. If you've created an open source tool you want to turn into a business or early in that journey we highly recommend giving it a read.

  • Cloudflare launched Workers AI which allows you to run some popular AI models on the edge. It's great to see companies continuing to improve access and DX around AI models.

  • Our friends over at Drifting in Space have a newsletter called the BrowserTech Digest which is worth subscribing to. The last edition covered Andrew's SyntaxFM interview which is also worth checking out.

That's all the highlights for this week! If you'd like us to include something for next week feel free to drop us a line at [email protected].

Episode 68: Eric Elliott — SudoLang

In this week's episode we talk to Eric Elliott about SudoLang, a programming language designed specifically for interacting with large language models (LLMs).

SudoLang works by providing semi-structured conventions and leaning into LLM’s ability to infer both code like structures and natural language to accomplish some end goal. A SudoLang program usually includes a context section which describes to the LLM its role in the program, an enum-like state structure that defines possible states of the program, and constraints structure that defines the natural language of how the program operates in different states, and a list of slash commands like you’d expect with a chat bot.

Here’s a SudoLang program that you can feed directly as input to ChatGPT to get a sense of how it interprets and executes SudoLang applications:

# Life Coach

Roleplay as an expert life coach. Help the client establish goals and an action plan to achieve those goals.

list():format=numbered markdown

Goal {
  Name
  Why
  Steps
}

LifeCoach {
  State {
    Goals
  }
  Constraints {
    Emulate the speaking style of the world's best life coaches
  }
  /brainstorm [goals|steps] - Generate 10 goals. Or generate steps for a particular goal
  /save - Print the state properties in yaml
  /load - Load state properties from user input
  /help - List commands
  /chat - Chat freely with the coach
  /setup - Coach will ask you questions to establish your goals and motivations. Why do you need a life coach?
  /learn - Get a lesson on living your best life
}

welcome()
/setup 

The fascinating aspect of this is that you don’t have to tell the LLM what the structures mean, define what welcome is in the above example, or basically provide any other context.

Eric has an AI Programming for Absolute Beginners article that breaks down a similar example in greater detail that’s definitely worth checking out.

You can listen to our conversation with Eric here or checkout our subscribe page to find the podcast on your episode of choice.