• 1 Post
  • 16 Comments
Joined 1 year ago
cake
Cake day: June 25th, 2023

help-circle
  • S-expressions are a hack because the Lisp devs didn’t know how to make an actual compiler, and instead had the users write the syntax tree for them. (For legal reasons I am being facetious).

    Just for anyone thinking you are serious; https://en.wikipedia.org/wiki/M-expression I love how S-expression existed.

    McCarthy had planned to develop an automatic Lisp compiler (LISP 2) using M-expressions as the language syntax and S-expressions to describe the compiler’s internal processes. Stephen B. Russell read the paper and suggested to him that S-expressions were a more convenient syntax. Although McCarthy disapproved of the idea, Russell and colleague Daniel J. Edwards hand-coded an interpreter program that could execute S-expressions.[2] This program was adopted by McCarthy’s research group, establishing S-expressions as the dominant form of Lisp.












  • I don’t see how this could be positive for any Software developer in the long run. I totally see how this could be positive for CEO/CTO, Project Managers, in the long run, and I see a few short term advantages for Software developers.

    Let’s be clear, I saw that coming since Microsoft bought Github, and I am scared by the direction this is taking. The end goal is to move more and more control and power to non-software people about Software development.

    By forcing every developer to not use their own tools this will have a lot of advantage for CEO/CTOs but this is terrible for software developers:

    1. telemetry: they will try to find a formula to assess who are the best performer in a team. And as with SEO, any formula could be gamed, the best at this game, will not be the best software developers, but the one that will learn how to cheat.
    2. global team tooling enforcement: vim vs emacs etc… ? Forget about it, the only way to work on a project will be via this unique allowed editor.
    3. assets protection: impossible to download the code on your local computer to use external tools on it. The only way to have analysis tools will be via these “allowed” analysis tools. This will make code analysis and experimentation a lot more difficult.
    4. Locked by promoting vendor-specific applications. As you will focus to make your code/app/product work only for Google Cloud for example, you will naturally use Google-Cloud-only features that will make your code difficult (or impossible) to move to another Cloud provider, or god-forbid, host your product on a non-cloud or private made cloud.

    And I can think of other possible drawbacks but my comment is already long enough.



  • As you only mention git and not any git hosting. I would say you could easily use git hooks. Fir you and probably ask everyone in your team to install the same git hooks to have a chance to review changes before they are commited.

    For my team there is an init-git-repo.sh shell script in our repository. When you execute it, it will install all the git-hooks fir your local repository.

    You can use them to add checks during commit, merge, etc…

    Edit: I read a bit too fast. As you are using bitbucket there id probably the equivalent of github’s CODEOWNER file as already proposed in another comment.


  • nix does not need nixOS to run but is a complex package manager. At least for me, it doesn’t seem more complex than docker ecosystem.

    I personally use nix to take care of downloading compatible dependencies in isolation for me. And the rest of the code is really, just basic script shell or Makefile too.

    I also could add a fancy mergeShells function I have written in nix to support a docker-compose-like composition of nix-shell files. But you could go a very long way with nix before you even want to do something like this.