About the site

🚧🚧 this page is still under construction 🚧🚧

Motivation for doing this

In no particular order,

  • I'm interested in many different things which I don't have time to explore on my own (ideas, notes), but I'd be happy to discuss them with people who are looking up similar things on the Internet.
  • I'm working on different , which I also would like to share with other people because it's satisfying, can inspire other people to do similar things, and open source community can help with maintaining them.
  • I've got a fairly big knowledge repository of semi-curated data, which I'd like to share both for other people's and my benefit.
  • Sometimes there is an urge to share things that don't fit in few tweets and I want to make them somewhat more persistent.
  • I often struggle to describe my interests to new people I meet, and it's hard to guess what other people might be interested to know about you. This site could potentially serve as a rough idea of "what's on my mind" for other people to explore.

    And vice versa, I feel that if people had better digital projections of their minds it'd be way easier to get to know them, find shared interests and have meaningful conversations.

  • Writing is a whole different mode of thinking, and practicing it gives access to the thoughts you'd never have thought otherwise.

WIPStyle

I'm a fan of leaving TODOs wherever I can; I can't stand forgetting useful thoughts, so you might see them around a lot in my texts.

Software

Motivation for choice of software: somewhere along the lines of Gwern.

I'm in progress of writing a post explaining my setup, but if you are specifically curious about something, feel free to ask!

I use Hakyll + some custom scripts to wire everything together, here's the repository.

TODOwhy static blog?

In progress of writing about it, stay tuned!

But basically:

  • lightweight
  • simple
  • resilient

comments

For the most part, I expect discussion on Reddit/Twitter or wherever I share my posts. However it's good to have an extra means of commenting just in case.

I'm using Isso at the moment, since it's:

  • very easy to set up and admin
  • very lightweight
  • very simple

    Data is stored in an sqlite database, which means it would be easy to migrate the comments if I decide to switch (or at least doable, unlike Disqus where I didn't manage to change domain name).

    Also it's easy to back up, so your comments would be safe!

Inspiration

Some of the blogs that inspired this in terms of content, structure, design decisions, so I'd like to give them credit:

TODOHow to make static blogging easier?

TODOVCS integration

  • not everything is easy to put under version control
    • for instance ipython notebooks are essentially huge JSONs also containing outputs. I'm using nbstripout so I can only keep important bits in git.
  • sometimes things are not deterministic, for instance if you use temporary directories in literate notebooks
  • large files, e.g. plots generated from ipython notebooks ideally need to be kept under version control too
  • it would be nice to generate public history of changes for each page directly from git history

TODOcomments

Disqus is a bit shit. I think of people's thoughts and comments are sacred and while I make sure mine are backed up, losing others' information is somewhat irresponsible.

So before starting the blog I actually practiced migrating domain names and post URLs (who knows, it might be necessary in the future) against a test Disqus instance, and that didn't really work well.

  • you can only manage comments data via the API, and do migrations over their web tool, which is pretty manual and error prone.

    In contrast, with Isso, which I'm using at the moment I can back up the database, write a proper migration script, test it and if anything breaks, just restore the old database.

Other downsides of Disqus:

  • takes noticeable time to load. I prefer my pages to be as lightweight as possible.
  • shows ads. It's fair enough considering they provide hosting
  • let alone usual stuff about privacy, tracking etc, but I don't know much about Disqus specifically in that regard

Selfhosting however is somewhat tedious and requires technical skill, so it's understandable many people prefer just inserting a bit of javascript from Disqus that does the job.

Ideally I'd want comments to be some sort of annotation overlay. So you could comment at any place in text, without having to jump back and forth. Perhaps one could choose any annotation platform they like and I would just need to query the comments from each of these platforms and display all of them. It's a bit vague though, so needs a proper think!

TODOdead links

Link rot is pretty bad, Gwern writes about it in high detail.

I don't want to contribute to the problem, so at the moment I'm using linkchecker running every night in Cron, seems to work well. So far haven't had any genuinely rotten links, but it does protect against typos in urls and that sort of thing. In Firefox, I'm using Simple Link Checker addon, it also helps with checking other things, e.g. Github readmes.

At the moment preventing dead urls requires some technical skills.

Ideally it'd be more automatic, perhaps some sort of service that crawls your website every week/month or so and sends you a report. archive.org seems like an appropriate platform to kick this off.

TODOhosting

Technical skill, tedious as well.

TODOspell checking and other forms of linting

At the moment I'm using ispell in emacs, seems to work well, but ideally I'd like it to be integrated as a 'pre-publish' hook or something.

Also would be useful to have semantic (e.g. grammar) checks as well, I often skip words when typing.

TODOdiffing

No easy way to compare htmls. For content you can use git, but that doesn't help with design (e.g. CSS) changes that might be quite catastrophic.

At the moment, I'm using some hacky semi-automatic screenshot comparison.

TODOtodo-list

Public list of features I'd like to see on my site.

STRT[B]have a 'stable' and 'unstable' versions of blog?staticblog

CREATED: [2019-09-13 19:56]

Unstable – watches over content updates. By default website points at unstable version. Stable is fully static.

If something's broken about unstable version, automatically redirect to stable (custom 404 page?).

Share comments perhaps?

TODO[B]nbinteract for interactive notebooksipynb

CREATED: [2019-09-30 00:56]

https://www.nbinteract.com/tutorial/tutorial_monty_hall.html

nbinteract was designed to make interactive explanations easy to create. In this tutorial, we will show the process of writing a simulation from scratch and visualizing the results interactively.

TODO[C]how to fold content but still make it searchable via Ctrl-F?

CREATED: [2019-11-10 12:46]

referring to <details> tag

STRT[B][2019-11-22 00:05] Things I Don't Know as of 2018inspiration

Pretty cool, I want a similar page.

STRT[C]would be nice to have semibold, e.g. for error handling post

CREATED: [2019-10-27 11:51]

[2019-11-04 01:05] dunno, with serif font it looks nice enough..

STRT[C]diff rendered posts to test design changes

CREATED: [2019-04-14 14:40]

TODO[2019-07-20 23:03] something in screenshots dir (do git diff HEAD)

Bells and whistles

TODO[C]Each blog post has automatic changes coming from git?

CREATED: [2018-11-08 09:09]

TODO[C]link page source

CREATED: [2019-01-06 08:33]

TODO[C]two feeds, one with new content/major changes; other with minor changes?

CREATED: [2019-01-06 07:53]

TODO[C]org tags can't contain dashes

CREATED: [2019-05-13 19:55]
[2019-05-26 11:30] I guess that can be solved by programmatic unification of tags

Inspirationinspiration

[C]III Quantum Field Theoryinspiration

CREATED: [2019-03-12 20:13]

Very neatly rendered notes!

[2019-03-12 20:45] it's actually a really really decent book too

TODO[C]Andy Matuschak

CREATED: [2019-05-12 07:50]

I like the coming soon bits, also generally pretty.

TODO[C]Guidance for Publishers – Hypothesis

CREATED: [2019-05-24 17:03]

Good Habits

When publishing annotation friendly documents, be sure to:

Include a <link rel="canonical" href="…" /> tag on pages that may be available at different URLs (and for which you want to share annotations).

Include Open Graph Protocol content in your metadata

More background on good practices and relating documents together can be found in our Guidance for Web Publishers.

STRT[C]run grammar and style checks

CREATED: [2019-11-08 09:22]

languagetool got a firefox addon that checks up to 40K characters at once, using that for now

TODO[2019-12-16 00:22] use emacs-langtool

TODO[2020-01-16 23:22] grammarly checks grammar way better (articles, punctuation, etc.), but it's a cloud service

In addition there are some concerns about ownership, but Grammarly claims copyright remains under your control: FAQ, TOS: Ownership.

Overall even if there is some legal loophole, I find it pretty unlikely that they would want to steal my rights, especially considering I publish under CC BY 4.0 license.

License

All material on this site is licensed under a Creative Commons Attribution 4.0 International License.