Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "git message"
-
Long rant ahead, but it's worth it.
I used to work with a professor (let's call him Dr. X) and developed a backend + acted as sysadmin for our team's research project. Two semesters ago, they wanted to revamp the front end + do some data visualization, so a girl (let's call her W) joined the team and did all that. We wanted to merge the two sites and host on azure, but due to issues and impeding conferences that require our data to be online, we kept postponing. I graduate this semester and haven't worked with the team for a while, so they have a new guy in charge of the azure server (let's call him H), and yesterday my professor sends me (let's call me M), H and W an email telling us to coordinate to have the merge up on azure in 2-3 days, max. The following convo was what I had with H:
M: Hi, if you just give me access to azure I'll be able to set everything up myself, also I'll need a db set up, and just send me the connection string.
H: Hi, we won't have dbs because that is extra costs involved since we don't have dynamic content. Also I can't give you access, instead push everything on git and set up the site on a test azure server and I will take it from there.
M: There is proprietary data on the site...
H: Oh really? I don't know what's on it.
<and yet he knows we have no dynamic data>
M: Fine, I'll load the data some other way, but I have access to all the data anyway, just talk to Dr. X and you'll see you can give me access. Delete my access after if you want.
H: No, just do what I said: git then upload to test azure account.
Fine, he's a complete tool, but I like Dr. X, so I message W and tell her we have to merge, she tells me that it's not that easy to set it up on github as she's using wordpress. She sends me instructions on what to do, and, lo and behold, there's a db in her solution. Ok, I go back to talking to H:
M: W is using a db. Talk to her so we can figure out whether we need a database or not.
H: We can't use a database because we want to decrease costs.
M: Yes I know that, so talk to her because that probably means she has to re-do some stuff, which might take some time. Also there might be dynamic content in what she's doing.
H: This is your project, you talk to her.
<I'm starting to get mad right now>
M: I don't know what they had her do apart from how it interfaces with what I've done.
H: We still can't have databases.
M: Listen, I don't do wordpress, and I'm not gonna mess with it, you talk to her
H: I won't do any development
<So you won't do any dev, but you won't give me access to do it either?>
M: Man, the bottleneck isn't the merging right now, it's the fact that W needs a db
H: I know, so talk to her
M: THE RESTRICTION TO NOT HAVE DATABASES IS NOT MINE, IT'S YOURS, YOU TALK TO HER. I can't evaluate whether it's a reasonable enough reason or not since I don't know the requirements or what they're willing to spend.
H: It's your project.
M: Then give me fucking access to azure and I'll handle it, you know you'll have to set up wordpress again regardless whether we set it up the first time.
H: Man just do your job.
At this point I lost it. WHAT A FUCKING TOOL. He doesn't wanna do dev work, wants me to go through the trouble of setting up on a test subscription first, and doesn't want to give me access to azure. What's more, he did shit all and doesn't want to anything else. Well fuck you. I googled him, to see if he's anyone important, if he's done anything notable which is why he's being so God damn condescending. MY INTERNSHIP ALONE ECLIPSES HIS ENTIRE CV. Then what the fuck?
There's also this that happened sometime during our talk:
M: You'll have to take to Dr. Y so he'll change the DNS to point to the azure subscription instead of my server.
H: Yea don't worry, too early for that.
M: DNS propagation takes 24 hours...
H: Yea don't worry.
DNS propagation allows the entire web to know that your website is hosted on a different server so it can change where it's pointing to. We have to do this in 2-3 days. Why do work in parallel? Nah let's wait.
I went over his head and talked to the professor directly, and despite wanting to tell him that he was both drunk and high the day he hired that guy, I kept it professional. He hasn't replied yet, but this fucker's pompous attitude is just too much for me alone, so I had to share.
PS: I named his contact as Annoying Prick 4 minutes into our chat. Gonna rename him cz that seems tooooooo soft a name right now.undefined tools i have access and you don't haha retards why the fuck would you hire that guy? i don't do development46 -
Git makes it easy to search through historical changes they said. Git is amazing when working in teams they said.
It sure is.
If your coworkers do not commit every time they burp or fart, do not use "🚀" or "✨" or "fix" as a commit message, and do not push all their shitty experimental broken branches without cleaning up.
I'm surprised there are no piles of fecal matter behind their desk chairs.16 -
For our 4 programming tasks we had to use Git. Which i fully support, except whenever one of my group members made a change she would commit min 8 times and the message would be "change". Even after mentioning to her that she should write What she changd she just changed it to: "change filename". I mean yeah, i can clearly see which file you changed but come on, WHAT in the file did you change. While doing this she also managed to overwrite my changes or completly delete my files forcing me to constantly restore shit 😐10
-
Yesterday I used a company service account to email over 1,000 internal employees (mostly application managers and the like) about an old OS version their servers are using which must be upgraded in a few months. It's an automated email that will repeat each month until the servers are upgraded.
That is not the part that might get me fired.
The part that might get me fired is an easter egg I left in the html content of the email itself.
In the embedded html of the message, I buried a comment block that contains a full-screen ascii-art drawing of a spooky tree and grim reaper standing beside a tombstone. The tombstone has the OS info and dates on it. Beneath the ascii-art is a bastardized quote in homage to Metallica's "For Whom The Bell Tolls", referring to the OS end-of-life.
The ascii-art is visible in both the html and the internal git repo that contains the email template.
This is a bit of a shoe-horn for this weekly group rant, as I doubt there is any chance I would really be fired over this, as I (sadly) expect that absolutely NO ONE who receives the messages will ever actually see the comments. But it's out there in the corporate network now... and will be sent over and over for the next few months...
There is a better chance someone may catch the easter egg in the git repo, but I kind-of doubt that, too - so I wanted to at least share with my devRant friends that it's out there, so at least someone else knows than just me. 😝6 -
!Rant
my dad message me 7 am, with spec on a raspberry he got and the question if python was similar to C (he programmed C, 20 years or so ago.)
my responde: "I will set up a git for you, and we can learn python together"
dad: "what is a git?"
p.s love my dad :D8 -
I have decided to never write commits.
I will never write documentation.
I will write my code in the most confusing way possible.
I will include useless code.
I will always git commit with the message "asdfghjkl" or "HAHA LOLZ I DONT NOW WAT I WOROTEEE"
I will work at Apple.
I am xenophobic.
I will leave the company right before we push to production.
I will make so many friends.11 -
Watch your git commit messages, you never konw when a webhook might publish the whole thing to Slack...9
-
3 fucking years already that I introduced fucking git in this company and people still fail to grasp the fucking basics... Wtf?
If you push a fucking change wait for the fucking message ... If a fucking fail message appears telling you to pull before pushing to remote, just don't ignore it... Wtf... I can tell it is the case just by looking at the message template, I don't even need to read the motherfucker...
And its not that they are stupid, those are smart motherfuckers we are talking about...24 -
Made poor commit messages for a repo and then found out that we were going to start doing peer reviews at school the next day and that we were going to be assessed by git commit messages.
Rebased at 2 in the morning. Rewrote every commit message.
Did not get assessed by git message.1 -
WTF is up with open-source projects using emojis in their commit messages... FUCKING emojis..
I get it, programming is fun and a hobby to many, but can we also keep at least a minimum level of professionalism here.
WTF is a wheelchair or bento emoji at the beginning of a commit message supposed to mean? Why the hell even bother to use it in the first place? There is no fucking reason for this retarded shit.
Is this what happens when activist developers get out of their way to make programming "inclusive"?
It is your personal project and so if you want to use emojis it is OK, I respect that (not really) but I can't trust your code, your commitment, or the quality of your work if I see those dumb Unicode characters there.
Git commit messages are not a game. Be playful with comments in code or your readme.md file but git messages should be a clear reflection of the changes not what a teenager's phone vomited on the keyboard.rant stop this shit git commit messages source control keep emojis out of git emoji open-source github34 -
Late night coding and my last git message is "changed a shit load of stuff...don't worry I got this"
Good thing this a personal project haha1 -
The feeling when you try to be creative on the first commit message but end up using 'Initial commit'...5
-
When I first started using Git, I didn't understand the purpose of the 'commit message' and branches.
So I automated the 'git add .', 'git commit -m "update"' and 'git push origin master' so I could update my git repo faster, with one command 😂1 -
Commit Message Part2:
6528fff Code was clean until manager requested to fuck it up
241b35f Who knows WTF?!
4381a32 Argh! About to give up :(
c3bf1a9 more debug... who overwrote!
2d68d6d Fixed a bug cause Maciej said to
b112c1a This branch is so dirty, even your mom can't clean it.
bb456d4 Shit code!
4878b46 Copy-paste to fix previous copy-paste
e2c7e87 A fix I believe, not like I tested or anything
f56109f derpherp
e4b8f4c formatted all
3691208 I'm just a grunt. Don't blame me for this awful PoS.
0888b69 just checking if git is working properly...
62741aa I'm too old for this shit!
0735196 COMMIT ALL THE FILES!
09caccf I CAN HAZ PYTHON, I CAN HAZ INDENTS
1e1cda8 giggle.
ab70bde Fixed errors
934436d Now added delete for real
5f84e30 My bad
99baff8 CHRIS, WE WENT OVER THIS. C++ IO SUCKS.
953473d final commit.
f0c3b57 Just committing so I can go home
4e5ce4e yolo push
deb4e3b I CAN HAZ PYTHON, I CAN HAZ INDENTS
710c06a Commit committed....
3c45e67 it is hump day _^_
4487788 Committing in accordance with the prophecy.
bf86e7e This solves it.
4804f68 FONDLED THE CODE
051d42e REALLY FUCKING FIXED5 -
This is something that happened 2 years ago.
1st year at uni, comp sci.
Already got project to make some app for the univ that runs in android, along with the server
I thought, omg, this is awesome! First year and already got something to offer for the university 😅
(it's a new university, at the time I was the 2nd batch)
Team of 12, we know our stuffs, from the programming POV, at least, but we know nothing about dealing with client.
We got a decent pay, we got our computers upgraded for free, and we even got phones of different screen sizes to test out our apps on.
No user requirement, just 2-3 meetings. We were very naive back then.
2 weeks into development, Project manager issues requirement changes
we have a meeting again, discussing the important detail regarding the business model. Apparently even the univ side hadn't figure it out.
1 month in the development, the project manager left to middle east to pursue doctoral degree
we were left with "just do what you want, as long as it works"
Our projects are due to be done in 3 months. We had issues with the payment, we don't get paid until after everything's done. Yet the worse thing is, we complied.
Month 3, turns out we need to present our app to some other guy in the management who apparently owns all the money. He's pleased, but yet, issued some more changes. We didn't even know that we needed to make dashboard at that time.
The project was extended by one month. We did all the things required, but only got the payment for 3 months.
Couldn't really ask for the payment of the fourth month since apparently now the univ is having some 'financial issues'.
And above all: Our program weren't even tested, let alone being used, since they haven't even 'upgraded' the university such that people would need to use our program as previously planned.
Well, there's nothing to be done right now, but at least I've learned some REALLY valuable lesson:
1. User Requirement is a MUST! Have them sign it afterwards, and never do any work until then. This way, change of requirements could be rejected, or at least postponed
2. Code convention is a MUST! We have our code, in the end, written in English and Indonesian, which causes confusion. Furthermore, some settle to underscore when naming things, while other chooses camel case.
3. Don't give everyone write access to repository. Have them pull their own, and make PR later on. At least this way, they are forced to fix their changes when it doesn't meet the code convention.
4. Yell at EVERYONE who use cryptic git commit message. Some of my team uses JUST EMOTICONS for the commit message. At this point, even "fixes stuffs" sound better.
Well, that's for my rant. Thanks for reading through it. I wish some of you could actually benefit from it, especially if you're about to take on your first project.3 -
Dev: Can you please tell me why you changed this?
Me: Because we need to handle permissions in the app. The quickest way of doing it, according to the docs, is [insert change log here]
Dev: But we can just check for the user's token.
Me: That's not exactly a permission, because...
Dev: I was only showing the information related to the user according to their token.
Me: I understand. But that means you're filtering data, not authorising users to access it. If a user is logged in, but changes query parameters, they can still access data they shouldn't be able to.
Dev: Whatevs.
Le me then proceeds to try to push my changes (that took the whole day to implement), gets a "you need to pull first" message from git, doesn't understand why, logs onto GitHub and realises dev has implemented their "permissions".
I was the one responsible for making those changes. Le dev was meant to be doing other things.
How do I even begin to explain?7 -
Making an Android app for a group project. Of course, no one besides me in the team knows anything about Java, or Android, or life, apparently.
A guy "worked" on some small feature for 90 minutes last night before calling me for help. He can't comprehend git so he sends me a message containing his spaghetti code. I proceed to bang it out quickly the right way with him on a Skype call watching my screen but he isn't asking any questions or contributing at all. We have an approaching deadline so I am beyond coaching this guy.
We go to test it out and I had forgotten a line. Simple fix, but it prevents the feature from working as intended. Rather than being remotely helpful the guy gets an attitude about how I write buggy code and that the feature should be robust. I fix it and he slinks back to silence.
Cool. Thanks for the help bro. Glad you could contribute.4 -
Developer confession.
I always git push a new branch even though I know it will error as there's no upstream, just to copy the full git push with set upstream arguments from the error message.11 -
// Rant
I can understand that people accidentally commit something sensitive to GitHub, I did it too once, but ...
WHY THE FUCK DO YOU MAKE YOUR MISTAKE WORSE BY MAKING IT SEARCHABLE VIA THE GLORIOUS COMMIT MESSAGE OF "REMOVING PASSWORD"
... seriously just google "git remove password" and there is a step by step guides on how to remove sensitive data from git.
Reference (320,006 free passwords):
https://github.com/search/...9 -
Why do people have to lie? I am seriously getting tired of it.
Context: While I was on vacation the company hired some guy we’ll call Bob.
Bob is a senior with 10+ years of experience. 5 of those years in React (supposedly).
I got back from vacation and was told I’d be working on a project with Bob.
I’ve worked in teams before so I thought no problem.
Now I am aware that different people have different styles, so that’s why we agreed on a lint config with some fancy git hooks.
I was excited at first because the project actually seems nice, but my excitement soon turned into terror.
First of all, Bob doesn’t seem to understand Git…fair enough, I’ll give him a quick guide…
Mf calls me at 11pm on a Friday because he can’t push because the tests are failling.
Now tests. Bob doesn’t write those. Great.
We had created a few components to use throughout the project.
Bob seems to consistently forget what components are and why you write them and just imports the defaults from the UI library we’re using.
Bob also has a kink for hardcoding values for some reason.
I talked to Bob multiple times about this and he just tells me he’ll change it but in the end the PR stays open for 5 days, before it’s actually me who goes in and fixes it. Oh and yeah this shit keeps happening over and over again.
Now I know some of us devs hate meetings but for the love of God Bob just show up. You don’t even have to speak. Or at least answer a message that corresponds to the working hours and not in the middle of the night.
I am getting tired of this behavior and am seriously holding back from reporting this to the management. It’s been a month and I am seriously worried about the project. I have my own stuff to do but it takes time for me to clean up his absolute mess that doesn’t even pass the CI.
Call me an asshole I don’t care. It’s been a month and I’m legit worried about the future of the project.20 -
So I'm back from vacation! It's my first day back, and I'm feeling refreshed and chipper, and motivated to get a bunch of things done quickly so I can slack off a bit later. It's a great plan.
First up: I need to finish up tiny thing from my previous ticket -- I had overlooked it in the description before. (I couldn't test this feature [push notifications] locally so I left it to QA to test while I was gone.)
It amounted to changing how we pull a due date out of the DB; some merchants use X, a couple use Y. Instead of hardcoding them, it would use a setting that admins can update on the fly.
Several methods deep, the current due date gets pulled indirectly from another class, so it's non-trivial to update; I start working through it.
But wait, if we're displaying a due date that differs from the date we're actually using internally, that's legit bad. So I investigate if I need to update the internals, too.
After awhile, I start to make lunch. I ask my boss if it's display-only (best case) and... no response. More investigating.
I start to make a late lunch. A wild sickness appears! Rush to bathroom; lose two turns.
I come back and get distracted by more investigating. I start to make an early dinner... and end up making dinner for my monster instead.
Boss responds, tells me it's just for display (yay!) and that we should use <macro resource feature> instead.
I talk to Mr. Product about which macros I should add; he doesn't respond.
I go back to making lunch-turn-dinner for myself; monster comes back and he's still hungry (as he never asks for more), so I make him dinner.
I check Slack again; Mr. Product still hasn't responded. I go back to making dinner.
Most of the way through cooking, I get a notification! Product says he's talking it through with my boss, who will update me on it. Okay fine. I finish making dinner and go eat.
No response from boss; I start looking through my next ticket.
No response from boss. I ping him and ask for an update, and he says "What are you talking about?" Apparently product never talked to bossmang =/ I ask him about the resources, and he says there's no need to create any more as the one I need already exists! Yay!
So my feature went from a large, complex refactor all the way down to a -1+2 diff. That's freaking amazing, and it only took the entire day!
I run the related specs, which take forever, then commit and push.
Push rejected; pull first! Fair, I have been gone for two weeks. I pull, and git complains about my .gitignore and some local changes. fine, whatever. Except I forgot I had my .gitignore ignored (skipped worktree). Finally figure that out, clean up my tree, and merge.
Time to run the specs again! Gems are out of date. Okay, I go run `bundle install` and ... Ruby is no longer installed? Turns out one of the changes was an upgrade to Ruby 2.5.8.
Alright, I run `rvm use ruby-2.5.8` and.... rvm: command not found. What. I inspect the errors from before and... ah! Someone's brain fell out and they installed rbenv instead of the expected rvm on my mac. Fine, time to figure it out. `rbenv which ruby`; error. `rbenv install --list`; skyscraper-long list that contains bloody everything EXCEPT 2.5.8! Literally 2.5 through 2.5.7 and then 2.6.0-dev. asjdfklasdjf
Then I remember before I left people on Slack made a big deal about upgrading Ruby, so I go looking. Dummy me forgot about the search feature for a painful ten minutes. :( Search found the upgrade instructions right away, ofc. I follow them, and... each step takes freaking forever. Meanwhile my children are having a yelling duet in the immediate background, punctuated with screams and banging toys on furniture.
Eventually (seriously like twenty-five minutes later) I make it through the list. I cd into my project directory and... I get an error message and I'm not in the project directory? what. Oh, it's a zsh thing. k, I work around that, and try to run my specs. Fail.
I need to update my gems; k. `bundle install` and... twenty minutes later... all done.
I go to run my specs and... RubyMine reports I'm using 2.5.4 instead of 2.5.8? That can't be right. `ruby --version` reports 2.5.8; `rbenv version` reports 2.5.8? Fuck it, I've fought with this long enough. Restarting fixes everything, right? So I restart. when my mac comes back to life, I try again; same issue. After fighting for another ten minutes, I find a version toggle in RubyMine's settings, and update it to 2.5.8. It indexes for five minutes. ugh.
Also! After the restart, this company-installed surveillance "security" runs and lags my computer to hell. Highest spec MacBook Pro and it takes 2-5 seconds just to switch between desktops!
I run specs again. Hey look! Missing dependency: no execjs. I can't run the specs.
Fuck. This. I'll just push and let the CI run specs for me.
I just don't care anymore. It's now 8pm and I've spent the past 11 hours on a -1+2 diff!
What a great first day back! Everything is just the way I left it.rant just like always eep; 1 character left! first day back from vacation miscommunication is the norm endless problems ruby6 -
Cs Student. We currently have a course on algorithms, where we have to implement something in Java, test it with some sample inputs and in the end submit it to an online judge, so far so good. So why a rant? Well there's this one person, who strugles with programing and asks me a lot of questions. Usually I tell her, could you send me your code, so I can have a look at what doesn't work/where you made a typo/what ever. My thoughts: let's just copy it my IDE, take a look at the error message, and that should do it.
Guess how I got the code: As a few photos, taken by her mobile phone (as the code doesn't fit on one screen...)! Just send me the fucking file, or post it to gist.github.com or pastie.org or what ever fucking code sharing tool you want! Make a fucking git repo, I'll even live with SVN or just a .txt file by mail. But for the love of Linus Torvalds, stop sending me crapy pictures of your crappy code! For fucks sake!15 -
So at work with the Macs we use, we have some guy come in after hours to service the Macs, and that means the security risk of leaving our passwords on our desks.
Not being a fan of this I tell my boss, he knows it's a risk and despite that he doesn't want this guy coming in while we're here.
Though my main problem is the Mac guy Steve is arrogant and thinks he's a know it all, and with the software I have on the Mac may end up deleting something important, I have git repo and all but I feel off just letting someone touch my computer without me being there.
I tell my boss about the software and stuff he just says contact Steve and tell him about it, to ignore the software and such, I say alright, I write up an email telling him not to touch the software listed and the folders of software documents (again it's all backed up).
No reply, I tell my boss and he says call him, I call him and he hangs up on me on the second ring!
Not sure if he's busy, but I left him a message, asking if he got my email, no reply and it's coming close to the end of the day (going to service Macs in the weekend)
I'm just not going to leave my info because if this guy can't check emails or even get back to someone why should I bother with this bullshit of risking my work.
From all the info I hear about him and my previous rants he's an arrogant prick who loves Macs.
Can't wait to leave this company, pretty sure leaving my password on my desk is a breach of our own security policy, and since 8-9 people are doing it, it's a major risk.
But he's friends with the CEO so apparently it's fuck our own security policy.11 -
I hate people who don't value transparent and assertive communication. I'm saying this thinking about an specific client.
This client is a boss of Web agency, and has some contractors working on their projects. I worked for them for a year, doing Web projects from scratch and also maintenance.
Then, one week, the communication stopped. No answers, no feedback, nothing. For months. They ghosted me.
I tried contact a few times with no luck. After 3 months, they started to remove me from slack, git, base camp.
And that's it. I was discarded and it seems I don't even deserved a message to be aware of that.
I don't mind to end business relationship anytime, for any reason. There are lot of reasons a working relationship would not work, and that's OK. We should have partners that are a great fit for us.
But at least say it. Ghosting is something ridiculous and unethical.5 -
a tale of daily frustration:
git fetch
*yup I'm up-to-date ...*
git add -p .
*hack in beautiful patch ...*
git status -bs
*correct branch, didn't forget any files ...*
git diff --cached
*yep, that is what I mean to commit ...*
git commit -m"[TKT-NUM] Meaningful commit message"
git log -p -1
*double-checking ... looks good ...*
git push remote tkt-num-etc
*for a brief moment feel accomplished ...*
*notice typo in commit message ...*
I don't have a funny image or punchline to sum this post up. But know that if you recognise this feeling, then I am your brother in git.6 -
Now I know for sure that my coworkers can't read error messages.
Every fucking time git doesn't push or pull properly they can't figure out what's going on, almost one year since we migrated to git ... come on... read the fucking message!7 -
When I was at university in my last semester of my bachelor's, I was doing a game programming paper and our last assignment was to group up and make a game. So I go with one of the guys I know and this other dude since his previous game was really neat. Then two randoms joined that from my first impressions of their games wasn't much at all (one guy made four buttons click and called it a game in Java when we had to make games in c++ and the other guy used an example game and semi modded it.
Anyways we get to brain storming, totally waste too much time getting organised because the guy that volunteered (4 buttons guy) was slow to getting things sorted. Eventually we get to making the game and 4 buttons guy hasn't learnt how to use git, I then end up spending 3 hours over Skype explaining to him how to do this. He eventually learns how to do things and then volunteers to do the AI for the game, after about a week (this assignment is only 5 weeks long) he hasn't shown any progress, we eventually get to our 3rd week milestone no progress from him and the modder, with only three classes left we ask them both to get stuff done before a set deadline (modder wanted to do monsters and help 4 buttons with AI) both agreed and deadline rolls up and no work is shown at all, modest shows up extremely late and shows little work.
4 buttons guy leaves us a Skype message the day of our 2nd to last class,, saying he dropped the paper...
Modder did do some work but he failed to read all the documentation I left him (the game was a 2d multiplayer crafting game, I worked so hard to make a 2d map system with a world camera) he failed to read everything and his monsters used local coordinates and were stuck on screen!
With about a week left and not too many group meetings left we meet up to try and get stuff done, modder does nothing to help, the multiplayer is working my friend has done the crafting and weapon system and the map stuff is working out well. We're missing AI and combat, with our last few hours left we push to get as much stuff done, I somehow get stuck doing monster art, AI is done by the other two and I try to getting some of the combat and building done.
In the end we completely commented all of modders work because well it made us look bad lol. He later went to complain to my free claiming I did it and was a douchebag for doing so. We had to submit our developer logs and the three of us wrote about how shitty it was to deal with these two.
We tried out best not to isolate ourselves from them and definitely tried to help but we were swamped with our other assignments and what we had to work on.
In the end leaving and not helping right when the deadline is close was what I call the most shittiest thing team mates can do, I think sticking together even if we were to fail was at least a lot better.3 -
To not waste time, let's just commit my work and put the message as ".....". Oh, and let's do that dozens of times.
---
One day we had to git bisect his work and found that. Then, obviously, we asked him "what the commit with five dots do?" he said that there was a a lot of them, and i proceeded to explain why it was a bad idea to not write a proper commit message.
He is a good dev, so he understood and started to write what the commit does, instead of five dots.3 -
I was asked to look into a site I haven't actively developed since about 3-4 years. It should be a simple side-gig.
I was told this site has been actively developed by the person who came after me, and this person had a few other people help out as well.
The most daunting task in my head was to go through their changes and see why stuff is broken (I was told functionality had been removed, things were changed for the worse, etc etc).
I ssh into the machine and it works. For SOME reason I still have access, which is a good thing since there's literally nobody to ask for access at the moment.
I cd into the project, do a git remote get-url origin to see if they've changed the repo location. Doesn't work. There is no origin. It's "upstream" now. Ok, no biggie. git remote get-url upstream. Repo is still there. Good.
Just to check, see if there's anything untracked with git status. Nothing. Good.
What was the last thing that was worked on? git log --all --decorate --oneline --graph. Wait... Something about the commit message seems familiar. git log. .... This is *my* last commit message. The hell?
I open the repo in the browser, login with some credentials my browser had saved (again, good because I have no clue about the password). Repo hasn't gotten a commit since mine. That can't be right.
Check branches. Oh....Like a dozen new branches. Lots of commits with text that is really not helpful at all. Looks like they were trying to set up a pipeline and testing it out over and over again.
A lot of other changes including the deletion of a database config and schema changes. 0 tests. Doesn't seem like these changes were ever in production.
...
At least I don't have to rack my head trying to understand someone else's code but.... I might just have to throw everything that was done into the garbage. I'm not gonna be the one to push all these changes I don't know about to prod and see what breaks and what doesn't break
.
I feel bad for whoever worked on the codebase after me, because all their changes are now just a waste of time and space that will never be used.3 -
my best use of Linux's ability to pipe together commands
git | cowsay | lolcats
I also have a custom bash script written that if the message is longer than 50 lines it writes cuts it off with a '...more' and outputs to a file where I can read the full details if needs be.7 -
Why do people fucking do this? You're working in a team, ffs. Even if right now you're the only one working on that branch or whatever, that doesn't make it okay to have the most useless commit messages of all time.11
-
Well there were quite some teamwork fails concerning Git and build environments. I covered a few in my previous rants.
Basically I become a tiny bit of FUCKING ANGRY when I have to work with lobotomized pricks who get a segfault at address 0x00000000 in their brain_x68.exe when it comes to handle Git in the simplest ways possible.
Horrible commit messages, unfinished/buggy stuff pushed to master, force-push with fucking 6 months old code +1 change, pushing "resolved" mergeconflicts without resolving, 1 year old issues which are not closed or marked in any commit message, copying repofiles into a backup folder and committing it, not commiting files and change it directly on the FTP...
I HAVE SEEN IT ALL.
If I was not a calm and thoughtful guy I have had exploded and quit a long time ago!
I only help them so they can improve their dev style and workflows.1 -
See another of this git commit message :
"Fixed bugs and added new feature"
Fixed what bug?! Added new feature what?!4 -
TL;DR;
Idiot hard coded database host on the app... Pushed to prod and suddenly shit wasn't working... Took me 10 minutes to figure out what was going on...
Wrote a passive aggressive git message and commited.
Before updating prod my boss turns around to me and the following took place:
Boss: is there any problem with the server?
Me: yes, someone (i know who was ) hard coded the test db IP and it broke the backend.
Boss: oh, but will it affect the mobile app?
Me: well, it won't work but I'm already pushing the fix.
Boss: no..err.. I mean... Will I have to make any change to the mobile app?
Me inside: wtf dude... For real?! Get your shit together...
Me: no. It good, I already fixed it.
Boss: OK. Thanks
TL;DR;
Moron hard coded dB's host and stupid boss can't get shit together nor ask who did it to take precautions...12 -
git commit message that I hate:
1. "Adjustment"
2. "Improvement"
3. "Fix Bug"
4. "I commit it but there are bug in this code"
5. "Client request"
YOU KNOW BE MORE SPECIFIC ON YOUR COMMIT MESSAGE!!!9 -
Several actually
- root DB access on production
- git commit -am "Stuff" (message)
- Not doing backups
- Using personal licensed software for company work
- 1 commit per day or weekend
- Taking work to home1 -
The company I work at sends their developers out to other companies to help them work on projects and help them in other ways (advice when communicating to customers of on demand software for example).
While not on a project you are working in house training trainees and interns. Part of that is teaching them to show initiative and treating them as full developers. The 30 interns all discussed a git flow and code format.
During the third sprint (two weeks sprints) a team messaged me if I wanted to check their merge request for the sprint.
It took me a glance at the first file to know they didnt do any review themselves. I used my flywheel to check all their changes and without being able to read the code I saw indentation was all over the place, inconsistent bracket placements etc. I let them know I wouldnt check their code until it was according to their own standards.
Two days later I got the message to check it again. At first glance the indentation was fine so I started reading the code. Every single thing was hardcoded, not made to support mobile (or any resolution other than 1920×1080).
A week later they improved it and still not good. Gave them a few pointers like I would for any colleague and off they went to fix things. The code became worse and indentation was all over the place.
I told them the next time it shouldnt be a quick glance to be able to reject it again. By this time other teams came to me asking why it wasnt merged yet and I explained it to them. One of the teams couldnt do anything u til this was merged so I told them to implement it themselves. I was surprised that 4 teams came to me asking about a merge request, that was every team except the team whose pull request it was.
4 weeks after the intitial sprint the other team made a merge request and I had three small comments and then an hour later it was merged.
The other team messaged me why their merge request did went through (still havent seen any of their team in person, Im sitting 10 meters away from them behind a wall)
They also said that it was easier for them because they started from scratch. Thats when I called them in to discuss it all and if they were not interns but full time developers they would have been fired. I told them communication is key and that if you dont understand something you come in person to ask about it. They all knew I like teaching and have the patience to explain a single thing ten times, but the initiative should be theirs.
One of the team members is my current coworker and he learned his lesson by that. The others stopped with their study and started doing something completely else.
TL;DR
Merge request is open for 4 weeks, in the end another team started from scratch and finished it within a week. The original team didnt ask me questions or come to me in person, where other teams did.
DISCLAIMER: some of you might find it harsh, but in our experience it works the best for teaching and we know when people don't dare to ask questions and we help them in that too. It's all about the soft skills at our company.4 -
So I am conducting an introductory seminar on git and GitHub for juniors and as per my knowledge I've drafted this outline, please add your inputs..
The seminar will be of 1 day only
1. Install and configure Git and Github
2. Digital Signature mapping
3. Git init
4. New Project with HTML
5. Configure remote (git remote add <origin> <url>) ends with .git
6. Git commit (git commit –m “Title” –m “commit message”)
7. Pushing git push (git remote push origin master)
8. Git commit –amend
9. Git pull (git pull origin master)
10. Git checkout (git checkout –b new_branch_name)
11. Do some changes
12. Git push new branch (git remote push origin new_branch_name)
13. Git switch branch (git checkout <name_of_existing_branch>)
14. Pull requests
15. Git log (git log –oneline –graph)15 -
I had to migrate ~100+ svn repos to git that were "useful" according to the client but found out that there were a lot of projects (+6yrs old) with only one commit message "--no-commit-message" and i'm not even joking...
And then I had to explain to these "devs" how to use fucking git with eclipse (+they all use light theme...) cos' terminal or gui client is too complicated
And then I saw their "Java libs" with ~3k line of spaghetti
Do you even dev bro?2 -
git push --force
Because I always push after every commit, when the slightest fuckup happens I just hard reset, commit again, and force push...
...even if it's just a typo in the commit message6 -
Git for Windows just dropped me in vim to edit my commit message and I genuinely had to Google how to save and exit...
I guessed right, but I had to check just in case 😐1 -
When you make a mistake and try to fix it, but you can't remember how to spell amend...
git commit --ammend
error: unknown command `amend'
git commit -ammend
[branch-name] mend
Huh?
git log
commit #
mend
Created a new commit with message 'mend'. Now to clean this all up and go get some sleep!2 -
My new favourite commit message:
"All changes as of 18th Sept"
How tremendously useful? There I was looking to know what changes were made to enable a feature / service, thought I could look for that in the commit message, but no you've given me a much more efficient way of finding out.
I simply need to download the contents of your memory, find out what date you made a change, and then dig through the massive commit to find the piece of info I need.
Forget experience using Git features, managing merges, following Git flow, or even any other SCM ... how can people be so tick when it comes to recording what they've done.
Heres a little cheat sheet for those struggling:
- Commit message
Describe what you actually ****ing did. Don't tell me the date or the time, thankfully Git records those. Don't tell me the day of the week, if I need to know I can figure that out, just tell me what ... you ... did.
- Feature branch names
Now this is a tricky one. You might be surprised to know that this isn't in fact suppose to be whatever random adjective or noun popped into your head ... I know, I too was shocked. The purpose of this is to let other people know what new feature is being worked on in this branch.
- Reusing feature branches
Now I know you started it to add some unit tests, and naming it "testing" is sort of ok. But its actually not ok to name it testing when you add 3 unit tests ... then rip out and replace 60% of the business logic. Perhaps it would have been wiser to create a new feature branch, given you are now working on a new feature.2 -
VIM! ViM! vim! Vi Improved! Emacs (Wait ignore that one). What’s this mysterious VIM? Some believe mastering this beast will provide them with untold mastery over the forces of command line editing. Others would just like to know, how you exit the bloody thing. But in essence VIM is essentially a command line text editor at heart and it’s learning curve is so high it’s a circle.
There’s a lot of posts on the inter-webs detailing how to use that cruel mistress that is VIM. But rather then focus on how to be super productive in VIM (because honestly I’ve still not got a clue). This focus on my personal journey, my numerous attempts to use VIM in my day to day work. To eventually being able to call myself a novice.
My VIM journey started in 2010 around the same time I was transiting some of my hobby projects from SVN to GIT. It was around that time, that I attempted to run “git commit” in order to commit some files into one of my repositories.
Notice I didn’t specify the “-m” flag to provide a message. So what happened next. A wild command line editor opened in order for me to specify my message, foolish me assumed this command editor was just like similar editors such as Nano. So much CTRL + C’ing CTRL + Z’ing, CTRL + X’ing and a good measure of Google, I was finally able to exit the thing. Yeah…exit it. At this moment the measure of the complexity of this thing should be kicking in already, but it’s unfair to judge it based on today’s standards of user friendly-ness. It was born in a much simpler time. Before even the mouse graced the realms of the personal computing world.
But anyhow I’ll cut to the chase, for all of you who skipped most of the post to get to this point, it’s “:q!”. That’s the keyboard command to quit…well kinda this will quit the program. But…You know what just go here: The Manual. In-fact that’s probably not going to help either, I recommend reading on :p
My curiosity was peaked. So I went off in search of a way to understand this: VIM thing. It seemed to be pretty awesome, looking at some video’s on YouTube, I could do pretty much what Sublime text could but from the terminal. Imagine ssh’ing into a server and being able to make code edits, with full autocomplete et al. That was the dream, the practice…was something different. So I decided to make the commitment and use VIM for editing one of my existing projects.
So fired the program up and watched the world burn behind me. Ahhh…why can’t I type anything, no matter what I typed nothing seemed to appear on screen. Surely I must be missing something right? Right! After firing up the old Google machine, again it would appear there is this concept known as modes. When VIm starts up it defaults to a mode called “Normal” mode, hitting keys in this mode executes commands. But “Insert” entered by hitting the “i” key allows one to insert text.
Finally I thought I think I understand how this VIM thing works, I can just use “insert” mode to insert text and the arrow keys to move around. Then when I want to execute a command, I just press “Esc” and the command such as the one for saving the file. So there I was happily editing my code using “Insert” mode and the arrow keys, but little did I know that my happiness would be short lived, the arrow keys were soon to be a thorn in my VIM journey.
Join me for part two of this rant in which we learn the untold truth about arrow keys, touch typing and vimrc created from scratch. Until next time..
:q!4 -
I think the reason why git beginners have a hard time with it is because the api is a bit untuitive.
For example: if you want to "unstage" staged changes, you run git reset, and if you want to "delete" those changes from your working copy, you git checkout those files.
But then, you find out that you can do all of that if you git add . and git reset --hard.
So you're like "huh..."
And then you discover that if you end the resethard with a branch name/commit id then you also make current branch point to the commit or that branch/commit (respectively).
So you're like "huh..."
And also if you add a commit id or branch name to git checkout, you change the current branch to specified/enter detached state with HEAD pointing to that commit (respectively).
Oh and you don't use git branch to create branches, you use git checkout -b because it's a lot shorter.
So here's a rundown: git reset mutates things related to files, but also mutates things related to branches.
git checkout also mutates things related to files and mutates things related to branches too (in a diff way). Also, creates new branches.
I don't think this is intuitive. We users use the same commands for different purposes with just a different flag.
Commands shouldn't mutate different types of things. But don't composite commands (as in, "smart" commands that mutate different things) shoudln't be a flag in an existing command, it should be a single new command of its own.
Maybe if I reread the internals of git now, I'll be able to disgest the dozens of technical terms they throw at you (they are many). And in my mind, the api will cognitively fit to the explanations.
Here's another one that feels weird too.
If you want to make your changes start on top of someone else's commit, you do git rebase.
But git rebase -i can be used for that, and also to delete, modify changes or message of, reorder or combine previous commits of the current branch.
Maybe the reason why several things we do overlap with the same commands is because they internally do similar things, and while not separating those commands might make it less intuitive, it makes them more sensible? i dunno...
disclaimer: I'm not setting this opinion in stone though, and am aware that git was created by one of the most infuential programmers.6 -
This week I got a promotion after being a junior for a year. Boss said Im a medior now and my monthly salary raised with 400 euro per month
Feels good but what feels bad is that a coworker of mine which has been contracted recently without any development experience is still making 400 more a month..
The thing is that this "developer" wanted to become a Java developer, he has been given time during work to study Java and in the meanwhile join the team thats working on a saas product (my team, where im lead dev)
During the 3 months ive counted a maximum of 10 commits and i was done with him which conflicted in a very bad vibe at the office.
During a refinement I asked if everybody understood what needs to be done, no questions asked. Next day when i was working at a clients office on another project 9 am i git a Skype message "Can you tell me What to do? I have no idea" where I replied "you should have asked me yesterday, i am not going to help you unless u come up with a question that makes sense.. what have u tried urself?".. Well then he got mad and stopped doing what he was trying to do.
The next morning i talked with him and we agreed to have a 1hour session to talk him through the user story. When we were done, he said that he understood and was going to work on it.
Next day I check, no commits, so during stand up i confronted hmj with this and he admitted hes been lacking and wanted to talk with the boss and me after stand up.
Well he admitted things were going to fast to keep up for him because he is doing some sysadmin stuff aswell.. the plan of becoming a Java dev was now history and he left the team..
Now he is just doing some sysadmin stuff but its been 3 days that hes been saying today ill setup a tomcat on the servers and give you SSH acces to deploy your .war files, today I finally gained access but he couldnt figure out how to move the war to the webapps folder.. And i wasnt allowed to transfer it to there..2 -
Group assignment in a software engineering class. Got that notorious lazy kid in my group of four who failed the class in the last term. I was perfectly aware of his reputation, but accepted him in the group nonetheless, because he already knows what needs to be done in the class.
He started to work on his assignment: mostly boilerplate code that didn't even build. He didn't even bother to fix it. I had a lot of time over the Easter weekend, so I decided to just code as much for the assignment as possible for the mid-term submission. I replaced his broken boilerplate stuff with a working solution. I told the others in the group chat about it. Code works and builds, test coverage is high. Everything is fine.
The lazy kid replied to the group chat, that if I'd wanted to code and document(!) everything on my own, I should have told him in the first place. Also got that "fuck off" emoji in the message. So I restored his broken boilerplate stuff using git, even fixed the build errors and told him to explain to me what he tried to achieve, and that I'd be happy to include his code as soon as it worked. Didn't hear anything since. Commits neither.
I guess he was just looking for an excuse for not doing additional work in the project. -
I started my actual gig as CTO of construction group (Innovation Hub) a year ago. And it was a hell of a ride, implementing kind of a scrum-ban for project management, XP, peer-reviews, a git-flow, git commit message formats, linters, unit testing, integration tests, etc...
And it's the fun part because with the CIO we had to drive the board to do A LOT of changes in their IT/Innovation drive.
But in one year there is a lot of KPI that went up :
* Deployment: When I arrived it took three stressful days to deploy a new version of one application, once a month. Today we do it every week, and it takes three annoying hours.
* We had no test. NOTHING! Today we have 85% code coverage for the unit test, and automatic integration tests run by our CI server every day.
* We had almost no documentation. Today our code is our documentation (it automatically extracted and versioned).
* We had 0 add value in the use of git. With commit messages as "dev", "asked task", inside jokes and a lot of "fix" and "changes". Today we have a useful git, and we even use it to create our deploy changelogs (and it's only mildly annoying!).
* More important, the team is happy! They get their purpose, see betterment in their tech mastery. They started doing conception, applicative architecture, presentations, having fun.
There is still a LOT of bad things we are still working on, and trying to solve (support workflow and betterment). But seeing what they already did, I'm so proud of my TEAM! I'm a fucking asshole, workaholic, "just do it" kind of guy. But they managed to achieve so much. Fucking PROUD!! -
OPEN SOURCE CONTRIBUTION
Original post link:
https://linkedin.com/feed/update/...
Start your open source journey.
To Push your personal project to GITHUB.
1. git init
2. git remote add origin [link]
3. git add .
4. git commit -m "commit message"
5. git push origin master
To contribute to someone else project use the following steps:
1. Fork the repo.
2. Clone the project in your local directory using git clone [link]
3. After clone, create a new branch. git branch [branch name]
4. Checkout to new branch created using: git checkout [new branch name]
5. Make changes in Project then 'git add' and 'commit'
6. Push back the changes using git push origin [newbranch name]
7. Open Github web view and click the pull request button and you are done.
Follow Up Post: https://lnkd.in/fEMbTPC
GitHub Link of GIT-CHEATSHEET: https://lnkd.in/fhy4hmu
HD VIDEO: https://lnkd.in/fmq8GTd5 -
GIT COMMMIT LOG VERSION 011
-------------------------
4cc7d0d Derp, asset redirection in dev mode
6b6e213 Lock S-foils in attack position
1e44549 I am even stupider than I thought
2f6bec9 You should have trusted me.
891851a To those I leave behind, good luck!
3367d77 Update .gitignore
46d6b0f Merging the merge
b12f6fe First Blood
0598e4f 8==========D
9151ff4 Finished fondling.
3a0ec1e ...
8358c20 c&p fail
bc1e834 magic, have no clue but it works
31bb17a I don't get paid enough for this shit.
21edb91 :(:(
7a71610 Stephen rebase plx?
2060661 Copy-paste to fix previous copy-paste
21ac5d2 Handled a particular error.
2dedd90 pam anderson is going to love me.
c3d4c83 omg what have I done?
d38bafd Herping the derp derp (silly scoping error)
e461773 Merge pull request #67 from Lazersmoke/fix-andys-shit Fix andys shit
1faf82b Is there an award for this?
1f6e3f3 Feed. You. Stuff. No time.
6f0097d I'm too old for this shit!
133179e I'm just a grunt. Don't blame me for this awful PoS.
d3e5202 harharhar
57d9a7c THE MEM TEST FUNCTION YOU ARE LOOKING FOR, IS HERE. SAY THANKS FOR THIS COMMIT MESSAGE -
fuck u aws
all that money and u can't read idiot proof documentation for me to have SQS connect to a VPC endpoint to read a message
also fuck u search algorithms for not handing me an easy bake solution to what is a not a novel situation
also fuck me for being unable to git gud5 -
Company has a severe lack of fresh blood.
"let's recruit everyone who has an IQ over room temperature and barely passes the mark".
Me protesting bloody murder cause I know that the idea is not just profoundly dumb, but frustration from high staff turnover takes a toll on *everyone*.
"nah can't be that bad".
Then the discussion started who could do monitoring and mentoring, so we can sort out the bad apples *quickly*.
Me reminding again that this is exactly what leads to a high staff turnover, as this is nothing else than "hire, hire - quickly fire".
Guess who won the award of being the mentor / monitor ....
*drum roll*
Come on, I know you would NEVER expect this.
Let me surprise you: M E.
Yeah. They chose the person that was absolutely against this idea...
Because that person is "most qualified for the task at hand and has the necessary qualifications".
Today was the first 4 h workshop with a new recruit.
The Lord has had zero mercy on me.
I started to mute myself after 30 minutes in regular intervals to just scream and curse the world.
How profound dumb a person can be amazes me.
Person has had a "very expensive 6 month boot camp course".
I was close asking if the boot camp course was in watching porn and wanking their brain cells out....
Git... Yeah he knew what he was doing...
Except that he messed up every commit by either not sticking to the companies format or - what I found funny the first 2 times, then not so much anymore - just writing a git commit message like a 15 year old teenage girl would write to their diary.
Programming. Oh yeah. He should be a programmer.
He had much Bootcamp.
Bootcamp expensive. Bootcamp good.
If someone is unable to iterate over an iterator... And instead starts creating an integer based array of a map's key name to then fetch the map value in an for loop based on the created key array.
Yeah. Bootcamp much good.
Creating DTOs...
It took an hour to write a DTO with him... Cause constructors are hard and it's even harder when you have to explain primitive datatypes in Java, null safety, constructors, NPEs, final, ...
Like really no experience at all.
The next week's will be amazing.
Either I get a valium drop or I'm gonna blow my head off, cause mentoring will drain the last bit of hope I had left in me.
Note that I do not blame the recruit (yeah he's dumb. But he has ZERO work experience, so it's not unexpected), I'm just too fed up with getting the poo crown despite being against the whole process.
I think the recruit could make it..........
But that I got the shittiest job ever is really haunting me.
I dunno how I survive the next weeks.
And this is just the first recruit... There will be more.2 -
Just going through some old code from git repo's and code examples and I have a message to every dev out there after seeing some of the code quality...
Never... ever... ever fucking give variables with names like vx, tr and sq.
Give your variables names that explain what they are, it is so fucking hard trying to follow code that has 2 letter variable names and there is a special place in hell for you :-)3 -
WTF PEOPLE!!
Some people really need to read their error messages.
Just now I got this teammate asking me how he should handle the error git returned. The error message stated: "Please commit your changes or stash them before you merge." He asked me what he should do to fix the error... I was astonished by his stupidity that he did not read the fucking error message.
Almost every fucking time a teammate comes to me with the question how to fix an error, there is a message that says how to fix the error. Why don't they read them?!?! I told you so many times to read your fucking error messages!!!
I'm really glad the project is over in a couple of weeks and I get a new team..2 -
What dumb twat decided to commit a change with the message “FUCK”. And it not just one, it’s 10 or more in a fucking row!!!!!
Thanks, that’s really gonna help me understand what was changed 😡5 -
python machine learning tutorials:
- import preprocessed dataset in perfect format specially crafted to match the model instead of reading from file like an actual real life would work
- use images data for recurrent neural network and see no problem
- use Conv1D for 2d input data like images
- use two letter variable names that only tutorial creator knows what they mean.
- do 10 data transformation in 1 line with no explanation of what is going on
- just enter these magic words
- okey guys thanks for watching make sure to hit that subscribe button
ehh, the machine learning ecosystem is burning pile of shit let me give you some examples:
- thanks to years of object oriented programming research and most wonderful abstractions we have "loss.backward()" which have no apparent connection to model but it affects the model, good to know
- cannot install the python packages because python must be >= 3.9 and at the same time < 3.9
- runtime error with bullshit cryptic message
- python having no data types but pytorch forces you to specify float32
- lets throw away the module name of a function with these simple tricks:
"import torch.nn.functional as F"
"import torch_geometric.transforms as T"
- tensor.detach().cpu().numpy() ???
- class NeuralNetwork(torch.nn.Module):
def __init__(self):
super(NeuralNetwork, self).__init__() ????
- lets call a function that switches on the tracking of math operations on tensors "model.train()" instead of something more indicative of the function actual effect like "model.set_mode_to_train()"
- what the fuck is ".iloc" ?
- solving environment -/- brings back memories when you could make a breakfast while the computer was turning on
- hey lets choose the slowest, most sloppy and inconsistent language ever created for high performance computing task called "data sCieNcE". but.. but. you can use numpy! I DONT GIVE A SHIT about numpy why don't you motherfuckers create a language that is inherently performant instead of calling some convoluted c++ library that requires 10s of dependencies? Why don't you create a package management system that works without me having to try random bullshit for 3 hours???
- lets set as industry standard a jupyter notebook which is not git compatible and have either 2 second latency of tab completion, no tab completion, no documentation on hover or useless documentation on hover, no way to easily redo the changes, no autosave, no error highlighting and possibility to use variable defined in a cell below in the cell above it
- lets use inconsistent variable names like "read_csv" and "isfile"
- lets pass a boolean variable as a string "true"
- lets contribute to tech enabled authoritarianism and create a face recognition and object detection models that china uses to destroy uyghur minority
- lets create a license plate computer vision system that will help government surveillance everyone, guys what a great idea
I don't want to deal with this bullshit language, bullshit ecosystem and bullshit unethical tech anymore.11 -
When everything is working, I like to make my Git commit message "Everything is coming up Millhouse"
-
>be me
>some months ago
>apply for a node.js job, send them my resume with links to my git repos
>get an interview, they tell me they appreciate my additional android dev experience cause they be working on an app.
>think to myself "oh nice, imma get this job!"
>"Anon, we gonna test you, ok?"
>"okay no problem"
>I prepare for both node and android but mostly node
>test day arrives, I'm hyped
>test is actually to make a maps android app in 8 hours
>wat?!
>do it anyway, achieving some functionalities
>a couple of weeks after
>I email them, asking news
>they basically say "oh we sent you a message on skype to tell we continued with another person as a backend dev because they had a better android app"
>log into skype
>0 messages
>mfw pic related6 -
A loooong time ago...
I've started my first serious job as a developer. I was young yet enthusiastic as well as a kind of a greenhorn. First time working in a business, working with a team full of experienced full-lowered ultra-seniors which were waiting to teach me the everything about software engineering.
Kind of.
Beside one senior which was the team lead as well there were two other devs. One of them was very experienced and a pretty nice guy, I could ask him anytime and he would sit down with me a give me advice. I've learned a lot of him.
Fast forward three months (yes, three months).
I was not that full kind of greenhorn anymore and people started to give me serious tasks. I had some experience in doing deployments and stuff from my other job as a sysadmin before so I was soon known as the "deployment guy", setting up deployments for our projects the right way and monitoring as well as executing them. But as it should be in every good team we had to share our knowledge so one can be on vacation or something and another colleague was able to do the task as well.
So now we come to the other teammate. The one I was not talking about till now. And that for a reason.
He was very nice too and had a couple of years as a dev on his CV, but...yeah...like...
When I switched some production systems to Linux he had to learn something about Linux. Everytime he encountered an error message he turned around and asked me how to fix it. Even. For. The. Simplest. Error. He. Could. Google. Up.
I mean okay, when one's new to a system it's not that easy, but when you have an error message which prints out THE SOLUTION FOR THE ERROR and he asks me how to fix it...excuse me?
This happened over 30 times.
A. Week.
Later on I had to introduce him to the deployment workflow for a project, so he could eventually deploy the staging environment and the production environment by hisself.
I introduced him. Not for 10 minutes. I explained him the whole workflow and the very main techniques and tools used for like two hours. Every then and when I stopped and asked him if he had any questions. He had'nt! Wonderful!
Haha. Oh no.
So he had to do his first production deployment. I sat by his side to monitor everything. He did well. One or two questions but he did well.
The same when he did his second prod deploy. Everythings fine.
And then. It. Frikkin. Begins.
I was working on the project, did some changes to the code. Okay, deploy it to dev, time for testing.
Hm.
Error checking out git. Okay, awkward. Got to investigate...
On the dev server were some files changed. Strange. The repo was all up to date. But these changes seemed newer because they were fixing at least one bug I was working on.
This doubles the strangeness.
I want over to my colleague's desk.
I asked him about any recent changes to the codebase.
"Yeah, there was a bug you were working on right? But the ticket was open like two days so I thought I'll fix it"
What the Heck dude, this bug was not critical at all and I had other tasks which were more important. Okay, but what about the changed files?
"Oh yeah, I could not remember the exact deployment steps (hint from the author: I wrote them down into our internal Wiki, he wrote them done by hisself when introducing him and after all it's two frikkin commands), so I uploaded them via FTP"
"Uhm... that's not how we do it buddy. We have to follow the procedure to avoid..."
"The boss said it was fine so I uploaded the changes directly to the production servers. It's so much easier via FTP and not this deployment crap, sorry to say that"
You. Did. What?
I could not resist and asked the boss about this. But this had not Effect at all, was the long-time best-buddy-schmuddy-friend of the boss colleague's father.
So in the end I sat there reverting, committing and deploying.
Yep
It's soooo much harder this deployment crap.
Years later, a long time after I quit the job and moved to another company, I get to know that the colleague now is responsible for technical project management.
Hm.
Project Management.
Karma's a bitch, right? -
Committing code with the same commit message although you refactored several times and changed the structure1
-
TLDR; College group projects suck, not because the work, but the people in your group will make or break you. Fuck having 1 week to do this assignment.
Sometimes working with other students on group projects is great, they actually know how to create a merge a git branch. I've had a decent partner once during my 3 years at university so far. This last project takes the cake on idiots I've worked with...so far at least... It was me and two others, we'll call them Thing1 and Thing2 for now. Anyway so the 3 of us had a week to implement a very rudimentary Invoice system; fine, easy enough. We divided up the work and 'started'.
All seemed to be going well, no complaints or cries for help all week. Until 4 hours before we submit the assignment; Thing 1 sends me a DM saying all of Thing 1's work is useless full of bugs and just shouldn't be integrated with the rest of the code. Umm fine? I guess? wtf?! why did this have to come out last minute?! We could have explained to Thing 1 what's going on and gotten him/her up to speed on everything. Believe it or not, I was sorta ok with this? I mean thing 1 hadn't pushed anything to the repo yet. I mean literally nada, Thing 1 is a collaborator on the repo that has contributed nothing. Seeing as how Thing 1 was contributing nothing I had already started to cover our ass a began Thing 1's work.
That's not even what's pissed me off... at least thing 1 had the gall to message me to say "idk..wtf is going on...continue without me". Thing 2 arguably made my time with the project worse. His code was nothing but garbage...every time...literally spent more time deciphering his incoherent bullshit more than I did rewriting his mess. I shit you not he wrote out this method, and tells the group he's "finally got it fixed and working":
public static float updateTotal(float newValue)
{
total = updateTotal(newValue);
return total;
}
How tf did he test this to see if its working?! I'm a novice and can already see the infinite loop here. You called your method within that method's own definition, what did you expect to happen.
I managed to get things 75% working and turned in 5 mins before the cut off.
Thankfully Thing 1 emailed the Proff as well, hopefully he won't tank my grade too bad. I'm so glad to be done with this assignment, fingers crossed there's no more group work.4 -
sounds logic, ..does it?
git commit -m "session now holds 'null' as date if equals today. This way a 'today' is always possible, even if yesterday was today and today is now the tomorrow from yesterday"
original german git message: "session hält 'null' als date, wenn gleich heute. So ist ein 'heute' immer möglich, auch wenn gestern heute war und heute mittlerweile das morgen von gestern."
Who finds the startrek reference? -
I discovered a commit message from one of my (senior) colleagues today. It made me shudder. It read, 'Just adding some changes made outside of source control and deployed (over last 12 months)'.
I genuinely think he can't follow any processes he didn't design. He controls the servers too, so it's not like any pipeline would prevent him from just doing what he wants. It's a bit scary to be honest, he thinks MD5 is a secure password hash! -
git add . && git commit -m "Because we're constantly interrupted and because we are not given enough time to do things properly, I need to check in and out of branches all the time (because separate envs are actually separate branches now) and have to interrupt what I'm doing. So this commit message reflects that."10
-
Just posted a comment, and I realise it should be a rant.
In reply to stalkCoder (i think):
| At first there was nothing
| $: git init
| And then there was light
A new creation myth appears.
$ git add --all
$ git commit -m "Update 32 at 2:48 AM"
$ git push
The new creation myth is destroyed by the pure rage of a thousand Git commit message standards. -
Pull Request Message -
Day 1: "Updates to the UI and the load performance of the page."
Day 127: "shdheiahwjak"6 -
So, funny story with a bit of self promotion at the end.
I was recently checking out some apps on playstore and found that my first ever , "launched just to experiment" app (released 1.5 years ago) has received more than 5k downloads . I was very happy about that so posted a small message on LinkedIn .
Now , my LinkedIn profile consists of 98% people who are totally strangers and never met me ( is it just me or do you also get a lot of stranger connect requests there?). So my usual post rarely ever goes beyond 5 or 6 likes.
Bit idk how there too my post got 35+ likes and now i was on cloud9.
So i finally decided to kick my ass and release some update to that app ( it had around 70% pity comments like "nice first app,but it should have this x feature",. "overall nice but it could use an x feature " etc.
And boy what my journey was in the last 72hours.
Firstly my madhead laptop started killing me with the battery failures and constant hang.
Then my past asshole self tried to give me a middle finger. So i have this whole partition in my memory where i keep my Android stuff and apps. It has a special folder named published zone and i keep all my published app codes and related files there.
I was fairly certain that this app's code eill be also there,so i opened it, found the code and tried running it.
Turns out my asshole self had tried to mess around the code so much that all the db layer WAS fucked up, all the ui WAS changed and no code was working.
"Not to worry", i thought. I always use git and there would be a correct version some commits before. WRONG. I HAD CHANGED THE WHOLE FUCKING WORKING PRODUCTION CODE AND DIDN'T MAINTAIN A VCS!
Also this was the verbose and shitty java code my 1.5 year before self so loved to write, so it was taking me way more time to figure out what's happening in an already fucked up code.
So i tried a couple of ways to get back my working code :
- I tried looking for a google recommended solution. Those guys take my whole app code build and distribute via playstore, but they provide no means to retrieve back the original code.
- i checked my (occasionally) back up hard disk but no. My hard disk would have 100s of movies from 2016 , but not a useful piece of fuckin code.
- i also tried to get my apk and decompile it via some online decompiler. Here the google again fucks up and don't allow me to get my apk directly. Meanwhile i found a ton of shady websites which are hosting an apk of my app without my knowledge O_o . I tried to decompile on of them but code was even more non understandable than my fuck up code.
So i ended up looking at both the mess up code and decompiled code and coded the whole app from scratch ( well not scratch, i extracted the resources and some undamaged activities from the mess up code . Also github was down for more than 3 hours yesterday , at the same time when i was trying to look onto some repositories)
Lessons learned:
- DON'T FUCK UP WITH THE PRODUCTION CODE
- MAINTAIN VCS
- Your laptop is shit reliable, github is also shit reliable , so save code at multiple places.
- there are way more copies of your code lying on the internet than you think.
Checkout my app here :https://play.google.com/store/apps/...2 -
So I taught git to my colleagues. They were happy to learn new things.
I asked them to commit things that they have done with proper message in every projects from now on. I find 50-80 commits to pull in every 10mins. Ughhh. They were committing every single changes they were making. 😂😂😂
Sometimes simple things can overwhelms some people4 -
Can't git push
because of an "access denied" error message
because I didn't set up my key file properly (with right paths, right format and so on)
because I'm working from my home laptop device
because I'm in home office
because Corona
..but..
I can connect to my work computer where git is set up properly but also I
can't git push
because I can't "cd" into the project path
because the samba mount point is messed up
because I don't reboot my machine to fix it
because I can't enter my password
because it does have a full hard drive encryption and the password screen shows up before the network services are started.2 -
when you script git commands to push with the message "bug fixes" because you're tired of doing it by hand2
-
I actually do have something to rant about!
The people I've decided to work with... are complete and utter fools. They don't want to keep updated with new practices and merely talk about awesome stuff... Let me elaborate.
The first person is someone I spent really many hours just writing with, I've helped him build on his personal project, which has now become our project (which I've done most of the work on now). He keeps writing about things that aren't fucking relevant for the current task - furthermore, he completely refuses to use any type of collaboration software in order to keep an eye on tasks we want to, and already have completed. He likes Git but doesn't provide helpful git messages, sometimes even stuff like 'forgot this'.. never any freaking description of what's actually been done! Not even after agreeing it should be done, he just doesn't understand what a helpful message is apparently.
I might be a bit special regarding wanting to follow practices, but how the fuck do you make any amount of money by being so ignorant!? He was a WP 'developer' a while ago, and has since changed to JS and are using a framework which he doesn't understand - he can't even remember what the documentation states.
So why do I 'work' with him? He knows a lot of phrases he's read in books, blogs, and the likes. That makes him really inspirational and positive and he really wants to become successful(like me!). But over the last few months, I've realized how bad he is at programming - he doesn't know basic programming concepts and have a hard time applying any sort of knowledge to his programming. If it's not pre-built, he can't use it, not even if the documentation has specific examples. He barely grasps the concept of binding data to a variable. He wouldn't know how to access it again though, it's just for the sake of binding it to some existing functionality.
The other guy really likes his old style. He hired me to maintain some application. Which has turned out to be a hell of several small tasks he needs to be finished or reworked - with no clear definition of the task. Most of the time, he'll do some initial changes, show the changes to me, vaguely explain what they do (not what he's trying to achieve) and first THEN ask me to do these changes, most often in some files that don't exist (he uses the wrong filenames so I have to guess/ask where the changes need to be made).
To top it all off, old syntax is used and don't get me started on the spaces+tabs for indenting lines... Because I've already added a great ESLint+Prettier conf and everything should be nicely formatted according to pre-defined rules.
But he won't take the time to install some plugins in his editor and I'm left with sometimes buggy, badly formatted code (the code I have to make changes with!) - that's while he several times have agreed that I can do what I want and that he even questions his own ways when looking at my changes which he calls by-the-book.
So why the motherfucking fuck do I keep working with him?
Well, he keeps paying so that's really nice - I haven't been able to properly execute the bigger tasks(which pays more) though, due to a lack of information or some badly written code I couldn't quite figure out how works (at a glance).
He also keeps talking about these new projects he wants to make.. he even has these freaking papers with descriptions and data-structures and we converse really good about these new awesome projects. He also likes cryptocurrencies(which is an interest of mine he has inflamed quite a bit) and lastly, he seems like a genuinely nice guy who I'd like to spend some time with even besides coding and work.
So now I stand here - stuck with people that make me feel like a demi-god or something because I use a git style-guide and ESLint+Prettier with the Airbnb style-guide.
What should I do? I'd really like some remote work and have a desperate need for money... So much so, that I might even have to pick up a fulltime job, in order to save my sorry ass - all because I like speaking with people who just like the thought of programming...
I'm actually quite lonely with my thoughts and they are the two only people I've had some sort of relationship with - who has an invested interest in programming/dev... I really like that, despite having to follow their thoughts as they surely can't follow mine.
Please be my friend or give me some paid work lol.
Also, I've been moving the last couple weeks - those weeks has been the most stressful of my life and have not contributed to my overall wellbeing and relations with people... It's good to be back at the computer again and be reading some devRant though!1 -
Questions/best practises for git?
For example:
- 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 -
Git Commit Part 3:
28d48b0 This is why the cat shouldn't sit on my keyboard.
95df68f I must enjoy torturing myself
c5acfc2 Fix my stupidness
3a57702 I hate this fucking language.
6cb212a Too tired to write descriptive message
292b1e2 That last commit message about silly mistakes pales in comparision to this one
f4a091f Does not work.
5af1ca1 small is a real HTML tag, who knew.
e7d2d84 Best commit ever
f54d32b de-misunderestimating
f587ca1 Added translation.
352e29c Future self, please forgive me and don't hit me with the baseball bat again!
54403a6 Now added delete for real
9f42f38 Who knows...
5df8457 more ignored words
56bd0ef Added missing file in previous commit1 -
God damnit! It's been a while since I lost changes. Let alone saved changes! (I'm a ctrl+s presser)
I committed my changes in git (through the VS team explorer). I got a nice error message saying that an exception occurred. I clicked "OK", as though I accepted it :/ didn't have a choice.
Then gone. All my changes since the commit before that. Only an hour work, but still. It was hard work.
Ctrl+z of course didn't work haha 😥2 -
temp commits are generally more useful than git stash.
instead of stashing, do a commit with a message like "THIS IS NOT A COMMIT, DON'T INCLUDE THIS". with some discipline you can then go back to your branch, `git reset --soft HEAD~1` and voila, it's similar to a `git stash pop`.
but it's better because you can do this in multiple branches at the same time and there's no fear of accidentally dropping some stashed commit.5 -
The hardest part in my job these days is thinking commit and PR messages :/
I believe my code and commits and PRs are always self explanatory, the company doesn't agree apparently.2 -
If git merge automatically performs a commit to the main branch, how do we add a message to that commit?16
-
When you havent pushed in ages and have to tediously 'git status' followed by 'git diff <every fucking file>' to figure out what the hell you've even been doing since the last push and can maybe figure out another commit message than "Various bugfixes"
-
In a long git project what u find commit message
"Minor fixes" or "minor code updated"
At the first commit you will find "initial code"
Agree?? -
I almost never enter a commit message for my private git repos. Sometimes I even forget what I did to some of the files (Unreal Engine files are mostly binary except the config and c++ files, so not that easy to check for changes). That combined with my bad attitude to change some stuff here, then fix a minor bug there and then start something completely unrelated leads me just saying fuck it and commiting without message.1
-
I learned Git in the most ridiculous way possible.
Noob me, is using VSCode and i tried clicking the git icon. Now, i didn't know what i was doing and i suddenly made a git repo and i just checked on things (add changes and commit) and little do i know that it was all absorbed. I got skeptical (spying on files, i didn't know what's happening, etc.) so i clicked the "x" button and it warned me that it will be "completely deleted" and it will be an "irreversible action". Due to my stupidity, i pressed okay.
Then that was the time i knew, i fucked up.
But hey ho it took me 12 hrs to recover all files (1600 loose objects) that has been deleted using a 3rd party app (without any master, no last commit message, no everything, just objects a.k.a the blob files that git saves). I tried looking for easier ways to get the files, but it was there in front of me the whole time, so it took me longer.4 -
You know what? You can all go plug your heads into each other's arseholes, Cocoapods people, just like the human centipede. I've had enough with you.
I have several libraries that were created back in version 0.38 or something. All of the sudden, you jump to v1.0 and call it ready for prime time. Except the pod doesn't build anymore and I can't publish to the trunk.
When running pod install on them, I get a hopeful message saying it's "re-creating CocoaPods due to major version update", but 2ms later the humongous pile of dog poo crashes, because it was expecting some file to be somewhere. Still not happy, it messes up the remote URL on git.
So I deleted everything and created a new project using v1.0 and populated it with my library, only to find out that now the project won't build because it's fucking Xcode with your shitty piece of software on top of it.
It's already too much of a pain to deal with Xcode's tantrums, but deliberately having to put up with Cocoapods' horseshit on top of that is just torture.
Hope you lose all internet connectivity for three hours today, right in the middle of something important. Because that's how much of my life you've stolen from me. -
Git is overrated. There's absolutely no good reason that `git add` should be default to call before `git commit`, if people don't want files added that should be the exception not the rule. But where it all really falls apart is mono repos. There's no good way to make a repo inside a repo, which is fucking stupid. There's no good way to clone just a chunk of a repo, which is fucking stupid. And -- just in general -- every aspect of git feels like it wasn't designed to be usable. For instance: there should be a command `git save "message"` which does the default `git add ., git commit -m "message" git push`. Or rebasing, that doesn't need to be so hard at all.
This is just a rant and all, but I'm so tired of git being clunky and poorly designed from a UX perspective. And not supporting mono-repos for shit.13 -
!rant !dev
So, following up my last rant.
https://devrant.com/rants/2433162
I quit on Friday, this is what I said to my bosses.
"In the last week I had, 2 panic attacks, and I have 2 theories for this, one is that I have underlying psychological problems, the other theory is that we are under an impossible task, I choose to say now that I have to quit because I have psychological issues, but if you are willing to hear my other theory, that involves saying that meeting the deadline is not viable, then I can tell you that, so do want to listen that part?.
Bosses: No, we heard enough, we are going to have your contract terminated in order, and we will let you know when you can come and pick your paycheck."
So, that's them. Now about me and how I re-discovered GTD, or more precisely how I organized my whole weekend using taskwarrior with GTD, and why I think is going to be useful as a freelancer.
Before I feel good about telling you about my weekend I have to tell you a few things about myself.
I am a very impulsive person, I have a lot of energy in short surges, so I have to be able to maximize my activity when I'm in a surge, and I have to maximize my rest when I am not.
That's hard to do, it requires a balanced lifestyle, I am also very prone to being neurotic, and overwhelmed by the amount of stuff that I want to do.
And on top of that, when I am resting, I have surges of things that I want to have, do, or implement, it could be software related, as "Doing an app that will be the Uber of home services", to house improvements like, "I have to fix that leaking roof", and all the sort of stuff that happens in between hardware and software. That surge of consciousness doesn't allow me to have the proper rest that I need before I engage with activities again.
Because of this I have a very cyclic rhythm, with whole weeks burning my energy into doing stuff, and weeks resting doing very little and thinking too much.
Now about my weekend. Friday night I was browsing the web, and a thought came to my head. "The way you use your terminal, says a lot about your personality", and I got curious, so I searched for, "Show me your terminal", and found a post in dev.to to see all kind of nice terminal setups, from the very minimalist to very feature rich oh-my-zsh themes with plugins for git, aws and what not. One of these pictures really got my attention, a guy had set up his terminal to show him, how many task has he done in the day, and how many cups of coffee has he had.
So by investigating how he set up his terminal to show in the prompt the number of successfully completed tasks in the day, I found out that he was using taskwarrior, he was also kind enough to share the source code of his prompt setup, which I bookmarked to later incorporate that into my oh-my-zsh config.
After reading about taskwarrior, I also got a reference to GTD, I don't remember if this was one of those thoughts that I have and follow immediately, or if I read something that led me to a YouTube video summarizing GTD.
In the end, after watching that GTD video, I decided to give it a try to organize my life, and help me find a remote job, keep my house in order, plan my social activities as "hang out with friends", "visit mom and dad", and give the proper amount of attention to my GF, with whom I am deeply in love, and willing to spend the remaining of my years with her.
So my fist task was.
task add Ask for GF's parents blessing.
Which of course I have no intention of doing right now, but is one of the things that I will eventually have to do.
Then it started, I started adding tasks, and things to do, and go through the whole Capture phase of GTD.
Now it is a good time to write a small summary of what I think GTD is.
GTD is a life habit of organizing your life in todo-lists. And it was a very specific core method, that in the video summary that I watched was called CPR.
Capture, Process and Review.
Capture:
When you capture you just add your tasks to a bucket list.
So I took a notebook and started writing down everything that I wanted to have done. I also started to capture ideas as they came up to me, I did this by writing a telegram saved message in my phone, or directly adding it as a task in TW.
Process:
I read my telegram messages and put them into my task warrior list, then I started to organize my tasks into projects, breaking down every task that was not an atomic unit.
* And different projects started to emerge from this. One of them was project:Housekeeping.
And here's my screenshot of what I did this weekend, also the number of projects that I have, and all the things that I have to do in order to have what I think would be a very balanced, fun, and productive life.
You'll be able to see in the screenshot, that there's a blocked task, yes, tw allows you to organize dependencies too, so one task is delegated, and blocked by the delegation task.1