• 0 Posts
  • 100 Comments
Joined 1 year ago
cake
Cake day: June 10th, 2024

help-circle


  • In my cases I has to solve same code conflicts multiple times during a rebase, so I just don’t try them when hit with conflicts.

    Yeah if you have two branches, both with a bunch of commits which all modify the same areas of code, and reordering the commits doesn’t help, I can see how it is easier to merge.

    I fail to see the benefits of “clean” git history

    Well, if the commit history is clean and mostly linear, it’s much easier to read, understand and review. git blame will also be much nicer which is really important for debugging big codebases. Of course it’s a tradeoff, as usual.




  • Specifically screwing up rebase. It is recoverable, but very annoying.

    WDYM? Typically git rebase --abort will “just work”. If you have specifically done something really wrong, just look into git reflog and then git reset --hard to whatever commit you were before the rebase.

    Pushing your commit without fetching

    Git won’t allow you to do that if you set up your server properly. It will force you to pull first. I have [pull] rebase = true in my settings so that it always rebases my commits instead of merging them, which makes for much cleaner history.

    Continuing on a branch even after it was merged.

    This generally shouldn’t be a problem, you can just rebase the branch afterwards and it will be fine (the common commits will typically just be dropped).




  • But Nix uses a normal string when passing into TOML, so I do have to escape anyways

    What do you mean by that? You are always able to just use the '' strings instead of the " strings, they are just different syntax for the same underlying type. Or are you just using lib.generators.toINI without any arguments? Maybe try something like this:

    toTomlEscapeBackslashes = toINI {
      mkKeyValue = mkKeyValueDefault { mkValueString = x: lib.escape [ ''\'' ] (toString x); } "=";
    }
    

    This will escape the values, like this:

    nix-repl> :print toTomlEscapeBackslashes { my.regex = ''foo\nbar''; }
    [my]
    regex=foo\\nbar
    

  • This seems like it’s mostly an extension similar to vimium, but you have to rebuild firefox to use it.

    Edit: the build finished, typing from Glade. It is indeed mostly just an extension on top of firefox, but slightly better integrated, e.g. normal/insert modes in text areas work well. Doesn’t seem to work with EDITOR=hx (maybe it doesn’t know that it has to run it in terminal?). The integrated scripting engine is neat but I already have declaratively configured tampermonkey in my firefox. Oh, also, there are a couple bugs indeed.

    For some reason I was expecting more, I don’t know what exactly.



  • I would honestly prefer it if more websites just did that and gave you access to whatever they have about you in their database. Would be much easier to figure out which data they actually store about me. If you set up the access lsits appropriately it could be OK from the security perspective too (of course better to do it over something other than SQL, but who am I to judge).


  • I think they’re often the same client.

    When you spend a couple months making sure that your app is formatted, linted, memory-safe, is modular and extensible, has 100% unit test coverage and a comprehensive integration test suite, checks all that on CI, has fully automated CD, blue-green deployments, deployment monitoring, and finally paid an external consultant for a security audit, but it lacks that one feature that the client actually wanted (but didn’t tell you to focus on), they will get angry. After all, they paid you a bunch of cash and all you have to show for it is an unfinished product.

    But then if you quickly slap together two perl scripts which spit out non-compliant HTML and then plop it on Apache running on a Ubuntu box in your garage last updated 3 years ago, the client is super happy because it actually does what they want and you did it for cheap.

    And this sums up the state of current technology.


  • I agree that it does “the right thing”, that is it behaves as documented. But that “right thing” could be surprising to a human.

    There’s ls -v which does “version sort” which would seem like a more reasonable default, at least for human consumption. I know it’s impossible to change now because a bajillion tools all over the place depend on the sort order.

    However new tools like eza do this by default:

    ❯ eza
    1  6   11  16  21  26  31  36  41  46  51  56  61  66  71  76  81  86  91  96
    2  7   12  17  22  27  32  37  42  47  52  57  62  67  72  77  82  87  92  97
    3  8   13  18  23  28  33  38  43  48  53  58  63  68  73  78  83  88  93  98
    4  9   14  19  24  29  34  39  44  49  54  59  64  69  74  79  84  89  94  99
    5  10  15  20  25  30  35  40  45  50  55  60  65  70  75  80  85  90  95  100
    

  • balsoft@lemmy.mltoProgrammer Humor@programming.devAI Bubblesort
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    10 days ago
    touch `seq 1 100`
    ❯ ls
    1    18  27  36  45  54  63  72  81  90
    10   19  28  37  46  55  64  73  82  91
    100  2	 29  38  47  56  65  74  83  92
    11   20  3   39  48  57  66  75  84  93
    12   21  30  4	 49  58  67  76  85  94
    13   22  31  40  5   59  68  77  86  95
    14   23  32  41  50  6	 69  78  87  96
    15   24  33  42  51  60  7   79  88  97
    16   25  34  43  52  61  70  8	 89  98
    17   26  35  44  53  62  71  80  9   99
    

    (Do I need to tell you how many times I fucked up like this myself?)


  • balsoft@lemmy.mltoProgrammer Humor@programming.devPR: Linux.exe
    link
    fedilink
    arrow-up
    6
    arrow-down
    1
    ·
    11 days ago

    How would you make it easier? Currently it’s on the sidebar with a big “Releases” heading and the link to the most recent release. From there you just look at Assets and download your file. The only way I can see it being easier is if it showed an annoying pop-up for all non-logged in or new users.