HN user

davvid

1,782 karma

lover of art, music, and better living through technology

http://git-cola.github.io/ https://github.com/davvid/

Posts75
Comments350
View on HN
www.aswf.io 3mo ago

OpenPGL Becomes an Academy Software Foundation Project

davvid
3pts0
play.chessclub.com 1y ago

Internet Chess Club

davvid
1pts0
git.github.io 2y ago

Git Rev News: Edition 112

davvid
1pts0
github.com 2y ago

Show HN: Mutuple – Replace items in Python's "immutable" tuples

davvid
2pts1
github.com 2y ago

Show HN: Gcd – Git Worktree Navigator

davvid
18pts2
public-inbox.org 2y ago

Introducing Rust into the Git Project

davvid
4pts0
raw.githubusercontent.com 2y ago

How to Maintain Git

davvid
2pts0
gitlab.com 3y ago

Show HN: Telescope-Git-grep.nvim is a “Git grep” plugin for telescope.nvim

davvid
1pts0
www.theguardian.com 3y ago

Sisters with Transisters Review (2021)

davvid
2pts0
github.com 3y ago

Show HN: Garden grows and cultivates collections of Git trees

davvid
1pts0
www.wnycstudios.org 3y ago

Unearthing Entombed

davvid
2pts1
www.eseth.org 4y ago

Mergetools: Stop doing three-way merges (2020)

davvid
1pts0
lwn.net 5y ago

A Realtime Developer's Checklist

davvid
3pts0
lists.linuxaudio.org 5y ago

A short technote on digital state-variable filters

davvid
1pts0
blog.jaraco.com 6y ago

A Project Skeleton for Python Projects

davvid
2pts0
www.nasa.gov 6y ago

Hubble's New Portrait of Jupiter

davvid
2pts0
public-inbox.org 7y ago

“Problems” with git format-patch

davvid
134pts49
9to5mac.com 7y ago

High school student hacks into Apple servers and downloads 90GB of secure files

davvid
3pts1
www.theverge.com 8y ago

Apple rejects Valve’s Steam Link game streaming app over ‘business conflicts’

davvid
442pts286
www.zdnet.com 8y ago

'iPhone X' confirmed in alleged leak

davvid
1pts0
theintercept.com 8y ago

These are the technology firms lining up to build the “Extreme Vetting” program

davvid
2pts0
medium.com 9y ago

How the creators of Git do branches

davvid
3pts0
github.com 9y ago

Schismtracker: an oldschool sample-based music composition tool

davvid
2pts1
animationlawsuit.com 9y ago

Animation Workers Antitrust Litigation

davvid
2pts0
www.theguardian.com 9y ago

Git Merge 2016 Conference Report

davvid
2pts0
github.com 10y ago

BowlerStudio: An Integrated Development Environment for Robotics

davvid
2pts0
lucumr.pocoo.org 10y ago

SQLAlchemy and You (2011)

davvid
1pts0
plus.maths.org 10y ago

Uncoiling the spiral: Maths and hallucinations (2009)

davvid
16pts1
meta.discourse.org 10y ago

The State of JavaScript on Android in 2015 is… poor

davvid
1pts0
wiki.gnome.org 10y ago

Gnome Flashback

davvid
1pts0
Before GitHub 3 months ago

No, Git is alive and well. Git is under active development and continual iterative improvement.

Github might be on the decline, but git != github

Pixar's True Story 7 months ago

Nor Catmull, unfortunately. FWIW, the article is centered around the financing and IPO side of the story.

We did not want to spend time maintaining a backward compatible parser or doing code archaeology. So this option was discarded.

Considering all of the effort and hoop-jumping involved in the route that was chosen, perhaps this decision might be worth revisiting.

In hindsight, maintaining a parser might be easier and more maintainable when compared to the current problems that were overcome and the future problems that will arise if/when the systemd libraries decide to change their C API interfaces.

One benefit of a freestanding parser is that it could be made into a reusable library that others can use and help maintain.

    > I had to get my project to emit compile_commands.json,
    > get clangd, figure out which things about our build
    > process clangd was not understanding from 
    > compile_commands.json and add them in .clangd
That sounds rough. This is anecdotal, but in my Linux corner of the world, ccls has been an easier user experience as a C and C++ LSP since I've never had to resort to messing with flags in the generated file.

I haven't used clangd myself, though, so I can't say either way, I just know ccls works well.

By convention I tend to have the generated build system in build/ at the top-level of the repo so that the file is at build/compile_commands.json. That, or I'll arrange to have a symlink there pointing to one generated elsewhere.

The nvim snippet I use in my init.lua to setup ccls to work in that scenario is:

    vim.lsp.config('ccls', {
        init_options = {
            compilationDatabaseDirectory = 'build',
        },
    })
    vim.lsp.enable('ccls')
My actual config does also contain a capabilities = ... argument that forwards the default_capabilities() from nvim-cmp, but you get the point. I hope that helps in case you're curious to give neovim another spin.

upon further thought, I don't like having to move my hand to the arrow keys

ctrl-n and ctrl-p should let you select next and previous from the autocomplete menu while avoiding the arrow keys.

Throughout all of this, Horse News was the only stable work I had.

Only a good writer, that truly enjoys their craft, is able to masterfully insert a witty dry pun like that into their work. Bravo!

It's 2025 and the closest I can find is a dictation app on my newest phone that uses online AI service, yet it's still not that great [...]

Is there anything equally effective for any of you nowadays?

I'm not affiliated in any way. You might be interested in the "Futo Keyboard" and voice input apps - they run completely offline and respect your privacy.

The source code is open and it does a good job at punctuation without you needing to prompt it by saying, "comma," or, "question mark," unlike other voice input apps such as Google's gboard.

https://keyboard.futo.org/

This post misses the IMO best indentation scheme for lisp [...]

Likewise, a lispier(?) and more compact compromise?:

    (define (match:element variable restrictions)
        (define (ok? datum)
            (every 
                (lambda (restriction)
                    (restriction datum))
                restrictions))
        (define (element-match data dictionary succeed)
            (and 
                (ok? data)
                (let ((vcell (match:lookup variable dictionary)))
                    (if vcell
                        (and 
                            (equal? (match:value vcell) data)
                            (succeed dictionary))
                        (succeed (match:bind variable data dictionary))))))
        element-match)

Qt5 to Qt6 is nothing like Python2 to Python3.

The lessons from (Qt3 to Qt4 and) Qt4 to Qt5 have been learned and moving a large project from Qt5 to Qt6 is not that hard comparatively. There are a few minor deprecated APIs to handle and it's relatively easy over all.

I even have a stable project that is compatible with Qt5 and Qt6 [1] all in a single code base (particularly thanks to the effort of the qtpy[2] library). It's not that hard, and my opinion includes C++ in that assessment.

[1] https://github.com/git-cola/git-cola/

[2] https://github.com/spyder-ide/qtpy

Thanks for the feedback on the animations. I didn't want to keep too large of a .gif in the repo but that's the only format that's straightforward enough to have displayed inline so I had to keep the animation terse (and admittedly a bit too fast).

It is indeed using fzf in a specialized way so that it only searches for git worktrees and nothing more. The use case I have is that I have dozens or hundreds of repos in various locations on disk and this tool makes it easy to instantly jump into any of them.

That's why it's called "gcd" -- git + cd.

https://github.com/davvid/garden

Project Description: Garden is a git multi-repo powertool. Garden lets you define custom workflows over arbitrary collections of git trees.

If you find yourself running bespoke commands across a smattering of git repositories then Garden can be a big improvement over a big pile o' scripts and repos.

What do you want to be tested: Test the documented feature-set and new-user onboarding experience. Give feedback on its usefulness as a development/testing aid.

Contact Info: Open an issue on the project page

If you're into this kinda thing then then you might be interested in my take on improving over a "big pile o scripts" (and repos).

https://github.com/davvid/garden

Garden is a multi-repo powertool for running custom commands and mashing random shell scripts and loosely-coupled repos into a version-controllable config file. If you're weird like me you might like it.

For maximum enjoyment (and I do mean maximum), please follow this order in reading/listening and do not skip/surf any of them. It all builds.

Please read this academic paper first:

https://arxiv.org/ftp/arxiv/papers/1811/1811.02035.pdf

Then read this (this will remind you what you should be focusing on in the above academic paper):

https://www.bbc.com/future/article/20190919-the-maze-puzzle-...

Then, listen to this:

https://www.wnycstudios.org/podcasts/tnyradiohour/segments/u...

At this point, you have hit the peak ... this last paper is the wrap-up which isn't all that much "fun" but does tie up loose ends:

https://intarch.ac.uk/journal/issue59/3/index.html

Float Toy 4 years ago

The OpenEXR file format, used a lot in graphics applications (compositing, rendering), is a fairly well-known application of half-floats.

There's some notes about the advantages of half-float pixel in the openexr documentation: https://openexr.readthedocs.io/en/latest/TechnicalIntroducti...

I don't think "obvious" was the best adjective, but "small memory/file size footprint" is probably the quality that's easiest to understand.

There is active work related to teaching "git rebase" to natively support stacked branches in the Git core currently being worked on by Derrick Stolee [1].

If you "stack" your changes across multiple inter-dependent branches it looks like "git rebase" is going to learn how to update related branches using a new "update-ref" command (alongside "squash", "fixup", "exec", etc) that gets activated automatically through a "git rebase --update-refs" command-line flag and config option.

(This is from Derrick, not me)

""" This is a feature I've wanted for quite a while. When working on the sparse index topic, I created a long RFC that actually broke into three topics for full review upstream. These topics were sequential, so any feedback on an earlier one required updates to the later ones. I would work on the full feature and use interactive rebase to update the full list of commits. However, I would need to update the branches pointing to those sub-topics.

This series adds a new --update-refs option to 'git rebase' (along with a rebase.updateRefs config option) that adds 'git update-ref' commands into the TODO list. This is powered by the commit decoration machinery.

"""

This is under active development (I don't believe the topic has been merged yet) so it's still open for feedback and refinement on the git development mailing list. Thanks Derrick!

[1] https://public-inbox.org/git/pull.1247.git.1654263472.gitgit...