EA - Announcing Squiggle Hub by Ozzie Gooen

The Nonlinear Library: EA Forum - Ein Podcast von The Nonlinear Fund

Kategorien:

Welcome to The Nonlinear Library, where we use Text-to-Speech software to convert the best writing from the Rationalist and EA communities into audio. This is: Announcing Squiggle Hub, published by Ozzie Gooen on August 5, 2023 on The Effective Altruism Forum.OverviewSquiggle Hub is a platform for the creation and sharing of code written in Squiggle. As with Squiggle, Squiggle Hub is free and open-source.As a refresher, Squiggle is a simple programming language for probabilistic estimation that runs on Javascript. It begins with the syntax of Guesstimate, but generally adds a lot more functionality. See its launch post here for more information, or the website for the full documentation.Squiggle Hub is a lot like a more powerful, but less visual, version of Guesstimate. We hope that it will eventually be much more valuable than Guesstimate is now.If you can use Guesstimate, you can basically use Squiggle. If you already use Guesstimate, try using the same syntax in Squiggle. It should mostly work.All models on Squiggle Hub are public. We've produced several small ones so far, and a few friends have written some as well. We're looking forward to seeing what others make!Looking for Squiggle examples? We've organized some in the docs. The Squiggle EA Forum Tag also has an updating list.Key LinksSquiggle HubSquiggle DiscordThe Squiggle Language HomepageSquiggle Newsletter (Part of the QURI Newsletter)FunctionalitySquiggle (the language)Write functions that accept and return probability distributions. Squiggle generates automatic plots for these.You can provide explicit ranges for functions. This helps with the visualization, and ensures they won't be called outside that range. Like, appleStockPrice(t:[2023, 2060]).Custom plots for distributions and functions. Scales include linear, log, and symlog (like log, but with support for negative values). Symlog scales accept a parameter constant that you can use for adjusting the scale.Make custom tables of any data and functions, with Table.make({data, columns}).Automatic conversion of Monte Carlo samples to distribution plots, using KDE. In the cases where the distribution is heavily skewed, Squiggle does this with a log transformation. The result of this is often more accurate than using histograms. Combined with custom scales, Squiggle much better supports highly skewed distributions (i.e. "5 to 5M") than Guesstimate does.Squiggle supports most of JSON. You can copy & paste JSON data and begin using it in Squiggle.Squiggle runs on Javascript. You can simply take Squiggle code and run it in your website, Observable, Obsidian, and more.[1] If you are making an application that uses probability distributions, you can use the Squiggle components directly.Lots of performance enhancements, library additions, and bug fixes, since Squiggle's initial release.All the docs and grammar are consolidated here. You can use this to feed into Claude, for some Squiggle generation and assistance.Squiggle Editor (The window on the left)With "Autorun", the output will update as you type. Turn this off if you want to run it manually.Adjust the number of Monte Carlo samples. It defaults to 1000, but you can change this in the settings. Also, there are a bunch of other toggles there to play with.A built-in Squiggle code formatter. Useful for lengthy files and for storing data.Function and variable autocomplete.Squiggle Viewer (The window on the right)Click the arrows to open and close visualizations.Select any variable in the right view to "zoom in" on it. Very handy when working on particular estimates of a file!On hover, there's a "show in editor" button, that finds the source code to the variable in question.If your Squiggle file ends with a variable, this will be shown as the "Result." You'll still be able to see all of the other defined variables, but these will be collapsed when you open the model. Useful for selecting a few key findings for display purposes.You can...

Visit the podcast's native language site