Threads for ubitux

  1. 1

    I can’t access this page, I get a “server not found” error.

    1. 1

      It was working for me not long ago; it seems available on web archive in the meantime: http://web.archive.org/web/20220914231535/https://poniesandlight.co.uk/reflect/island_rendergraph_1/

      1. 1

        ouch, sorry about that - it should work now. it might have been a case of too many requests at once, as the site is self-hosted.

        1. 2

          Still down here

          1. 1

            😭 it looks like it’s working for me — but this seems like an intermittent issue with my hosting provider … i’d be grateful for recommendations for where to reliably host a static self-hosted website in 2022… github?!

            1. 1

              It looks like a DNS issue to me; somehow dig poniesandlight.co.uk @8.8.8.8 works but not with @1.1.1.1 (cloudfare)

              1. 1

                wow interesting … thank you for checking this out. the internet keeps surprising me.

                1. 5

                  the internet keeps surprising me

                  The more I know about it the more I’m surprised it works at all.

                  1. 1

                    “the internet is made mostly of duct tape and hope” - anonymous

      1. 5

        Freya Holmér also has this really beautiful bézier curve video that builds a lot of intuition.

        1. 1

          Yup, great video, my contribution is modest in comparison. Watching it again it appears some information unsurprisingly overlap (typically the lerp/mix thing!), but I think I’m still covering different aspects of it.

          1. 1

            It’s a nice reference to have around, too. Don’t undervalue just making it for fun (:

        1. 2

          I find them being explained almost exclusively in 2 or 3 dimensions, which can be a source of confusion in various situations.

          TBF, a bezier curve of order n is only significant in at most n dimensions (eg the points on a quadratic curve will always be coplanar, even if you express the control points in 3 dimensions), and pretty much no one uses curves higher than cubics.

          1. 3

            By dimensions I was referring to the spatial dimensions: admittedly I start talking about the degree, but the crux of the article is to break the xy (or xyz) spatial view into 2 (or 3) views: x according to t, y according to t, etc.

          1. 2

            Fascinatingly (to me) the author of this article took nearly exactly the same journey I recently (I guess not so recent.. time flies) took when trying to solve the same problem. My version is here: https://dpzmick.com/posts/2021-03-28-polynomial-from-roots.html

            Turns out there’s also functions in numpy and co that perform a special case of this operation, like the clearly named zpk2tf. These essentially are just repeatedly convolving new terms into a poynomial until all terms are consumed.

            1. 1

              Fascinatingly (to me) the author of this article took nearly exactly the same journey I recently (I guess not so recent.. time flies) took when trying to solve the same problem. My version is here: https://dpzmick.com/posts/2021-03-28-polynomial-from-roots.html

              Oh, nice.

              Turns out there’s also functions in numpy and co that perform a special case of this operation, like the clearly named zpk2tf. These essentially are just repeatedly convolving new terms into a poynomial until all terms are consumed.

              Even with multiple characters available to name things, mathematicians can’t resist to use cryptic namings…

              1. 3

                Thanks, I added a reference at the end of the post!

              1. 1

                I may be missing something obvious but why isn’t this integrated in the lspconfig repository instead of a dedicated null-ls.nvim plugin?

                1. 2

                  null-ls is a kind of “clever hack” that makes programs that aren’t language servers behave like language servers.

                  1. 1

                    Ah I’m surprised because vale seems to come with a server, but I guess it’s not following the language server protocol… ? Compatibility with vscode seems mentioned though so it gets me wondering.

                1. 2

                  Essentially neovim + vimwiki, manually git versioned, and immediately accessible through the i3 scratchpad.

                  In more details, every day when I wake up I’m typing newday:

                  newday() {
                      cd ~/notes
                      (
                          set -e -x
                          git diff-index --quiet HEAD  # make sure the repository is clean
                          e +VimwikiMakeDiaryNote +w +VimwikiDiaryIndex +VimwikiDiaryGenerateLinks +q
                          git add diary
                          git commit -m "WIP: $(date -I)"
                      )
                  }
                  

                  And at the end of the day, I review my daily diff, remove the WIP mention from the commit message and sink into the night. I git commit -a --amend and push force several times a day.

                  Random info:

                  • After trying to find a tree structure that makes sense, I ended up with a fully flat layout (with very few exceptions). It helps moving stuff around a lot and building new relationships.
                  • I’m using the markdown markup, so I can open my notes with other tools such as Obsidian or Logseq (beware the latter automatically git commits!) in order to contemplate the mind graph. Of course, markdown support is not the same in every tool.
                  • I use fzf to jump between wiki pages; I have almost no plugin, but this tool was a life changer in my workflow
                  • I’m using the wiki to store and sort all the www links; I have about 4000 links in it
                  • Started taking notes in 2020-03-15, pages:1333 lines:53829 words:314997

                  Caveats:

                  • Image support: while I can do [my schema](files:medias/my-schema.webp), neovim doesn’t render them inline, so I have to press enter on each of them. It’s pretty primitive.
                  • Similarly with math formulas: while simple formula such as $f_{n+1}(x)=x^n$ are live changed into their unicode equivalent, you can quickly get to the limits (as expected), and you would need some form of web preview for proper rendering.
                  • Live preview technologies involve crappy nodejs technologies, fragile markdown parsers, and are generally an annoyance to setup
                  • Vimwiki is slow af, in particular because it has no indexing; renaming a file takes a very long time
                  1. 1

                    So far my struggle with QML has been almost exclusively about the bindings, in particular double directional bindings. For that, those were helpful debugging tools:

                    • QT_LOGGING_RULES="qt.qml.binding.removal.info=true"
                    • STATECHANGE_DEBUG=1
                    1. 7

                      Very nice. I worked on a similar project a few years back. This is actually very similar to the MusicBox project by Anita Lillie back in 2008 (see demo at: http://thesis.flyingpudding.com/videos/demo/index.html, thesis at http://thesis.flyingpudding.com/), which itself was build on top of the analysis provided by Echonest.

                      Using the open-source aubio for the analysis and building playlist instead of working out a new player are very good decisions. When we tried to do something similar, this was also the direction we picked, and then had layers for sending playlists to various players.

                      Now what’s missing here is an UI to “build” the playlist visually (check the demo in the link earlier). The principle for building such an UI is very simple: instead of just 1 distance between 2 songs, you have a set of N distances (corresponding to similarity to various parameters such as rhythm, loudness, pitch, but also tag metadata, etc) which is then reduced to 2 dimensions (using PCA), and you get a 2D map of all your music library. Then you can draw a path for building your playlist.

                      This is in my opinion the only sane answer to “the music classifying nightmare” (http://blog.pkh.me/p/15-the-music-classifying-nightmare.html – author here).

                      For a more traditional approach to solving the music classifying problem, I’d recommend looking at https://beets.io/

                      1. 2

                        Thanks a lot for the very interesting references - I’ll take a look at implementing the PCA for blissify, to check how it performs.

                        I’ve actually checked the landscape of tools like this before starting the project, and saw that there were a lot of music similarity thesis, but very few tools actually usable “out of the box”. So, instead of trying to make something really innovative, I’ve tried to aggregate the existing results to build a (somewhat) usable / maintainable “real-world” tool.