Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Achmed Jones
Oct 16, 2004



animist posted:

if you dont understand church's lambda calculus, how can you possibly understand the idea of replacing variables with values??

it's called begriffsschrift, churchlord :smaug:

Adbot
ADBOT LOVES YOU

animist
Aug 28, 2018

Achmed Jones posted:

it's called begriffsschrift, churchlord :smaug:

modus these ponens

DrPossum
May 15, 2004

i am not a surgeon

pokeyman posted:

git a cloned lil daggy

Good thread title

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


Git is good except that sometimes you have to use -f for stuff that it feels like you shouldn't like rebasing.

Git fork is also cool and good and I wish I could get our tooling standards guys to let us use it as a default install because Git Extensions is less slick.

redleader
Aug 18, 2005

Engage according to operational parameters

bob dobbs is dead posted:

youve never encountered dependencies before? or a gc or any managed memory? or a toposort? or a path algo? or any of those dataflow things, airflow, luigi, etc? or a compiler?...

unless you're actually implementing one of these, you don't need to know any "graph theory" deeper than circles with arrows pointing to other circles

q: wouldn't a gc using dags be a little lovely since it couldn't deal with cycles?

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

redleader posted:

unless you're actually implementing one of these, you don't need to know any "graph theory" deeper than circles with arrows pointing to other circles

Yes, but that's the same level of "graph theory" needed to understand git, so it's contextually relevant.

But I'm thinking about programmers who have never used any dependencies beyond their language's standard library, and who have only worked on projects small enough to be built by passing all the source files to the compiler in a single invocation. I'm sure they exist, but I'm also pretty sure that learning about circles and arrows would actually be a good thing for them.

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
same w git. no need to learn the semicircle phase transition for git, you know

efb

12 rats tied together
Sep 7, 2006

any time you write a function you're taking on a dependency. the programmer who has never seen one is a fake concept

think everyone did a good job otherwise of explaining that git is actually fine

Presto
Nov 22, 2002

Keep calm and Harry on.

Corla Plankun posted:

if you dont understand the basics of directed acyclic graphs you're gonna have a real hard time as a programmer; they crop up all over the place and they're not at all complicated to learn about
Made it 25 years so far.

The_Franz
Aug 8, 2003

honestly, if someone explained directed acyclic graphs using non-math speak, you would probably go "oh yeah, i've seen that before. it's easy"

stemlords love their jargon like every other profession

Corla Plankun
May 8, 2007

improve the lives of everyone
this 'dags arent real' derail is seriously getting my goat

i promise you you are sitting in dags all day every day, your degree plan at school was a dag, all the etl jobs at your work are dags, stop trolling me! !!!

akadajet
Sep 14, 2003

Captain Foo posted:

It’s a moderation philosophy that bans anime hth

:rip: smokadustbowl

chaosbreather
Dec 9, 2001

Wry and wise,
but also very sexual.

round these parts we just call dags non-American family trees

outhole surfer
Mar 18, 2003

akadajet posted:

:rip: smokadustbowl

dags are a boomer myth

Qtotonibudinibudet
Nov 7, 2011



Omich poluyobok, skazhi ty narkoman? ya prosto tozhe gde to tam zhivu, mogli by vmeste uyobyvat' narkotiki

Corla Plankun posted:

if you dont understand the basics of directed acyclic graphs you're gonna have a real hard time as a programmer; they crop up all over the place and they're not at all complicated to learn about

understanding that git uses a graph doesn't really help you use git. like sure, it's _there_ but that doesn't tell you the proper reflog/rebase/merge option incantations to do the thing you want. you can't just yell "UGH JUST MOVE THIS SUBTREE OVER TO ANOTHER PARENT NODE" at the git CLI tool and have it do that. stuff like "o fuk i did things in the wrong order and need to escape the clusterfuck of rebases and cherry-picks i have accidentally trapped myself in" doesn't even use the graph poo poo. maybe, idk, the reflog crap probably also uses graphs under the hood but you don't need to know that to understand how to go back to before you started loving yourself. does stash? idk, maybe, but again, you don't need to think about it

this is similar to how 80% of using a programming language day to day is familiarity with libraries and poo poo, and while you sometimes encounter a situation where you'd want to understand PL theory, such situations are the minority

MononcQc
May 29, 2007

the best way to learn git is https://jwiegley.github.io/git-from-the-bottom-up/ because it doesn't spend much time with the abstraction and just goes for the "git is a data structure you modify" approach and it's been the only one I ever found useful.

And some of the stuff is clearly hard, but you won't feel like an idiot because it's also obvious git doesn't have great UX and it's just how it goes.

MrQueasy
Nov 15, 2005

Probiot-ICK
https://www.youtube.com/watch?v=zH64dlgyydM

My brain is broken, and while I use DAGs all-the-time... this Snatch quote still runs through my head every time someone says DAG out loud.

Corla Plankun
May 8, 2007

improve the lives of everyone
oh extremely same actually

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

redleader posted:

q: wouldn't a gc using dags be a little lovely since it couldn't deal with cycles?

works ok for swift

just gotta sprinkle some [weak self]s around

but not too liberally. keep seeing some at work that are like "nope we probably actually do want to boop the analytics when the operation succeeds even if the view has disappeared"

Zlodo
Nov 25, 2006
I use fossil on personal projects and perforce at work so I never have to deal with git's poo poo lol

Armitag3
Mar 15, 2020

Forget it Jake, it's cybertown.


Zlodo posted:

I use fossil on personal projects and perforce at work so I never have to deal with git's poo poo lol

Aw man I liked fossil, it was cute. The SQLite of version control

fritz
Jul 26, 2003

chaosbreather posted:

round these parts we just call dags non-American family trees

isnt your head of state a widow to someone who was both her second cousin and third cousin

animist
Aug 28, 2018

VSOKUL girl posted:

maybe, idk, the reflog crap probably also uses graphs under the hood but you don't need to know that to understand how to go back to before you started loving yourself. does stash?

fifo and stack respectively iirc, although reflog stores graph pointers in the fifo. truly git is a land of contrasts

animist fucked around with this message at 14:42 on Jul 31, 2022

Qtotonibudinibudet
Nov 7, 2011



Omich poluyobok, skazhi ty narkoman? ya prosto tozhe gde to tam zhivu, mogli by vmeste uyobyvat' narkotiki
for a while i used hg

those were the days

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Armitag3 posted:

Aw man I liked fossil, it was cute. The SQLite of version control

In that it is made by the creator of SQLite, is backed by SQLite, and is the version control for the SQLite project, yes.

It's a neat project. Sort of necessarily constrained to small projects given the kitchen sink approach.

FlapYoJacks
Feb 12, 2009

Corla Plankun posted:

if you dont understand the basics of directed acyclic graphs you're gonna have a real hard time as a programmer; they crop up all over the place and they're not at all complicated to learn about

I’m an embedded Linux programmer. I’ve written everything from kernel modules to web interfaces and everything in between. I have no idea what a DAG is.

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
go spend five minutes brushing up on the incredibly basic thing you’ve unknowingly interacted with many times then

MrMoo
Sep 14, 2000

Coming up to a month having worked with a Googler refactoring a project, and I have a boat load of hot takes.

When developers look at code of The Carmack™ it is typically derided as being simple, but that is the advantage. He has consistently churned out legible and an extensible code base that is not masturbating on quirks, excepting the FP inverse square root API. This follows the adage that experts make things look simple, novices make things look complicated because they simply do not know what they are doing.

There is a project with an extensive code base that is a junior developer masterpiece. The saving grace is that nothing is complicated, just broken at every conceivable level. Now after a given refactoring, it's a a jumbo turd wrapped in a nerds ejaculate. I literally cannot work with it anymore.

What confuses me the most, is that the many senior developers I see have no respect for making projects easy to work with. It always gets brushed off and ignored.

Technical arrogance and hypocrisy is a thing apparently. I've heard both sides of the same argument used on diverse topics, such as from file system hard-links to mono-repos 🤷‍♀️

MrMoo fucked around with this message at 19:28 on Jul 31, 2022

mystes
May 31, 2006

MrMoo posted:

There is a project with an extensive code base that is a junior developer masterpiece. The saving grace is that nothing is complicated, just broken at every conceivable level. Now after a given refactoring, it's a a jumbo turd wrapped in a nerds ejaculate. I literally cannot work with it anymore.

What confuses me the most, is that the many senior developers I see have no respect for making projects easy to work with. It always gets brushed off and ignored.
Probably because everyone is busy minmaxing their resume points by making everything as complicated as humanly possible?

MrQueasy
Nov 15, 2005

Probiot-ICK
guys, stop. you’re making me miss bazaar

The_Franz
Aug 8, 2003

MrMoo posted:

excepting the FP inverse square root API

he didn't write that. it came to quake3 from someone who was at sgi where the constants were tweaked at some point during the 90s, but the actual origin is unknown. it was probably originally invented by some random person in a cubicle at sgi or sun or dec or wherever in the 80s

mystes
May 31, 2006

MrQueasy posted:

guys, stop. you’re making me miss bazaar
that's what you get for participating in a dvcs beauty contest

MrQueasy
Nov 15, 2005

Probiot-ICK

mystes posted:

that's what you get for participating in a dvcs beauty contest

I just want to talk about DAGs

Doom Mathematic
Sep 2, 2008

MrMoo posted:

Coming up to a month having worked with a Googler refactoring a project, and I have a boat load of hot takes.

When developers look at code of The Carmack™ it is typically derided as being simple, but that is the advantage. He has consistently churned out legible and an extensible code base that is not masturbating on quirks, excepting the FP inverse square root API. This follows the adage that experts make things look simple, novices make things look complicated because they simply do not know what they are doing.

There is a project with an extensive code base that is a junior developer masterpiece. The saving grace is that nothing is complicated, just broken at every conceivable level. Now after a given refactoring, it's a a jumbo turd wrapped in a nerds ejaculate. I literally cannot work with it anymore.

What confuses me the most, is that the many senior developers I see have no respect for making projects easy to work with. It always gets brushed off and ignored.

Technical arrogance and hypocrisy is a thing apparently. I've heard both sides of the same argument used on diverse topics, such as from file system hard-links to mono-repos 🤷‍♀️

Mark Twain said "I apologize for such a long letter - I didn't have time to write a short one." This 100% applies to code. It takes more effort and more time and often more skill to strip out levels of indirection and make things simple to read. It's odd to me that any experienced developer wouldn't get that.

raminasi
Jan 25, 2005

a last drink with no ice

VSOKUL girl posted:

understanding that git uses a graph doesn't really help you use git. like sure, it's _there_ but that doesn't tell you the proper reflog/rebase/merge option incantations to do the thing you want. you can't just yell "UGH JUST MOVE THIS SUBTREE OVER TO ANOTHER PARENT NODE" at the git CLI tool and have it do that. stuff like "o fuk i did things in the wrong order and need to escape the clusterfuck of rebases and cherry-picks i have accidentally trapped myself in" doesn't even use the graph poo poo. maybe, idk, the reflog crap probably also uses graphs under the hood but you don't need to know that to understand how to go back to before you started loving yourself. does stash? idk, maybe, but again, you don't need to think about it

this is similar to how 80% of using a programming language day to day is familiarity with libraries and poo poo, and while you sometimes encounter a situation where you'd want to understand PL theory, such situations are the minority

you can absolutely tell the cli tool to move a subtree. it's a fundamental operation. git's problem is that it's called "rebase," which is obvious to no one. you're dismissing the graph model in the same breath that you talk about "incantations" and "clusterfucks of rebases and cherry-picks," which is the #1 symptom of someone using git without thinking about the graph. thinking of git as a series of "incantations" that need to be executed in some magical, correct order to accomplish tasks is the deficient approach that causes people to hate git and be bad at it, and it is 100% caused by dismissing the graph.

every git activity flow should be the same:

1) understand the current state of the graph
2) figure out the desired state of the graph
3) identify a series of graph transformations to turn (1) into (2)
3a) learn all the stupid names and flags that git uses for its transformations
4) do them

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
"take care of the data structures and the algorithms will take care of themselves"

sb hermit
Dec 13, 2016





the reality of software programming is that no matter how you slice it, merging someone else's code is hell

So get those architectural changes done early, so that your later work is easier for you and you force everyone to work around you. But at least it's better signposting than telling everyone to read your tickets.

sb hermit
Dec 13, 2016





Mercurial is fine. We use it at work. Having multiple heads on the same branch is not ideal for people who can't, for some reason, get their heads around the concept. For this reason, git might be a bit more user friendly in that aspect.

"I don't see that bug you reported"
"did you check out the correct branch and update? I'm at the tip"
"Yes. Did you know that there are two tips? And that you're the last committer for both?"
"Oh, uh, gimme a sec"

qsvui
Aug 23, 2003
some crazy thing

Plorkyeran posted:

go spend five minutes brushing up on the incredibly basic thing you’ve unknowingly interacted with many times then

why should i? it'll have no impact on my work

sure, learning new things is cool and all but let's not pretend that it's always going to enrich your life

Adbot
ADBOT LOVES YOU

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER

possibly 95% of my git sweary time is spent during merge conflicts

any other time it just works and I don’t have to imagine a graph

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply