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
Schadenboner
Aug 15, 2011

by Shine

JawnV6 posted:

the worst excel spreadsheet i ever used would talk over a FTDI cable to a development board and actuate it

:stare::fh:

Adbot
ADBOT LOVES YOU

mystes
May 31, 2006

JawnV6 posted:

the worst excel spreadsheet i ever used would talk over a FTDI cable to a development board and actuate it
Using VBA? Why would someone do this in Excel?

JawnV6
Jul 4, 2004

So hot ...

mystes posted:

Using VBA? Why would someone do this in Excel?

"everyone has excel man"

taqueso
Mar 8, 2004


:911:
:wookie: :thermidor: :wookie:
:dehumanize:

:pirate::hf::tinfoil:

ole was a mistake

Sapozhnik
Jan 2, 2005

Nap Ghost
if excel was designed to do the things that everybody uses it for then nobody would use it

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
excelerationists believe that by proliferating the use of excel as accounting software we can destroy capitalism from the inside

mystes
May 31, 2006

DONT THREAD ON ME posted:

excelerationists believe that by proliferating the use of excel as accounting software we can destroy capitalism from the inside
I'm pretty sure Excel was part of the CIA's Simple Sabotage Field Manual

DaTroof
Nov 16, 2000

CC LIMERICK CONTEST GRAND CHAMPION
There once was a poster named Troof
Who was getting quite long in the toof

DONT THREAD ON ME posted:

your git usage depends very much upon:

1. your own personal development workflow
2. the git needs of your projects

my first job was on a monolithic app with ~20 devs and i would do a lot of interactive rebases and that kind of thing. however subsequent jobs were more service/microservice oriented and it is rare to need to do anything more than branch, merge, and squash. if i needed to do a rebase today i'd have to look it up :shrug:

i used git for years before squash or rebase seemed like poo poo i might ever need. merge was plenty adequate

even now, i occasionally run into situations where merge is preferable because we don't want to lose the branch's history

Corla Plankun
May 8, 2007

improve the lives of everyone
add, commit, and merge are all you need unless you're one of those people who cares about git history being pleasant in any way

Oneiros
Jan 12, 2007



DaTroof posted:

i used git for years before squash or rebase seemed like poo poo i might ever need. merge was plenty adequate

even now, i occasionally run into situations where merge is preferable because we don't want to lose the branch's history

whereas i almost never use or used merge, relying on rebase almost exclusively (either rebasing my branch onto master or whatever as-is or rewriting my branch's history into more meaningful commits first).

i dunno why, i just got into the habit of frequently rebasing my feature branches on the latest prod branch. probably because i got tired of fixing a pile of merge conflicts when it came time to actually deploy poo poo.

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



Corla Plankun posted:

add, commit, and merge are all you need unless you're one of those people who cares about git history being pleasant in any way

its me, i rebase and force push a lot (nobody uses my code anyway)

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer
I pretty much use git like svn until it causes a problem and then I aimlessly Google until I find a way to fix it. so far it has been a better use of my time than actually learning git in any kind of depth

Corla Plankun
May 8, 2007

improve the lives of everyone
i think that the worst and nastiest git fails i've ever seen have been people who thought they could power through it on their own for half a day so knowing to google git stuff makes you a git expert of considerable distinction

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



also i use fork.app because i can never remember the commands for interactive rebasing

https://git-fork.com

Carthag Tuek fucked around with this message at 06:15 on Feb 16, 2019

Oneiros
Jan 12, 2007



https://twitter.com/PinoBatch/status/701215215975866372

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
i have this really lazy strategy of keeping my git history nice:

1. i start working on a new feature and do `git checkout -b feature`, and then `git checkout -b feature-wip`
2. i do a bunch of lazy commits against the wip branch
3. when i reach a point where i have something worth a single commit, i do `git reset feature`. this unstages all changes since the last merge. then i add everything back, craft my commit, and then merge it into the feature branch.
4. then keep going until the feature is ready.

it's really easy and takes no thought and i've never hosed it up.

i used to use magit and that was pretty cool but this is easier.

DONT THREAD ON ME fucked around with this message at 06:36 on Feb 16, 2019

Luigi Thirty
Apr 30, 2006

Emergency confection port.

terrible programmer status: it took me 3 days to figure out that I had the N64 RDP in the wrong pipeline mode which was causing my triangles to be broken

now they fill, they just have garbage colors which is an improvement

Feisty-Cadaver
Jun 1, 2000
The worms crawl in,
The worms crawl out.

Corla Plankun posted:

is performance testing in jenkins cicd a bad idea? it feels like it might be

like, you wanna run a load test on your build machines? If you have the extra capacity it's not a terrible idea, but it's not a great one.

using a jenkins pipeline to spin up a load test on other hardware and collect results afterwards is something I've done before and it's p nice.

click button, see if you're lovely new code will fall over under load or not

Sapozhnik
Jan 2, 2005

Nap Ghost

Corla Plankun posted:

add, commit, and merge are all you need unless you're one of those people who cares about git history being pleasant in any way

If you don't care about the history being pleasant in any way then what you need is a backup agent, not a source control system

VikingofRock
Aug 24, 2008




DONT THREAD ON ME posted:

i have this really lazy strategy of keeping my git history nice:

1. i start working on a new feature and do `git checkout -b feature`, and then `git checkout -b feature-wip`
2. i do a bunch of lazy commits against the wip branch
3. when i reach a point where i have something worth a single commit, i do `git reset feature`. this unstages all changes since the last merge. then i add everything back, craft my commit, and then merge it into the feature branch.
4. then keep going until the feature is ready.

it's really easy and takes no thought and i've never hosed it up.

i used to use magit and that was pretty cool but this is easier.

FWIW I think the more idiomatic way to accomplish the same thing is to squash all of the WiP commits with git rebase -i

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

VikingofRock posted:

FWIW I think the more idiomatic way to accomplish the same thing is to squash all of the WiP commits with git rebase -i

yeah i just find the rebase interface really annoying

Powerful Two-Hander
Mar 10, 2004

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


pokeyman posted:

I get the impression there are many git features where half the users say “I can’t believe anyone gets anything done without this feature” and the other half say “I never use that feature and I do ok”

(do you plan to share your knowledge?)

i walked them through it and in the process got tripped up by the new commit hook that requires an issue ref (added by me) because I was replaying non-compliant commits from like 2 weeks ago

sooo i had to do a mixed reset then edit the messages, re commit and push and was like "there you go easy!" and just got dead silence lmao

Oneiros posted:


i dunno why, i just got into the habit of frequently rebasing my feature branches on the latest prod branch. probably because i got tired of fixing a pile of merge conflicts when it came time to actually deploy poo poo.

this is exactly why I did it. I have a dev branch I've been fiddling with for like 5 months now and have rebased multiple times to keep it up to date vs master. when I finally do merge it it's gonna be a loving pain though.

Powerful Two-Hander fucked around with this message at 10:47 on Feb 16, 2019

Private Speech
Mar 30, 2011

I HAVE EVEN MORE WORTHLESS BEANIE BABIES IN MY COLLECTION THAN I HAVE WORTHLESS POSTS IN THE BEANIE BABY THREAD YET I STILL HAVE THE TEMERITY TO CRITICIZE OTHERS' COLLECTIONS

IF YOU SEE ME TALKING ABOUT BEANIE BABIES, PLEASE TELL ME TO

EAT. SHIT.


Powerful Two-Hander posted:

i walked them through it and in the process got tripped up by the new commit hook that requires an issue ref (added by me) because I was replaying non-compliant commits from like 2 weeks ago

sooo i had to do a mixed reset then edit the messages, re commit and push and was like "there you go easy!" and just got dead silence lmao

owned

Xarn
Jun 26, 2015

DaTroof posted:

i've been 99.9% remote for a few years and have never run into a case where we needed anything like a whiteboard in a teleconference. (i can see how it could be useful though, so maybe we're an exception)

Arcsech posted:

I have not needed one, but a bunch of people on our UI team just has a whiteboard in their work space such that it’s easy to get a good view of in the camera.

generally I haven’t needed one because our workflow tends to work more like:
1) a meeting where the problem and solutions are discussed at a very high level
2) problem owner writes up a doc, with diagrams of appropriate
3) everyone else comments on the doc/diagrams
4) input is used by problem owner to produce a final version

I really miss it a lot less than I thought I would. however, this is with a 100% distributed team - I don’t know how well this would work for a situation where a few people are standing around a whiteboard and 1-2 people are on the phone


Thinking back to it, at job-2 we worked pretty well with just Skype and some screen sharing app sometimes, but that job also wasn't really innovative in any way -- just a lot of data pipeline plumbing.


The current job OTOH is kinda math and research heavy, which is where I think whiteboarding shines. :v:

Xarn
Jun 26, 2015

Sapozhnik posted:

If you don't care about the history being pleasant in any way then what you need is a backup agent, not a source control system

AggressivelyStupid
Jan 9, 2012

https://twitter.com/kennwhite/status/1096542142900682752

hmm, hmm

Corla Plankun
May 8, 2007

improve the lives of everyone

DONT THREAD ON ME posted:

i have this really lazy strategy of keeping my git history nice:

1. i start working on a new feature and do `git checkout -b feature`, and then `git checkout -b feature-wip`
2. i do a bunch of lazy commits against the wip branch
3. when i reach a point where i have something worth a single commit, i do `git reset feature`. this unstages all changes since the last merge. then i add everything back, craft my commit, and then merge it into the feature branch.
4. then keep going until the feature is ready.

it's really easy and takes no thought and i've never hosed it up.

i used to use magit and that was pretty cool but this is easier.

this is a good strat but i feel obliged to tell you that you can do this with one branch (you can git reset to any commit in the git log, no branch names needed)

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



I usually just amend my most recent commit continually until I'm done with the feature

hackbunny
Jul 22, 2007

I haven't been on SA for years but the person who gave me my previous av as a joke felt guilty for doing so and decided to get me a non-shitty av

DaTroof posted:

i used git for years before squash or rebase seemed like poo poo i might ever need. merge was plenty adequate

even now, i occasionally run into situations where merge is preferable because we don't want to lose the branch's history

I use interactive rebase a lot. I fork the project repository and force-push feature branches there until they're ready for prime time. I wish there was an easy way to split a commit into multiple commits without a ton of amends and squashes, though

I've never learned a single command line option for git. SourceTree isn't great but it does almost everything I need, the only times I use the command line is for obscure things like recovering commits I unlinked by mistake (it turns out it really helps to think of a git repo as a graph - if you use a gui client and learn the weird names that were given to git concepts)

Corla Plankun posted:

add, commit, and merge are all you need unless you're one of those people who cares about git history being pleasant in any way

commits are documentation, and writing documentation is half of your job as a software engineer. a good commit history is vital to continuous integration, regression testing and bisection, all tools as important to making software as editors and compilers

Soricidus
Oct 21, 2010
freedom-hating statist shill
I find it helps to think of git as like a monad, but on the blockchain

hackbunny
Jul 22, 2007

I haven't been on SA for years but the person who gave me my previous av as a joke felt guilty for doing so and decided to get me a non-shitty av

Krankenstyle posted:

I usually just amend my most recent commit continually until I'm done with the feature

I've been bitten by enough regressions hidden in giganto-commits that I split my commits up as much as possible. it's a little tedious because git doesn't make it easy, and also because I'm a pedant and I make sure every single commit at least compiles right (without a test suite, I can't make sure they don't introduce regressions, but by keeping commits small and buildable I'm making bisection possible), but I take it as a chance to re-read the code and often re-write it in a better way, or catch bugs. if I had tests I would feel a little more confident and would do much less grunt work, but I don't, and until I write some, I feel a responsibility to write code a little slower in exchange for more rigour

hackbunny
Jul 22, 2007

I haven't been on SA for years but the person who gave me my previous av as a joke felt guilty for doing so and decided to get me a non-shitty av

Soricidus posted:

I find it helps to think of git as like a monad, but on the blockchain

:jerkbag:

git commits are linked together, each commit has a pointer to its predecessors. they form an immutable data structure, so editing a commit necessarily involves recreating all successors - this is the meaning of "rebase", and the reason why a rebase changes the hashes of all commits downbranch. what are tags and branches? they're global variables, GC roots, nothing more and nothing less, and now you know how to recover a lost commit, or how not to lose a commit in the first place (just tag it)

if you're a programmer in literally any language, you already have a good mental model of git

Corla Plankun
May 8, 2007

improve the lives of everyone

hackbunny posted:

I use interactive rebase a lot. I fork the project repository and force-push feature branches there until they're ready for prime time. I wish there was an easy way to split a commit into multiple commits without a ton of amends and squashes, though

I've never learned a single command line option for git. SourceTree isn't great but it does almost everything I need, the only times I use the command line is for obscure things like recovering commits I unlinked by mistake (it turns out it really helps to think of a git repo as a graph - if you use a gui client and learn the weird names that were given to git concepts)


commits are documentation, and writing documentation is half of your job as a software engineer. a good commit history is vital to continuous integration, regression testing and bisection, all tools as important to making software as editors and compilers

documentation is obsolete almost the second it is written and its a waste of time to try to fight technical debt with words nobody will ever read

fisting by many
Dec 25, 2009



Corla Plankun posted:

this is a good strat but i feel obliged to tell you that you can do this with one branch (you can git reset to any commit in the git log, no branch names needed)

i like the idea of having a -wip branch so i don't mess anything up if i've pushed that feature branch to a remote repo

this is kind of what I was doing in a less structured way so I'll adopt it

git philosophers: what should you do when you're working on feature A, but then create breaking change B and merge it into master, and don't want to continue developing A from before change B? (also some of the same files are modified so rebasing isn't simple)

why two separate changes affect most of the same files, well that's an old mistake i'm paying for now :(

Eleeleth
Jun 21, 2009

Damn, that is one suave eel.

hackbunny posted:

what are tags and branches?

a miserable pile of commits, but enough talk... git push -f

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



hackbunny posted:

I've been bitten by enough regressions hidden in giganto-commits that I split my commits up as much as possible. it's a little tedious because git doesn't make it easy, and also because I'm a pedant and I make sure every single commit at least compiles right (without a test suite, I can't make sure they don't introduce regressions, but by keeping commits small and buildable I'm making bisection possible), but I take it as a chance to re-read the code and often re-write it in a better way, or catch bugs. if I had tests I would feel a little more confident and would do much less grunt work, but I don't, and until I write some, I feel a responsibility to write code a little slower in exchange for more rigour

actually yea i try to split commits as well. i mostly do the amendment dance when i have the mechanics working & im polishing indentation and such

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
long-lived branches suck regardless of what system you're using, hopefully you aren't in a situation where you have weeks of divergent work that you need to reconcile.

but really just squash and rebase like you would do before actually pushing stuff into master. leave a tag around pointing to the pre-squash head if you think you'll need to look at the wip history.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

fisting by many posted:

git philosophers: what should you do when you're working on feature A, but then create breaking change B and merge it into master, and don't want to continue developing A from before change B? (also some of the same files are modified so rebasing isn't simple)

why two separate changes affect most of the same files, well that's an old mistake i'm paying for now :(

the trick with your situation is that today’s rebase conflicts are tomorrow's merge conflicts. you can decide when you want to deal with them, but you’ll have to deal with them sometime.

rebase and resolve conflicts. or new branch from master and cherry-pick the commits you still care about (maybe breaking change B obviates some of your A work)

fisting by many
Dec 25, 2009



pokeyman posted:

the trick with your situation is that today’s rebase conflicts are tomorrow's merge conflicts. you can decide when you want to deal with them, but you’ll have to deal with them sometime.

rebase and resolve conflicts. or new branch from master and cherry-pick the commits you still care about (maybe breaking change B obviates some of your A work)

hm, that's true

I did end up rebasing, glad I didn't totally waste my time

Adbot
ADBOT LOVES YOU

darthbob88
Oct 13, 2011

YOSPOS

fisting by many posted:

git philosophers: what should you do when you're working on feature A, but then create breaking change B and merge it into master, and don't want to continue developing A from before change B? (also some of the same files are modified so rebasing isn't simple)

why two separate changes affect most of the same files, well that's an old mistake i'm paying for now :(
I generally just suck it up and rebase. I'm going to need to deal with that conflict either now or when I try merging the branch into master, and I'd rather work on the newest version of the code.

E: As pokeyman said.

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