The IMEI Code: Your phone’s other number
27 by shortformblog | 0 comments on Hacker News.
Tuesday, April 30, 2024
Monday, April 29, 2024
Sunday, April 28, 2024
Saturday, April 27, 2024
New top story on Hacker News: Show HN: Blot – code, art, robots and open source education
Show HN: Blot – code, art, robots and open source education
8 by apexedison | 3 comments on Hacker News.
For the last few years, I've been working at a non-profit called Hack Club developing tools to support self-motivated teens to learn about technology and build community with other like-minded peers while doing so. This has resulted in the development of a model called "you ship, we ship." We build open source creative coding environments, and when teenagers share the projects they make with these tools, we send them materials to dive deeper into the subject and related technologies. Our approach is predicated on the constructionist idea that people learn best by building things they care about and sharing them with others. The vision we have is to create a public collection of creative learning tools that offer people projects they can do right away and communities of practice to engage with. Blot is our next installment in the series. It's designed to be a gateway to CNC robotics through digital art. If you'd like to see some of the projects people have made so far, you can check out: https://ift.tt/C0xiPZr You can also find projects from our first "you ship, we ship" called Sprig. It's a game console you get by building a game for it. https://ift.tt/W4M7xuU I'd love people's thoughts on the model and ideas for other subjects in technology we could build projects around.
8 by apexedison | 3 comments on Hacker News.
For the last few years, I've been working at a non-profit called Hack Club developing tools to support self-motivated teens to learn about technology and build community with other like-minded peers while doing so. This has resulted in the development of a model called "you ship, we ship." We build open source creative coding environments, and when teenagers share the projects they make with these tools, we send them materials to dive deeper into the subject and related technologies. Our approach is predicated on the constructionist idea that people learn best by building things they care about and sharing them with others. The vision we have is to create a public collection of creative learning tools that offer people projects they can do right away and communities of practice to engage with. Blot is our next installment in the series. It's designed to be a gateway to CNC robotics through digital art. If you'd like to see some of the projects people have made so far, you can check out: https://ift.tt/C0xiPZr You can also find projects from our first "you ship, we ship" called Sprig. It's a game console you get by building a game for it. https://ift.tt/W4M7xuU I'd love people's thoughts on the model and ideas for other subjects in technology we could build projects around.
Friday, April 26, 2024
Thursday, April 25, 2024
New top story on Hacker News: Show HN: I made a programmable computer from NAND gates
Show HN: I made a programmable computer from NAND gates
22 by ArchAndStarch | 0 comments on Hacker News.
I am proud to present my solo hobby project NAND. This year-long undertaking follows the completed Nand to Tetris course, but ported to the web with its own runtime, user interface, and IDE. Using the "Load example program" selector, you can try out some programs I wrote on NAND's emulated hardware such as 2048, a genetic algorithm, and a manual stack overflow to corrupt the screen. Check out NAND at https://nand.arhan.sh Additionally, I've authored an extensive writeup about the project. Read about it on the GitHub repository's readme.
22 by ArchAndStarch | 0 comments on Hacker News.
I am proud to present my solo hobby project NAND. This year-long undertaking follows the completed Nand to Tetris course, but ported to the web with its own runtime, user interface, and IDE. Using the "Load example program" selector, you can try out some programs I wrote on NAND's emulated hardware such as 2048, a genetic algorithm, and a manual stack overflow to corrupt the screen. Check out NAND at https://nand.arhan.sh Additionally, I've authored an extensive writeup about the project. Read about it on the GitHub repository's readme.
Wednesday, April 24, 2024
Tuesday, April 23, 2024
Monday, April 22, 2024
Sunday, April 21, 2024
Saturday, April 20, 2024
Friday, April 19, 2024
Thursday, April 18, 2024
Wednesday, April 17, 2024
Tuesday, April 16, 2024
New top story on Hacker News: Show HN: Term Typer – Learn a Language by Typing
Show HN: Term Typer – Learn a Language by Typing
15 by jeanmayer | 1 comments on Hacker News.
Hey HN! I'm from Brazil and I created Term Typer to help my little brother learn other languages while practicing his keyboard typing skills. We've found it super helpful and fun. Feel free to try it out and let me know your thoughts and feedback. Thanks a lot!
15 by jeanmayer | 1 comments on Hacker News.
Hey HN! I'm from Brazil and I created Term Typer to help my little brother learn other languages while practicing his keyboard typing skills. We've found it super helpful and fun. Feel free to try it out and let me know your thoughts and feedback. Thanks a lot!
New top story on Hacker News: Show HN: CloudCruise (YC W24) – Graph-Based Workflow Builder for Web Agents
Show HN: CloudCruise (YC W24) – Graph-Based Workflow Builder for Web Agents
12 by adrmtu | 0 comments on Hacker News.
Hi HN, this is Adrian, Vere and Felix. CloudCruise is a graph-based workflow builder for web agents. Our DSL lets you orchestrate LLM-powered web actions with loops, conditionals and memory. Here is a 1 min demo: https://youtu.be/4AQfl5Gj_Ro We tried out existing web agents and found zero-shot planning unreliable for longer workflows. That’s why we’ve built a framework that lets you define a graph-based workflow. Every action is modelled as a node and edges between nodes define the next action to take. There are two different node type categories: Low-level browser interaction nodes and high-level reasoning nodes. Low-level nodes are actions like clicking, inputing text or navigating to a new URL. High-level nodes are able to extract structured data from a webpage or make a conditional decision based on the content of the webpage. All of the nodes can be configured with a prompt in natural language. For instance, if you had a list of websites you could define a click-node with a prompt “Click on the contact page”. This ensures that workflows generalize to different websites independent of the layout. Our early users use us to automate tasks like: 1. Find the contact information of fire department chiefs in the US 2. Check the HR information of all employees registered on Gusto 3. Automate background research on people they have meetings with in Google Calendar We just released our chrome extension where you can build & run workflows for yourself. Its free for up to 200 browser actions a month. We’d love for you to try it and give us feedback. You can find the link to our extension through our landing page: https://ift.tt/wbZo4PV Last but not least, here are some of the strange things we’ve encountered so far whilst automating the web: 1. Ancient relics like this website using a frameset instead of a body tag http://wantaghfd.com/ 2. This animation showing why having a dance off on a balcony is catastrophic: https://balcony1.com/ 3. A big company violating RFC 2616 by sending back an undefined HTTP status code 999
12 by adrmtu | 0 comments on Hacker News.
Hi HN, this is Adrian, Vere and Felix. CloudCruise is a graph-based workflow builder for web agents. Our DSL lets you orchestrate LLM-powered web actions with loops, conditionals and memory. Here is a 1 min demo: https://youtu.be/4AQfl5Gj_Ro We tried out existing web agents and found zero-shot planning unreliable for longer workflows. That’s why we’ve built a framework that lets you define a graph-based workflow. Every action is modelled as a node and edges between nodes define the next action to take. There are two different node type categories: Low-level browser interaction nodes and high-level reasoning nodes. Low-level nodes are actions like clicking, inputing text or navigating to a new URL. High-level nodes are able to extract structured data from a webpage or make a conditional decision based on the content of the webpage. All of the nodes can be configured with a prompt in natural language. For instance, if you had a list of websites you could define a click-node with a prompt “Click on the contact page”. This ensures that workflows generalize to different websites independent of the layout. Our early users use us to automate tasks like: 1. Find the contact information of fire department chiefs in the US 2. Check the HR information of all employees registered on Gusto 3. Automate background research on people they have meetings with in Google Calendar We just released our chrome extension where you can build & run workflows for yourself. Its free for up to 200 browser actions a month. We’d love for you to try it and give us feedback. You can find the link to our extension through our landing page: https://ift.tt/wbZo4PV Last but not least, here are some of the strange things we’ve encountered so far whilst automating the web: 1. Ancient relics like this website using a frameset instead of a body tag http://wantaghfd.com/ 2. This animation showing why having a dance off on a balcony is catastrophic: https://balcony1.com/ 3. A big company violating RFC 2616 by sending back an undefined HTTP status code 999
Monday, April 15, 2024
Sunday, April 14, 2024
New top story on Hacker News: Bing Copilot seemingly leaks state between user sessions
Bing Copilot seemingly leaks state between user sessions
21 by marvinborner | 14 comments on Hacker News.
21 by marvinborner | 14 comments on Hacker News.
Saturday, April 13, 2024
New top story on Hacker News: Show HN: CTRL-F for YouTube Videos
Show HN: CTRL-F for YouTube Videos
11 by ewild | 2 comments on Hacker News.
This is a small project i made years ago and updated to whisper last year, i still use it from time to time and thought it might be useful to others, or just put the idea out there for someone better than me to make a better implementation!
11 by ewild | 2 comments on Hacker News.
This is a small project i made years ago and updated to whisper last year, i still use it from time to time and thought it might be useful to others, or just put the idea out there for someone better than me to make a better implementation!
Friday, April 12, 2024
New top story on Hacker News: Show HN: Wunderbar – Learn language while working on your Mac
Show HN: Wunderbar – Learn language while working on your Mac
17 by mertbio | 11 comments on Hacker News.
Hey everyone, I've been living in Germany for a while now and struggling to pick up German. Even though I finished a B1 level language course, remembering all the common German words has been tough. I've tried a bunch of apps, but couldn't stick to any of them. Last month, I had an idea. I thought, what if I could see a German word and its meaning on the Menu Bar of my Mac? That way, I could learn new words while working without needing to set aside dedicated time. The app uses a spaced-repetition algorithm, so you'll see the same word multiple times until you've got it down. And even after you've learned it, you'll still see it again to make sure you don't forget. After making the app, lots of people asked me to include other languages, therefore I’ve added languages like Spanish, French, Dutch, Swedish, Japanese, and Italian. You can download the app here ($3.99): https://ift.tt/m0x4pd7 There's no subscription or anything like that. You pay once and it's yours forever. Let me know what you think!
17 by mertbio | 11 comments on Hacker News.
Hey everyone, I've been living in Germany for a while now and struggling to pick up German. Even though I finished a B1 level language course, remembering all the common German words has been tough. I've tried a bunch of apps, but couldn't stick to any of them. Last month, I had an idea. I thought, what if I could see a German word and its meaning on the Menu Bar of my Mac? That way, I could learn new words while working without needing to set aside dedicated time. The app uses a spaced-repetition algorithm, so you'll see the same word multiple times until you've got it down. And even after you've learned it, you'll still see it again to make sure you don't forget. After making the app, lots of people asked me to include other languages, therefore I’ve added languages like Spanish, French, Dutch, Swedish, Japanese, and Italian. You can download the app here ($3.99): https://ift.tt/m0x4pd7 There's no subscription or anything like that. You pay once and it's yours forever. Let me know what you think!
Thursday, April 11, 2024
Wednesday, April 10, 2024
New top story on Hacker News: Show HN: Sonauto – a more controllable AI music creator
Show HN: Sonauto – a more controllable AI music creator
55 by zaptrem | 27 comments on Hacker News.
Hey HN, My cofounder and I trained an AI music generation model and after a month of testing we're launching 1.0 today. Ours is interesting because it's a latent diffusion model instead of a language model, which makes it more controllable: https://sonauto.ai/ Others do music generation by training a Vector Quantized Variational Autoencoder like Descript Audio Codec ( https://ift.tt/grbt93G ) to turn music into tokens, then training an LLM on those tokens. Instead, we ripped the tokenization part off and replaced it with a normal variational autoencoder bottleneck (along with some other important changes to enable insane compression ratios). This gave us a nice, normally distributed latent space on which to train a diffusion transformer (like Sora). Our diffusion model is also particularly interesting because it is the first audio diffusion model to generate coherent lyrics! We like diffusion models for music generation because they have some interesting properties that make controlling them easier (so you can make your own music instead of just taking what the machine gives you). For example, we have a rhythm control mode where you can upload your own percussion line or set a BPM. Very soon you'll also be able to generate proper variations of an uploaded or previously generated song (e.g., you could even sing into Voice Memos for a minute and upload that!). @Musicians of HN, try uploading your songs and using Rhythm Control/let us know what you think! Our goal is to enable more of you, not replace you. For example, we turned this drum line ( https://ift.tt/9cRM8XZ ) into this full song ( https://ift.tt/ZXDzSTc skip to 1:05 if impatient) or this other song I like better ( https://ift.tt/XMCK45Y - we accidentally compressed it with AAC instead of Opus which hurt quality, though) We also like diffusion models because while they're expensive to train, they're cheap to serve. We built our own efficient inference infrastructure instead of using those expensive inference as a service startups that are all the rage. That's why we're making generations on our site free and unlimited for as long as possible. We'd love to answer your questions. Let us know what you think of our first model! https://sonauto.ai/
55 by zaptrem | 27 comments on Hacker News.
Hey HN, My cofounder and I trained an AI music generation model and after a month of testing we're launching 1.0 today. Ours is interesting because it's a latent diffusion model instead of a language model, which makes it more controllable: https://sonauto.ai/ Others do music generation by training a Vector Quantized Variational Autoencoder like Descript Audio Codec ( https://ift.tt/grbt93G ) to turn music into tokens, then training an LLM on those tokens. Instead, we ripped the tokenization part off and replaced it with a normal variational autoencoder bottleneck (along with some other important changes to enable insane compression ratios). This gave us a nice, normally distributed latent space on which to train a diffusion transformer (like Sora). Our diffusion model is also particularly interesting because it is the first audio diffusion model to generate coherent lyrics! We like diffusion models for music generation because they have some interesting properties that make controlling them easier (so you can make your own music instead of just taking what the machine gives you). For example, we have a rhythm control mode where you can upload your own percussion line or set a BPM. Very soon you'll also be able to generate proper variations of an uploaded or previously generated song (e.g., you could even sing into Voice Memos for a minute and upload that!). @Musicians of HN, try uploading your songs and using Rhythm Control/let us know what you think! Our goal is to enable more of you, not replace you. For example, we turned this drum line ( https://ift.tt/9cRM8XZ ) into this full song ( https://ift.tt/ZXDzSTc skip to 1:05 if impatient) or this other song I like better ( https://ift.tt/XMCK45Y - we accidentally compressed it with AAC instead of Opus which hurt quality, though) We also like diffusion models because while they're expensive to train, they're cheap to serve. We built our own efficient inference infrastructure instead of using those expensive inference as a service startups that are all the rage. That's why we're making generations on our site free and unlimited for as long as possible. We'd love to answer your questions. Let us know what you think of our first model! https://sonauto.ai/
Tuesday, April 9, 2024
Monday, April 8, 2024
Sunday, April 7, 2024
Saturday, April 6, 2024
Friday, April 5, 2024
Thursday, April 4, 2024
Wednesday, April 3, 2024
New top story on Hacker News: Show HN: Plandex – an AI coding engine for complex tasks
Show HN: Plandex – an AI coding engine for complex tasks
12 by danenania | 8 comments on Hacker News.
Hey HN, I'm building Plandex ( https://plandex.ai ), an open source, terminal-based AI coding engine for complex tasks. I built Plandex because I was tired of copying and pasting code back and forth between ChatGPT and my projects. It can complete tasks that span multiple files and require many steps. It uses the OpenAI API with your API key (support for other models, including Claude, Gemini, and open source models is on the roadmap). You can watch a 2 minute demo here: https://player.vimeo.com/video/926634577 Here's a prompt I used to build the AWS infrastructure for Plandex Cloud (Plandex can be self-hosted or cloud-hosted): https://ift.tt/hdVkvPD... Something I think sets Plandex apart is a focus on working around bad outputs and iterating on tasks systematically. It's relatively easy to make a great looking demo for any tool, but the day-to-day of working with it has a lot more to do with how it handles edge cases and failures. Plandex tries to tighten the feedback loop between developer and LLM: - Every aspect of a Plandex plan is version-controlled, from the context to the conversation itself to model settings. As soon as things start to go off the rails, you can use the `plandex rewind` command to back up and add more context or iterate on the prompt. Git-style branches allow you to test and compare multiple approaches. - As a plan proceeds, tentative updates are accumulated in a protected sandbox (also version-controlled), preventing any wayward edits to your project files. - The `plandex changes` command opens a diff review TUI that lets you review pending changes side-by-side like the GitHub PR review UI. Just hit the 'r' key to reject any change that doesn’t look right. Once you’re satisfied, either press ctrl+a from the changes TUI or run `plandex apply` to apply the changes. - If you work on files you’ve loaded into context outside of Plandex, your changes are pulled in automatically so that the model always uses the latest state of your project. Plandex makes it easy to load files and directories in the terminal. You can load multiple paths: plandex load components/some-component.ts lib/api.ts ../sibling-dir/another-file.ts You can load entire directories recursively: plandex load src/lib -r You can use glob patterns: plandex load src/**/*.{ts,tsx} You can load directory layouts (file names only): plandex load src --tree Text content of urls: plandex load https://ift.tt/luXoZfW Or pipe data in: cargo test | plandex load For sending prompts, you can pass in a file: plandex tell -f "prompts/stripe/add-webhooks.txt" Or you can pop up vim and write your prompt there: plandex tell For shorter prompts you can pass them inline: plandex tell "set the header's background to #222 and text to white" You can run tasks in the background: plandex tell "write tests for all functions in lib/math/math.go. put them in lib/math_tests." --bg You can list all running or recently finished tasks: plandex ps And connect to any running task to start streaming it: plandex connect For more details, here’s a quick overview of commands and functionality: https://ift.tt/Ypgwnxm... Plandex is written in Go and is statically compiled, so it runs from a single small binary with no dependencies on any package managers or language runtimes. There’s a 1-line quick install: curl -sL https://ift.tt/4cSKeNh | bash It's early days, but Plandex is working well and is legitimately the tool I reach for first when I want to do something that is too large or complex for ChatGPT or GH Copilot. I would love to get your feedback. Feel free to hop into the Discord ( https://ift.tt/MBJx6yV ) and let me know how it goes. PRs are also welcome!
12 by danenania | 8 comments on Hacker News.
Hey HN, I'm building Plandex ( https://plandex.ai ), an open source, terminal-based AI coding engine for complex tasks. I built Plandex because I was tired of copying and pasting code back and forth between ChatGPT and my projects. It can complete tasks that span multiple files and require many steps. It uses the OpenAI API with your API key (support for other models, including Claude, Gemini, and open source models is on the roadmap). You can watch a 2 minute demo here: https://player.vimeo.com/video/926634577 Here's a prompt I used to build the AWS infrastructure for Plandex Cloud (Plandex can be self-hosted or cloud-hosted): https://ift.tt/hdVkvPD... Something I think sets Plandex apart is a focus on working around bad outputs and iterating on tasks systematically. It's relatively easy to make a great looking demo for any tool, but the day-to-day of working with it has a lot more to do with how it handles edge cases and failures. Plandex tries to tighten the feedback loop between developer and LLM: - Every aspect of a Plandex plan is version-controlled, from the context to the conversation itself to model settings. As soon as things start to go off the rails, you can use the `plandex rewind` command to back up and add more context or iterate on the prompt. Git-style branches allow you to test and compare multiple approaches. - As a plan proceeds, tentative updates are accumulated in a protected sandbox (also version-controlled), preventing any wayward edits to your project files. - The `plandex changes` command opens a diff review TUI that lets you review pending changes side-by-side like the GitHub PR review UI. Just hit the 'r' key to reject any change that doesn’t look right. Once you’re satisfied, either press ctrl+a from the changes TUI or run `plandex apply` to apply the changes. - If you work on files you’ve loaded into context outside of Plandex, your changes are pulled in automatically so that the model always uses the latest state of your project. Plandex makes it easy to load files and directories in the terminal. You can load multiple paths: plandex load components/some-component.ts lib/api.ts ../sibling-dir/another-file.ts You can load entire directories recursively: plandex load src/lib -r You can use glob patterns: plandex load src/**/*.{ts,tsx} You can load directory layouts (file names only): plandex load src --tree Text content of urls: plandex load https://ift.tt/luXoZfW Or pipe data in: cargo test | plandex load For sending prompts, you can pass in a file: plandex tell -f "prompts/stripe/add-webhooks.txt" Or you can pop up vim and write your prompt there: plandex tell For shorter prompts you can pass them inline: plandex tell "set the header's background to #222 and text to white" You can run tasks in the background: plandex tell "write tests for all functions in lib/math/math.go. put them in lib/math_tests." --bg You can list all running or recently finished tasks: plandex ps And connect to any running task to start streaming it: plandex connect For more details, here’s a quick overview of commands and functionality: https://ift.tt/Ypgwnxm... Plandex is written in Go and is statically compiled, so it runs from a single small binary with no dependencies on any package managers or language runtimes. There’s a 1-line quick install: curl -sL https://ift.tt/4cSKeNh | bash It's early days, but Plandex is working well and is legitimately the tool I reach for first when I want to do something that is too large or complex for ChatGPT or GH Copilot. I would love to get your feedback. Feel free to hop into the Discord ( https://ift.tt/MBJx6yV ) and let me know how it goes. PRs are also welcome!
New top story on Hacker News: 'Lavender': The AI machine directing Israel's bombing in Gaza
'Lavender': The AI machine directing Israel's bombing in Gaza
363 by contemporary343 | 310 comments on Hacker News.
363 by contemporary343 | 310 comments on Hacker News.
New top story on Hacker News: Show HN: Burr – A framework for building and debugging GenAI apps faster
Show HN: Burr – A framework for building and debugging GenAI apps faster
20 by elijahbenizzy | 6 comments on Hacker News.
Hey HN, we're developing Burr (github.com/dagworks-inc/burr), an open-source python framework that makes it easier to build and debug GenAI applications. Burr is a lightweight library that can integrate with your favorite tools and comes with a debugging UI. If you prefer a video introduction, you can watch me build a chatbot here: https://www.youtube.com/watch?v=rEZ4oDN0GdU . Common friction points we’ve seen with GenAI applications include logically modeling application flow, debugging and recreating error cases, and curating data for testing/evaluation (see https://ift.tt/yzZ9wg1 ). Burr aims to make these easier. You can run Burr locally – see instructions in the repo. We talked to many companies about the pains they felt in building applications on top of LLMs and were surprised how many built bespoke state management layers and used printlines to debug. We found that everyone wanted the ability to pull up the state of an application at a given point, poke at it to debug/tweak code, and use for later testing/evaluation. People integrating with LLMOps tools fared slightly better, but these tend to focus solely on API calls to test & evaluate prompts, and left the problem of logically modeling/checkpointing unsolved. Having platform tooling backgrounds, we felt that a good abstraction would help improve the experience. These problems all got easier to think about when we modeled applications a state machines composed of “actions” designed for introspection (for more read https://ift.tt/oGbPh76... ). We don’t want to limit what people can write, but we do want to constrain it just enough that the framework provides value and doesn’t get in the way. This led us to design Burr with the following core functionalities: 1. BYOF. Burr allows you to bring your own frameworks/delegate to any python code, like LangChain, LlamaIndex, Hamilton, etc. inside of “actions”. This provides you with the flexibility to mix and match so you’re not limited. 2. Pluggability. Burr comes with APIs to allow you to save/load (i.e. checkpoint) application state, run custom code before/after action execution, and add in your own telemetry provider (e.g. langfuse, datadog, DAGWorks, etc.). 3. UI. Burr comes with its own UI (following the python batteries included ethos) that you can run locally, with the intent to connect with your development/debugging workflow. You can see your application as it progresses and inspect its state at any given point. The above functionalities lend themselves well to building many types of applications quickly and flexibly using the tools you want. E.g. conversational RAG bots, text based games, human in the loop workflows, text to SQL bots, etc. Start with LangChain and then easily transition to your custom code or another framework without having to rewrite much of your application. Side note: we also see Burr as useful outside of interactive GenAI/LLMs applications, e.g. building hyper-parameter optimization routines for chunking and embeddings & orchestrating simulations. We have a swath of improvements planned. We would love feedback, contributions, & help prioritizing. Typescript support, more ergonomic UX + APIs for annotation and test/eval curation, as well as integrations with common telemetry frameworks and capture of finer grained information from frameworks like LangChain, LlamaIndex, Hamilton, etc… Re: the name Burr, you may recognize us as the authors of Hamilton (github.com/dagworks-inc/hamilton), named after Alexander Hamilton (the creator of the federal reserve). While Aaron Burr killed him in a duel, we see Burr being a complement, rather than killer to Hamilton ! That’s all for now. Please don’t hesitate to open github issues/discussions or join our discord https://ift.tt/4EQnavt to chat with us there. We’re still very early and would love to get your feedback!
20 by elijahbenizzy | 6 comments on Hacker News.
Hey HN, we're developing Burr (github.com/dagworks-inc/burr), an open-source python framework that makes it easier to build and debug GenAI applications. Burr is a lightweight library that can integrate with your favorite tools and comes with a debugging UI. If you prefer a video introduction, you can watch me build a chatbot here: https://www.youtube.com/watch?v=rEZ4oDN0GdU . Common friction points we’ve seen with GenAI applications include logically modeling application flow, debugging and recreating error cases, and curating data for testing/evaluation (see https://ift.tt/yzZ9wg1 ). Burr aims to make these easier. You can run Burr locally – see instructions in the repo. We talked to many companies about the pains they felt in building applications on top of LLMs and were surprised how many built bespoke state management layers and used printlines to debug. We found that everyone wanted the ability to pull up the state of an application at a given point, poke at it to debug/tweak code, and use for later testing/evaluation. People integrating with LLMOps tools fared slightly better, but these tend to focus solely on API calls to test & evaluate prompts, and left the problem of logically modeling/checkpointing unsolved. Having platform tooling backgrounds, we felt that a good abstraction would help improve the experience. These problems all got easier to think about when we modeled applications a state machines composed of “actions” designed for introspection (for more read https://ift.tt/oGbPh76... ). We don’t want to limit what people can write, but we do want to constrain it just enough that the framework provides value and doesn’t get in the way. This led us to design Burr with the following core functionalities: 1. BYOF. Burr allows you to bring your own frameworks/delegate to any python code, like LangChain, LlamaIndex, Hamilton, etc. inside of “actions”. This provides you with the flexibility to mix and match so you’re not limited. 2. Pluggability. Burr comes with APIs to allow you to save/load (i.e. checkpoint) application state, run custom code before/after action execution, and add in your own telemetry provider (e.g. langfuse, datadog, DAGWorks, etc.). 3. UI. Burr comes with its own UI (following the python batteries included ethos) that you can run locally, with the intent to connect with your development/debugging workflow. You can see your application as it progresses and inspect its state at any given point. The above functionalities lend themselves well to building many types of applications quickly and flexibly using the tools you want. E.g. conversational RAG bots, text based games, human in the loop workflows, text to SQL bots, etc. Start with LangChain and then easily transition to your custom code or another framework without having to rewrite much of your application. Side note: we also see Burr as useful outside of interactive GenAI/LLMs applications, e.g. building hyper-parameter optimization routines for chunking and embeddings & orchestrating simulations. We have a swath of improvements planned. We would love feedback, contributions, & help prioritizing. Typescript support, more ergonomic UX + APIs for annotation and test/eval curation, as well as integrations with common telemetry frameworks and capture of finer grained information from frameworks like LangChain, LlamaIndex, Hamilton, etc… Re: the name Burr, you may recognize us as the authors of Hamilton (github.com/dagworks-inc/hamilton), named after Alexander Hamilton (the creator of the federal reserve). While Aaron Burr killed him in a duel, we see Burr being a complement, rather than killer to Hamilton ! That’s all for now. Please don’t hesitate to open github issues/discussions or join our discord https://ift.tt/4EQnavt to chat with us there. We’re still very early and would love to get your feedback!