This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-08-02
Channels
- # announcements (11)
- # aws (3)
- # babashka (34)
- # beginners (20)
- # biff (2)
- # calva (3)
- # cherry (29)
- # cider (6)
- # cljs-dev (9)
- # clojure (124)
- # clojure-europe (12)
- # clojure-norway (5)
- # clojure-uk (2)
- # clojurescript (32)
- # conjure (11)
- # datalevin (1)
- # datomic (16)
- # deps-new (1)
- # etaoin (6)
- # holy-lambda (10)
- # honeysql (28)
- # hyperfiddle (21)
- # jackdaw (2)
- # jobs (2)
- # leiningen (15)
- # missionary (12)
- # off-topic (132)
- # other-languages (1)
- # pathom (13)
- # rdf (10)
- # re-frame (8)
- # reagent (5)
- # releases (1)
- # remote-jobs (4)
- # shadow-cljs (32)
- # tools-deps (6)
- # vim (15)
- # xtdb (24)
Can you recommend a tool to create public surveys to share? (~250-1000 respondents). Willing to pay for it, but has to host data in the EU and ideally would do as little tracking as possible.
But he wanted less tracking so probably google is not it.
Thanks for the suggestion! Yeah, Google is not exactly privacy-friendly 🙂
I use webo.hosting
as an alternative for google docs. I don't know but probably some kind of open source alternative may exist too. Maybe this could give you a clue.
#jobs and other related channels might be better for this
What are some of the trade offs between a monorepo and using git submodules? My intuition is that submodules have more potential constraints, so if you don't need those, it's not worth it. I'm not sure the tooling will impact anything, but practically speaking that could make a big difference. . LSP can be configured per directory. I think so can cider. My spacemacs default search functions are across a github repo, that that also might be configurable. With submodules, the git histories aren't interlaced, which actually feels like a hindrance in the case where the two pieces are a frontend and a backend.
But you are conflating repo structure with directory structure, but those are separate things
were i'm i conflating them? Git keeps a history of directory as it changes over time no?
I have to come to hate everything about submodules. They are weird.
A monorepo doesn't mean you must have a single src directory that tooling sees as one project, and you could (but this would be truly madness) have a single src dir for tooling using submodules
I agree hired. I was thinking out load about the specific tools that I use. My spacemacs configuration for instance, naturally treats a github repo as the "search space" so if you have two projects that share a data pipeline, like frontend http requests to a backend. and you want to rename they key that's sent, you have to do it twice by searching. I was thinking about little stuff like that, and then realizing i wasn't sure how far the coupling could go. As alex just informed me, i can't use submodules as gitlibs. Which i thought i could! and it sort of kills any chance of that idea being a good one.
Git subtree is nicer for a lot of use cases than git submodules, but it doesn't exactly match up with project organization like this.
And i wasn't even aware of git subtree's i'll look into that. thanks 🙂
Git subtree is basically just copying a commit in another repo into a subtree of the current repo. submodules can get used like this, but are much more
do you know how subtrees plays with worktrees?
(asking because tools.deps is implemented with detached head worktrees)
this is totally off topic for the original question, but worktrees pull separate working trees off the same shared git dir. submodules don't work with this because they are managed only in the git dir (which is totally dumb). But maybe subtrees would work, never tried that.
They really are copying the content of a commit from another repo into the current repo, so you don't have to do anything special on first checkout, the content is just there
i use gitsubmodules, i'm not sure why people don't like them, other than some extra commands to run with git. can someone explain how they have run into problems with them?
well, I explained why they don't work as tools.deps gitlibs above
oh, i just found it intuitive that i wouldn't be able to do that, and have to use
{:local/root
one thing to note, git subtree
can have some really bad issues in repos with long and complex histories (some details https://doc.rust-lang.org/nightly/clippy/development/infrastructure/sync.html#patching-git-subtree-to-work-with-big-repos ), and the patch to fix it has been in the queue for nearly 3 years and doesn't look close to being merged https://github.com/gitgitgadget/git/pull/493
that's such a weird PR log to read. but seems like this is the main thing holding up the PR, at least where i left off.
At some stage, especially given the problems I pointed out with the
implementation detail that is a flat directory with a potentially insane
number of files in it, I think it would make a lot of sense to go ahead
and turn this into a built-in Git command, implemented in C, and with a
more robust file system layout of its cache.
cool find @UEENNMX0T.Thanks! Yeah, it's a really complex part of git and I am not surprised that it's taking a long time to figure out.
> With submodules, the git histories aren't interlaced, which actually feels like a hindrance in the case where the two pieces are a frontend and a backend Isn't shared history/commit the only benefit of a monorepo?
i think in the case where you own both libs, and one is frontend and one is backend (something like that), don't put them in diff repos if you want to have them in sync all the time
i use submodule when i want to bring in libs that i don't own, may want to fix. mostly do it with frontend, or with CLI stuff.
@U0K064KQV there are other benefits, related to CI and testing. there are also issues related to both of those things too
Oh I see. So your own stuff all in the same git repo, but if you depend on source of other libs because you have to customize them, you make those submodules so they keep a separate history and don't conflict with your own commits. So, what is different about the submodule vs another git repo?
i guess you mean something like a deps.edn git ref? can't always do that. sometimes the repo needs to be built (yada, some frontend libs as well). stuff in other languages can't be refed, and sometimes it's easier to submodule than to try to figure out diffs between mac/arch/ubuntu/other which is a headache. for stuff like fonts and asset heavy stuff, i just submodule and forget about it. if it's clojure stuff than submodule is a very special case, and i aim get stuff working with git refs in deps.edn
No I mean just like another folder with it's own repo that you local/root and/or git/ref
I don't know much about submodules, so I'm not criticizing, just not sure what's different between that and two folders with two git repos
submodules are just that, cept you manage those folders in your git repo, and they don't clutter up history. otherwise you are managing a lot. how would you coordinate a sibling repo update in your example?
Hum, so I mean say:
app1
|- src
|- deps.edn // Here we depend on lib2
lib2
• src
• deps.edn // Here it depends on stuff from clojars
If you edit lib2 you can just git commit and git push.
If you edit app1 you can just git commit and git push.
app1 grabs updates from lib2 based on local/root for dev, but using the prod repo in prod, so either a maven dep or a git dep.That's not a dep, that's just a service calling your APIs no? So I mean you don't have to do anything, just point your frontend to your correct API endpoints.
For the C use case, I would symlink at dev time. And when I deploy, I'd pull down both and have a copy step copy the build of the C lib into a resource folder (replacing the symlink)
where does your C lib come from? and for the 3rd repo, sounds like a git submodule use case
I guess I don't see how a git submodule like helps in this scenario? How you depend on something else is a per-language specific thing. Do you mean some language can only depend on subfolders locally? And can't point to a separate folder? Even then though, you can pull a git repo in a subfolder of another and just set the parent to ignore that folder.
you don't hide folders that are git repos, git manages those folders and you can coordinate updates via git
in your case, hiding a git repo... how do you coordinate that with your team when your dep changes versions?
So, do you mean that even when you deploy or go to prod your deps.edn file still just uses local/root ?
for some things, sometimes. i usually don't use submodules for clojure stuff, i use it for frontend and CLI stuff. for yada i used submodules, but deployed to a local m2 repo, so i used deps.edn as normal, but it was not getting stuff from maven.
I think maybe I see where it makes sense in runtimes where deps are just meant to be subfolders
for frontend, i prefer submodules over npm or bundle or whatever is the current hot thing.
I see, so like you just put all the libraries you need for your frontend in subfolders, but independently track them with submodules
Ok, and its better then if they were separate git repo, because like you can run commands on all of them together?
they also tend to break, while git just deals with shas, so you get reproducible builds, unlike with npm. and you don't have to deal with a 1000 line package lock file, just a tiny git file
git submodules does have things like "foreach" for running commands on all repos. but submodules is best if the repos are not fast moving, just like normal deps.
Ya, makes sense. I don't have a lot of experience with that style. I think most languages I've used have good version management and can pull things from an artifact repo by version when bundling for deploy
😛 ya, I've got a mostly backend career. Frontend I did used to be Flash/Silverlight and Windows Apps
And that's been more than 8 years since I did that, so don't actually remember it all that much, can't recall how I managed deps. Think I was using SVN as well, so not even git
it's common to have a start app bring down 100+ deps, with just a hello world program
Ya, I feel I didn't use as many libs. It was like the one big UI framework and that's mostly it.
also, another thing i find good about doing submodule, is that i only have to troubleshoot git with the juniors, i don't have to deal with 2-3 package manager errors. similar reason why i avoid fancy new build tools. i don't have time for fancy stuff, i just want things to be simple.
It's kind of interesting how JS differed. Like you used C# and ActionScript 3, but really you were doing WPF and Flash development, both of which were massive front-end frameworks. You would think browsers could bundle a similar massive JS frontend framework within themselves that would become web standard.
they did the DOM. dom is ok, but it's so weird compared with a regular gui lib, but also does a lot more, sometimes a lot less.
The good part I guess is it fosters innovation, in Windows innovation is at the pace of Microsoft for example, with Flash it was the pace of Macromedia/Adobe
i think the html frontend provides for easy workarounds to most problems. there are some very weird things that aren't easy to work around, though. <select multiple>
has the weirdest interface, and there isn't a good alternative. building components that work well on phones is almost impossible, and it's obvious when you aren't using a native phone component.
There is pure chaos in the driver market for seats next year in formula one. If you're interested Twitter is wild right now
think they'd hire me?
I think you'd have a lock on their comms department if you threw your hat in the ring :)
And the man himself: https://twitter.com/oscarpiastri/status/1554527452231262210?s=21&t=YTl2HaDRliTVoEh09gQ1_g
Contrasted with: https://twitter.com/alpinef1team/status/1554500248432680960?s=21&t=YTl2HaDRliTVoEh09gQ1_g
this is the best thing since Sauber signed 3 drivers.
Got access to Dalle2 model. Woohoo! Any suggestions?
a machine with the body of a cat, and the head of a cat, that is producing smaller cats.
Aah... not as good as I expected it to be 😄 You broke it 😄
"a cat phasing in an out of existence as it becomes a singularity, 80's comic book style"
This one is pretty good
gang of cats eating squid people over an ink covered public garden, with Alf cheering in the background
Enough for today ;D I'll do some tomorrow 😄 It's good to end on a good note 😄
Rich Hickey leading the elven Gondor army into Mordor.
Clojure sign on subway?
I already tried Clojure in my first input. It didn't return anything meaningful. So this is why I resorted to this weird description. Also I found that I have only 50 evaluations in total and I have 15 or so left. And then I'll have only 15 per month. Quite sad.
The breadline of AI computing
We can already have dalle-1. This is just the improved version.
Is Dalle-2 just Dalle-1 with more parameters? Like it's the same architecture (transformers)