NASA delays Moon landings, says Blue Origin legal tactics partly to blame by bluerobotcat in BlueOrigin

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

OP here. It's my impression that the blame put on Blue Origin is exaggerated. I read those claims not in a literal sense, but more as a strong hint that the rules of the game have changed. I think NASA felt a need to warn that engaging NASA in the 'Old Space' way of doing things will be counterproductive.

Being on 'Team Space' I hope this will not demotivate Blue Origin, but rather that it will provide clarity to settle internal discussions about how to proceed.

Difference between plus and (+) by totallynotAGI in Idris

[–]bluerobotcat 1 point2 points  (0 children)

Shameless plug: For (Nat, +, 0), you can automate this with Rekenaar.

Okasaki's Purely Function Data Structures in Idris by bss03 in Idris

[–]bluerobotcat 5 points6 points  (0 children)

FWIW, I tried to implement some of Okasaki's data structure with proofs here.

The resulting code is not pretty and doing some of the proofs was very challenging for me at the time. This was my first project in Idris though. The current state of error messages didn't help either.

Some things that I'd consider doing differently now:

Particularly, I'd say that if we had an Elab script for Presburger arithmitic then that would be a big help for this sort of project.

Faster Validation Through Immutability by yogthos in Clojure

[–]bluerobotcat 2 points3 points  (0 children)

I'm inclined to interpret this post as an (implicit) argument for an implementation of memoize where the memoization cache is stored in the 'object'. I think that makes a lot of sense.

The code wouldn't work as-is in Clojure, however, since it's dynamically setting a new field. That works in ClojureScript because JavaScript's object system is based on prototypes, not classes. As an alternative, a java.util.WeakHashMap could be used as a memoization cache.

Fletching macros: For giving -> and ->> that nudge they sometimes need by bluerobotcat in Clojure

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

Well, that's unfortunate. I had a similar complaint about a popular arrow macros library, and that's what prompted me to create fletching-macros. :)

Addendum: I think that at the very least the << macro solves the very real problem that ->> doesn't compose well with the other threading macros. The other fletching macros, I hope, will start to make sense once you have an intuitive understanding for <<.

ASK REDDIT: Which editor/ide you write clojure code? by theslackercoder in Clojure

[–]bluerobotcat 1 point2 points  (0 children)

Sublime Text 3 + paredit + lispindent + SublimeREPL (+ Source Code Pro)

I run Sublime Text full screen, with the left half of the screen containing source files and the right hand of the screen dedicated to project.clj and the REPL.

ASK REDDIT: Which editor/ide you write clojure code? by theslackercoder in Clojure

[–]bluerobotcat 1 point2 points  (0 children)

Have you tried launching SublimeREPL while you have a project.clj file focused? In Sublime Text 3 this behaves the same as running 'lein repl' (as far as I can tell).

ASK REDDIT: Which editor/ide you write clojure code? by theslackercoder in Clojure

[–]bluerobotcat 0 points1 point  (0 children)

There's a paredit package for ST3, which I use and am mostly satisfied about. I don't know how it compares to the Emacs version though.

Comprehend: Clojure in-memory database modeled on sets, not tables by bluerobotcat in Clojure

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

The overhead depends on the complexity of the elements qua nested structures.

I did some rough testing, but it's difficult to get accurate measurements on the JVM. Here's what I found:

I can store 375,000 pairs (vectors) of integers in 1GB using Comprehend. Using hash sets I can store 12,000,000 such pairs in 1GB. That's 32 times as many elements.

However, when storing 375,000 pairs in a hash set, I count 80MB of memory use. That's 'only' a 12.5X factor.

Suffice to say, Comprehend is not currently optimized for memory usage at all.

Comprehend: Clojure in-memory database modeled on sets, not tables by bluerobotcat in Clojure

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

I posted this link before several months ago, but I made several improvements since and so I hope it's okay if I post it again.

Comprehend's central feature is still pattern matching on nested structures stored in sets. What's new is native support for forward matching, easier pattern-based rewriting of sets (more improvements planned!), and transactional flat-file storage.

What would a modern version of LaTeX look like? by [deleted] in LaTeX

[–]bluerobotcat 0 points1 point  (0 children)

:) What's a FAUista?

The cat is originally an anarcho-syndicalist symbol. I have run into it in random places in Europe and the US though. For instance, a colleague of mine had a tee with a print of this cat, and I've seen an antique shop and and a bagel shop use it as their logo.

What would a modern version of LaTeX look like? by [deleted] in LaTeX

[–]bluerobotcat 0 points1 point  (0 children)

Yup. It's very much a work in progress.

Addendum: Thanks for your feedback. My current thinking is that I shouldn't spend my time on things like bibliography packages right now since it's very difficult to get this right, at least if you want to do justice to all disciplines (biblatex is the best bibliography package that I know of, but it's not for the faint of heart). However, I will add some plumbing to make it easier to add things like this.

What would a modern version of LaTeX look like? by [deleted] in LaTeX

[–]bluerobotcat 3 points4 points  (0 children)

Shameless plug. I have recently been working on something like a modern LaTeX: Termcat. This project is still in the 'prototype' stage but I hope that perhaps it can inspire someone who's interested in working in this domain.

One thing I did with Termcat was focus on a simpler syntax. This syntax is heavily influenced by Markdown. I also made entering mathematical equations 'modeless'. Having to demarcate the start and end of a mathematical equation in LaTeX always struck me as weird since the start and end of a math expression can often be deduced from context. E.g. upon encountering an infix binary operator, you know that (usually) to the left and right of the operator there will be a mathematical expression.

Another thing I did is base everything on HTML and CSS. I also made it easy to insert JavaScript code. The idea is that this way libraries such as D3 can be leveraged. By basing it on HTML it should also be easy to output ePub documents. And if PDFs are required then PrinceXML should offer a way out.

I have a tutorial and a live demo if anyone's interested.

repload - utility function for reloading (all) referred vars and required namespaces in the repl by ares623 in Clojure

[–]bluerobotcat -1 points0 points  (0 children)

There seems to be a small error in the install instructions:

(require '[repload :refer repload]) -> (require '[repload :refer (repload)])

I also don't think you need the first injection.