These replies would be more useful if they included the subscription(s) cost.
HN user
pdobsan
"Today I want to talk about jujutsu, aka jj, which describes itself as being “a Git-compatible VCS that is both simple and powerful”. This is selling itself short. Picking up jj has been the best change I’ve made to my developer workflow in over a decade. ... " -- Sandy Maguire
If you're trying to teach people about the scales of space, I think you need something humanly navigable
The Somerset Space Walk [1] seems to be a very nice candidate for your requirements.
A while ago I wrote a small utility mailctl [1] to provide IMAP/SMTP clients (like msmtp, fdm, isync, mutt, etc.) with the capabilities of renewal and authorization of OAuth2 credentials. mailctl acts as a kind of smart password manager. In particular, access token renewal happens automatically in the background transparent to the user.
Since the program written in Haskell I also provided precompiled binaries to spare my potential users, most of them not Haskellers, from the complications of compiling it. The program have become moderately popular. However, little I knew how big can of worms I opened by releasing it to the public.
As many others pointed out, the two main reasons for the difficulties with OAuth are 1) the OAuth "standard" is terrible complex 2) the service providers' API documentation is an impenetrable obscure mess, always one step behind of the current working system. I have the feeling that the second one is not just negligence but might also be an intentional hidden lock-in mechanism by forcing the use of the vendors' ever changing API libraries.
[1] https://sr.ht/~petrus/mailctl/ also mirrored at https://github.com/pdobsan/mailctl
There is a pending pull request partially addressing this:
https://github.com/helix-editor/helix/pull/4204
It would be nice to have a comprehensive and convincing explanation in the documentation which sheds lights at the advantages of helix's treating lines. Maybe we vim old timers could learn something new and make a more informed decision about switching to helix.Working with GraphQL.
Actually, they do "build cities" as it was recently discovered: https://qz.com/1077632/octlantis-is-a-just-discovered-underw...
See this article https://www.sciencealert.com/new-study-brings-receipts-to-de... which is an excellent overview of Tenkanen's paper the subject of this thread. It also puts the competing ideas about cosmic inflation into perspective.
Not sure what exactly you mean by that but finding symmetries in a graph that is determining its automorphism group is not a simple problem. It is closely related to the graph isomorphism problem, about which we don't currently know whether it is solvable in polynomial time or it is NP-complete. On the other hand, we know that the Integer Linear Programing problem is NP-complete.
The overhead of searching for symmetries and the exposition of dynamic clauses, make it a difficult trade off against the ruthless efficiency of traditional CDCL
That is certainly true. However, once all the other components have been optimized the hell out of them (of course that is a never ending story itself but probably with diminishing returns) the optimization of the symmetry breaking parts will follow. As I mentioned before, efficiently dealing with isomorphism in the search space is the ultimate (theoretical) optimization.
This development can already been observed looking at the history of graph automorphism packages. For a very long time "naughty" was the only significant player than suddenly came "saucy" and "bliss". As far as I know, one of the motivations for the newcomers was to use them for symmetry breaking.
SAT, its extensions and SMT solvers are heavily used in bioinformatics. For example in genetics and for protein folding problems.
The article does not mention it but "symmetry breaking", a technique of exploiting symmetry to prune the search tree, can also be an important component of modern SAT solvers. In some sense one cannot do better than avoiding all symmetries in the given problem however that might come at significant computational price in practice.
Static symmetry breaking is performed as a kind of preprocessing, while dynamic symmetry breaking is interleaved with the search process. The static method has been used more but there are promising attempts to use dynamic symmetry breaking with CDCL solvers. See, for example, cosy (https://github.com/lip6/cosy) a symmetry breaking library which can be used with CDCL solvers.
Pijul (https://pijul.org/) is based on a categorical theory of patches (https://arxiv.org/abs/1311.3903). It is similar to Darcs but written in Rust. They claim that Pijul has solved the exponential merge problem. The docs, FAQ, and blogs, in particular the last one, are interesting readings.
I am not aware of such a (comprehensive) list but if it existed it would be a very long one for such a relatively little known field. The few survey papers on Computational Group Theory (CGT) focus mainly on applications in pure mathematics and to a less extent in theoretical computer science.
Nevertheless, CGT has numerous applications in a very wide area. I try to list a few below, consider them just samples, this is far from being comprehensive.
In pure mathematics CGT used as a kind of "experimental mathematics" tool. That is finding, enumerating, constructing certain (class of) mathematical objects.
* group theory (obviously)
* combinatorics
* graph theory
* design theory (combinatorial and statistical)
* finite projective geometries
* coding theory
* topology
* in general, where computing with automorphism group of the mathematical structure at hand may be of interest.
Theoretical computer science, in particular complexity theory. The main reason why computer scientist are interested in CGT is that the Graph Isomorphism problem is not known to be either in P or NP-complete and for a certain class of graphs the known polynomial graph-iso algorithm based on heavy CGT machinery.
Also many problems in CGT are undecidable, the best known ones are the word problem, the conjugacy problem and the isomorphism problem.
Here are some examples on the more applied side where CGT is heavily used.
* Statistics: the design of statistical experiences.
* Computational Chemistry
* Computational Biology (for example protein folding)
* Computational Pharmacology (Currently there is a trending news on HN about it titled "Virtual Pharmacology ...")
* Combinatorial Optimization
* Solving Constraint Satisfaction problems; the application of CGT here called "symmetry breaking".
* and as a further application of the two above: Robotics
* SAT/SMT solvers (came up here a few days ago)
* finding God's Number for the Rubik's cube is pure CGT
Finally, just to avoid the impression that CGT is so esoteric high level mathematics that it cannot be of interest for the working programmer. Any programmer who solved a combinatorial puzzle by finding all unique solutions but avoiding searching and listing the "basically same" ones more than once used and invented (!) a bit of CGT without noticing.
The 2016 survey: https://arxiv.org/pdf/1612.00676.pdf
Both surveys are fascinating reads. They clearly give a sense that despite of the spectacular success of QM how far we still are from the final word in that field.
Not exactly what you have asked for but you can find the LaTeX sources of the book at https://github.com/ds26gte/tyscheme with instructions of building a PDF version.
There is already a well established Gnome project with the same name: http://www.glom.org It is a GTK+ front-end to PostgreSQL, similar to Microsoft Access.