Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "conflicts"
Me and my wife are software engineers
Started dating while doing a project together
I guess you could say that we...
MERGED WITHOUT CONFLICTS21
My mom died when I was 7, after which my dad bought me a Commodore 64 so I had something to lose myself in during the mourning process.
I learned everything about that system, from my first GOTO statement to sprite buffers, to soldering my own EPROM cartridges. My dad didn't deal with the loss so well, and became a missing person 5 years later when I was 12.
I got into foster care with a bunch of strict religious cultists who wouldn't allow electronics in the house.
So I ran away at 14, sub-rented a closet in a student apartment using my orphan benefits and bought a secondhand IBM computer. I spent about 16 hours a day learning about BSD and Linux, C, C++, Fortran, ADA, Haskell, Livescript and even more awful things like Visual Basic, ASP, Windows NT, and Active Directory.
I faked my ID (back then it was just a laminated sheet of paper), and got a job at 15-pretending-to-be-17 at one of the first ISPs in my country. I wrote the firmware and admin panel for their router, full of shitty CGI-bin ASP code and vulnerabilities.
That somehow got me into a job at Microsoft, building the MS Office language pack for my country, and as an official "conflict resolver" for their shitty version control system. Yes, they had fulltime people employed just to resolve VCS conflicts.
After that I worked at Arianespace (X-ray NDT, visualizing/tagging dicom scans, image recognition of faulty propellant tank welds), and after that I switched to biotech, first phytogenetics, then immunology, then pharmacokynetics.
In between I have grown & synthesized and sold large quantities of recreational drugs, taken care of some big felines, got a pilot license, taught IT at an elementary school, renovated a house, and procreated.
A lot of it was to prove myself to the world -- prove that a nearly-broke-orphan-high-school-dropout could succeed at life.
But hey, now I work for a "startup", so I guess I failed after all.30
Guys, I've just merged to master that was 93 commits behind and no conflicts.. Just pushed to production and had the cleanest and painless migration ever... Something very bad happened, this can't be right9
Thank you dear mr. boss for fucking up our master branch by adding local changes to a 2 months outdated master branch (250 FUCKING COMMITS BEHIND), pull the remote and then just push without resolving any conflicts!!!1!!!
But thank you so much for sending me an email at 10pm asking me to resolve the conflicts.
It is 3 in the morning and it took 1 hour to get it clean.
Sometimes I want to break some necks...9
Things I wish I could tell my 18 year old self.
1) Accept you will make mistakes.
2) Truly learn the language you are using.
3) Write idiomatic code for the language you are using.
4) Be upfront about not knowing something.
5) Don't let not knowing something stop you from learning it.
6) None of us knew X until we learned it.
7) Understand your strengths and weaknesses as a developer, play to them.
8) Be willing to try new things.
9) X language isn't ALWAYS the best choice, X paradigm isn't ALWAYS the best choice. Choose wisely.
10) You won't know everything, but you might know more than others.
11) Your ideas and ego don't matter more than ensuring the product works.
12) "Perfection is the enemy of the good [enough]" - Voltaire
13) "Perfection is not achieved when there's nothing more to add, but when there's nothing more to remove." - Einstein.
14) Conflicts happen, deal with it.
15) Develop a toolset and really learn them.
16) Try new tools, they may prove better than what you were using.
17) Don't manage your own memory unless you absolutely have to, you are probably not smarter than the collective intelligence of the team that built the various garbage collection methods.
18) People can be dicks, especially online.
19) If you are new and people are being dicks to you, did you skip past the irc message about etiquette? If you did, you're the dick in this situation.
20) It can be tough, but it is fun, so have fun!6
Who here uses `master` for development?
My boss (api guy) tried to convince me that was normal practice. I gently told him that it sounded crazy and very very bad.
Here's the dev path I'm enforcing on my repos:
(feature branches) -> dev -> qa* -> master -> production*
*: the build server auto-pulls from these branches, and pushes any passing builds to staging/production.
Everyone works on their own feature branches, and when they're happy with their work, they merge it into `dev`. `dev`, therefore, is for feature integration testing. After everything is working well on `dev`, it gets merged into `qa` for the testers to fawn over and beat with sticks. Anything that passes QA gets merged into `master`, where it sits until we're ready to release it. When that time comes (it's usually right away, but not always), `master` gets merged into `production`.
This way, `master` is always stable and contains the newest code, so it's perfect for forking/etc. Is this standard practice, or should I be doing something different?
Also, api guy encourages something he calls "running a racetrack" -- each dev has their own branch (their initials) and they push to that throughout the day. everyone else pulls from it regularly and pushes to their own branch. When anyone's happy with their code, they push from their (updated) branch to `qa` (I insisted on `dev` instead.)
Supposedly this drastically reduces the number of merge conflicts when pushing to an upstream branch due to having a more recent ancestor node?
I don't quite follow that, but it seems to me that merging/pushing throughout the day would just make them happen sooner? idk.
What are your thoughts?30
Me after a large Git merge, after expecting masses of merge conflicts and getting none. Life is good my friend.2
Yesterday was Friday the 13th, so here is a list of my worst dev nightmares without order of significance:
1) Dealing with multithreaded code, especially on Android
3) Dependency hell, especially in Python
5) Memory Leaks
6) git conflicts
7) Crazy regexes and string manipulations
8) css. Fuck css.
9) not knowing jack shit about something but expected by others to
produce a result with it.
10) 3+ hours of debugging with no success
Coworker: You've merged the wrong PR. It is broken.
Me: is it marked as broken? Is there a mail marking it as broken?
Coworker: yes. I wrote something in the chat.
I do NOT read and click every brain fart from the chat. I had the PR (as reviewer and dependent developer) open on my desk and waited for the coworker to fix his merge conflicts.
OK then, try to revert. Git reset hard. Push -f. Policy does not allow master modification. 🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕
Fuck this company. Fuck the policies. Fuck them all with a chainsaw. Forced me to work 2 weeks more. 17.04 should have been my last day at this circus. Let 3 other guys go to vacation while I have fix their management's mistakes. Fuck. You. All. Eat shit and suffocate in piss.8
Fell like I can finally vent this now I've calmed down.
Me: You've fucked the tree again
Junior: No I haven't
Me: It says there "Fixing merge conflicts"
Junior: Well it wasn't me I wouldn't have done a merge
Me: It has your name next to it...
Junior: Well that commit wasn't there a second ago
Me: it's dated for Friday...
Junior: Well if you hadn't committed to master and blah blah blah
Me: We'll if you knew know to use git we wouldn't have this problem.12
Me: So how do you handle conflict
Candidate: I use git kraken to highlight my conflicts and walk through them one by one
Probably the most developer answer i've ever heard hahaha4
Story time! Promised this, so making good on the promise. Eh-hem.
Misunderstandings [A slice of life short play that actually happened]
Dramatis Personae (anonymized, bc of course):
Moi ........ me, myself and possibly some lint
Robert ..... co-architect
Daisy ...... line dev
Lisa ....... also line dev
Prologue: the beginninning
[A project is starting up, new devs are coming on, including the two individuals who drive this story.
Daisy, of Indian origin, an exceptional dev and lovely person. Mother, wife, very conservative by upbringing in her early 40s.
Lisa, also exceptional dev, lovely person. Mother, also wife, self-made immigrant with liberal views derived from personal pride and self-bootstrapping]
Enter the office, We introduce everyone, off to a nice start, everyone is happy and excited to be working on [large bank project].
Lisa and Daisy form a friendship of commonality, they have similar backgrounds by all appearances and similar concerns due to children the same age and shared employment. They seem to become fast friends and things proceed normally for some months. Smooth sailing, all is well.
The fuse is lit.
Scene: Lunchtime gossip
[Robert, middle 40s architect adjacent Moi, also architect, age is my own damn business [old, so very old].]
Robert: "So, it seems like Daisy and Lisa are getting along great."
Moi: *snerfs a little, almost chokes on enchilada* Yes, yes they are, It's nice to see...
Robert: *eyebrow, having learned to read my expressions* "Aaaaaaand..."
Moi: "I adore both of them, but they are primarily friends because they don't actually understand most of what the other says"
[Lisa has a thick Taiwanese accent, Daisy has a standard northern indian accent. Never the two shall meet]
Robert: "Are you sure, they seem to have a lot of conversations?"
Moi: "Positive, you weren't at lunch with the three of us. They're polar opposite in terms of values, it'll be fine so long as that never comes up"
Robert: "I'm not even digging into that"
Scene: This is bat country
[More months pass, everything is fine, project is humming along nicely, save a few blips of personality conflicts. Moi takes a vacation. A gas station, somewhere in the middle of Wyoming, a snowstorm, a sports car full of luggage]
Moi: *looks down, sees it's Robert, eyebrow raises, answer* What's on fire?
Robert: "We had to let Lisa go"
Moi: "Ah, they finally understood each other."
Robert: "Yes..." *deep sigh*
[Fade to flashback]
Scene: The office, Lisa's desk
[Daisy and Lisa are discussing non-descript conversation. Daisy broaches the subject of Lisa's past divorce and being a single mother]
Daisy: "It must have been hard, how did you manage?"
Lisa: "I had my daughter, she was my motivation. We made it here, I met my current partner"
Daisy: "That's good! It is so hard, coming to something new. I could never imagine leaving my husband."
Lisa: "He left us, we weren't important, I don't want to marry every again"
Daisy: "Surely you do though? Marriage is great for a woman, my parents found a great husband for me."
Lisa: "Haha, lucky you. Most indian marriage is like prostitution."
[At this moment, Daisy's demeanor takes a nose dive. Whatever was actually said, what she heard was, "Indian marriage is prostitution"]
Daisy: *tears begin pouring down her face, she flings herself back in her chair, head shaking violently she screams* "I AM AN HONORABLE WOMAN!"
[Daisy runs out of the room, straight to HR. Lisa sits there, stunned, not really understanding what just happened or the consequences]
Scene: Back in bat country
[Robert finishes the story, the emotions are a mixture of hilarity at the absurdity of the situation and frustration in the work void it has created]
Moi: "Satan, well. Fuck me. Fuck us. Fuck. Is Daisy alright, is she at least staying? We can't lose two devs at the same time."
Robert: "She got a few days off, she seems fine now, but she's... yeah, I never laughed so hard"
Moi: *double facepalm* "Yeah, the word choice was a bit outrageous. It's not like we didn't know it was coming. I'm going to get back on the road."
Robert: "Alright, enjoy yourself, I'll try and prevent any other forest fires."20
- Merging 300 files from one branch to another in TFS.
- No merge conflicts.
My first thought:
This can't be right. I must have done something wrong...3
Had a fun little conversation with a potential employer...
Him: We use git for version control. To work with our team you'll be expected to do the same and be proficient at it.
Me: Not a problem. I am well versed with all things git! May I ask, what does your work flow look like?
Him: All of our source lives in a single repo and everyone commits straight to master.
Him: Conflicts will not be tolerated.6
So this bunch of idiots made this huge iOS app using lots of global variables, lots of spaghetti code and basically no separation between logic and UI.
Another bunch of idiots were told to take that iOS app and basically port it to Android. And they ported that same code mess, almost line by line, and adding some weird shit.
Now the HQ of the first bunch of idiots realize that the second bunch of idiots were too slow/inefficient/whatever, and they're now asking US to solve that Android mess and add another shitload of features.
The worst part of it, is that both bunches of idiots are still working on it, so we're basically forced to follow the same shitty style until the first deadline, otherwise we'd die suffocated by stinky merge conflicts. Which will happen anyway because our changes are going to overlap.
Oh, and the PM refuses to understand the disaster coming and there's six hours of time zone difference.
Fuck this shit.7
Just pushed commit #512 today.
Was a huge refactoring effort which went sooooo smoothly <3
Pull from parent branch without merge conflicts <33
No issues with deployment <333
AND i'm now on vacation 🏳️🌈❤️🏳️🌈❤️🏳️🌈
Things are perfect6
When you are working on a feature and someone else is working on the same thing and you commit at the same time and now you have to resolve conflicts but both versions work2
Get assigned ticket.
Finish the most of the feature. Finish most of the specs.
Second dev wants to own accounting half of the ticket.
Rip out half my changes, rewrite specs.
Code review asks for minor changes.
Product creep creeps the scope.
Finish the feature again.
Product creep creep-creeps the scope.
Finish the feature again.
New release happens.
Merge in master; fix conflicts. Run specs; random unrelated specs fail, some fail intermittently. Rabbit holes of complicated, unexplored, obviously-flawed code.
Fuck that. Push.7
Holy shit balls it works (so far)
So I’ve been working on a project... well feature for the past year (yes 12 whole fucking months - anti agile I know)
And today I got to merge that bitch of a pull request into the current working branch and deploy it to UAT - no conflicts 😵I think I need to put the lottery on tonight!
And some how, by some stupid lucky roll of the dice it just works.
I have never felt so afraid and delighted in my life!6
I wish there is such thing as branch in a relationship. So that whenever a couple are having a fight, they can create a branch and work their shit out in that branch and eventually merge to the master branch.
That just costs.... more conflicts3
I got a new laptop today, it only had internet explorer so I used it and it's actually not that bad at downloading other browsers (ಠ ͜ʖಠ)2
When you haven't pulled from master in a week or two and then you do and there's no conflict with the big set of changes you're working on2
When I know that i 'm working on the same file with someone from my team, I do my best to commit first so he 'll be the one resolving conflicts :D1
Greetings from Denmark! Thought I would join after a lot of lurking, and tell a little story, as to how I fucked up when I started in my company.
I've been there around 10 days and had never used git besides just add, commit, and push. I was told to work in feature branches, and I did, I was playing around trying to learn, and got some merge conflicts, made a lot of unnecessary commits etc. I was told to clean it up before I merged into dev. And as I didn't know git I asked how I could do that. I was told I could force push in my branch, and that it was okay as long as it was only inside my branch. I tried that and saw my command line force pushing to all branches including dev, and master. My heart skipped a couple of beats, and I went directly to my Lead developer and asked what happend. He got a bit mad at me for pushing in dev and master, and override all the commits there had been made. I tried to explain I didn't he did not really believe me, I was so nervous. Luckily everything came back to normal with people's local branches being pushed etc. But that day I learned about git's push matching config, and my lead was luckily only mad in the heat of the moment and even apologized for getting mad. Just one of my little fuck up's in my short time as a developer7
Slack Boss: hey, could you check work of dev that is okey, we want this update fast.
Me: hey, just tell him to open PR and assign me, I will check and merge changes.
Slack notification: Dev: Hey, could you please merge Pull request on the project ?
Me thinking, hmm weird, I didn't get email.
Checking github, 0 pull request.
Me: hey, I don't see any pull request open, and when you make pr, just assign me I will merge it right away.
Dev: takes half a day
Dev: Makes pr and assign correctly me.
Dev on slack: HERE is PR open now @me.
I get 3 notification to see this PR, sure at least it is there.
I check this PR, 50 commits, X conflicts, cannot merge this.
Me: Hey, @dev please fix conflicts in your PR.
DEV: takes another 2 days to respond.
Boss in the meantime: hey, have you pushed those new changes ?
Me: I am waiting for conflicts to resolve.
Dev: I fixed the conflicts @me.
I check the PR conflicts are there.
Me: are you sure you pushed your changes @dev ? I don't see them resolved
Dev: takes another day and pushes changes to resolve conflicts.
Me: merges PR to master becaus he based it on master, I will sync the developer branch myself.
All good, everybody happy.
I write to dev: Next time base your changes on develop branch and resolve conflicts before making PR.
Two weeks later new PR From this dev.
Based on Master, conflicts everywhere.8
Hey boss, I see you are on a rampage with those trello cards, they all flying to the done list... How about you push to gitlab at least once a week too?
You gonna have to deal with the conflicts alone you dumb fuck :)1
Okay guys, this is it!
Today was my final day at my current employer. I am on vacation next week, and will return to my previous employer on January the 2nd.
So I am going back to full time C/C++ coding on Linux. My machines will, once again, all have Gentoo Linux on them, while the servers run Debian. (Or Devuan if I can help it.)
So what have I learned in my 15 months stint as a C++ Qt5 developer on Windows 10 using Visual Studio 2017?
1. VS2017 is the best ever.
Although I am a Linux guy, I have owned all Visual C++/Studio versions since Visual C++ 6 (1999) - if only to use for cross-platform projects in a Windows VM.
2. I love Qt5, even on Windows!
And QtDesigner is a far better tool than I thought. On Linux I rarely had to design GUIs, so I was happily surprised.
3. GUI apps are always inferior to CLI.
Whenever a collegue of mine and me had worked on the same parts in the same libraries, and hit the inevitable merge conflict resolving session, we played a game: Who would push first? Him, with TortoiseGit and BeyondCompare? Or me, with MinTTY and kdiff3?
Surprise! I always won! 😁
4. Only shortly into Application Development for Windows with Visual Studio, I started to miss the fun it is to code on Linux for Linux.
No matter how much I like VS2017, I really miss Code::Blocks!
5. Big software suites (2,792 files) are interesting, but I prefer libraries and frameworks to work on.
For future reference, I'll answer a possible question I may have in the future about Windows 10: What did I use to mod/pimp it?
1. 7+ Taskbar Tweaker
3. Classic Start (Now: Open-Shell-Menu)
Enhanced text editor I like a lot more than notepad++. Aaaand it has a "vim-mode". 👍
Three way diff viewer, that can resolve most merge conflicts on its own. Its keyboard shortcuts (ctrl-1|2|3 ; ctrl-PgDn) let you fly through your files.
8. Link Shell Extensions
Support hard links, symbolic links, junctions and much more right from the explorer via right-click-menu.
Neither as beautiful as Conky, nor as easy to configure or flexible. But it does its job.
Of course this wasn't everything. I also pimped Visual Studio quite heavily. Sam question from my future self: What did I do?
1 AStyle Extension
2 Better Comments
Simple patche to make different comment styles look different. Like obsolete ones being showed striked through, or important ones in bold red and such stuff.
4 Atomineer Pro Documentation
Alright, it is commercial. But there is not another tool that can keep doxygen style comments updated. Without this, you have to do it by hand.
5 Highlight all occurrences of selected word++
Select a word, and all similar get highlighted. VS could do this on its own, but is restricted to keywords.
6 Hot Commands for Visual Studio
This ingenious invention colorizes brackets (aka "Rainbow brackets") and makes their inner space visible on demand. Very useful if you have to deal with complex flows.
Come on! 2018 and Visual Studio still outputs monochromatically?
That's it, folks.
No matter how much fun it will be to do full time Linux C/C++ coding, and reverse engineering of WORM file systems and proprietary containers and databases, the thing I am most looking forward to is quite mundane: I can do what the fuck I want!
Being stuck in a project? No problem, any of my own projects is just a 'git clone' away. (Or fetch/pull more likely... 😜)
Here I am leaving a place where gitlab.com, github.com and sourceforge.net are blocked.
But I will also miss my collegues here. I know it.
Well, part of the game I guess?7
Updated linux-next again.
Got another 2 FPS boost.
AMD is optimizing the shit out of their open-source drivers. And as i see in mailing list we will get BACO on pre-VEGA GPUs. (Bus Active Chip Off) = power saving feature.
Basically means much better battery life for me HEHE.
It got conflicts with linux-next and im not in the mood to fix those just for that.
But anyways AMD is making 5.5 another great release.
OK< been a long time user of Unity.
Tried the latest update as I and others were enthusiastic about creating a joint project of gamers and developers.
As I was building up a started website and we were getting things with Unity ready...BOOM,. They Fuck up the installs.
Not just a minor thing here or there but not finding its own Fucking file locations where it installs shit. You try and say, Hey Unity you fucking twat, install here in this folder.
Boom again, it installs part of it there, and then continues installing shit everywhere else it wants to. Then the assholes at Unity give this Bullshit claim "the bug has been fixed."
Fuck you, its never that simple, You have to delete all sorts of fucking files to make sure conflicts from a previous corruption isn't just loaded on top of so it does not fuck up later.
So we did all that from programs, program data, program(x86), AppData Local, Local Low, and Roaming.
For added measure we manually removed all the crap from the registry folders (that was a pain but necessary), and then ran a cleaner to make sure all the left over shit was gone.
Thinking, OK you shit tech MoFo's we are clean and here we go.
HOLY SHIT BALLS, Its fucking worse with the LTS version it recommends and Slow as Fuck with their most recent version which is like 2020 itself, and insane piece of fucking bloated garbage and slower than a brick hard shit without fruit.
So we were going to all go post on the forums, and complain the fix section isn't fixed for shit.
Fuck us running backwards naked through a field of razor grass. Its so overloaded with complaints that they shut down further posts.
What makes this shit worse is we cannot even get the previous fucking versions of the editor before all this to work where our only option is without using the fucking Hub demand is just install 2018.
great if we started coding and testing in that. We cannot get shit where we were at back on track because you cannot fucking backward load an exported saved asset file.
Unity's suggestion? Start over.
Our Suggestion? Stop fucking smoking or using whatever fucking drug you assholes are on, you fucking disabled the gear options so we can resolve shit ourselves, and admit you did that shit and other sneaky piece of shit back stabby, security vulnerable data leak bullshit things to your end users.
Listen to your fucking experienced and long time users and get rid of the Fucking backward stepped hub piece of shit everyone with more brains than whatever piss ant pieces of shit praised that the rest of us have hated from day fucking one!
And while fixing this shit like it should be fucking fixed if you shit head bastards want to continue to exist as a fucking company, overhaul the fucking website or get the fuck out of business with now completely worthless SHIT.
Suffice it to say....
We are now considering dealing with the learning curve and post pone our project going with unreal just because of these all around complete fuck ups that herald back to shit games of versions 3.0 and earlier.10
So a few days ago I shared about the conflict with my colleague on learning React. Today I was let go. Obviously I asked why they would do that and they said they feel the problem isn't even my React knowledge but the fact I don't grasp the fundamentals of OO programming.
Thing is in these 3 months there has not been a single code review. They are either going of what my lying colleague told them (they claimed he was excluded from giving feedback), or the consultants who were hired to help us. And yes, I got feedback I should improve but at the same time the assurance so long as I show improvement it'd be fine. And I was told they could see improvement. So I'm not sure what changed but suddenly there is no budget to keep me on. In any case it feels like shitty corporate bullshit.
But I can't say they are wrong. I struggle to explain simple concepts I know in words. I've worked a series of bad jobs where nobody cared how you did stuff as long as it got done. I feel I'm so behind now and so affected by bad knowledge it's even harder to fix than to learn the first time. So I'm wondering how to fix this.
I'm really gutted too because I loved this company. I was finally getting a fair wage instead of being underpaid. The people were excellent. I felt I could finally relax and feel safe at work. And now I feel betrayed. Which for someone with self esteem issues is very hard. Can't trust in myself and can't trust in others.
I'm gonna try and pick myself up in the morning, but today I feel totally shit. This wasn't how I'd expected things to go. I thought my manager had intended to talk conflicts over but instead I get the boot. And the advice to stop overselling myself. Real useful that. Like it is on me that they hired me despite my subpar interview because my CV looked good. It's a shitty excuse. In any case they're now stuck with a dev that walks out of work, throws false accusations about colleagues, and another person warned me about to not engage because nothing good ever came from it. He's gonna keep over engineering everything and make up for all the time he wastes outside of work creating a dysfunctional environment for everyone. But yeah, easier to fire the new person who does her best despite the odds. And who cautioned against over engineering because we kept missing deadlines. And who believes in refactoring when it is needed because that's how agile works. Yeah better keep someone who has no sense of work life balance and makes others miserable then claiming he's being driven out by your ignorance. And of course the consultants who throw your own people under the bus. Can't get rid of those now.7
The senior programmer at work commits so rarely that in 3 months I committed more than him in 3 years (e.g. 0 times in September)...
What’s the point of having a repo on bitbucket if most of the time the latest code version is only on his machine?
And why I have to recreate and repopulate the db every fucking time because he made so many changes to the structure, which of course conflicts with mine?5
Finished my project early today. I assumed it would take another day or two since it's primarily research and I had no idea how to progress, but I caught a break and finished it early. I also finished another surprise ticket! yay! I had the rest of the day to myself!
But then I noticed I had been working on the wrong branch. Fuck. Moving my work over was tedious, as was the cleanup. I kicked myself for good measure. Also, every time I switch branches, I need to run a bloody slow script that runs all the migrations, data tasks, backfills, etc. for the branch. It takes 12-18 minutes. There's a faster version, but it usually breaks things.
Turns out the branch I was supposed to be working on wasn't up to date with master. So I merged that in, leading to....
merge conflicts. Because of course there are conflicts. To make matters worse, I had (and have) no idea which changes were correct because idfk what those 248 new commits are doing. So I guessed at them, ran the script, and (after more waiting) ran a few related specs. Yet more waiting. Sense a pattern here? Eventually they finished, and all the specs passed. H'ray. So I committed the changes, and told Jenkins to kick off a full spec suite, which takes 45+ minutes.
La de da, I go back to cleaning up the previous ticket, pushing reversion commits, etc. Later, I notice the ticket number, look at the branch number I've been working on.... and. Fuuuck. I realize I had put everything on the wrong freaking branch AGAIN. I'm such an idiot. Cue more cleanup, more reversions, running the bloody script again and again. More wasted time, more kicking. ugh.
All of this took well over three hours. So instead of finishing at a leisurely 5:00 like a normal person, I finally stopped around 9pm. and I won't know the Jenkins spec results until morning.
A nice early day?
I should know better.2
Today I was talking about merge conflicts with a group of devs. One of them asked if any of us had ever rushed to merge a PR before another dev could merge their PR, knowing there were going to be conflicts. Some were more ashamed to admit it than others, but in the end everyone was guilty of doing it at least once :)
Anyone ever do that to avoid being the one who has to resolve a conflict?2
Ran couple of interviews today I don't think I'm ever gonna forget this guy: He was explaining a time he worked in a team and used version control. I asked how he handled merge conflicts his response:
'If there are merge conflicts I delete their work and use mine, my code is probably better anyway'.4
Ever heard of event-based programming? Nope? Well, here we are.
This is a software design pattern that revolves around controlling and defining state and behaviour. It has a temporal component (the code can rewind to a previous point in time), and is perfectly suited for writing state machines.
I think I could use some peer-review on this idea.
Here's the original spec for a full language: https://gist.github.com/voodooattac...
(which I found to be completely unnecessary, since I just implemented this pattern in plain TypeScript with no extra dependencies. See attached image for how TS code looks like).
The fact that it transcends language barriers if implemented as a library instead of a full language means less complexity in the face of adaptation.
Moving on, I was reviewing the idea again today when I discovered an amazing fact: because this is based on gene expression, and since DNA is recombinant, any state machine code built using this pattern is also recombinant. Meaning you can mix and match condition bodies (as you would mix complete genes) in any program and it would exhibit the functionality you picked or added.
You can literally add behaviour from a program (for example, an NPC) to another by copying and pasting new code from a file to another. Assuming there aren't any conflicts in variable names between the two, and that the variables (for example `state.health` and `state.mood`) mean the same thing to both programs.
If you combine two unrelated programs (a server and a desktop application, for example) then assuming there are no variables clashing, your new program will work as a desktop application and as a server at the same time.
I plan to publish the TypeScript reference implementation/library to npm and GitHub once it has all basic functionality, along with an article describing this and how it all works.
I wish I had a good academic background now, because I think this is worthy of a spec/research paper. Unfortunately, I don't have any connections in academia. (If you're interested in writing a paper about this, please let me know)
Edit: here's the current preliminary code: https://gist.github.com/voodooattac...
Please, stop being afraid of git rebase.
Please stop merging master branch into feature branch just to fix pull request conflicts.2
The year is 2019.
C++ is still one of the most powerful programming languages around..............with no centralized package manager that is widely adopted by the community that allows one to sandbox libraries from conflicts with one another.
I ain't hating, just find this funny and I love cpp
Apt get/git submodules it is!!12
Not usually a person to rant about spacing and conventions but this is great.
4 devs, all using IntelliJ. Now IntelliJ auto-changes tabs to spaces which is nice, and GitHub doesn’t really care as long as the spacing is consistent. Now here is the fun part: 2 devs have 4 spaces per tab, 1 has 3 spaces, 1 has 5 spaces.
GitHub merge conflicts everyWHERE.
And yes it isn’t the old 2 vs 4 spaces. It’s 3 vs 4 vs 5 somehow6
>Installs NodeJS (from default Debian repo)
>Tries to install yarn
>Yarn tries to uninstall nodejs
>apt-cache depends yarn
10/10, gave me a good chuckle. Time to add the NodeJS repo.10
Summary of my week
Fix merge conflicts at work
Fix merge conflicts in Skyrim mod scripts2
Tunes throughout the work day...
Queen, Don't Stop Me Now
Working on same bug for hours:
Muse, Supermassive Black Hole
Jay Z, 99 problems
In the zone coding:
All bugs squashed, deployed, going home:
Louis Armstrong, What a Wonderful World1
"four million dollars"
TL;DR. Seriously, It's way too long.
That's all the management really cares about, apparently.
It all started when there were heated, war faced discussions with a major client this weekend (coonts, I tell ye) and it was decided that a stupid, out of context customisation POC had that was hacked together by the "customisation and delivery " (they know to do neither) team needed to be merged with the product (a hot, lumpy cluster fuck, made in a technology so old that even the great creators (namely Goo-fucking-gle) decided that it was their worst mistake ever and stopped supporting it (or even considering its existence at this point)).
Today morning, I my manager calls me and announces that I'm the lucky fuck who gets to do this shit.
Now being the defacto got admin to our team (after the last lead left, I was the only one with adequate experience), I suggested to my manager "boss, here's a light bulb. Why don't we just create a new branch for the fuckers and ask them to merge their shite with our shite and then all we'll have to do it build the mixed up shite to create an even smellier pile of shite and feed it to the customer".
"I agree with you mahaDev (when haven't you said that, coont), but the thing is <insert random manger talk here> so we're the ones who'll have to do it (again, when haven't you said that, coont)"
I said fine. Send me the details. He forwarded me a mail, which contained context not amounting to half a syllable of the word "context". I pinged the guy who developed the hack. He gave me nothing but a link to his code repo. I said give me details. He simply said "I've sent the repo details, what else do you require?"
Dafuq? Dude, gimme some spice. Dafuq you done? Dafuq libraries you used? Dafuq APIs you used? Where Dafuq did you get this old ass checkout on which you've made these changes? AND DAFUQ IS THIS TOOL SUPPOSED TO DO AND HOW DOES IT AFFECT MY PRODUCT?
Anyway, since I didn't get a lot of info, I set about trying to just merge the code blindly and fix all conflicts, assuming that no new libraries/APIs have been used and the code is compatible with our master code base.
Enter delivery head. 2nd motherfucker.
This coont neither has technical knowledge nor the common sense to ask someone who knows his shit to help out with the technical stuff.
I find out that this was the half assed moron who agreed to a 3 day timeline (and our build takes around 13 hours to complete, end to end). Because fuck testing. They validated the their tool, we've tested our product. There's no way it can fail when we make a hybrid cocktail that will make the elephants foot look like a frikkin mojito!
Anywho, he comes by every half-mother fucking-hour and asks whether the build has been triggered.
Bitch. I have no clue what is going on and your people apparently don't have the time to give a fuck. How in the world do you expect me to finish this in 5 minutes?
Anyway, after I compile for the first time after merging, I see enough compilations to last a frikkin life time. I kid you not, I scrolled for a complete minute before reaching the last one.
Again, my assumption was that there are no library or dependency changes, neither did I know the fact that the dude implemented using completely different libraries altogether in some places.
Now I know it's my fault for not checking myself, but I was already having a bad day.
I then proceeded to have a little tantrum. In the middle of the floor, because I DIDN'T HAVE A CLUE WHAT CHANGES WERE MADE AND NOBODY CARED ENOUGH TO GIVE A FUCKING FUCK ABOUT THE DAMN FUCK.
Lo and behold, everyone's at my service now. I get all things clarified, takes around an hour and a half of my time (could have been done in 20 minutes had someone given me the complete info) to find out all I need to know and proceed to remove all compilation problems.
Hurrah. In my frustration, I forgot to push some changes, and because of some weird shit in our build framework, the build failed in Jenkins. Multiple times. Even though the exact same code was working on my local setup (cliche, I know).
In any case, it was sometime during sorting out this mess did I come to know that the reason why the 2nd motherfucker accepted the 3 day deadline was because the total bill being slapped to the customer is four fucking million USD.
Greed. Wow. The fucker just sacrificed everyone's day and night (his team and the next) for 4mil. And my manager and director agreed. Four fucking million dollars. I don't get to see a penny of it, I work for peanut shells, for 15 hours, you'll get bonuses and commissions, the fucking junior Dev earns more than me, but my manager says I'm the MVP of the team, all I get is a thanks and a bad rating for this hike cycle.
4mil usd, I learnt today, is enough to make you lick the smelly, hairy balls of a Neanderthal even though the money isn't truly yours.4
Other Dev: I worked really hard over the weekend to get the issue fixed, I raised a PR but it has a zillion merge conflicts. Would you mind taking a look at it?
Me: Ok. *Changes base branch away from Master.*
Other Dev: Whoa! How’d you fix them that so fast???
I can't get the wifi generation. I love cables (except when they are in front of the tv), their performance, their plug-n-play without conflicts, that high level of nerdy childish porn of 80's in all the magnificence. It's just me? *snowflake feelings*8
Really thought Facebook changed the messenger icon. This smells of spam and paid reviews. I thought Google was working on trying to combat obvious name conflicts and spam.5
git push origin stupid-long-feature-name
git pull origin develop
*Checks through all changes. No major conflicts. Accepts changes.*
*4 failing tests, none of them in pieces that I touched for my feature.*
*That's funny. QA was loaded from the develop branch, and everything works.*
*Actual data has dates from today. Expected data has dates from a week ago.*
Why are all these expected dates hard-coded‽
tl;dr The external development team committed 4 tests that would only ever pass on the day they were written.5
How would you handle a noob who hasn't committed in weeks and when he does, gets like a million conflicts.18
It is time... to rant about macs!
No, seriously - I had such a different experience about which not many talk in real life or pretend that it never happens....
Model: 2015 mid MBP 15" with second to highest specs (don't have dedicated gpu).
Rattling fucking toy.... Yea, it rattles! If you shake/move ir sit in trait/bus - it non-stop rattles as a fucking toy. Worst part? It's confirmed issue by apple and it manifacturing issue that they are not keen on fixing!!!! WTF? We have 4 macs in our office - all of them fucking rattles... God help me how annoying that is. (Lose LCD control panel that unsticks from glue. Replacing it solves the issue for 1 month if you carry it anywhere).
Constant fucking crashing/updates.... Every morning I wake up and don't have an app that requires confirmation for restart - it's restarted. YAY, turning on all apps once again.... Why you may ask? Well, because if you tinker with software in any way - it fails to update it and hell breaks lose. It's been a long time since High-Sierra came around and the issue is still there (not running Mojave as it conflicts with soft I have... Woo!). Tried few times - updates fail. Resolution? Reinstall OS!
OS conflicts with applications - damn... People told me it works out of the box.... Yeah, as long as you don't upgrade the OS - then it breaks. Why? Well, because.
Piece of shit power supply. With 4 of our office power supplies - 2 of them failed twice withing warranty and once afterwards... Really? Not to mention that all 4 are starting to shear the sleeve or already did (mine is just wrapped with white electrical tape to give it a support... lol).
Bluetooth - who the hell needs that in mac, right? Well, people do. To start with - it conflicts with 2.4GHz wireless network - you might have one of those and not both at the same time. Next thing is using a device that needs constant connection (mouse, headphones, keyboard - non apple branded) - shit... They can't stay connected for more than an hour without any issues... Constant battle to re-connect it, to re-pair the device and all due to smart apple bluetooth settings. Hell, my mouse (logitech MX master) was even printing random symbols in some applications if moved. All of the issues went away after using a bluetooth dongle... WOO!!!!
Xcode... Ahh, you may never prepare your mac if you don't download 17GB of fucking xCode libraries that enables some tools to be installed/runned as you can NOT get them in any other way and you have to install full xCode software in order to get them... YAY! 17GB wasted on my 256GB SSD that I can't upgrade. GREAT!
OsX applications - ah, don't get offended but if you are using them and you are fine with them - you are probably a monkey that loves being told what to do. You can't customise any actions, you can't configure it the way you like - either you accept their default workflow or go kill yourself. Yep... Had issues with calendar, mail, iMessages, safari... None of them fit my needs :)
Resolution scaling... Fucking hell, the display is 2880 x 1800 but all you let me to use is 1440x900 without scaling? Am I blind to you? Scaling the resolution means that you are fucked if some applications don't support scaling very well. Looking at you Jetbrains - your IDES suck at scaling and slows down the pc to a potato....
Now the pros - keyboard is way better than the new ones, trackpad is GREAT - no need for mouse (using it on external 4k displays only), the battery life is great - getting around 6h of continues development time, 8 if using sublime instead of phpStorm and well, that's about it...
I've bought this device due to the fact that at that time mac and windows pc's with similiar specs costed the same while windows pc sucked with their quality of the device and trackpad... Now the situation is better and when time comes for a next upgrade - it's going to be one of these:
Razer Blade 15, Dell XPS 15, Lenovo Carbon X1 series.
And of course - LINUX. I've had enough issues with windows, and had enough of retardness of apple ecosystem, so switching it is a must for me.
Disclaimer: I might be an unhappy customer, a bit picky but I'd like my device to be setted up as I like and continue to have that until I don't like, not until the company decides to break it. Not to mention that paying almost a yearly salary in my country for one device - I'd expect it to be at least reliable and work without issues....
ps. You can disagree with me, this is my personal experience with MBP over the last 3 years :)10
I did a fucking huge mistake.. didn’t update arch for too long..
What a fucking pain in the ass to solve those package conflicts..
From now on, I’ll update EVERY FUCKING FRIDAY...15
When some one at the company decides to branch off from the main codebase and end up with several outdated and separetely modified branches for two years.
Yeah nice work genius and good luck with resolving over 250 files of merge conflicts.
Just kill me now 😭1
At 20 I thought my life would be an adventure. At 30 it seems like it's a rerun.
The reality is that life is full of grey areas, "good guys and bad guys" on all sides of most issues, and the story and excitement eventually end.
sometimes getting old feels like becoming comfortable with being numb and mediocre.
you are not the star at the center of your own story.
there is no story. there is only today, and then tomorrow, and then the day after that for as long as they happen to go on.
I can see no greater meaning or purpose behind this circus.
people think in months, seasons, years. maybe some of you even have five year plans.
but for me, rome was yesterday. and every rome to come. thats how near it is. It is so close, it and so many times before and after it, I cannot explain the sensation.
and in the vast gulfs of time, I see the wars, the conflicts, the narratives, and they unfold like dust or scum swirling on a pond, mechanistic, telling stories about nothing, algae struggling over territory on a rock.
as clearly as day, I see it all.
I saw your birth, and I saw your death. Your pain, and your greatest joy. How is it possible to love a total stranger and know them intimately because of their shared humanity? And still.
And from afar, in the stillness, I can't help being detached from the world and its problems.
And when we die, it is as if the world dies with us. Because it is not the end of the world, but the death of our own.
Softly go mortals, gently to their gods, like flowers in the fading summer. Never grasping that the permanence of the true identity and the temporality of the spirit are as fundementally distinct as the permanence of say "the G note", against the brief sound it makes when touched.
Eh. forget it. Sentimentality is a curse sometimes.10
Someone just overwrote 2 weeks of work in SVN because they don't understand merging.
When they did an update before committing they ignored the conflicts and tried to build their work.
But wait it won't build if their are conflicts, I know I'll just copy this backup over the checkout and check that in instead.
It took me over an hour tho fix this fucktard's mistake and I still don't think they understand what they did wrong. Their supposed to have 40+ years of experience.
In the end it turned out they wanted to change about 10 lines. They had checked in files that they didn't even change, they were just out of date compared to trunk.4
Current work project: Ok where is the master branch?
Coworker: Oh we lost that one a few months ago due to some merge conflicts...7
So it's been a while since I've posted as my first few months at the new job have been amazing. But now I'm running into issues with a team member that I need to get off my chest.
So my new job is front end development in React. I'm brand new to it but I was promised time to learn on the job. On my first day the team member I'm now having a conflict with offered me help. He's the most experienced so I gladly took it.
But now several months in I've noticed his teaching style doesn't work for me. He'll go into long theoretical explanations whenever I ask a question and I get overwhelmed with info. And he gets frustrated with my inability to process all that, because he feels I waste his time. So frustrated that at one time he just walked out of work and drove home, which was really upsetting to everyone.
My direct manager and my mentor in the company (our software architect), as well as our scrum master (a consultant) are all aware of the conflict. I've been assigned another colleague to help me out. Things were going ok but he got sick so I had to turn back to the team member with the conflict for assistance. Of course frustrations arose again.
Now yesterday during our sprint planning meeting we had to say what we liked and didn't like about the past sprint. And I brought up I feel I need time for learning and that I don't know where to put that, since we don't have a task for it. I said I also felt past approaches weren't working out and that I'd like to take up the offer to go on training. I was trying to word it very neutral to not upset my colleagues, as they tried their best. But the colleague who I had previous conflicts with took it personal and accused me of not listening and that is why my code is awful. While all I've been doing is rely on his code to learn. Long story short it got very heated and direct manager and scrum master who were present had to shut it down.
I'm thinking of talking to my manager and mentor today. It really hurts when you're accused of maliciousness when all you did was try. I know my code isn't perfect. But I get no help in improving it beyond long winded explanations about theory. If I ask for practical help he says he won't write my code for me. Which isn't what I expect. When I say I followed his example he says I shouldn't copy. But two sentences later he says if I don't know what I am doing I should listen to him. It's really very confused and demotivating as a beginner, but he makes it about how I waste his time and ruin his job for him. I understand he tries his best and that it has to be hard when someone seemingly is as dumb as a bag of bricks. But my manager and mentor told me they support me as long as I continue to show improvement. So I asked for alternatives (training, time to study, or whatever I haven't thought of) and now I feel like the bad person. I'm already someone with crippling low self esteem, and I'm thrown into the deep end. It kinda sucks when someone then tells you from the sideline you can't swim and how swimming works. How about tossing me one of those floaty things and then maybe accept I need to hold on to that for a bit and my technique will need work until I can make it on my own? :(3
We had 1 Android app to be developed for charity org for data collection for ground water level increase competition among villages.
Initial scope was very small & feasible. Around 10 forms with 3-4 fields in each to be developed in 2 months (1 for dev, 1 for testing). There was a prod version which had similar forms with no validations etc.
We had received prod source, which was total junk. No KT was given.
In existing source, spelling mistakes were there in the era of spell/grammar checking tools.
There were rural names of classes, variables in regional language in English letters & that regional language is somewhat known to some developers but even they don't know those rural names' meanings. This costed us at great length in visualizing data flow between entities. Even Google translate wasn't reliable for this language due to low Internet penetration in that language region.
OOP wasn't followed, so at 10 places exact same code exists. If error or bug needed to be fixed it had to be fixed at all those 10 places.
No foreign key relationships was there in database while actually there were logical relations among different entites.
No created, updated timestamps in records at app side to have audit trail.
Small part of that existing source was quite good with Fragments, MVP etc. while other part was ancient Activities with business logic.
We have to support Android 4.0 to 9.0 of many screen sizes & resolutions without any target devices issued to us by the client.
Then Corona lockdown happened & during that suddenly client side professionals became over efficient.
Client started adding requirements like very complex validation which has inter-entity dependencies. Then they started filing bugs from prod version on us.
Let's come to the developers' expertise,
2 developers with 8+ years of experience & they're not knowing how to resolve conflicts in git merge which were created by them only due to not following git best practice for coding like only appending new implementation in existing classes for easy auto merge etc.
They are thinking like handling click events is called development.
They don't want to think about OOP, well structured code. They don't want to re-use code mostly & when they copy paste, they think it's called re-use.
They wanted to follow old school Java development in memory scarce Android app life cycle in end user phone. They don't understand memory leaks, even though it's pin pointed by memory leak detection tools (Leak canary etc.).
Now 3.5 months are over, that competition was called off for this year due to Corona & development is still ongoing.
We are nowhere close to completion even for initial internal QA round.
On top of this, nothing is billable so it's like financial suicide.
Remember whatever said here is only 10% of what is faced.
- An Engineering lead in a half billion dollar company.7
Wooooooow i forgot how some people are kind of enaugh.
Today i had terrible day resolving a looooooooot of android merge conflicts by updating patched repos because some were updated and some werent.
And well i texted a maintainer of the repos if he could find some way to make the source buildable again by downgraiding the sources.
Maaaaaaan was i suprised when he sent me an python script and all the ID of commits in each repo and which one was latest so i can make it buildable.
Maaaaaan if everybody was like this then the world would be a loooooooot better place.
Saved like 2 weeks of time that i would have spent on git resolving all the conflits.
Now im building and i can fix SElinux issues finally.
OHHHHHH im so happy.
This whole Microsoft & GitHub thing is how it begins:
oh it's really cool, Microsoft is adding some cool features we've been missing for a while, GitHub is still great
Alright, there's this new `msgit` that has some really cool features for rebasing and merge conflicts, I won't need to worry about fucking up my git history
`msgit` is not compatible with `git` and GitHub requires us to use it, but what can we do, all our code and build triggers are set up..
I don't want to paint dark clouds, but I heard this theory at work and it makes sense that Ms would take it in a direction where people are locked in to their ecosystem. It won't happen immediately, but all signs point to this.
On today's episode of "Being the Company Git Guy":
"Good Day jallman112, can you ping me when you have a second? I'm having issues with merging our last branch back to MASTER in GIT. It's forcing me to resolve 400+ conflicts"
Sure. I'll get right back to you.
In a second.
I just broke out of merge-hell.... It was a mere 2 and a half hours... But my migraine says it was eternity.... 😶
Have you ever been this frustrated?
when you have a ton of bugs to resolve and short deadline to catch and suddenly you get infinite git conflicts because of your co-worker's stupidity..1
To git rebases: thank you, and fuck you, respectively.
Thank you for allowing me to integrate my colleagues' changes into my own, fuck you for all the damn conflicts I get that eat up so damn much of my time.
So: Have a cookie, then go fuck yourself.3
Today is a great day ! Deadline is tomorrow, fixed all the issues, looks like everything works...
CONFLICT (content): Merge conflict in xyz
CONFLICT (content): Merge conflict in abc
Automatic merging failed; fix conflicts and then commit the result.
I hate my life :)
I'll give you a few reasons to walk away from a dev's chair:
1. if you want your life to be simple and not challenging, if you just want to go with the flow - choose something else. Dev's life will definitely bring some challenges to your day (and sometimes night, and sometimes - your weekends). Especially if you feel you are a perfectionist, dev life could turn your life into a living hell if not handled with care.
2. If you like to see people smiling, if you love that feeling when you help someone and that someone has a better day thanks to you - choose something else. 1st line SD would probably do, but the further from technology you go - the more smiles (and human faces overall) you'll see.
3. If you prefer person-to-person interaction over to talking to machines - definitely don't be a dev. Go to management, administration or smth else, but development. >90% of the human interaction in this field is arguments and conflicts; ~8% are requests for assistance, and the remaining 2% are shared by saying "hi" to the office administrator and your (semi|)annual reviews with your manager. Not kidding.
4. If you have a personality where you find it difficult to stand your ground and not budge to the pressure/blame game/your managers asking you to stay in late. Like it or not, it happens quite often. Many devs have spoiled the management by budging to their requests/demands to stay for OT/unpaid OT to "fix the mess they have made". That's a blame game right there. And these people stay in and do what the slaves do - work for free because they are yelled at. And then management sees this technique work and (ab|)uses it on other devs. If you can say NO and stick to it, prolly wave with some printed paragraphs of labour law in front that manager's nose - it won't be a problem. But if your consciousness is too troubling - stay away from this field of engineering.
5. If you want to easily "disconnect" from work and go do something else - dev's career might be a problem. Yes, your computer might be shut down/hibernated/suspended after 5pm until 9m the next morning, but your brain will most likely keep trying to solve the problems you were facing. You'll prolly use your own computer to do some research, check some forums, docs, etc. - this is all your free time, this is all your family time donated to your manager (and to your personal knowledge base). Not to mention, all these things you learn will soon enough become obsolete, as new technologies will replace them. So if you'd like to easily "disconnect" after 5pm, doing that as a dev might be too challenging.2
Fuck me and fuck merges and fuck conflicts!!!
I still love you Git but sometimes you are a harsh mistress.6
The repair man and janitor for the devmatch arena.
The arena is made so you can resolve all conflicts without the passive aggressive slights and career sabotage. Have a problem with the BA? Send him an invite to the arena where you can bash each other's head in. You get to pick any weapon in the office. You can choke them with a mouse, hit them with a keyboard, make them eat and shit the keys then feed it to them again, sodomize them with a monitor, you can take one manager and one BA and connect their asses through a cable. You can invite a whole team from your favorite country and make your own human centipede! Using a kensington cable lock! Hooray, team building! Look at that bonding!
The repair man and the janitor cleans up the mess and repairs what could be repaired because as heavenly as this activity is, the project is still on a tight budget.1
* Builds Project and Hosts it *
* thinking * : * ' I don't really need to push to Master, I'll just push it to the deployed branch *
Me: * tests project from host *
Me: * sees a bug, fixes it and rebuilds the project, hosts it and pushes code to deployed branch *
Colleague: Dude did you see the Typos you made? Fix them!
Me: In my defence, I wrote this at 4am in the morning, did not sleep for 2 days.
Colleague: Don't Care, fix it.
Me: *Creates Hotfix Branch from Master*
* INSTALLS DEPENDANCIES AND FINDS OUT A NEW VERSION IS OUT AND UPDATES THAT AS WELL *
* Runs Project and finds out it's not the hosted version. *
* Merges Deployed Brunch to Hotfix Brunch and this happens *
Error Message: Unexpected token
620 Merge Conflicts
We're having a mini-hackathon at our school last Saturday as a final exam of our Web Engineering course, showcasing what we learned throughout. The theme is all about helping university students gain their productivity and improve their interaction with technology.
Me and my team tried to create a note-sharing platform for students. We loved the idea and we're so excited to create it. But excitement turned into shit hole during development.
A fuckton of merge conflicts, divisive code conventions, and usage of god-awful Bootstrap for front-end came in. 😱😬😣
Despite these things, we are able to win the hackathon (i still can't believe we won). but he worst part of winning is that the prize is not cash nor the internship (the judges are from the company who somehow looks for interns), but fucking useless GIFT CARDS!!
But in the end, we're proud of it. I thought that it will be just a concept but in the end, it became real and it turned out to be great. ☺4
From a Dev at my old place: Don't use git for such a small project, I think we should use email to send our code to each other.
Turned out that this "small project" was a piece for a larger project.
Also turns out there's such a thing as merge conflicts outside of git.
Our code was broken for 3 days once because of his shitty advice.2
Yesterday I had to merge new features. As these have been developed by one developer, I thought "hey, that'll be no problem". Little did I know that every one of the 6 branches had merge conflicts *sigh*. These merge conflicts were so severe, that there where sometimes two methods in the same class with the same name doing different stuff in each branch... Normally I would tell her to fix her stuff but as she is on vacation right now, I had all the fun resolving the conflicts of code I hadn't written and repairing the failing unit tests she wrote.
The best thing is that our software will be featured in one of the most renowned business magazines at the end of the week while simultaneously being presented at a congress in Berlin in front of over thousand of potential new customers. So these knew features have to be running stable in production by then... Needless to say I had a great day yesterday and will have an amazing upcoming week 🎉3
There is this project where the develop branch is "discontinued" because this moron "finished" a feature that is all fucking broken and I could not figure out how to solve all those merge conflicts...
I just gave up and told my stupid boss who just nods and laughs at everything... If it ever comes up I'm gonna tell them to get the fucker to solve it.1
The one skill I know that I am really proud of is GIT.
Put me into trouble with merge conflicts.
Saved my life with its version control.
Always had an adventurous ride with Git. Hope to have many more such rides and get to learn more about you.
INTELLIJ YOU PIECE OF SH*T, I CLICKED "SMART CHECKOUT" NOT MERGE 2 UNRELATED BRANCHES, SCREW UP MY MASTER AND DON'T LET ME RETURN UNTIL I FIX ALL MERGE CONFLICTS.3
Our development team had a potluck the other day. We made sure everything was accounted for, and we even resolved conflicts!1
That moment you have a designer fix something on the project you working on and pushes conflicts to your repository..
Recently I've started thinking about how we are always told "No you can't do that" to everything. That feels like a theme in our industry.
I've also been thinking about how often people say well done to each other, or just comment that something is good in a pull request. Everything is always focused on bugs and mistakes - not good bits.
The first point conflicts with the idea that when using languages and frameworks you should follow their philosophy or you're gonna have a bad time - but in all other instances you mostly don't have wrong answers, just answers that can be better so a lot of stuff is opinion based.
I've decided to change my ways and focus just as much on good stuff as bad when I review code and to make sure I'm focusing just as much, if not more, when people do something good.
I think I do a good job, but I don't think I've been told I'm doing a good job or that anything specific is good more than a couple times in the last year - mostly in mandatory reviews. What about you?2
Do any other devs here have serious entrepreneurial ambitions and the drive to achieve them?
How do you manage the conflict between your day job and your ambitions.
I find every employer is looking for someone with just enough ambition to “move up” in their company but any ambition of your own outside that seems to come off as threatening.
I try to keep the 2 separate but I have always thought that by not wanting people with actual ambition a company is only hurting themselves.
My killer PR:
I made a small feature and it was to be merged in my senior's branch.
So I made it, resolved all the conflicts and when it got merged it broke my senior's branch.
This is nothing new and it happens, so me and him sat down and got it working. After two days, his branch got merged and broke it's parent 😂, after investigation my code was the reason, got fixed and merged.
Same thing happened 3 more times, and every time my code was the culprit.
Now for staging we thoroughly tested everything and deployed it, after running for 2 hours the piece of shit broke again 😂😂😂.
A meeting was arranged for scolding the team, and after the meeting the architect comes to me and say "how did you manage to fuck things on so many levels, literally?". I handled it like a pro with an awkward laugh.
We exhaustively checked it for production. Deployed, it did not broke, we were happy. After a month of successful run, I just joked about the above incident while we were working on next release on morning coffee. That cursed thing broke on the same evening. I was like 😮2
Trying to resolve merge conflicts and you cant remember which changes are the ones you want to keep. Lesson learned, make sure your pull requests dont sit waiting for weeks while master is happily being worked on.2
So there is a 50/50 chance I am getting flamed af tomorrow during code review because of my branching/merging actions on thursday and friday... Merge conflicts... We all love them...3
*working at a project, currently creating commits and pushing to remote
I created an early PR with a title [UNFINISHED] and [NOT YET DONE]. I'm really not finished yet. lots of stuff still need to be committed and pushed to repo
And suddenly, I find out that my team mate - just out of the blue without any prior warning - MERGES THE PULL REQUEST
"oh hey there are conflicts in the pr you made"
YEAH WELL MAYBE TRY GETTING YOUR HEAD OUT OF YOUR ASS WHAT IS WRONG WITH YOU ARE YOU EVEN SANE
So now what happened is half of my commits are merged, he didn't tell me, i pushed more commits, branch recreated, and then he reverts the merge. so now everything is really messed up :)AS)D(F)AEF)SDF)AW)sfdjsigkl;zfghlkkj ghaslkj;gabsd;lkgjabslkfgh GET YOUR HEAD OUT OF YOUR ASS I WANT A PROMOTION3
oh, it got better!
One year ago I got fed up with my daily chores at work and decided to build a robot that does them, and does them better and with higher accuracy than I could ever do (or either of my teammates). So I did it. And since it was my personal initiative, I wasn't given any spare time to work on it. So that leaves gaps between my BAU tasks and personal time after working hours.
Regardless, I spent countless hours building the thing. It's not very large, ~50k LoC, but for a single person with very little time, it's quite a project to make.
The result is a pure-Java slack-bot and a REST API that's utilized by the bot. The bot knows how to parse natural language, how to reply responses in human-friendly format and how to shout out errors in human-friendly manner. Also supports conversation contexts (e.g. asks for additional details if needed before starting some task), and some other bells and whistles. It's a pretty cool automaton with a human-friendly human-like UI.
A year goes by. Management decides that another team should take this project over. Well okay, they are the client, the code is technically theirs.
The team asks me to do the knowledge transfer. Sounds reasonable. Okay.. I'll do it. It's my baby, you are taking it over - sure, I'll teach you how to have fun with it.
Then they announce they will want to port this codebase to use an excessive, completely rudimentary framework (in this project) and hog of resources - Spring. I was startled... They have a perfectly running lightweight pure-java solution, suitable for lambdas (starts up in 0.3sec), having complete control over all the parts of the machinery. And they want to turn it into a clunky, slow monster, riddled with Reflection, limited by the framework, allowing (and often encouraging) bad coding practices.
When I asked "what problem does this codebase have that Spring is going to solve" they replied me with "none, it's just that we're more used to maintaining Spring projects"
sure... why not... My baby is too pretty and too powerful for you - make it disgusting first thing in the morning! You own it anyway..
Then I am asked to consult them on how is it best to make the port. How to destroy my perfectly isolated handlers and merge them into monstrous @Controller classes with shared contexts and stuff. So you not only want to kill my baby - you want me to advise you on how to do it best.
sure... why not...
I did what I was asked until they ran into classloader conflicts (Spring context has its own classloaders). A few months later the port is not yet complete - the Spring version does not boot up. And they accidentally mention that a demo is coming. They'll be demoing that degenerate abomination to the VP.
The port was far from ready, so they were going to use my original version. And once again they asked me "what do you think we should show in the demo?"
You took my baby. You want to mutilate it. You want me to advise on how to do that best. And now you want me to advise on "which angle would it be best to look at it".
I wasn't invited to the demo, but my colleagues were. After the demo they told me mgmt asked those devs "why are you porting it to Spring?" and they answered with "because Spring will open us lots of possibilities for maintenance and extension of this project"
I can take a lot. But man, that hurts.
I wonder what else have they planned for me...4
Take your time with merge conflicts, and put the entire file in another editor in case you really mess up.2
I love git stash.
It's helps a lot for doing refactors to me. I guess it's not the most complex workflow, but it wasn't obvious to me when I started with git. Let me explain.
Refactors. As you start writing the first lines of a refactor, you start to notice something: you're changing too many things, your next commit is going to be huge.
That tends to be the very nature of refactors, they usually affect different parts of code.
So, there you are, with a shitload changes, and you figure "hey, I have a better idea, let me first do a smaller cohesive commit (let's call it subcommit) that changes a smaller specific thing, and then I'll continue with the upper parts of the refactor".
Good idea, but you have a shitload of changes nearly touching every file in your working copy, what do you do with these changes? You git stash them.
Let's say you stash and try to do that smaller "subcommit". What sometimes happens to me at this point is that I notice that I could do an even smaller change inside this current "subcommit". So I do the same thing, I git stash and I work on that even smaller thing.
At some point I end up `git stash pop`ing up all these levels. And it it shows that git stash is powerful for this.
* You never lose a single bit of work you did.
* Every commit is clean.
* After every commit you can run tests (automated or manual) to see shit is still working.
* If you don't like some changes that you had git stashed, you can just erase them with git reset --hard.
* If a change overlaps between a stash you're applying and the last "subcommit", then
if they differ, git shows conflicts on the files,
if they are identical, nothing happens.
with this workflow things just flow and you don't need to wipe out all your changes when doing simpler things,
and you don't need to go around creating new branches with temp commits (which results in bloated temp commits and the work of switching branches).
After you finish the refactor, you can decide to squash things with git rebase.
(Note: I don't use git stash pop, because it annoys the fuck out of me when I pop and you I get conflicts, I rather apply and drop)4
I spent the whole day on git conflicts, I know it happens sometimes. But I do feel like a slow programmer, the boss even said so by comparing me to someone who has 15 years experience by saying I produce less lines of code than than him ( I have 5 years of experience).
So everyday, I have this nagging thoughts; "you are too slow, you can't even program, what are you doing, do something else this isn't for you etc" .
And then when I solve the problem "You are the best, you know everything etc"
A constant battle between self-destructive and positive thoughts.10
The day we had to have an app ready for an upcoming demo. Management said everything needed to be done by the end of the day. My change was done, but was dependant on another change being merged first. I had been in the office since 8am. It didnt get merged until 5pm. I was in the office until 8pm trying to fix the insane merge conflicts. In the end i gave up and went home. The next day we discovered that the "deadline" was made up anyway so we still had time. I wanted to flip every single table in that office.1
they say everything "old" is better, but in programming, dependencies in C was a mess. Shut up. Sometimes C is a cult enforced by those who don't even write in C. Now I build my projects with Parcel in less than a second with no configuration. It uses a full-blown AST for everything. If I want more performance with similar DX, I use fastpack, bringing build time down to tens of milliseconds.
art? charli xcx, sophie xeon, death grips, just to name a few. they made things that weren't imaginable before, ultimately pushing music forward. Hendrix is good but they're just incomparable in terms of beauty, complexity and sophistication.
literature? every old book I read feature same conflicts. they are so similar it's almost boring to read them. meanwhile, Erlend Loe delivers a complex idea without using a conflict (!) and without any character changes. that's insane.
"older is better" is getting old. it's time for you to seek for some other reusable gibberish to insult what other people create.
finally, let me remind you that you, my friend, create nothing.49
When you offer to help out a fellow coworker on the top priority feature he is developing and he just sends you the branch and stops working on it.2
For fuck’s sake, Git is not SVN. Get over your fucking svn mindsets and learn the damn thing before coming to me to help with your conflicts.1
Tldr: I think I made a company fire some dev a year ago.
I was working for this company remotely, alone, on a very big and old legacy php project where they still used echo '<code><code/>'; and i was a very junior junior front end developer, needed to make the website work somehow (whole new design). They brought in a random guy to work with me, and we started working.. I was using bitbucket to version my changes, and I asked him to do the same. He tried pushing his changes once and then practically never again because he started working in files that i was working on and there were git conflicts, and he gave up, even though i asked him to do that... he then statted using general classes to style the page (like .color) with absolute positioning and it broke everything everywhere. He then proceeded to minify half of the php files 'because of performance', I remember talking to other few people in the company and he disappeared a few more days later. I never finished the project because they stopped it randomly and i think i got him fired even though he could've continued working in the company
I was minding my own business, fixing merge conflicts for my project lead when it struck.
There, in the middle of a React.js component, was a table, used not for displaying data, no, but for styling a form, which was not a form, but a series of table rows.
I feel sick
Not a fight I was involved in but one I observed. A junior dev on my team and a server ops guy had major personality conflicts. One day the server ops guy had enough and physically went after the junior dev. I was senior but still pretty new to my own career and had no idea how to handle it. Server guy got fired soon after. I was glad I didn’t have firing power and that he didn’t even report to me anyways.2
I have a co-worker who won’t stop “refactoring” our codebase. He will go on a long tangent — under the guise of working on a proper story — and then reveal proudly after a few days that he now introduced a new middle-layer into the code which will help us such and such.
I have never seen any benefit from this. I think sometimes cleaning up variable names is nice, but a lot of the things just add noise and complexity. He’s a junior dev, I’m a senior dev. My progressional opinion is that he is doing a bad job. Management doesn’t know the full extent and the lead programmer scolds him every now and then but in the end let’s the code changes pass code review. “It has already been implemented so what’s the harm”.
Then the rest of us are stuck with horrible merge conflicts. I recently noticed that some new business-important unit tests that I wrote were mysteriously gone. Oops — lost in some misguided refactoring I guess. I’m assuming they were failing after the refactor, so clearly they had to go... Fortunately the underlying logic still works I think.
His main tactic in all of this seems to be to just use argumentative stamina. He will lose discussion after discussion but doesn’t seem to care. He’ll just talk and talk. And the in the end the lead tech gives in. And/or doesn’t have the energy to catch the error introduced.
I swear, the company would be better off without him. Maybe even better if we keep paying him but he just cleans the toilets instead. Sometimes I almost believes he gets up in the morning to come to work and just fuck with people all day.2
Typical Git work flow on a feature branch:
Commit#1 : The silly feature itself that took 10 minutes to code
Commit#2 : Added unsaved files
Commit#3 : Fix unit tests
Commit#4 : Fix
Commit#5 : Fix
Commit#6 : Fix
Commit#7 : Various Fix
Commit#8 : Added unsaved files
Commit#9 : Merge
Commit#10 : Fixed unit tests
Commit#11 : Code Review tasks
Commit#12 : Revert- Code Review tasks
Commit#13: Refactor part 1
Commit#14: Refactor part 2
Commit#15: Deleted unit tests
Commit#16: Added checking for null
Commit#17: Completely different feature's bugfix
Commit#18: Code review spacing corrections
Trying to merge, then merge conflicts.....2
incompetent fucks giving no shit about agreed git flow
merging directly to master
complaining about conflicts and not willing to solve it themselves6
So, after day 3 of Rust programming I have an observation to make:
Rust package management (and conflicts that arise) is not very good.
To the rusters out there, am I wrong? Is there something to make it better?19
My "senior developer" colleague just committed 300Mbs worth of node modules in addition to static files bundle. So not only I have to wait 20mins for the changeset to download on this god damned internet over barrels connection but also resolve merge conflicts on 100+ files. You think that was a mistake? Oh no I've asked him about it and it was intentional ...1
Forgetting to git pull before modifying and pushing stuff and then having to resolve a f*ckton of conflicts1
My little brother started college this year. He hasn't decided what he wants to do, so he took classes in finance and computer science. During finals week, he comes to me ranting about GitHub. "It has to be the most useless tool ever made", he said.
His teachers made him use it without any explanation on HOW to use it. His whole team was working out of a single branch, downloading the zip every time, and struggling to fix merge conflicts. At no point was this ever corrected. This has been going on for an entire year!!!
Safe to say, I spent the afternoon walking him through more productive ways to use GitHub and showing him why it's not "the most useless tool ever made". I don't get why teachers for students to use tools but fail to ever explain how. All that is going to do is deter kids from using tools that could save them when they get a real job.7
Usually, when I programme for myself or in a German-only team and they agree, I/we do it in German because it makes naming things much simpler (no naming conflicts, never, and a strict visible separation between your code and libraries).
This time, I thought: "Nooo, let's do it in English, because, you know, reasons and it fits into the situation"...
Booom, stack overflow!
"How in the hell did that happen?" I never had a stack overflow before outside of recursive programming.
And what was it? I had made a class to encapsulate an API, added a property with getter and setter, naming in English and similar to the said API... very similar... in fact, the property had the same name as the API function, resulting in a getter calling itself over and over again.
This was a harmless mistake, and found very quickly, but it's interesting so see how a habit (or working method) probably prevented similar or worse sources of error in the past.3
Since gitkraken is turning into such a bitch, I've searched for alternatives once again, as usual none of the competitors still implemented a fraction of it, after so much time.
Sublime Merge looked promising, but then half the time fucks the history graph, fails to remove remotes and more funny stuff I don't want to mess with.
Github Desktop I didn't even try because it didn't seem to have any proper history graph to begin with.
For now ended up on sourcetree, though I really do miss having commit message and description be two separate inputs, have done the most basic merge for now, so it's a to be continued experience.
Mostly afraid of how it'll show merge conflicts and commit view, as from what I gathered it doesn't fullscreen when you click a commit, but instead shows an awkward small screen at the bottom of the graph split further in half with the avatar and commit message.
Edit: oh for fucks sake, just noticed it doesn't even have linux support, god damn it.24
git rebase > git merge
I'm honestly tired of colleagues completely fucking up the git history along with creating conflicts for no reason at all.
How do you even manage to "recommit" changes when merging?
I can't even squash properly because there are 5 merge commits on the feature branch. Fuck off8
Created a merge request for a big issue last week. Some dumbass co-workers merged several other stuff for tiny shit issues that lead to many merge conflicts now because they didn't pull before..
Nevermind.. will be merging develop into my branch for the third time now.. Got already 20h of extra work because no one minds to merge my request because it's so big and someone might have to check the commit messages what really happened..
Conflicts suck! Co-Workers suck!
Pretty busy day at work today.. in the midst of everything, a co worker asked me to sync their branch on GitHub since they don't know how to.
Told them to commit any changes do that there wouldn't be any conflicts.
Their response: "you should already have my latest from 2 days ago"
Two questions that I should have asked:
1) what have you been doing for two days?
2) why am I doing everything else?
Just happened today!
So since this morning we've been trying to get our website ready for UAT deployment Monday next week, even though we only were told of it yesterday. Since we had some critical merge conflicts to unscrew on our dev branch for promoting to UAT, we sent a warning to everyone on our hipchat group
Dev team: @all please don't commit anything to the repo for an hour or so while we get the branch good for dev and uat build
Tech lead: ok
That should be enough warning, right? Surely our tech lead, who has been piling up our scope creep trying to please our stakeholders, understands well enough not to do a single goddamn thing on our repo until we sort it out, right?
10 minutes later our tech lead pushes several changes that not only break our builds but also remove all our configuration transformations. I just stormed out of the office to avoid sending her on a one-way ticket to slapsville and fuckyoutown. Geez goddamn louise.
Questions/best practises for git?
- use present tense in commit messages. (why though?)
A friend of mine also starts his commit messages with either [Task] or [Cleanup]. Useful for finding Commits in Gitlab etc, because only the first line is shown from the message.
Also, one teacher recommended the usage of branches and the other didn't because of alot of potential merge conflicts when working in a Team or a larger Collaboration. What are your thoughts?
Sorry for the messy post, have a hangover4
Once I really messed up with git. Lots of conflicts, strange branching, HEAD in detached state etc. Just cloned an earlier version of the repo into a separate folder, hand transferred all the changes I needed to keep and force merged into master as if nothing ever happened.1
"No merge conflicts, ready to commit."
Such sweet words from TortoiseHg, and it's not even valentine's day!
So I thought I knew source tree, apparently I do not... Lost a week's worth of work, went to history, saw someone removed it with a commit, and now I'm getting blamed for my own work 'disappearing'. The reason I am being told I am to blame is how I control my branches... So how I do it is that I keep a local copy of the master branch, I keep it updated and monitor it for changes regularly (meaning fetch and pull cause double tap..) before I do a merge, I check for any new code on master again, then using the local copy of master, which I just updated, I pull the master changes into my branch, deal with any conflicts, build and done. Then I request my changes into master once I am happy everything is good.
My question is, clearly there is something wrong with the way I do things, so please source tree users, what is the most fool proof way to pull latest from master so that I don't loose code? 😔12
Lessions I learned so far from my first big node/npm project with tons of users:
1) If you didn't build something for a while, expect 3 hours of resolving version conflicts for every two weeks since the last build.
2) Even if the tests pass, run the containers on your own machine and make sure that the app doesn't randomly crash before deploying
3) Even if the app seemed to work on your own machine, run the tests again in an environment mimicking prod at most 15 minutes before replacing the running containers.
4) Even if all else indicates that the app will work, only ever deploy if you expect to be available within the 4 hours following a deployment.
5) Don't use shrinkwrap for anything other than locking every version down completely. A partial shrinkwrap will produce bugs that are dependent on the exact hour you built the app _and_ the shrinkwrap file, and therefore no one will ever have seen them other than you.
6) Avoid gyp, and generally try not to interface too much with anything that doesn't run on node. If parts of your solution use very different toolchains, your problems will be approximately proportional to the amount of code. And you'd be surprised just how much code you're running. (otherwise it's more logarithmic because the more code the less likely a new assumption is unique)
7) Do not update webpack or its plugins or anything they might call unless you absolutely need to
8) Containers are cool but the alpine ones are pretty much useless if you have even just one gyp module.
9) There's always another cache. To save yourself a lot of pain, include the build time in every file or its name that the browser can download, and compare these to a fresh build while debugging to assert that the bug is still present in the code you're reading
+1) Although it may look like it, SQLite is far from a simple solution because the code and the bindings aren't maintained. In fact, it'll probably be more time consuming than using a proper database.4
How to deal with merge-conflicts:
1. You don't
2. Just clone the whole repo anew again and start over dude
Why do some developers rebase or resolve merge conflicts when you can just email each other changes and force push?4
Committed my code for Code review
solved 23 Merged Conflicts
Fixed 65 Load project Error.
Fixed another 8 Compiler errors because of mistake made in Merge conflict.
I wanted to do coding today... I really do..2
SQL collation conflicts are the worst thing that has ever been made possible in humanity... it's 1000 times worse than problems with time zones, change my mind.
Fuck off whoever decided to make hundreds of different versions of the same languages.1
TLDR: I didn't & still not sure if it is..
I love bug hunting & fixing & figuring out how stuff works, but many will argue this is not even real programming..
Long version how I ended up programming:
Back in highschool, I was deciding between english and mathematics & computer science.. I filled in the form for the latter. Got a change of hearts but I already gave the extra/backup empty form to schoolmate..
Figured it's for the better because it's a hell to get a job as an english teacher/prof anyways + I dislike comunications with people + documentation (if any) is in english etc..
At the end of first year, I didn't even apply for all the exams because you had to have both programming 1&2 to pass or even be eligible to take the year again.. I figured I'd fail them, so once I actually passed both (& actually not with bad grades), I was fucked.. had to retake the year, which means I lost time + still had to pay the rent etc.. decided to drop out and return home and do the IT engineer course instead to at least have some formal education to help me find a job. Finished that without problems, I 'specialised' in network administration.
I got a job straight out of school as a web developer.. the irony.. got some conflicts with the boss and was terminated (material for another rant).
Later I sought out admin jobs, but got declined because I was overqualified and had programming experince. FML, right?
Ended up sending out mandatory job applications for IT administration & programming to not lose the bonuses & got called up to a meeting in the company I work for since then.
No qualifications for .net & MS technologies, but they liked my CV so the ended up setting up the interview anyway. I didn't know half of the technologies and concepts by proper name, but they figured I understand enough of the content to give me a try. A few years later, I got the most fucked up project they have because of my love for new thigs and trying to understand everything. It's aaaalmost bearable now.. still needs a lot of work, but I'm happy where I am. Saddly, I'm still second guessing if I'm doing a proper job as a dev, but they seem to be very ok with my work. (:11
That moment when a designer messes up their commit, sees it has conflicts and still decides to push...
Made lots of features to a side project that I was gonna publish in uni. There was some merge conflicts. And I tried to fix by copying files from a backup of the repo I was using.
Accidentally deleted the latest repo instead of the backup. All additions were uncommitted.
That was when I started taking special care with VCS
Someone raised a PR for the opensource project "fast XML parser". Since this was a major change, it was difficult to review. I asked for the purpose and requested to break it into multiple PRs, where 1 PR should have related changes only. And any good change but unnecessary change can be avoided to scheduled for later.
We had long arguments for a month or two.
I don't know why but instead of breaking the PR, the contributor keep updating his PR for every commit someone made on the original repo.
He also stopped contributing for other changes, and commenting on other issues. (Change in the behavior)
Finally after 5-6 months, I had to close the PR as it was not active, having conflicts and not as per guidelines.
I work on a small dev team. A team member recently left. My boss is lenient about committing our repos. ex co worker didn't commit his code and instead just left his code on a zip drive. Today I had to resolve nine months of conflicts and basically throw out all the work this guy had done.8
Trying to figure out why your code won't work after you fixed it, only to find that the offshore team completely fucked everything back up again 😵3
Got through 4 hours of merge conflicts before pushing to prod... I imagine this is how doctors feel during an operation... #ef
What if all devs worked together to create a programmed God which only obeys devs? And hates bosses....
I think we can do it guys!
Ps. Bagsie not dealing with merge conflicts.10
I fucking hate people who want to "perfect" his shit before push his code. Yes damn right. That means he doesn't fucking push his code until it's too late and his "perfect" shit will break everything. Not to mention the cry face he has when there are shitload of conflicts.
"Have conflicts on your PR? Just solve them by merging target branch into your branch and problem is solved"
Love it when the maintainer of an open source project you contribute to runs a linter over the whole codebase and force pushes the changes to origin master so now all the Pull Requests in the queue have to be rewritten and have tons of merge conflicts to resolve. Awesome! 😠2
Just found out that something like this would actually work in Java:
int a = 2;
int b = 1;
b = 2;
I know about the variable scoping part, but that doesn't means if the language allows this kind of shitty code you should use it.. Fuck took me 15 mins to resolve the merge conflicts. As during merge the 1st case was partially removed. And the code was filled with these kinds of logic. This could have been done in a minute without the shitty code..5
Schoolproject teammate refuses to pull my changes in git before applying his because he thinks we're going to have conflicts ?!?!?!1
Merging one git branch into another when it conflicts an added line or function.
Like really? You can't handle ONE LINE being added?6
I'm starting senior year and I had to give up the independent study computer science class for BC calculus (my teachers convinced me BC is better in the long run) and instead I'm gonna be a teacher aid for the computer science teacher :/ I looked forward to IS since freshmen year and it sucks I had to pick and choose 😭 there's always scheduling conflicts at my school..2
When you're all happy because you finally done with your task and there are fucking conflicts in like almost every file you worked on...1
Every team has that dev that comments every last opinion they can think of on every single PR. I'll have conflicting conflicts between two team mates, one wanting me to take a functional approach while one wants a more imperative decision tree. How about this, if you want a declarative approach, define it in the damn code style guidelines which is pretentious enough for us to have with a team of 10.6
How do you guys handle vile people in life? I think running away from them is not an option. They are just fucktards who likes seeing you hurt and running away from them and follow you, even to this awesome site devrant :/
Aside from the fact that that overconfident , mr. Perfectionist piece of shit who believes he can never be wrong is here , i just want to know a general way of dealing with such people. I am kinda simple guy. I prefer running away from them into place/environment/community they can't reach and ignoring such people to avoid unnecessary conflicts.
But this strategy don't seem to work. I want to know a mindset that i could keep and stand proudly in an environment full of people i hate, without getting affected by them?
I am fucking down to leaving this awesome community. Already using a hidden account for writing this 😞6
I mean where do I even begin
I am trying to fix up some really awful sloppy mistakes but since we only use svn and I don't have any sort of branch of my own I end up breaking other peoples builds while I try to fix their mistakes
And then I get yelled at and told to test the build somehow on their environment which is totally seperate to ours, and ensure there are no build problems
Even if said problems are svn conflicts they are apparently still my fault and evidence as failure on my part as a developer
I mean how do i even retort to that? Can I tell them to get stuffed, like seriously.. I have asked and checked in if there was any issues and they said nothing repeatedly
I have proposed the idea of a integration environment to test the commits of revisions and merging ect.
I got told off
For gods sakes2
Semantic ui is bullshit.
I have been css frameworks
2 more that i forgot.
They are huge and simple to understand.
Will try bulma without js.
Or back to bootstrap.5
What do you do when your family time conflicts with your work time? What can I do to rotate my work schedule forward so I can get some fucking sleep without giving up on either work or my family?
This sucks, I get like 5 hours of sleep at night and my job wants me to be here no later than 9 for whatever reason.
Not to mention my commute is about 45-60 minutes both ways
Not to mention I'm making just enough money to cover my bases. Going to Costa Rica for a vacation is no where near my ability.. hell even driving across the state for a weekend trip would be wildly out of budget.
I've tried asking for a flexible schedule and ability to work from home as needed but its just become a circular debate.
I'm getting burned out and always feel tired, have no energy to stay motivated or give a shit7
My work product: Or why I learned to get twitchy around Java...
I maintain a Java based test system, that tests a raster image processor. The client is a Java swing project that contains CORBA bindings to the internal API of the raster image processor. It also has custom written UI elements and duplicated functionality that became available in later versions of Java, but because some of the third party tools we use don't work with later versions of Java for some reason, it's not possible to upgrade Java to gain things as simple as recursive directory deletion, yes the version of Java we have to use does not support something as simple as that and custom code had to be written to support it.
Because of the requirement to build the API bindings along with the client the whole application must be built with the raster image processor build chain, which is a heavily customised jam build system. So an ant task calls out to execute a jam task and jam does about 90% of the heavy lifting.
In addition to the Java code there's code for interpreting PostScript files, as these can be used to alter the behaviour of the raster image processor during testing.
The server isn't much better though. It's a tomcat based application that was written by someone who had never built a tomcat application before, or any web application for that matter and uses raw SQL strings instead of an orm, it doesn't use MVC in any way, and insane amount of functionality is dumped into the jsp files.
It too interacts with a raster image processor to create difference masks of the output, running PostScript as needed. It spawns off multiple threads and can spend days processing hundreds of gigabytes of image output (depending on the size of the tests).
We're stuck on Tomcat seven because we can't upgrade beyond Java 6, which brings a whole manner of security issues, but that eager little Java updated will break the tool chain if it gets its way.
Between these two components we have the Java RMI server (sometimes) working to help generate image data on the client side before all images are pulled across a UNC network path onto the server that processes test jobs (in PDF format), by reading into the xref table of said PDF, finding the embedded image data (for our server consumed test files are just flate encoded TIFF files wrapped around just enough PDF to make them valid) and uses a tool to create a difference mask of two images.
This tool is very error prone, it can't difference images of different sizes, colour spaces, orientations or pixel depths, but it's the best we have.
The tool is installed in both the client and server if the client can generate images it'll query from the server which ones it needs to and if it can't the server will use the tool itself.
Our shells have custom profiles for linking to a whole manner of third party tools and libraries, including a link to visual studio 2005 (more indirectly related build dependencies), the whole profile has to ensure that absolutely no operating system pollution gets into the shell, most of our apps are installed in our home directories and we have to ensure our paths are correct for every single application we add.
And... Fucking and!
Most of the tools are stored as source bundles in a version control system... Not got or mercurial, not perforce or svn, not even CVS... They use a custom built version control system that is built on top of RCS, it keeps a central database of locked files (using soft and hard locks along with write protecting the files in the file system) to ensure users can't get merge conflicts by preventing other users from writing to the files at all.
Branching is heavy weight and can take the best part of a day to create a new branch and populate the history.
Gathering the tools alone to build the Dev environment to build my project takes the best part of a week.
What should be a joy come hardware refresh year becomes a curse ("Well fuck, now I loose a week spending it setting up the Dev environment on ANOTHER machine").
Needless to say, I enjoy NOT working with Java. A lot of this isn't Javas fault, but there's a lot of things that Java (specifically the Java 6 version we're stuck on) does not make easy.
This is why I prefer to build my web apps in python or node, hell, I'd even take Lua... Just... Compiling web pages into executable Java classes, why? I mean I understand the implementation of how this happens, but why did my predecessor have to choose this? Why?2
ProTip :: Avoid code conflicts by commenting out Git header references. Never worry about "resolutions" again
Waiting to merge the rest of the team’s new code because you don’t want to deal with migrating your test account to a new backend until your feature’s ready, finally finishing your feature (!) and then seeing 100+ merge conflicts and realizing you‘re better off just re-implementing all your feature code into a new branch, & deleting every trace of your old branch so nobody sees the 1000+ merged commit mess you’ve made -_- today was supposed to be easy...
WHY WOULD ANYONE NEED THREE DEPENDENT SUBMODULES ANYWAY?!?! 😩1
Yesterday i went coding, tired as hell. I told myself “Atleast i get smth done“ i was wrong. Redid everything and now expect many merge conflicts when i get home1
Can there be a happy rant?
This is going to be a bit of a rambling semi coherent story here:
So this customer who just doesn't know what their data schema is or how they use it (they're a conglomeration of companies so maybe you get how that works out in a database). For every record there's like a ton of reference number type things mapped all over the DB to fit each companies needs needs.
To each company the data means something different, they use the data differently, and despite their claims otherwise, I think there are some logical conflicts in there regarding things like "This widget is owned by company A, division B, user C.". I'm also pretty sure different companies actually don't agree on who owns what... but when I show them they just sort of dance around what they've said in the past...
So I write a report (just an SQL query that outputs ... somewhere ... I mean what isn't that?) that tells them about all the things that happened given X, Y, Z.
Then every damn morning they'd get all up in arms about how some things are 'missing' but sometimes they don't know what or why because they've no clue what the underlying data actually is / their own people don't enter the data in a consistent way. (garbage in garbage out man...)
So I've struggled with this for a few weeks and been really frustrated. Every morning when I'm trying to do something else ... emails about how something isn't working / missing.
In the meantime I'm also frustrated by inquiries about "hey this is just a simple report right?" (to be clear folks asking that aren't being jerks, and they're not wrong ... it really should be simple)
Anyway my boss being the good guy he is offers to take it over, so I can do some things. Also sometimes it helps just to have someone else own something / not just look it over.
So a few days into this.... yup, emails coming in about things 'missing' or 'wrong' every day.
Like it sucks, but it's nice to see it suck for someone else too as validation.
I hate this stupid git, said by my colleague who really don't understand how to use it properly.
They always fuck up merges, forgets to commit and loose changes and fails terribly in resolving conflicts.
Yeah! Git is not stupid my dear. It is you who is stupid.6
My class schedule was really hard to figure out (since I'm a double major with tons of timing conflicts), so I made my computer do it for me. I was gonna make a GUI and sell it to my school, but I got distracted halfway through and never finished.
RIP schedule solver, I'll see you when it comes time to make next semester's schedule...
Either my experience with Linux got better or this OS improved a fuckton over the last years. About 3 or 4 years ago installed Ubuntu on my laptop just to try out something different. My experience:
- Reinstalled Ubuntu three times due to me fucking up something.
- Wine, with as little as it could run back then, could not be installed with proprietary nvidia drivers.
- I could not use LibreOffice because of some word bulshit which was needed for school.
- Managing dependencies was a literal hell for me (Different versions installed which resulted in conflicts)
- Wine 3.0 is about to be released
- Can run most games of today. (Fallout 4, Wolfenstein II, Overwatch)
- I can say that I could do 95% or even more on it. (Which is mostly due to me getting more experienced)
npm has to be the single worst package manager on the planet... Trusting devs to use semantic versioning properly and forcing devs to trust authors of dependencies to use it properly is nothing short of insane. The package-lock that is "supposed to be version controlled" causes *constant* merge conflicts. Using shrinkwrap in its place is borderline useless because it Doesn't. Lock. High. Level. Dependencies.
I don't know who designed this, but I want to give them a very bad day for every hour I've spent trying to lock versions correctly on a live project.
Not to mention requiring root by default to install things that can just run whatever they want is ludicrous.2
my boss is the software designer atm where every feature or modification is either conflicts with previous ones or is a change request.
Its like try and error development !
That moment when you go to merge a branch and realize no one rebased for 3 weeks and your whole day will be merge conflicts...1
I did basically nothing today at work, because my seniors refactored/restructured the project all day and I was not allowed to work on any issues, becausebecause it would just cause conflicts1
Does anyone know a good resource for learning how to use Git properly? I've learned piecemeal over the last year, but still run into stupid conflicts when transferring a project between machines that often requires me to redownload the repo and then download the changes from the dev server before starting again.
I'm an independent shop, so I don't have any senior devs or corporate policies to refer to for best practices.
Thanks in advance!2
about 12 hours, from 8am - 8pm
We were working on an iOS build for a demo and were told that day was the deadline for having code merged. I got kinda shafted cos I needed someone elses code merged before I could finish mine. It got merged at like 5pm and then everyone went home leaving me with a ton of merge conflicts to deal with. I gave up at 8pm and went home. Found out the next day that the deadline was horse crap anyway....1
I get a late start (two weeks) on a jumping in on a project because I was assisting with production issues. The service is not running and basically nothing has been checked in. Mind you, we're not doing anything new.
"Senior" (while I'm trying to work on my part ) : Hey can you hurry up and finish your part? I'm thinking about coming up with a completely different way than what the group wants. (heard this several times)
Me : *finishs my part with coverage and gets the service up running and rating in a week because I'm avoiding code conflicts*
"Senior" : OK well nevermind what I said about coming up with a different strategy. I'll develop the last bit of the service since again everything has been laid out already on what to do.
Me : OK, I'll work on code coverage for the rest of the project and updating the code based on feedback from the other team members.
Me (a week later after hearing that he has moved on to another task) : Did you finish up that last bit?
"Senior" : Well I shifted focus working on feedback from the review. Feel free to finish that last bit I was supposed to work on because I don't know wtf I'm doing and I would rather ride your ass instead of attempting anything significant on my own.
Continuation (no. 2): So because of my bad conscience I was very polite and friendly to the colleague I pestered about... but my boss was not. Instead he broke loose his second fight with Mr. git master. He's joking about that he now already had a fight with almost anybody (mostly team leads). He's leaving the company anyway, so he needn't care, but I start to love his love for conflicts. Some PM or upper boss already said something along the lines: "If something's wrong, I know you'll escalate." Of course you should not for every triviality, but nothing is worse than those lingering, dormant time bombs of projects that went so awry they're just waiting to explode... or silently be canceled.
Well, so they clashed again, and Mr git / scrum master fought for his concern that my boss, who's also product owner, must not enter the team. I looked at the git logs: Mr git master's only contribution - he's supposed to be a member of the team - since joining (like over a month) were 300 LOC, which was actually copy pasting our old copy right form, peppering it with some html tags to ensure it would not work without recompiling the 3rd party lib with a fucking webengine.
My boss now rather wants to remove "agile" as it's not fitting. Just let the three or four of us yank out the code so we actually have a chance to deliver in three months. He told the upper boss that we can take our tasks ourselves so independently we even need no team lead, but could report directly to him. It's still not clear what's gonna happen, but it's like they could let us loose, free radical elements who just do motherfucking programming. Feels awesome.
When you git pull and there are merge conflicts and you commit without resolving conflicts and you push 😂😂1
Management wanted all features finished by close of business yesterday to start testing before a demo next week.
I started work at 8am to get my task out of the way early. Unfortunately there was another persons task that mine was dependant on. I kept telling people it needed to be merged so i could integrate it with my changes.
It was merged at 5pm.
I was still fixing merge conflicts at 8pm. 😑1
Visual studio. The lockups are incredibly annoying, the codebase's dependency on its toolset is worrying, and the inability for me to customize it deeply conflicts with how I work as a developer. It costs so much and yet the man hour cost of moving our codebase out of it is way more, so we are trapped
Forgot to "git rebase --continue" after fixing conflicts, wondering why my code doesn't work. EVERY SINGLE TIME ahhhhhhhh1
To branch or not to branch? (in developing software multiple features, releases...) (git)
I've been searching a lot of posts and info on the internet ( http://bit.ly/2kBLcar http://bit.ly/197szRP ). In summary, some people say it is better to branch and others the opposite. What do you think?
My conclusion was: let's branch but let's merge periodically to minimize merge conflicts.1
How do you share some feedback about certain things to your peers?
A little context.
Within our team, me and another person are two senior folks and we are the ones who are answering all the queries to external teams, product, issues, incidents. Obviously we are seniors so we tend to lead by example and try to handle as much as we can. But this is giving the junior folks a nice getaway to not pitch in and scale and handle things as well. They are happy to sit back and when me or the other senior person is not available, their response to all the queries is that we dont know because we havent worked on it and then when we come back, we respond to those.
Also for the work, what usually should take 1-2 days, takes 3-5 days for these guys. 3-5 days of work gets delivered by them in 2-3 weeks. And the reason again, this is new, i didnt not get this and i have facing this issue. In all of this, our lead is quite laid back as well and doesnt inquire more about why things are constant getting delayed from their side.
The side effect of this has been that more critical and time sensitive things gets pushed to us senior folks even more and we are seriously getting bogged down by the amount of work.
We want to question and point out to these junior folks that they need to scale up, but we feel a little helpless since it might make them more hostile and retaliate. Why are we saying these when our lead is not saying anything. That will be their argument. Plus it will create an unpleasant working environment which we dont want either.
We think of talking to our lead, but again, I am not sure if that would be considered as bitching about them.4
I just picked up a hobby project which I hadn't worked on in a while and started doing some major refactoring. However, I forgot to pull before I started and didn't realize that I made some updates on a different pc. Then as I wanted to push a ton of changes I noticed... I didn't even attempt to merge because it was one giant pile of shit conflicts - and I didn't remember what changes I had made earlier. So I decided to say fuck it and
$ git force --push
Feels *so* much better than pulling my hair out over conflicts :P2
Coworker just showed me how he avoids merge conflicts and I'm undecided on it. We use feature-branch workflow, so if a feature takes a long time to finish, it may mean merging master multiple times. He avoids it by stashing changes instead of committing them, then when he needs to merge master into the branch it's still clean. When the feature is done and he's ready to commit, he pops the changes and git diff shows all the changes before you push and you just change what you need instead of being forced to use the horrible merge software.
There must be problems with this, right? This seems too easy for it not to be the standard.5
One thing I absolutely hate is resolving merge conflicts but if Git wouldn't have been there, I would have not liked that..
I got 21 files with conflicts while merging feature to develop.
16 files were just identation and space shit conflicts. WHY do you commit reformats that change tab characters with spaces or vice versa without changing any code??? STOP WASTING MY TIME5
When your pushing to a git repo and found so many conflicts and try to to review it,
And found so many conflicts with whitespace.1
Things I have come to expect in my future since being on DevRant: shitty timelines, both funny and cruel office pranks, PMs who have no idea what they are actually managing, clients and some coworkers not knowing what my time and work is worth, merge conflicts for reasons unknown1
Recently i switched from using git with gui tools to just console, and love the speed and reliability increase, but guys do you really resolve merge conflicts in console? Is it effective/worth getting used to?4
I have been fixing tests all day and some other dev managed to cause merge conflicts, now my branch is in a permanent state of merge after I pushed with force.. I'm done...
This crisis is also hitting our company and don't know what that's means of me as I just joined...
I'm glad it's weekend1
'net-ssh 4.1.0 conflicts with net-ssh (< 4.0, >= 2.7)'
Uninstalls net-e 4.1.0, runs command again
'Could not find 'net-ssh' (= 4.1.0) - did find: [net-ssh-3.2.0]'
Sometimes I just think dependency management was a mistake.2
Or company banned DourceTree so everyone had to switch to just using git shell.
Except me... I installed GitExtensions which is allowed.
I can't decide if I'm a git noob, better at being lazy, or more efficient.
I do use she'll for certain things like deleting, listing branches but for commits and resolving merge conflicts... still prefer gui12
You should produce
shirts that are boldly written ”Git Cherry-Pick Saves!”.
It has redeem me from messed up conflicts. conflited files = 89.
How the fuck am I going to review 89 files, when deadline is just two days from now.2
Waiting for code reviews from the lead dev. Often it ends with a branch sitting untouched for weeks and becomes a pain of merge conflicts.3
When a junior developer forks new feature branch from his old feature branch and not from develop branch causing merge conflicts later!1
Why on earth wouldn't they give up on TFS. GET LATEST VERSION doesn't get latest version nor does it tell you that there are conflicts.
Slowly I'm learning not to give a shit anymore. This project I'm on can burn. I'll make progress and help out my fellow devs, but if it takes me longer than estimated to complete my tasks because of the unforeseen technical debt arising from this piss-poor excuse of an application design (plus we're 13 devs working on like 5 different feature branches - God help us with our merge conflicts) then so be it. If my tech lead complains, he can find someone else to take the wheel.2
when you merge changes from other branch, made by other team, and see that huuuuge old project is now basing on dependency injection instead of one singleton- manager approach. Even merge conflicts look beautiful!
getting tons of fucking merge conflicts on rebasing remote branch with current master because that mockerfucking code review is still pending
Have a question about git rebase with android studio.
So I have a feature branch which I finished working on, I made a pull request to develop branch and now I see many conflicts because develop is few commits ahead.
In android studio I switched to my feature branch, then did a git rebase develop and resolved all conflicts. After conflicted files were fixed I did a git add conflicted_file and continued with git rebase --continue until the end.
Now everything is finished. I have a local feature branch that was rebased to current develop, and I resolved all conflicts.
Problem is when I do a git push to my remote feature branch, I get a merge conflict error conflict from android studio and now I have to solve all merge conflicts yet again for some reason.
What I am doing wrong?2
Had a new dev take us to merge conflict hell due to rebasing... we have meeting saying we are going to do git flow.....
manager who agreed makes branch project/releaseName based off of develop only to have us mr to that branch to then mr back to develop....
Had massive conflicts mr into that branch (i kept up to develop) and then had conflicts mr that branch to develop........ on a sunday night... great2
Ok fuck everything, I will not work today nothing is fucking working, the feature that I implemented easily in the last app, is harder to implement now because of the new version of the library. Even the old and same version of the library I used in the previous app is not compatible with the new version of the framework. What a freaking horrible development experience we are getting into. Developing should become easier not harder mother fucking library developers, should I write my own library now? fuck you, and fml too.
This is so fucking stupid. Fuck. When they log defects on jira for different issues on the same page but in different tickets I end up having merge conflicts with myself. Like are you fucking kidding me?
Try creating a Java multi-dependency project without Maven and just manually adding the jars. It's super annoying as nested dependencies will arise and sometimes conflicts. :P9
I was very interested with the concept of programming and so I downloaded varies IDE's one of which was Android studio, I didn't have interest in it at first but one day I was bored and decided to open Android studio and play around placing varies components making a very uninteractive app and the feeling I got was unexplainable and I knew that this was going to be my passion.1
Semiunusual state here. Have a branch I'm trying to merge into develop and there are a LOT of merge conflicts, some head way has been made in this merge branch..
I'm wondering is there a way to "suspend" the branch/merge progress and go back to develop?9
So when installing an rpm there is a file collision check. When you add a file to an rpm package with cmake / cpack it unfortunately adds parent directories your file goes into, which will give you conflicts with other packages. But well you have that beautiful feature to exclude directories from being added:
Now somehow it failed. Turned out it would not work if my path ended with a backslash. Brush my banana! Like "/etc/sysctl.d" is a different animal than "/etc/systclt.d/". - But at least that's nothing against the strangeness of the "mv" command in those respects.
I have a git feature branch with my commits but also have merged the changes from the main branch to resolve merge conflicts before PR.
But now need to create a special release with just my changes.
So I think have to cherry pick all my commits on my branch some the last Release. How can I do that?
Develop (others) + Feature => Develop
Want to create new branch
Last Release + Feature (but only my commits since last Release)4
Hello World! Question, what do your team usually do on the last day of work? We prefer push and merge our project branches and resolve conflicts, because nobody wants to write code 🤣
PR done and dusted. Welp! Somehow all permissions on files have been changed. I didnt change it. Wtf happened? Log search turns up I did change it while resolving merge conflicts. I don't know how. Anyway now I am spending my afternoon working on the vaguest fucking issue and reverting back all file permissions. Might have somehow fucked up two repos and will have to fix them all. Kill me. Now
rant.author != this
Christ people. This is just sh*t.
The conflict I get is due to stupid new gcc header file crap. But what
makes me upset is that the crap is for completely bogus reasons.
This is the old code in net/ipv6/ip6_output.c:
mtu -= hlen + sizeof(struct frag_hdr);
and this is the new "improved" code that uses fancy stuff that wants
magical built-in compiler support and has silly wrapper functions for
when it doesn't exist:
if (overflow_usub(mtu, hlen + sizeof(struct frag_hdr), &mtu) ||
mtu <= 7)
and anybody who thinks that the above is
(b) efficient (even with the magical compiler support)
(c) particularly safe
is just incompetent and out to lunch.
The above code is sh*t, and it generates shit code. It looks bad, and
there's no reason for it.
The code could *easily* have been done with just a single and
understandable conditional, and the compiler would actually have
generated better code, and the code would look better and more
understandable. Why is this not
if (mtu < hlen + sizeof(struct frag_hdr) + 8)
mtu -= hlen + sizeof(struct frag_hdr);
which is the same number of lines, doesn't use crazy helper functions
that nobody knows what they do, and is much more obvious what it
I guarantee that the second more obvious version is easier to read and
understand. Does anybody really want to dispute this?
Really. Give me *one* reason why it was written in that idiotic way
with two different conditionals, and a shiny new nonstandard function
that wants particular compiler support to generate even half-way sane
code, and even then generates worse code? A shiny function that we
have never ever needed anywhere else, and that is just
And yes, you still could have overflow issues if the whole "hlen +
xyz" expression overflows, but quite frankly, the "overflow_usub()"
code had that too. So if you worry about that, then you damn well
didn't do the right thing to begin with.
So I really see no reason for this kind of complete idiotic crap.
Tell me why. Because I'm not pulling this kind of completely insane
stuff that generates conflicts at rc7 time, and that seems to have
absolutely no reason for being anm idiotic unreadable mess.
The code seems *designed* to use that new "overflow_usub()" code. It
seems to be an excuse to use that function.
And it's a f*cking bad excuse for that braindamage.
I'm sorry, but we don't add idiotic new interfaces like this for
idiotic new code like that.
Yes, yes, if this had stayed inside the network layer I would never
have noticed. But since I *did* notice, I really don't want to pull
this. In fact, I want to make it clear to *everybody* that code like
this is completely unacceptable. Anybody who thinks that code like
this is "safe" and "secure" because it uses fancy overflow detection
functions is so far out to lunch that it's not even funny. All this
kind of crap does is to make the code a unreadable mess with code that
no sane person will ever really understand what it actually does.
Get rid of it. And I don't *ever* want to see that shit again.
So I am currently updating a application from play framework version 2.5 to 2.6 and am working through all the dependency updates... I feel like I am playing whack a mole.
and now there are suddenly ClassNotFoundExceptions because the classes are not in the same classloader as before and the access over reflection doesn't work anymore.
Anyone got some tips why the classloader is differing?
I think it might be because some dependency conflicts or such.
I use GitKraken to only to resolve merge conflicts. Recently, they decided to make app unavailable for private repos.
Fuck you drupal and your gibberish arrays. what the fuck. and the size of those, it's easier to swallow a cactus than to understand.
Fuck trying to assign a default value to a field, it is about as easy as solving the middle east conflicts. FUCK!
And one more.
When my senior ask me to rebase the PR, which I submitted f*n one month ago.
Where it was f*n important that time.
And your pull rebase ask you to fix the conflicts.
And you realize you need to reapply the changes again on top of the master.
And you have to run the FTs again.
Shit thoughts and self conflicts.
The typical middle class scenario : grab whatever opportunity that comes and delay decision making for anything that's not immediately affecting you , as long as you can. Anyone relate with me one this?
My last 7 months have been gone a little less stressful just because i was able to score an offer letter from India's biggest service based MNC. Yeah sure, the salary they would have given would be less than $400 per month , but working in a company employing 400k employees and later reaching to heights there would be so awesome
They did publically said they would be rolling out joining letters for their fresh recruits later in the year, they won't be backing out on the lives of 40k people. And they didn't they are really rolling out those letters and i got one.
But i hat to stay jobless for 6months because of this. Why couldn't they generate employment much earlier when our families were going out of business?
At that time i had to go work in different domains to get some cash inflow.
Now , as i read their email, which gives a date of around 10 days... I am again torn at the thoughts that i had 4 months ago .. should i be joining this big ass firm where people claim to have entered and stayed their entire lives, rising and gaining more authority? The pesudo government like job,where work is less but pressure of work is a lot
Or should i keep doing my job in this startup, where i am working in the domain that i love, getting the cash that satisfies me and have a relaxed environment where everyone is willing to help ? Startups feel like the way to go, but those big firms are so lustrous while these small teams feel like they are gonna kick my ass out the moment they are at loss
I guess i would not be leaving my startup job for those big company dreams. Someday i hope to reach into a company that's doing something good at a scale , no matter their own size . But doing something i like is also equally important , I don't wanna be putting data into excel sheet when i could make helpful software , just because the former has a job security
Damn... Job life is risky1
Just rebase a merge conflicts with LFS enable. What a fucking nightmare. And bitbucket, please eat a dick you useless cunt.
Every little thing in this project is an absolute mess. But there is just one thing I will absolutely not excuse and that horrifies me.
Whoever thought that backing up a branch, deleting the old one and merging in the hotfix to avoid merge conflicts was a good idea deserves shoes made of lego.
Just forgot to tell my friend/co-contributor that I did a commit and pushed it. Now there are like a gazillion conflicts!
When just push to github 2 hours before and u only change the views then theres this " the head of your current commit is different from the repo. Either push and pull to avoid conflicts" u tried pulling and its not working and you only change the views. No branch no other contributer. 😩