Readit News logoReadit News
elzr commented on Conway's Game of Life is omniperiodic   arxiv.org/abs/2312.02799... · Posted by u/sohkamyung
Dove · 2 years ago
Our family celebrated the event with a custom t-shirt:https://www.teepublic.com/t-shirt/49108604-life-is-omniperio...
elzr · 2 years ago
Whoa, that catalog of oscillators is beautiful! Thanks for taking the time to arrange it with your son and for sharing it with us. Can definitely see the appeal of having a giant wall tapestry of it. :D

Seeing all 43 oscillators all at once took my breath away because it reminded me so much of some prime-factor flowers I've been playing with for years. Perhaps you or your son might find them interesting: https://twitter.com/elzr/status/1733007772181233681

elzr commented on Homoiconic Spreadsheets: What, How and Why [video]   youtube.com/watch?v=U9uZl... · Posted by u/winkywooster
whacked_new · 3 years ago
intriguing presentation! So I have 1 prediction and 1 question.

prediction: even though lambdas bring "code programming" into spreadsheets, and it's a huge leap in functionality for the spreadsheet, the dominant programming mode in the spreadsheet will still be interactive programming in the "traditional" spreadsheet sense. I claim this because the mental model of code programming is different from interactive programming. That said, this will extend the reach of code programming output to the hands of more millions (who will simply copy and paste).

question: the direction of spreadsheets moving into lamdas makes as much sense as "lambdas" into spreadsheets. We've seen several new spreadsheet implementations pop up in the past years, including ones with built-in programming capability, but none of them really seem like as big of a deal as Gsheets/Excel adding lambdas. Presumably this is because spreadsheets include a ton of other features that prove its widespread usefulness even before adding things like metaprogramming. Is this about right, or did I miss a great product/language in the wild?

elzr · 3 years ago
Thanks for the kind words whacked_new!

I agree entirely with your prediction: spreadsheet programming is different from interactive "control flow" programming... and it should remain different! The spreadsheet model of programming is easier to grasp and incredibly flexible. I think the key is that spreadsheets are time-less & space-full, I hint at this in the talk & see also my root comment for more elaboration on this.

What's exciting to me about lambdas is that they can be used to enhance this time-less, space-based style, like in the examples I elaborate around 18m47s: the habit tracker, timesheets & a spatialized Game of Life.

I imagine/hope that in a few years we will have a culture of casually importing magical custom functions that will become polished through mass use and eventually become standard. These native functions are much safer than macros so you can be as casual with them as copy-pasting formulas. There's no permissions fuss to wade through, as there is for AppScript. (I even think there will soon be libraries of custom functions, I might even publish one myself in a couple of months.)

* * *

As to your question, I interpret it as: why are lambdas coming inside spreadsheets instead of spreadsheets becoming incorporated into programming languages, right?

I have come across many extensions of spreadsheets over the years. Spreadsheets are so ubiquitous there's many kinds of wrappers for them, many hybrids. Since the birth of spreadsheets in 1979 there has been a flood of drastic alternatives & variations that have been tried. The most famous variant so far has been pivot tables, which has become a useful, somewhat infamously intimidating feature of spreadsheets but not the revolution once expected. One of the more interesting extensions is TreeSheets https://strlen.com/treesheets/ But nothing yet has beaten the simplicity & power of a flexible grid sprinkled with formulas & references through the value rule.

To me the most important thing I learned researching this talk was that it crystallized in my mind that spreadsheets are not just a table, not just a grid. They have a key constraint, they intertwine code and data through the value rule that Kay pointed out 5 years after dynamic spreadsheets were invented (see http://worrydream.com/refs/Kay%20-%20Computer%20Software%20-... ).

So my answer to your question is that spreadsheets have been incorporated into programming languages, they have long grown scripting languages like VBA or Google AppScript. Those are massively useful for top-down extensions of the functionality of spreadsheets.

But the other direction, lambdas in spreadsheets, has been much slower & difficult, yet it offers the promise of a more bottom-up revolution in usage. It has taken us decades to evolve the model of spreadsheets towards lambdas in a way that works well with their true nature and to the ton of other features & culture they've grown over the years. (My personal favorite feature, btw, is the incredibly flexible formatting we can give to a sheet, specially conditional formatting.) As mentioned in the talk, spilled arrays are a recent, crucial step to make lambdas possible & useful.

elzr commented on Homoiconic Spreadsheets: What, How and Why [video]   youtube.com/watch?v=U9uZl... · Posted by u/winkywooster
somat · 3 years ago
I am not a fan of anonymous functions. I think they are evocative of maths culture tendency to remove and make meaningless names(for example, using greek letters). Yes I know naming things is hard, but names are important, they are critical labels about the inner inner working of the machine.

Nothing wrong with functional programing, in fact it is pretty great, But I wish people would name their functions.

elzr · 3 years ago
Have you checked the interface that Google Sheets came up for custom functions? It's in the menu of every spreadsheet in Data > Named Functions. It's pretty good and encourages not only extensive naming but documentation & examples of the function and each argument. These descriptions are then displayed piece-meal as you edit a formula, just like native documentation.

I also love good names! I hated not being able to have names in formulas and the name part of Named Functions is alone a big quality of live improvement for me.

As to lambdas, perhaps calling them anonymous functions is giving the wrong impression here. What lambdas really are is a simple, native way to create a context with local names. They can be a great boon to clarity through naming!

Spreadsheets have been historically so limited that programmers have resorted to hacky ways to have names/comments. The N function for numerical values is used sometimes for this since N of a string defaults to 0: so N("Name/comment") = 0 and can be added to a formula without changing it.

As to the cultural practice of ultra-short, likely meaningless variable names, like single letters. I do agree it's a "mathy" thing and can quickly descend into maddening opaqueness. The trick though is that sometimes it's very useful to have as compact a symbolic representation as you can manage (such a process of abbreviation gave us algebra!). Naming things is hard, perhaps one of the truly hard things in thinking/programming as the saying goes :)

elzr commented on Homoiconic Spreadsheets: What, How and Why [video]   youtube.com/watch?v=U9uZl... · Posted by u/winkywooster
cryptonector · 3 years ago
This is truly fantastic.
elzr · 3 years ago
Thanks! It was the first time I gave a public talk to programmer peers so I was quite nervous :)
elzr commented on Homoiconic Spreadsheets: What, How and Why [video]   youtube.com/watch?v=U9uZl... · Posted by u/winkywooster
elzr · 3 years ago
Hi all, I'm Eli Parra & I gave this talk at ReClojure 2022 in December 3, 2022. Very happy to see this here in HN!

A bit of personal background of the talk: my work over the years has involved making internal tools for fast-moving, small organizations and that's how I fell in love with spreadsheets. They are the best canvas I know of to whip up custom, user-friendly interfaces in a couple of hours. These prototypes often then go on to be intensely used for months and even years with organic growth & minimal maintenance.

Spreadsheets are often seen with condescension by technical people & they've grown a heavy patina of drudgery over the decades. But to me they represent creative freedom & the easiest interface to computation we've yet found, so successful it's nearly invisible. I gave this talk because I'm starting to find answers to what makes them so successful and have ideas of how they might evolve.

My key points in the talk:

* Spreadsheets matter. Used by billions of people, they're the main way to go beyond being a point-and-click user and start programming. I frame spreadsheets as level 2 in a scale for interfaces that Gordon Brander imagines in this essay: https://subconscious.substack.com/p/a-kardashev-scale-for-in...

* Spreadsheets are changing. In 2022 Excel & Google Sheet got lambdas and reached level 3 in Brander's scale. The talk is a stab at what a level-4 spreadsheet might be, how you could translate QUOTE & EVAL into spreadsheets.

* Spreadsheets have an essence, what Alan Kay described as "the value rule" back in 1984: a cell can read from any other but can only write to itself. This is the founding, simplifying constraint of spreadsheets, akin to how structured programming outlawed go-to’s in code.

* Spreadsheets are time-less. The consequence of the value rule is that there is no time in spreadsheets. There are no unfolding sequences or loops or conditionals, execution happens in a subjective instant after a user change and only then.

* Spreadsheets are easy because they're time-less & space-full. They do without the trickiest part of computation (invisible unfolding time) and include a native, idealized space, the biggest aid to computation we’ve found: an interactive grid you embody & reference through cells. As opposed to ”normal" control-flow programming that goes wild with time & has abstract data structures for space.

* Homoiconicity can be practical! When translated to spreadsheets, homoiconicity looks very related to copy-paste, links, transclusion & component/instances.

To sum up: Spreadsheets are old but they've never been "finished", they've keept evolving and they merit a new look.

elzr commented on Mysterious DNA sequences, known as ‘Borgs,’ recovered from California mud   sciencemag.org/news/2021/... · Posted by u/walterbell
jcims · 4 years ago
Are there any works consumable by a layperson that explore the mathematical probabilities of evolution and genetic diversity? When you look at it from the perspective of simple combinatorics, nothing seems possible. A single gene has say 4^300 permutations. You could devote the entire mass of the known universe iterating on versions of a protein a trillion times per second for a trillion years and not even remotely scratch the surface of possible configurations.
elzr · 4 years ago
I think you'll enjoy Andreas Wagner's 2014 Arrival of the Fittest https://amzn.com/B00INIQTA6 The title is of course a play on the (in)famous phrase "survival of the fittest".

The book's about how nature manages to actually explore the vast, vast genetic space and harvest its bounties cumulatively, while under the constrain that every "step" must be a viable organism with offspring.

elzr commented on Einstein's boyhood proof of the Pythagorean theorem (2015)   newyorker.com/tech/elemen... · Posted by u/S4M
chx · 8 years ago
Since we are on HN and talking of the Pythagorean theorem, I must mention E. W. Dijkstra's proof. https://www.cs.utexas.edu/users/EWD/transcriptions/EWD09xx/E... he proves the generalization sgn(α + β - γ) = sgn(a² + b² - c²) also by using similar triangles. Incredibly neat.
elzr · 8 years ago
Whoa, that IS neat. Thanks for sharing! A key part of his reformulation is π = α + β + γ (the sum of the internal angles of a triangle equal 2 right angles). That statement is, funny enough, equivalent to the parallel postulate.

Going on a tangent now: lately I've been thinking that the "dead horse" of the Pythagorean theorem is actually trying to tell us that flat (as opposed to fractal!) dimensions come from composable self-similarity (squares).

elzr commented on Euclid's Elements (1997)   aleph0.clarku.edu/~djoyce... · Posted by u/_ieq6
wyc · 8 years ago
This is one of the best-written books ever! Most non-fiction works strive (knowingly or not) to reach such a fine form. Words are massaged into terms, sentences into propositions, and certain paragraphs into arguments. This work is the purest form of that, a true paragon with enviable succinctness. Even if you're not into math, try picking up a copy of Euclid's Elements to see how articulate thoughts _can_ be.
elzr · 8 years ago
Have you read Mortimer J Adler's How to Read a Book? I just finished it a month ago and your mention of terms, propositions and arguments seems straight out of the book's theory of reading :)

Thanks for your review by the way, it motivated me to reread Euclid.

elzr commented on Stablecoins: A Holy Grail in Digital Currency   thecontrol.co/stablecoins... · Posted by u/ntomaino
skybrian · 8 years ago
Replace "blockchain" with "merkel trees" and you get interesting things like certificate transparency, which is certainly "worth your time".

Hype aside, public, shared, consistent, irrevocable ledgers are useful for all sorts of things even if you're not attempting to solve the "no trust" problem.

elzr · 8 years ago
How can you get an irrevocable ledger without solving the "no trust" problem?
elzr commented on Splitting Equity Among Founders   themacro.com/articles/201... · Posted by u/ohitsdom
elzr · 9 years ago
I didn't understand the very last part:

> Another good contingency measure is for only the CEO to hold a board seat before a significant equity fundraise. That will prevent board disputes during tough decisions, such as in the unlikely event that the CEO has to fire a co-founder.

Can someone please unfurl what this means? Is it arguing for the founders NOT to have a board seat before significant equity changes so that the CEO can be the arbiter betwen them? (Btw, it's odd to assume the CEO is not a founder).

u/elzr

KarmaCake day503June 17, 2008
About
http://elzr.com
View Original