Hi, I work on the instruct models. Are you able to share details about the particular task you're doing and the prompts you've tried? (email: <my HN username>@openai.com )
In general, the code philosophy behind ggplot2 and related tools (the so-called "tidyverse" in R) embraces functional programming, in particular doing computation by pure composition of smaller computations.
Using the "+" operator to denote composing parts of visualizations is not the greatest syntax but I think we're basically stuck with it for a bit due to historical baggage. See this note from the creator of ggplot, Hadley Wickham: https://community.rstudio.com/t/why-cant-ggplot2-use/4372/7
It may make more sense when you see analysts writing & sharing a lot of code sessions, especially via notebooks. Functional plotting ends up helping a lot! For big graph-y graphs, we made pygraphistry that way, which enables multi-cell flows like:
g2.edges(cudf.read_csv('file2.csv')).plot() # reuse g2's color settings
g1.edges(cudf.read_csv('file2.csv')).plot() # ... or just g1's graph shape
```
Being able to 'fork' plots and interactively swap in different data / encodings is super great over the course of a session. You can always go back to an earlier one as you make progress. Likewise, you can rerun notebook cells and read them top-to-bottom without worrying too much.
So while we're looking at some V2 additions, maybe supporting R, and updating some of the core (more automatic GPU goodness!)... we're definitely keeping the compositional style.
Interesting nit: Libraries copying the original grammar of graphics can likely benefit from friendlier functional DSL presentation styles. As is, I think they make it much harder to read + write, undercutting much of the productivity potential. I love the academic concept of making everything a composable value, but doing naked composition over a massive namespace of diverse types.. is super confusing to read + write.
Learning from pandas & jquery, we ended up instead steering users to chaining for the typical case: `g.bind(...).edges(...).nodes(...).encode(...).plot()`. It's functional so you can always do `g_intermediate = g...` and likewise still do first-class GoG-syntax-style things with them of you really want `f(g._bindings)`. However, those are the minor case, and people doing them make code harder to read + write:
-- Reading GoG code is confusing: In `x + f(y)`, often unclear what x, y, and f(y) are, and more so in dynamic languages like Python + R that they're used in. In `g.bind(..).encode(...).plot(...)`, each composition is pretty obvious in the typical case, and you can always read back or do first-class in the atypical case.
-- GoG plot authoring is jarring: When doing `x + ...`, tab complete doesn't get you far. If tab complete does somehow kick in, you are dealing with a big namespace dump. Instead, I see people turn to google for almost every step! In contrast, table complete on `g.nodes(df)...` will pull up the most likely next settings to add, and then again for the arguments to fill into whatever command you pick.
GoG defaults to those for the typical case, vs atypical one, so a 2nd-class imperative API may be easier. But with chaining, we get functional composition without losing straight-line reading and tab-complete. Best of both worlds!
Thanks, I will have to read it carefully, but from the abstract it doesn't seem as simple as "increased Tether printing makes BTC rally." But if there is in fact a statistically significant correlation, I would personally wager there's causation and hedge my bets accordingly.
I think the abstract does effectively say that: "these patterns are most consistent with the supply‐based hypothesis of unbacked digital money inflating cryptocurrency prices." And this point is made more forcefully in the paper.
FWIW, I don't have a strong opinion on the evidence presented in the paper -- the analyses seem sensible, but this isn't my field of expertise, so I'd be hard pressed to point out, for example, what alternative analyses they could / should have done.
Also, it's not even obvious to me that unbacked Tether causing the BTC price rallies is necessarily a reason to pull out; markets are weird.
Found this amateur video[1] on YouTube which documents hunting, preparation, and the final dish by Chamorros from Guam. In contrast to typical crabs, the abuni (pronounced ah-boo-nee; rear end of crab body) is arguably the most desirable and flavorful part. This video[2] demonstrates simple preparation by a Japanese cook; I've highlighted the abuni part, which tastes absolutely amazing despite appearances.
Thanks. I had figured out that grammar induction was the right word to look for a while ago. (But took me a bit to find it.) I know the paper you linked to, but yes, it's not quite the right setup.
With a fixed guesser, that would encode all regular expressions / finite automata as sequences of binary digits. (But in a interestingly different way from just serializing the table for a DFA, or writing down the regular expression in ASCII characters.)
It took me a long time to switch gears. Going from The Wire to Treme is kind of like switching from Windows to Linux -- the hardest part is unlearning what you already know. In my case, I kept expecting Treme to be more Wire-esque. It isn't, at all. It's its own show, with its own characters, in its own city.
What it has in common with The Wire is that its characters are richly crafted, and they're whole characters. Nobody in any David Simon show is a throwaway character, and that might not ever have been more true than in Treme. Also, the acting is exceptional, in every scene, and in every case. Another commonality is that of the failures of people, and of the institutions that ostensibly aim to protect them. Like The Wire, Treme is filled with a panoply of people all attempting their best in every task, but as in life, those people sometimes fail, and often those failures come at the expense of somebody else. Just as in The Wire, we often get to see the impact of those failures up close and personal, and we get to feel the hurt it causes, while sympathizing with those who made whatever mistake caused the failure, and far too often to be comfortable, we get to pick which one of those people we prefer.
There are big differences, obviously. The Wire is, at its core, a cops and robbers drama, with some other stuff going on. Treme focuses more on the people, and less on the game they're playing. Music plays a much bigger role in Treme than in The Wire, but that's a commonality too, as David Simon works tend to feature the city as a character, and Treme's set in New Orleans, and that music is part of New Orleans' character.
The narrative in Treme meanders around A LOT. It all basically wraps itself up by the end, but while The Wire managed to tell a basically cohesive story each season, Treme's big plot is spread out, with blurrier lines. It gives you the feeling of closure with each season finale, but the collection of tales being told don't, and really, keep going well after the show's end.
At the end of the day though, the main difference is that narrative draw. If you need one, maybe Treme isn't for you. Sure, it has political corruption, and criminal investigations, and the occasional legal proceeding, but at its core Treme is really just a window into the lives of a couple dozen folks making their way in post-Katrina New Orleans. We get to see how the storm affected them, and how the city affected them, and sometimes, how they've affected the city -- whether by making their mark on it, or succumbing to its ways, or in some cases, getting out while the getting is good. It isn't about anything that I could wrap up into a few sentences, but it's a deep cultural exploration into a culturally rich and beautiful people, and it's a showcase for some of the best damn music around, and it's an expose into the triumphs and troubles of people just trying to make it work in a city at a time when nothing's working as it should. It's also the inverse of that, in true David Simon form, so -- yeah, nobody can fault you for having a hard time making an adjustment, but it's worth adjusting if you can manage it.