Hacker News new | past | comments | ask | show | jobs | submit | more escherize's comments login

Same here. Good stuff


I've been using logseq.com and it is great.

It has bidirectional references like you discussed, and sentence level referencing, and embedding.


I believe logseq.com fulfills those needs. Using the "properties" feature, you can tag any block or page.

What's more you can even write queries [0] to ask interesting questions about your notes, like what TODOS were written within a time period, etc.

Could you explain quick-linking a little more?

[0] https://logseq.github.io/page/Queries


By quicklinking I mean you can quickly link between pages, usually by using some kind of keyboard shortcut or shorthand. e.g. The [[ in Confluence has become common in most tools. (You type double square bracket and sometimes it has a prompt with recent pages, or you just type the page name and close with two more closing square brackets).


I am a logseq user. The nice things about it include:

- all your usual backlinks, graph views, etc.

- saves files as plaintext

- md or org mode files

- operates on / syncs / saves plaintext files

- edit locally, or sync with a git repo

- accessible from mobile (via your github repo)

So I use this with org-mode files, and on my laptop I edit files locally (I have it pointed at a git repo), which is very reliable. Then the phone simply reads from (and writes to) the same git repo.

Since it runs on git, the interoperability of the notes is really nice. If I edit the same page on 2 machines or delete a file, it's just a simple merge conflict that I can use my favorite git merge tool to fix.

Not to mention the developer is extremely active and helpful.


We do basically this. [0][1]

[0] escherize.com/w/hiccup.space

[1] escherize.com/w/cljsfiddle


Well, not sure about that exactly. Consider a map like:

    {:all {:a 2} :foo {:a 4}}
Maybe namespaced keys would fit that usecase


Ok, but how do you know that a change (possibly a bugfix) in your code will break something (maybe a weird, broken thing) that I depend on?

The language Unison has an elegant solution: hashing the ast as the version.


> Ok, but how do you know that a change (possibly a bugfix) in your code will break something (maybe a weird, broken thing) that I depend on?

This isn't rocket science.

Fix bug that doesn't change behavior nor the interface? Bump patch number.

Add feature/extend interface? Bump minor version.

Otherwise, bump major version.

That's pretty much it.

For a detailed definition:

https://semver.org/spec/v1.0.0.html

The point of semver is that it's a kind of contract where you implicitly summarize the nature of the changes you introduce in a release in its version number. You provide contextual hints through the version number.


> Fix bug that doesn't change behavior nor the interface? Bump patch number.

How would you fix a bug without changing behavior? “Incorrect behavior” is the definition of a bug.


> Ok, but how do you know that a change (possibly a bugfix) in your code will break something (maybe a weird, broken thing) that I depend on?

That would be unintentional though. If that happens to you report it as a regression and most developers will give it super high priority and even release a hotfix to deal with it.

There's a big difference between accidental breakage, which is always a bug, and intentional breakage where it's reasonable to give some type of notice to people consuming your platform / API.


Reminds me of the time I wrote an eavt (entity, attribute, value, transaction-time) store on top of rethink db with a friend of mine.


One of the best features of draw.io is embedding the graph information into exported pngs. So if I save a version of a document as a png, and you open it with the Draw.io app, then you can edit the png as if you had opened the project file itself!

I know pico-8 also does this png embedding (where you can export a cart as a png, and others can load the png into their pico-8 machine).

Are there other apps that do this? It's really a cool hack!


Spore encoded the creature data in the alpha channel... which always struck me as odd since they managed the site that hosted the images and could guarantee metadata wasn't removed after upload. I think a few other games used metadata to share but the names aren't coming to mind.


LibreOffice can embed the source document when exporting to PDF. They call this feature Hybrid PDF.


draw.io / diagrams.net also embeds the data inside PDF.


It's possible to export LaTeX to PDF with the latter containing the LaTeX source.


Back in the day I think Macromedia Fireworks used this model as well..


Clojure has while loops, but I think I see where you're coming from: It is a significantly different approach to programming, and if an engineer is not willing to re-jigger their style Clojure is not going to be a good fit for them.


I meant that they won't even try.


Those who won't even try are not worth hiring.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: