
Show HN: Storing your bookmarks under revision control - stevekemp
https://github.com/skx/bookmarks.public/
======
codethief
I'm using a similar solution, namely a file I edit in org-mode. Here are the
advantages I've found so far:

\- org-mode or text files in general make it easy to add contextual
information, additional notes etc. Bookmarks can finally tell a story.

\- in org-mode (or Markdown), the bookmark file is well-readable as is in the
editor

\- bookmarks can be rearranged and regrouped quickly if need be

\- (org-mode at least makes) links to different sections of bookmarks within
the same file possible. For this reason, I personally don't use tags but
follow a hierarchical structure with intra-document references if need be
(e.g. if a group of bookmarks can be considered to be part of two different
higher-level groups)

\- searching is only one grep or one Ctrl+F away. In case of imprecise search
terms, the additional hierarchical structure helps.

\- Easy and privacy-preserving synchronization among devices using git

And here are the disadvantages:

\- No browser integration; bookmarks always have to be added and looked up
manually which is particularly cumbersome on a phone.

~~~
groks
Use a bookmarklet and org-protocol to trigger an org-capture template:

[https://stackoverflow.com/questions/7464951/how-to-make-
org-...](https://stackoverflow.com/questions/7464951/how-to-make-org-protocol-
work)

You can make the bookmarklet pass along extra info on certain pages, eg. gmail
and have a capture template match it - handy for TODOs with deadlines that
link back to emails.

------
pka
I made something similar [0] for Pentadactyl [1], a vim-like extension for
Firefox.

By pressing Cmd-D the user is prompted to enter a tag, and after that a
.webloc (essentialy a link) file is created in a subfolder determined by the
tag name.

The location to store the files in can be configured (i.e. some Dropbox
folder, so that bookmarks are automatically shared).

This has the advantage that it's:

* instantly searchable using the same search interface like everything else (Spotlight)

* forwards compatible - no need to import/export bookmarks when switching browsers

* distributed - bookmarks are instantly and automatically distributed (Dropbox)

* automatically backed up forever (Dropbox)

I'm not using Firefox right now, so the extension might be out of date. Maybe
time to port it to Chrome/Safari :)

[0]
[https://github.com/pkamenarsky/fbookmark](https://github.com/pkamenarsky/fbookmark)

[1] [https://addons.mozilla.org/en-
US/firefox/addon/pentadactyl](https://addons.mozilla.org/en-
US/firefox/addon/pentadactyl)

~~~
mrmondo
Very interesting! Keen to try it out, very sick of bookmark syncing and
exporting etc... thanks

------
AstroJetson
I run a personal wiki (that gets me version control) that I've written a
bookmarklet for. It asks for the page to place the entry on (default is
Bookmark), location on the page (top is default for Bookmark, bottom is
default for others) and the entry (default is the title of the page I'm on).
It then makes an entry on the page as a bullet entry so I can tell that it's a
bookmark.

This allows me to quickly bookmark items and have some level of order to them
as I'm saving them away.

~~~
patrickdavey
I must look into bookmarklets. They can write to disk then?

I also use a wiki synced in dropbox. I wrote a hacky Android app that links
into all the sharing dialogs so I can share a link into my wiki super easily.
But I like the idea of both the shell command talked about in a different
comment, and your bookmarklet.

One wiki to rule them all, and in the darkness find them ;)

~~~
ChoGGi
A bookmarklet is just javascript running under the website instance (pretty
sure they can't write to disk). They are useful for manipulating websites.
kinda like tampermonkey, but they only run when you click them.

Add a bookmark with javascript:alert('hello');

Though it's usually best to keep an expanded version elsewhere and copy it
over when you update it (else it'll be stored as a one liner).

~~~
patrickdavey
Right, that's what I thought.. I'd just misunderstood that the bookmarklet was
writing somewhere. I might just write a bookmarklet that does a POST to
somewhere that'll write to a Dropbox backed wiki page... I'd just like to have
everything in one place..

------
bpicolo
Seems like you could just put the files that already exist under version
control? Chrome just uses a JSON file it seems, as an example.

On mac: ~/Library/Application\ Support/Google/Chrome/Default/Bookmarks.bak

Separate, re-writeable interface for search is cool though :)

~~~
dotancohen
The Firefox files are SQLite files, and I believe but haven't checked recently
that the Chrome files have no newlines (0x0A) in the files. The whole JSON
string is on one line, so Git will rewrite the whole file on each change.

~~~
slim
Git _always_ rewrites the whole file

~~~
EvilTerran
Sure, technically - but if a file's sensibly broken up into lines on semantic
boundaries, "git diff" will at least let you think of it like it only rewrites
the bits that actually changed. If you're versioning a file with no
linebreaks, the diffs would be meaningless ("minus everything, plus
everything"), which is an unfortunate loss of functionality.

~~~
dom0
I guess you could just smudge/clean it through a JSON linter. You probably
don't even need smudge, since Chrome likely has no problems parsing indented
JSON.

------
schappim
Am I the only one who has started to use the Hacker News "favourite" feature
as a make shift bookmarking service?

I've found that I now actually submit links I want to save...

~~~
stevekemp
Many of the things I bookmark wouldn't be interesting to this audience, so
it'd feel a bit abusive to try.

------
MrQuincle
I recently created two shell scripts.

1) site

It just adds sites to a list and has basic parameters like "list", "edit",
etc. I really like the fact that I can do it from the shell and vim. I often
get requests for online information, so cb (clipboard) saves another mouse
movement. For me, the quicker I can respond, the higher the chance I'm not out
of my flow.

2) note

And yes, I'm getting difficulties with flow at times. For example, I'm working
on something and need to reorganize a certain datastructure. Something like
note "make logmvnpdf.m row-friendly" serves as a todo list, but most
importantly does help me continue my flow on starting next day again.

Everything I can move from the browser (time sink) to my shell (productivity)
I get really happy about!

~~~
ThomPete
I would be interested in hearing if something like
[https://www.ghostnoteapp.com](https://www.ghostnoteapp.com) could work for
you. Its also made to maximize flow by keeping the notes contextual.

~~~
MrQuincle
# Shell

I applaud any effort for maximizing flow. However, in my particular case I run
Linux and I'm not spending any time in a file explorer application for
example. Issues like a screen "popping up" as described in the FAQ of
[https://www.ghostnoteapp.com/](https://www.ghostnoteapp.com/) are just not
there because I prefer to run things from the shell.

# Syncing

I'm the kind of person who happily pays for services like
[https://www.insynchq.com/](https://www.insynchq.com/) (not affiliated) to be
able to get something like Dropbox or Google Drive to my shell without loosing
collaboration options.

# Text-level access to collaborative documents

If there would be cloud service that combines (1) online editing and
collaboration with others, and (2) offline editing in a text-editor for
myself, for spreadsheets, presentations, documents, etc. I would buy it in a
heartbeat. An example is
[https://www.sharelatex.com/](https://www.sharelatex.com/) (not affiliated)
where people can edit online, but behind the screens there is Dropbox/Github
integration.

# Window manager

Another way I organize my "dashboard" for a particular purpose is by using
tmuxp.

# Browser

In the browser I use vimium
([https://vimium.github.io/](https://vimium.github.io/)) and I've several
profiles depending on the task at hand.

Probably you can summarize a lot of it as "not needing a mouse". If it
requires a mouse it's difficult to let my muscle memory do the work for me.

~~~
ThomPete
Thanks for your answer. That was very informative. I am working on a
collaborative version of this, but it's quite complex.

One point I want to make though is that the app works well with a shell.

Not sure if you saw the entire video but in the end it shows how you can use
it in context with terminal (and I have users who use it with iTerm2
([http://disq.us/p/vao7ti](http://disq.us/p/vao7ti))

Anyway this was very valuable as I am always looking for ways to optimize flow
for my user.

------
viach
Similar:
[https://github.com/hmason/gitmarks](https://github.com/hmason/gitmarks)

A web bookmark manager built on git and designed for github. It's searchable
and social.

------
arvind_devaraj
Very interesting. Bookmarks solve a particular problem of finding information
that was already visited. A more general problem is a designing a personal
knowledge base. There are lot of hints in this page about PKB and some of them
can be applied to bookmarking as well

[http://www.acuriousmix.com/2014/09/03/designing-a-
personal-k...](http://www.acuriousmix.com/2014/09/03/designing-a-personal-
knowledgebase/)

I created a personal curation system - Hyperbook,
[http://getbook.co](http://getbook.co) . It arose out of the need to store
reference materials while writing my thesis. There seems to be lot of people
working on similar ideas, which shows the market need and lack of existing
products which address them. I sense there is a great startup/product coming
in this space soon.

------
diimdeep
Anyone else think that current browsers using NETSCAPE-Bookmark-file-1 for
exporting bookmarks is really archaic [https://msdn.microsoft.com/en-
us/library/aa753582(v=vs.85).a...](https://msdn.microsoft.com/en-
us/library/aa753582\(v=vs.85\).aspx)

------
MichaelMoser123
The fun stops if you start to review the bookmark changes via gerrit.

------
pasbesoin
The better part of 20 years ago, Kaylon sold their shareware / try-it-and-buy-
it bookmark manager Powermarks.

I've yet to come across anything as useful as it was. Cross-browser, automated
keyword extraction and indexing that could be supplemented by the user,
lightning fast search against spaced plain text and fragment entries.

Other features, as well, to aid in link management and maintenance.

By contrast, browsers' built-in bookmark management still sucks.

------
paradite
Oh no, I am so interested in this but the demo is not loading.

Why not host it using GitHub pages instead of your own server to handle more
traffic?

~~~
stevekemp
I'd be interesting in seeing how it is failing for you? Timeout, or something
else?

As far as I can see the server is up and running on both IPv4 & IPv6. Load is
low, and I see no failures logged.

Edit added to github pages:

* [http://skx.github.io/bookmarks.public/](http://skx.github.io/bookmarks.public/)

~~~
paradite

        $ ping www.steve.org.uk
        PING www.steve.org.uk (80.68.84.111): 56 data bytes
        Request timeout for icmp_seq 0
        Request timeout for icmp_seq 1
        Request timeout for icmp_seq 2
    
        $ nslookup www.steve.org.uk
        Server:		8.8.8.8
        Address:	8.8.8.8#53
        Non-authoritative answer:
        Name:	www.steve.org.uk
        Address: 80.68.84.111
    
        $ traceroute www.steve.org.uk
        traceroute to www.steve.org.uk (80.68.84.111), 64 hops max, 52 byte packets
        1  192.168.0.254 (192.168.0.254)  1.155 ms  14.610 ms  2.999 ms
        2  * * *
        3  * * *
        4  * * *
    

Looks like something wrong with my network but other sites working fine.

------
dbg31415
* Xmarks | Bookmark Sync and Search || [https://www.xmarks.com/](https://www.xmarks.com/)

Little dated, but still works great across browsers and devices.

------
jflowers45
I've never heard it referred to as revision control - I always hear "version
control" or even "source control". Any difference? Is that a common phrase?

~~~
stevekemp
It's common, or at least understandable, just a little dated.

Mostly the people who use say/write it do so because they were exposed to RCS
("Revision Control System"), before they moved on to CVS.

------
Warp__
Looks very interesting. Just IMHO, a little bit of CSS setting a max page
width and a sans-serif font would be worth it.

------
amelius
I'd like to store the content of the webpages as well, in case they are taken
offline.

------
diimdeep
It reminded me TiddlyWiki with exception that external data file being used.

