Hacker News new | past | comments | ask | show | jobs | submit login

For this exact reason, I decided to instead buy Surface Pro 9 and installed Ubuntu Linux on it. It works amazingly well. Moreover, all my notes are automatically converted to PDF and syned to my gitlab.



How is the support nowadays? It used to be that you needed custom kernels and some fiddling (e.g. see reddit's r/surfacelinux).

What software do you use for the note taking? On Windows there seemed to be OneNote (and nothing else) and on Linux xournal++.

Sorry for all the questions, but I am currently looking for a new laptop/tablet and thought I'd ask for experiences of others.


Apart from camera, almost everything is working correctly. Camera doesn't work at all.

https://github.com/linux-surface/linux-surface

I use this kernel, you can use this with most operating systems. Once things are setup, everything is extremely smooth.

I use xournal++ for note writing, and using GNOME is necessary. KDE doesn't have support for screen rotation etc. When you use GNOME, make sure to disable gestures and screen edge detection, because that might occasionally cause interfere with writing.

So, the workflow is quite simple with xournal++, you run a `inotify` based watched which automatically compiles and pushes stuff on every save. I of course assume that only `xournal++` on tab can change those handwritten notes. You can get some fancier git logic if needed. By putting the baselink as `https://gitlab.com/user/repo/-/jobs/artifacts/main/raw`, you can get the list of PDFs directly on readme of your git repo. pretty nifty for referring to later.

    while inotifywait -e modify,create,delete,move $INPUT;
    do
       publish.script --input $INPUT --output $OUTPUT
    done


    # publish.script
    pushd $INPUT
      pushd $INPUT

      printf "# Handwritten Notes\n\n" > readme.md

      printf "|  Index  | Date | Title |\n" >> readme.md
      printf "|   ---   |  --- |  ---  |\n" >> readme.md


      INDEX=0
 
      for i in $(ls -r *.xopp); do
        BASENAME=$(basename $i .xopp)
        PDFNAME=$BASENAME.pdf
        xournalpp --create-pdf=$OUTPUT/$PDFNAME $i

        BASENAME=$(basename $i .xopp)
        PDFNAME=$BASENAME.pdf
        LINK=$BASELINK/$PDFNAME$SUFFIX

        INDEX=$(( INDEX + 1))
        DATE=$(echo ${BASENAME:0:10})

        printf "| %d | %s | [%s](%s) |\n" $INDEX $DATE $BASENAME $LINK >> readme.md

      done

      if [[ $(git diff --stat) != '' ]]; then
        git add .
        git commit -m "$(date)"
        git push
      fi


    popd

You can run the inotify as a `systemd` service

    [Unit]
    Description=Starts Sync Service

    [Service]
    Type=simple
    ExecStart=%%%SYNC_BIN%%% --input %%%INPUT_DIR%%% --output %%%OUTPUT_DIR%%%
    ExecReload=/usr/bin/kill -HUP $MAINPID
    KillMode=process
    TimeoutSec=180
    Restart=on-failure
    RestartSec=5s

    [Install]
    WantedBy=default.target


ooo, tell me more. what is your workflow like on the surface to enable this?




Consider applying for YC's W25 batch! Applications are open till Nov 12.

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

Search: