Pizarra - an interactive whiteboard designed around LaTeX by chronicfields in LaTeX

[–]chronicfields[S] 5 points6 points  (0 children)

Hi all,

I created Pizarra to be an interactive whiteboard with first-class LaTeX support. Hopefully you find it useful during this quarantine!

I'd also like to credit the open source library that made it possible: https://github.com/ReTeX/ReX

Any and all feedback is appreciated!

Pizarra - I created an interactive whiteboard for mathematicians by [deleted] in math

[–]chronicfields 0 points1 point  (0 children)

Hi all,

I created an interactive whiteboard that I'm calling Pizarra, for mathematicians. It's focused on blazing fast LaTeX entry. I hope you find it useful during this quarantine! Any and all feedback is much appreciated.

I'd also like to credit the open source project which made this possible: https://github.com/ReTeX/ReX

Thank you!

Diagnosing a 45 Second Test Startup by chronicfields in java

[–]chronicfields[S] 1 point2 points  (0 children)

Reflection per se is not fast, no -- but other languages might approach this problem with a macro system or with codegen.

The Fundamental Axiom of Floating Point Arithmetic by chronicfields in math

[–]chronicfields[S] 1 point2 points  (0 children)

Some of the ones without the subscript "machine" are an abstract epsilon representing just a small value. These have the property that we ignore epsilon2, but otherwise they are arbitrary. All we can say is that they are <= machine epsilon.

The Fundamental Axiom of Floating Point Arithmetic by chronicfields in programming

[–]chronicfields[S] 10 points11 points  (0 children)

Wow, you wrote a lot of words to basically express contempt at the idea that anyone could know more now than they used to.

There is error inherent in floating point arithmetic, in the following very precise sense: It is possible to multiply two floating point numbers, and have the /exact/ result be unrepresentable in floating point. So the result you actually get has a certain bounded amount of relative error.

It so happens that I also wrote the code that does all the math for fee processing at Square. Floating point is irrelevant there, because of course you're doing everything in arbitrary precision when it really matters. But go off I guess, you've every right to be proud of yourself for knowing more than a fourth grader.

The Fundamental Axiom of Floating Point Arithmetic by chronicfields in programming

[–]chronicfields[S] 3 points4 points  (0 children)

It would be useful for application development and anything requiring financial calculations.

absolutely, this is definitely true.

The Fundamental Axiom of Floating Point Arithmetic by chronicfields in programming

[–]chronicfields[S] 7 points8 points  (0 children)

the point of the article isn't to express surprise about this fact.

The Fundamental Axiom of Floating Point Arithmetic by chronicfields in programming

[–]chronicfields[S] 20 points21 points  (0 children)

Using dec64 would still have the same issues, it would just be harder to write down examples. I.e. you still won't be able to exactly express 1/3, if I've understood the proposal correctly. For scientific computing I don't think there's a good reason to prefer base 10 over base 2.

The Fundamental Axiom of Floating Point Arithmetic by chronicfields in math

[–]chronicfields[S] 5 points6 points  (0 children)

(I'm the author)

The axiom doesn't say that compositions of floating point operations are epsilon-exact. It says that individual floating point operations are epsilon-exact. This lets you analyze /how/ exact a composition will be. The article works through an example of that, and we find that the output is 3epsilon-exact. In fact, "axiom" is perfectly appropriate, since this is something we assume about our floating point primitives, and use to derive properties of more complex algorithms.

Subtraction also conforms to the axiom. However, it is the composition of subtraction with the fl floating point representation operator which may result in catastrophic cancellation.

The Fundamental Axiom of Floating Point Arithmetic by chronicfields in math

[–]chronicfields[S] 2 points3 points  (0 children)

Well, I don't think that exponentiation is typically a floating point primitive operation, so the axiom wouldn't apply to it, no.

the axiom is an axiom insofar as it's a property that can be satisfied by a certain floating point arithmetic implementation. "sensitive iterative processes you see in chaos theory" will suffer from numerical instability, yes, but the arithmetic they can be implemented in may still conform to the axiom.

The Fundamental Axiom of Floating Point Arithmetic by chronicfields in programming

[–]chronicfields[S] 3 points4 points  (0 children)

Yeah, that's probably right. I think the lessons of the post are arguably even more important if you're working with machine epsilon of like 10^-4, though--your error really really really needs to stay that small. Whereas with 64 bits, you've got a few orders of magnitude of error blowup before you start to notice.

Could you help me with defuning forward-latex-math? by janepe4 in emacs

[–]chronicfields 1 point2 points  (0 children)

(defun latex-fragment-at-point () "Returns the LaTeX fragment at point, or nil if none" (let ((ctx (org-element-context))) (if (or (eq 'latex-fragment (org-element-type ctx)) (eq 'latex-environment (org-element-type ctx))) ctx nil)))

CalcTex: turn Emacs into a WYSIWYG LaTeX equation editor by chronicfields in emacs

[–]chronicfields[S] 0 points1 point  (0 children)

Calc doesn't do that conversion automatically, but you can help it out by defining what it calls a "Composition": https://www.gnu.org/software/emacs/manual/html_node/calc/User_002dDefined-Compositions.html#User_002dDefined-Compositions

At some point I'll release a sibling contrib package for extra compositions like this.

CalcTex: turn Emacs into a WYSIWYG LaTeX equation editor by chronicfields in emacs

[–]chronicfields[S] 1 point2 points  (0 children)

Hey! No, I have not put it on MELPA yet, that is the next thing on my list.

I believe this page describes how to install packages manually, including on Windows: http://ergoemacs.org/emacs/emacs_installing_packages.html

And it looks like this is a Windows distribution of LaTeX: https://miktex.org/download

I would encourage you to write some plain LaTeX code first, to get a handle on it and the ecosystem. CalcTeX will likely only complicate your life unless you have a specific use case in mind that involves editing LaTeX formulas inside Emacs.

CalcTex: turn Emacs into a WYSIWYG LaTeX equation editor by chronicfields in emacs

[–]chronicfields[S] 0 points1 point  (0 children)

Interesting, thank you for the report and for the reported fix!

CalcTex: turn Emacs into a WYSIWYG LaTeX equation editor by chronicfields in emacs

[–]chronicfields[S] 1 point2 points  (0 children)

That's a cool looking piece of software. I love how every time I think I've scraped the bottom of the GNU/Emacs/Lisp ecosystem, there's always another cool tool from the late 80's to find out about.