HackerTrans
TopNewTrendsCommentsPastAskShowJobs

arutar

135 karmajoined il y a 6 ans
Maths PhD student.

https://rutar.org

comments

arutar
·il y a 8 heures·discuss
I think Zotero is an excellent tool and I used it for a long time. However, like the author, I also felt that Zotero was not the ideal tool for me. But a straight BibTeX file is also rather unwieldy. Essentially, bibliographic data has provenance (say, a DOI identifier), and it is very useful to keep track of this in a structured way.

A friend and I have been working (slowly, over the past few years, since we are both academics) on an abstraction layer over BibTeX called Autobib: https://github.com/autobib/autobib

Broadly speaking, Autobib is a CLI around SQLite database of BibTeX records. But in addition to plain BibTeX, Autobib is aware of 'external data providers' (like DOI, MathSciNet, OpenLibrary, arXiv, zbMath, etc.) and will automatically retrieve data bibliographic data from these data providers. The provenance of the data is stored alongside the record itself, and this can be used to retrieve updates, prevent duplication of data, etc.

The killer feature is: if you have a file (say `file.tex`) and the keys are in a format which Autobib can automatically recognize (say, you use citation keys like `doi:my/weird/doi`, and there is support for custom formats and aliases) you can run `autobib source file.tex` and it will write to standard output a sorted BibTeX bibliography for your file. This lets you trivially maintain a per-project bibliography which you can check into source control locally and which exactly corresponds to the paper itself.

But otherwise, Autobib is "just a wrapper over a BibTeX bibliography"! When you edit an existing record, you are just editing a BibTeX record. There is integrated search, directly on the BibTeX fields themselves.

There are some extra features, like support for attachments, fuzzy search, undo-tree support, headless edit, auto-normalization, soft deletion, replacement, merging, etc. The database format is relatively simple and open (currently not particularly well documented, but this will change when it stabilizes) to allow introspection by other tools.

The tool also strives to play nicely with other tools (structured output, composable, etc.)
arutar
·il y a 2 mois·discuss
Thanks for sharing such an entertaining problem!

Bonus problem: find an arrangement of 4 queens on the board such that:

1. There is exactly 1 square on which a bishop can be placed, such that the 4 queens and the bishop attack all unoccupied squares

AND

2. There is exactly 1 square on which a rook can be placed, such that the 4 queens and the rook attack all unoccupied squares

Amazingly, modulo rotation / reflection, this problem has exactly 1 solution.
arutar
·il y a 2 mois·discuss
Unfortunately there are none
arutar
·il y a 2 mois·discuss
More fun facts:

After identifying solutions up to rotation and reflection there are only 49 solutions. No solutions have rotational symmetry, and there is exactly one solution with reflection symmetry (already mentioned by an earlier commenter).

Out of the 49 solution classes, there are 18 distinct queen layouts. The layouts have between 1 and 5 ways to place the bishop to complete the solution. Interestingly, there is exactly one queen layout (up to rotation / reflection) for which there are exactly 2 ways to place the bishop to complete the puzzle.
arutar
·il y a 10 mois·discuss
Once one exists the realm of differentiable manifolds, it is not really reasonable to talk about a single notion of 'dimension'.

Topological dimension is indeed something one can define: e.g. the Koch snowflake [1] or the graph of the Weierstrass function [2] have topological dimension 1. Actually, the first is homeomorphic to the unit circle and the second is homeomorphic to real line. It's great if you are doing topology and you only care about how things look like up to homeomorphism. But if you have metric structure (and you care about it), it is not so useful.

Minkowski dimension is certainly easy to define but it has some problems: sets which are "very small" (like a sequence `1/log(n)`) can have Minkowski dimension 1. The article has a minor technical oversight: the limit certainly does not need to exist. Minkowski defined it as the limit supremum of the sequence (actually, he defined it in terms of the decay rate of the size of the neighbourhood of the set, but this is equivalent). But one could analogously define a "lower" variant by taking the limit infimum instead.

Hausdorff dimension is not discussed in this article, but it is probably the most "robust" notion of dimension one can define. The Hausdorff dimension of any sequence is 0. But even then, lots of sets with Hausdorff dimension 1 can be very small, like the fat Cantor set which has dimension 1 but has length 0 [3]. So this 'dimension' does not necessarily line up with the intuition for "1-dimensional" in esoteric circumstances.

But even Hausdorff / Minkowski dimension does not capture the essence of some matters. For example, one might be interested in when a certain space can be mapped into another space without too much distortion (let's say by a map which respects the metric, like a bi-Lipschitz map). It can easily happen that a set has small (finite) Hausdorff or Minkowski dimension, but it cannot be embedded in a non-distorting way in any finite dimensional Euclidean space. This happens for instance with the real Heisenberg group [4]. If you are interested in this type problem then you want something like Assouad dimension [5].

The moral of the story is: the correct notion of dimension depends critically on what you want to do with your notion of 'dimension'. For sets which are very nice (smooth manifolds) all "reasonable" notions of dimension will coincide with what you expect; but beyond this there is an infinite zoo of ways to define dimension which are all reasonable in various ways, but capture genuinely different notions of 'size'.

[1]: https://en.wikipedia.org/wiki/Koch_snowflake

[2]: https://en.wikipedia.org/wiki/Weierstrass_function

[3]: https://en.wikipedia.org/wiki/Smith%E2%80%93Volterra%E2%80%9...

[4]: https://en.wikipedia.org/wiki/Heisenberg_group

[5]: https://en.wikipedia.org/wiki/Assouad_dimension
arutar
·il y a 10 mois·discuss
Here's another way that I like to think about it.

First, forget briefly about the Hilbert curve and just think about the unit square [0,1]^2.

If you take any point (x,y) in the unit square, we can associate x and y with binary coordinates, say x = 0.a1a2a3... and y = 0.b1b2b3... Then we can just define a new number z with binary representation 0.a1b1a2b2a3b3... And going the other way, given z in [0,1], we can take the 'even' binary coordinates to get x, and the 'odd' binary digits to get y.

The problem with this specific mapping is that the function is not continuous. But if you are a bit more careful:

1. The first digit says "left half vs right half"

2. The second digit says "top half vs bottom half" (of the rectangle from 1)

3. The third digit says "left half vs right half" (of the square from 2)

etc.

and then if two numbers share the first n binary digits (i.e. your points are close on the real line) then the corresponding points in the plane will also be quite close together (they are inside the same square / rectangle with side length like 2^(-n/2) at step n).

The "reason" why the dimension is different is precisely because of the "n/2": for every n digits of precision you have in the number z, you only get n/2 digits of precision for each of (x, y).

This is a bit imprecise because of issues with non-unique binary representation but (at least for me) it captures the spirit of why this should work!