I have a silly little wiki engine I made 20 years ago. It was an exercise in trying to better learn the traditional unix text processing tools. So the page templates were in m4, sed and awk did their traditional heavy lifting for request parsing and page generation. and page history was provided by rcs. Which fit better than cvs because it provides a history per file.
The whole thing is really the mother of all injection vulnerabilities but I am still half tempted to try and spin it up once more and see what happens if i put it on the public web.
Killed themselves after using it for fifteen minutes. I used to have to teach a commercial "Intro to Unix" course which had a section on SCCS - shudder!
I don't know - RCS just made more sense to me. And I really disliked RCS. You know some things are bad when something like CVS seems all warm and cuddly in comparison.
> I'd have thought that alcoholism would have been enough to numb the pain.
You may be right - it would certainly explain some aspects of my life since those days ;)
I think you would get sqrt(x^2) = x, if x belonged to the natural domain of sqrt, which is a Riemann surface, that may also be defined using the language of "sheaves". I don't know how to connect this to the article or Mathematica.
That's not what it simplifies to using a real or complex number domains for x, it's abs(x). CAS need type inference assumptions and/or type qualifiers to be more powerful.
For x = -i, square(x) = -1, sqrt(square(x)) = i. Meanwhile, abs(x) = 1. You're right that it simplifies to abs(x) for real x, but that no longer holds for arbitrary complex values.
so there's an unconditionally correct answer (it's also equal to abs(x) for x>0), and then there is an answer that is only correct for half the domain, which requires an additional assumption.
Not in general. As people have pointed out elsewhere, it's true if x is real. That isn't always a helpful assumption. (When x is real you can plug that assumption into Mathematica. Then Mathematica should agree with you.)
But consider sqrt(i) = sqrt(exp(i\pi/2)). That's exp(i\pi/4). Your rule would give 1 as the answer. It's not helpful for a serious math system to give that answer to this problem.
I feel this so, so much. It is a very exciting time. I have had a very specific goal in mind and I could work out large parts on my own. But there is a lot that I didn't have any basis or time to build expertise on. Using Claude Code to fill out those gaps and educate me along the way has meant I've gotten little sleep in the last two months. And I managed to make the thing I was envisioning: https://gridpaper.org/examples/ :)
Opinions differ: hobby coders love it, but domain expert secretly despise it because it narrows the gap between the skills they spent years honing and the average Claude, I mean Joe, that just uses this mental exoskeleton.
I do understand this sentiment. But I wish these experts would see that they too are novices in literally every other field that they are not explicitly trained or experienced in. It is fun to explore curiosities even in spaces you don't know well.
Hi! I'm a computational scientist by training, and I've spent an unreasonable number of years wrangling gnuplot and matplotlib to make figures look right for papers and presentations. At some point I just wanted to try to build a tool to help.
Gridpaper is a figure editor that runs entirely in your browser. Under the hood, it's gnuplot 6 compiled to WebAssembly, which means you get all that rendering power without installing anything. No account, no server, your data never leaves your machine.
The core idea is that there are no chart types. Instead you compose layers from a small set of building blocks: 12 geometric marks (curves, bars, heatmaps, vectors, surfaces…) across 5 coordinate systems. A scatter plot with a fit line isn't a special widget — it's two layers. A grouped bar chart is three bar layers in a group set to dodge. It sounds abstract, but in practice it means you can build a lot from very few pieces.
Some things worth poking at:
* The example gallery has 50 figures you can click to open in the editor
* Try importing a CSV (drag it onto the canvas)
* Switch to polar or 3D coordinates and watch the available marks change
* The design page¹ explains the compositional grammar if that sort of thing interests you
I should be upfront: it's not open source yet. I'm a solo developer and I want to get the core solid first. The plan is to open the rendering engine (the gnuplot WASM bridge and compiler) first, then the full editor.
reply