<commit_before>---
layout: post
categories: [nix, bash]
title: reMarkable
featured-image: /static/resized/remarkable-800x1067.png
keywords: [reMarkable, e ink, derivation, rMAPI, srvfb]
---

I got my [reMarkable] recently and writing a few words about it will possibly
not hurt anyone. This is not a product review, I much rather try to focus on
technical aspects. Such as packaging the software and analyzing some of its
features.

{%
  responsive_image
  path: static/posts/reMarkable/remarkable.png
  caption: 'Sketching and writing on the device'
%}

# Table of Contents
{:.no_toc}

* entries
{:toc}

# Feature Overview

[reMarkable] is an electronic ink tablet designed for writing. E Ink writing
tablets promise excellent writing experience and a long battery lifetime. Which
should make them a good replacement for paper. There are a few competitors on
that market. For example the [Ratta SuperNote](https://goodereader.com/blog/product/supernote-a5-digital-note),
heavily featured on [goodereader][goodereader][^1].

My main use-cases for the tablet are to-do lists, meeting notes, mind maps,
user interface mock-ups and ugly sketches. I bought an e ink tablet because I was fed up with
manually digitalizing paper. I finally chose the [reMarkable] because all of the
developers [seem to be European cats](https://github.com/orgs/reMarkable/people)
and the ecosystem [is hackable to at least some degree](https://github.com/reHackable/awesome-reMarkable).
Also they [release frequently](https://support.remarkable.com/hc/en-us/sections/115001534689-Release-notes)
which is a big plus.

![reMarkable ecosystem](/static/posts/reMarkable/ecosystem.svg)
*IANAA - I am not an artist*

The device connects to the reMarkable cloud which has the main focus on document
sharing and backup. There is an App for Android / iOS as well as a client for
Windows and Mac OS. Sadly, the Linux client was discontinued in late 2017 [^2].
For cross operating system compatibility the device can serve its files using
a built in web server accessible via USB. When connected to the cloud, the device
has some optical character recognition (OCR) capabilities as well conversion of
documents to scalable vector graphics (SVG). The live view feature would be
amazing but also requires the native QT app on the receiving end.

# Software for the reMarkable and Some NixOS Derivations

In this section I am looking at software written for the [reMarkable] and because
NixOS is awesome I also tried to create some derivations.

## The Official Linux Client

Using the [NixOS packaging guideline for QT](https://nixos.org/nixpkgs/manual/#sec-language-qt),
and the following script:

```sh
#!/usr/bin/env bash
set -euo pipefail

binary="${1?Missing binary}"

while IFS= read -r lib<commit_msg>rephrase<commit_after>---
layout: post
categories: [nix, bash]
title: reMarkable
featured-image: /static/resized/remarkable-800x1067.png
keywords: [reMarkable, e ink, derivation, rMAPI, srvfb]
---

I got my [reMarkable] recently and writing a few words about it will possibly
not hurt anyone. This is not a product review, I much rather try to focus on
technical aspects. Such as packaging the software and analyzing some of its
features.

{%
  responsive_image
  path: static/posts/reMarkable/remarkable.png
  caption: 'Sketching and writing on the device'
%}

# Table of Contents
{:.no_toc}

* entries
{:toc}

# Feature Overview

[reMarkable] is an electronic ink tablet designed for writing. E Ink writing
tablets promise excellent writing experience and a long battery lifetime. Which
should make them a good replacement for paper. There are a few competitors on
that market. For example the [Ratta SuperNote](https://goodereader.com/blog/product/supernote-a5-digital-note),
heavily featured on [goodereader][goodereader][^1].

My main use-cases for the tablet are to-do lists, meeting notes, mind maps,
user interface mock-ups and ugly sketches. I bought an e ink tablet because I was fed up with
manually digitalizing paper. I finally chose the [reMarkable] because all of the
developers [seem to be European cats](https://github.com/orgs/reMarkable/people)
and the ecosystem [is hackable to at least some degree](https://github.com/reHackable/awesome-reMarkable).
Also they [release frequently](https://support.remarkable.com/hc/en-us/sections/115001534689-Release-notes)
which is a big plus.

![reMarkable ecosystem](/static/posts/reMarkable/ecosystem.svg)
*IANAA - I am not an artist*

The device connects to the reMarkable cloud which has the main focus on document
sharing and backup. There is an App for Android / iOS as well as a client for
Windows and Mac OS. Sadly, the Linux client was discontinued in late 2017 [^2].
For cross operating system compatibility the device can serve its files using
a built in web server accessible via USB. When connected to the cloud, the device
has some optical character recognition (OCR) capabilities and can convert
documents to scalable vector graphics (SVG). The live view feature would be
amazing but also requires the native QT app on the receiving end.

# Software for the reMarkable and Some NixOS Derivations

In this section I am looking at software written for the [reMarkable] and because
NixOS is awesome I also tried to create some derivations.

## The Official Linux Client

Using the [NixOS packaging guideline for QT](https://nixos.org/nixpkgs/manual/#sec-language-qt),
and the following script:

```sh
#!/usr/bin/env bash
set -euo pipefail

binary="${1?Missing binary}"

while IFS= read -r lib
{'fraction_non_alphanumeric': 0.07410084944876197, 'fraction_numerical': 0.009759624073739382, 'mean_word_length': 4.646938775510204, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 10, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7533826', 'n_tokens_mistral': 1631, 'n_tokens_neox': 1528, 'n_words': 734}