Hacker Newsnew | past | comments | ask | show | jobs | submit | more escherize's commentslogin

I use lineage os for microG [0] myself, but can't find a good foss android keyboard. Is there such a thing?

[0] - https://lineage.microg.org/


Florisboard


There is a new thing, and it's kind of a toy [0]. But it lets you load clojurescript from a script tag, so there is practically no setup needed!!

[0] - https://borkdude.github.io/sci-script-tag/index.html


Worth keeping in mind that that's Small Clojure Interpreter (SCI) which while very cool, isn't ClojureScript. Seems to be running Reagent perfectly fine though, so not sure what the exact differences are, AFAIK, SCI is a subset of Clojure.


Wow sci can run reagent out of the box? That’s not a small feat, excellent work @borkdude!


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.


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

Search: