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 - "repo"
I just did git branch in someone's repo and got this ..
I'm armed and ready .. !!
Tried to install an existing web dev project in Windows 10:
- Install Atom IDE and trying to clone git repo
- Git missing, installing Git for Windows
- Installing Node (so far so good!)
- npm install
- Python missing (???), installing Python
- Ruby (????????) missing, installing Ruby
- .NET Libraries missing, installing .NET 4.0 for the 100th time
- Visual Studio Libraries for C++ 2008 missing (now you're just messing with me mate), installing 4GB of Visual Studio Libraries
- [drumroll sound]
- npm install breaks with fatal error
- Git for Windows can't be found anymore
Switched to Ubuntu out of frustration:
- Installing Atom IDE
- Installing NodeJS
- Cloning git repo
- npm install
- project is running
Me talking to a recruiter (even though I am not looking for a job)
Me: If I walk into an interview, and they ask me to reverse a binary tree for a frontend Reac or Vue position or something along those lines, I will end the call and/or walk away from it.
Him: I get similar feelings from other programmers, I don't quite understand why the notion is as common
Me: Because it is fucking useless, it servers no purpose to a dev to know about that when building frontends with react, I link my github profile, for which they can find advanced backend-frontend related projects, compiler and interpreter projects, plus the title I currently have at my workplace and a bunch of other shit, I am not interviewing for a teaching position at an institute, but an actual place of work, for which if they want to know about DS and A they can review my profile which has a repo of DS and A in about 5 different languages including plain C++. I do not need to be offended by such notions since they server no purpose on the frontend, and neither do other devs. If anything it should be a casual conversation during the interview, not a basis for employment.
Recruiter: .........thank you for explaining this to me, I am sure I can bring it up to the agencies doing the reviews and interviews. Are you still interested?
Me: Are they going to give me a coding assignment for a project or a bs question like what I mentioned?
Him: I don't know
Me: then I am not interested12
So this guy is supposed to do the frontend.
I do the backend.
I offer an endpoint.
He does his HTML+CSS magic.
Me: Cool but data is hardcoded. Could you get the data from the endpoint I sent you?
Him: "I'd prefer you do that, I can make a git repo so you download the front."
... So you don't do frontend, you just write pretty layouts. And I have to actually write the frontend logic? Go f yourself.14
What an absolute fucking disaster of a day. Strap in, folks; it's time for a bumpy ride!
I got a whole hour of work done today. The first hour of my morning because I went to work a bit early. Then people started complaining about Jenkins jobs failing on that one Jenkins server our team has been wanting to decom for two years but management won't let us force people to move to new servers. It's a single server with over four thousand projects, some of which run massive data processing jobs that last DAYS. The server was originally set up by people who have since quit, of course, and left it behind for my team to adopt with zero documentation.
Anyway, the 500GB disk is 100% full. The memory (all 64GB of it) is fully consumed by stuck jobs. We can't track down large old files to delete because du chokes on the workspace folder with thousands of subfolders with no Ram to spare. We decide to basically take a hacksaw to it, deleting the workspace for every job not currently in progress. This of course fucked up some really poorly-designed pipelines that relied on workspaces persisting between jobs, so we had to deal with complaints about that as well.
So we get the Jenkins server up and running again just in time for AWS to have a major incident affecting EC2 instance provisioning in our primary region. People keep bugging me to fix it, I keep telling them that it's Amazon's problem to solve, they wait a few minutes and ask me to fix it again. Emails flying back and forth until that was done.
Lunch time already. But the fun isn't over yet!
I get back to my desk to find out that new hires or people who got new Mac laptops recently can't even install our toolchain, because management has started handing out M1 Macs without telling us and all our tools are compiled solely for x86_64. That took some troubleshooting to even figure out what the problem was because the only error people got from homebrew was that the formula was empty when it clearly wasn't.
After figuring out that problem (but not fully solving it yet), one team starts complaining to us about a Github problem because we manage the github org. Except it's not a github problem and I already knew this because they are a Problem Team that uses some technical authoring software with Git integration but they only have even the barest understanding of what Git actually does. Turns out it's a Git problem. An update for Git was pushed out recently that patches a big bad vulnerability and the way it was patched causes problems because they're using Git wrong (multiple users accessing the same local repo on a samba share). It's a huge vulnerability so my entire conversation with them went sort of like:
"We have to."
"Fine, here's a workaround, this will allow arbitrary code execution by anyone with physical or virtual access to this computer that you have sitting in an unlocked office somewhere."
"How do I run a Git command I don't use Git."
So that dealt with, I start taking a look at our toolchain, trying to figure out if I can easily just cross-compile it to arm64 for the M1 macbooks or if it will be a more involved fix. And I find all kinds of horrendous shit left behind by the people who wrote the tools that, naturally, they left for us to adopt when they quit over a year ago. I'm talking entire functions in a tool used by hundreds of people that were put in as a joke, poorly documented functions I am still trying to puzzle out, and exactly zero comments in the code and abbreviated function names like "gars", "snh", and "jgajawwawstai".
While I'm looking into that, the person from our team who is responsible for incident communication finally gets the AWS EC2 provisioning issue reported to IT Operations, who sent out an alert to affected users that should have gone out hours earlier.
Meanwhile, according to the health dashboard in AWS, the issue had already been resolved three hours before the communication went out and the ticket remains open at this moment, as far as I know.5
> Be me
> Desperate for a driver
> Find nothing useful
> Oh a GitHub repo, hmmh
> '𝐃𝐨𝐰𝐧𝐥𝐨𝐚𝐝 𝐡𝐞𝐫𝐞 ===> tinyurl.com/XXXXXX'
> It's time to report!
- The url is a redirect chain to a phishing site
- Repo is completely empty except for a single folder with 1000+ files all named after drivers, with the same 'download' link, and probably scraped website text at the bottom (probably to increase searchability)
- The 'user' joined just a couple days ago and has no other repos18
We've had a bunch of flaky tests in our repo for a while now that no one could be bothered to fix; we'd just re-run ci until it's green. Today I looked into it and I was inspired to make this meme, because I lived through it.
Adding logs to investigate just lowered the fail rate making investigation more difficult. I do have an idea of what it might be though so, we'll see tomorrow.3
You know a Repo is fucked when you have to rely on global text search to find and rename symbols like method or class names.3
Story of WTF happened to my job
During my employment in (name censored) was stressful, They claimed I didn't complete my task on time which they constantly remove me from git and documentation(which have to follow their style of returning data), I kept emailing, slack, WhatsApp calls them, mostly and predictably got ghosted and blocked.
So How the fuck am I supposed to push my code or code without the documentation (I can actually, prevent refactoring every time, following the documentation is the good way to go.)
On the sprint review, they will complain about me not committing and pushing the code. (I did commit locally, but can't push, they removed me from the fucking repo) and not done.
Tried reasoning, telling the obvious reasons with them, doesn't work. They come out the second reason of me "NOT COMMUNICATING". Sometimes I can get to git merge from dev to my branch and get tonnes of fucked up code. I reviewed the code, and I can't tolerate it.
Lately, I overheard them mocking and cheering me about to get fired over a zoom meeting (I was in there, they forgot to remove me). Their conversation is about me being a coloniser, a jerk, betraying Chinese ancestors for being not Chinese enough.
I was like: "Why the fuck does their conversation sound like they are tucked in the Qin dynasty?"
Frequently I got labelled as unprofessional.
How is cussing about my ancestors, personal and life a professional behaviour?16
Our company is changing the default branch on our main repo from master to main.
We're literally on the verge of global genocide and a holocaust, and people are worried about over-sensitive people's feelings. I'm sure a branch change will end racism.6
HOW THE FUCK
DO I USE A NPM PACKAGE
THAT DOESN'T SUPPORT IMPORT X FROM PACKAGE
IN A TYPE:MODULE
WHY THE FUCK CAN'T NODE JUST SUPPORT BOTH
WHAT IN THE FUCK
HOW DOES WEBPACK LET YOU USE BOTH?!
I CANNOT FIND A WORK AROUND FOR ERROR
SyntaxError: The requested module 'file-type' does not provide an export named 'default'
WHAT THE FUCK?
DO I NEED TO USE A DIFFERENT PACKAGE?
WHAT THE FUCK11
Was looking through some repositories and found this in a 2y old PR, the only PR there is and ever was in the repo..
> Best wishes for the Wednesday launch.
Steve never got an answer (on the PR at least) .. but the README links to his fork now (and no other changes have been done) .. why not just accept the PR or at least close it..7
PM: this is our super fancy new CI/CD pipeline, it's the greatest. i expect you to learn and understand all this in no time.
devs: so i have to spend some more time on this topic because it's completely new to me and requires some learning...
PM: nooo, that's a super easy task with zero effort, my braindead hamster can do that in no time, so can i, and so can you! let's assign 1 story point for that.
~ 3 months latèr ~
also PM, after he has started developing as well: so i'm realizing there are many things that i have to learn, and it takes me some time. i haven't developed with C++ and <other tool stack> for a longer time. by the way, you guys don't need to check for any quality right now, we need to deliver fast. it's okay, when you have memory overflows, your code is completely crappy, poor architecture or memory overflows, it doesn't matter.
he even has a subtask for migrating his code from VS project to our new project structure, since he refused to learn our pipeline right from the beginning and created VS project instead. シ why is this a subtask? this job can be done in no time, my left vanishing twin named Klaus who has dislexia and hates vim can solve this task in 20 seconds!!!!11
(and still no PR, not even a feature branch in our repo)2
Central team: No, your team must be doing something wrong. Our pipeline is super-configurable and works for any situation! You just have to read the docs!
Me: Where are the docs?
Central team: Uhh, well, umm... we'll hook you up with a CI/CD coach!
Me: Okay, cool. In the mean time, can you point me at the repo where all the base scripts are?
Central team: Sure, it's here.
Me, some weeks later: Yeah, uhh, the coach can't seem to figure out how to make our Prod deployment work either.
Central team: That's impossible! It's so easy and completely configurable!
Me: Well, okay... but, here's the thing: your pipeline IS pretty "configurable", in the sense that you look for A LOT of variables...
Central team: See! We told you!
Me: ...none of which are actually documented, so they're just about useless to me...
Central team: But, but the coach...
Me: ...couldn't make heads or taisl of it either despite him literally being ON YOUR TEAM...
Central team: Then your project must just be architected wrong!
Me: Well, we're not perfect, so could be...
Central team: Right!
Me: ...but I think it's far more likely that the scripts... you know, the ACTUAL Python scripts the pipeline executes... while it took me DAYS to get through all your levels of abstraction and indirection and, well, BULLSHIT... it turns out they are incredibly NOT flexible. They do one thing, all the time, basically disregarding any flexibility in the pipeline. So, yeah, I'm thinking this is probably one of this "it's you, not me" deals.
Central team: Waaaaahhhhhhhh!!!!!!3
Hiring a third party to help us with something...
Third party: yeah okay, we know what we need. Can we get access to your git repo
Me: sure, I'll make sure you'll get it
(To the admins): hey can you get them access to our git server?
Admins: did they sign the personal data processing contract?
Me: oh they won't work with any personal data. It's a dev server and they only need access to the source code. And the usual contracts and NDAs are already done
Admins: well we still need the other one.
... Sure. Why not. Just delays the start of the process for... Like a week and a half until that useless bit of paper has passed through all the necessary departments. Not like time's an issue. Right?8
PM/PO/SM/dev(new!): so i've continued working on feature X, i did this and that (shows screenshot of UI in Jira) and for today i'm planning to do XYZ. anyquestionsnothennextoneplease.
me: sorry, i have a question. did you persist your changes in our repo?
PM: no, not yet.
me: okay, please do this, you've spent several days of work on this. i mean, it's fine if build servers don't build it yet, that's what our feature branches are for.
PM: you're absolutely right, and i will definitely do it at some point.
me: at some point?
PM: yes. dev x, your update please.9
Scrum master asks how I'm doing and how I'm finding the project I'm working with.
I complain about the lack of documentation and that it kills me (well, kills my brain with increased migraines) due to my Asperger's as I need CLEAR instructions and not ~something~ I need to piece together from asking from 5-10 different people who all know some minor part of the final answer.
"*You* could do the documentation, lankku, while you're figuring it out!"
And the reason I was trying to find out this one thing related to a completely different repo I have never worked on was because I was trying to write documentation for something totally different that just needs a login redirect from this different repo. <.<6
Man fuuuuuuck, there's nothing more frustrating and scary than fucking up a local git repo. Because you know for a fact you won't be able to restore it
And I even had god damn backups of the .git folder. But reverting leaves me with more files than I started with fuuuck9
I think I may have shared this a while back. Just played with this a little for fun. I was playing with an ESP8266. Apparently it takes very little code to turn it into an access point and have it redirect to a landing page just like a hotel wifi does. Every platform I had connect to the AP seemed to work properly. I setup the AP without a password and let people log in. I named the AP "Virus Distribution Point". Here is what they would see:
Don't mind the name of the repo. It is a junk repo I made for making mom jokes.7
So, I've seen a github repo whose owner puts all of his code in an unformatted README.md file, no further files. I'm not sure if I should be concerned for them or scared.1
How to mess with Github Copilot:
1. create open source repo with MIT license
2. create generic functions that solve specific problems
3. put violent, racist, sexist, phobic, political, etc phrases in the code
4. get other people to fork the repo and make their own versions
5. watch as people get upset over copilot being evil and putting shit into their code4
Reason for rejected pull request on hacktoberfest: "wrong commit message"
...are you fucking dumb or what?
damn robot machine clowns, you wonder why you don't get better at your craft
"we love open source, making it so prohibitively convoluted to participate!!! why won't anyone contribute to our repo?!?!?!"
clowns, absolutely everywhere i swear10
private static final int TEN = 10;
private static final double THOUSAND = 1000.0D;
[a copy-paste from our repo]13
Here we go with the DMCA again.....
I recently forked a repo from someone repo , it's forked.
Ok finally, I can tell now.
There's a college project I'm in with 2 more people that uses Python and AnyLogic (separately).
We also need to write some LaTeX, so as I was already using PyCharm for the Pyshit, I used it for the LaTeX and for Git.
I used it for Git too because I didn't know how it used Git and was worried that if I used the console it didn't recognize something or glitched out or something. And what the hell, it's a mature IDE, what could be so hard or possibly go wrong?
I had to re download the repo a couple of times because between pushes, pulls, merges and commits something happened and the repo ended in a weird state.
These are all the things I do:
Add, commit, create branches, merge, push, pull and delete branches.
So, I hadn't opened in some time. The last time I tried to bring something from another branch, and stayed up late to finish something. I was waiting for my classmates to join the call when I thought something like "Hey, I should commit what I did until now, it worked great.". When I examined the IDE I found out I was in the middle of a rebase or something. I start clicking buttons to at least try to commit. I press "Skip Commit". I lose everything.
What the fuck‽ As you can see in the comprehensive list above, I never do something similar to a rebase. Apparently when I tried to merge a couple of branches, the stupid IDE thought I tried to do a rebase and never asked me to finish it. Why do something I have never asked? Plus, why haven't you prompted me to finish the operation? That's so stupid. I'm never trusting IDEs again.
I was so lit for losing so many hours of work I did a couple of weeks before, I would have to think it and do it all over again because of something I never asked.
We spent an hour looking for a way to recover the lost code.
Why an hour, you ask, if you can use the Local History for that in PyCharm?
Because none of us had used it before and the articles we found said that you had to open it from the toolbar. From the toolbar it was greyed out.
Then I found the option in the contextual menu of the files. Recovered the LaTeX files but on the AnyLogic files, it was greyed out.
I had to open the Local History of the folder containing the AnyLogic file.
And that was that.
I almost faint.
Fuck Python, fuck PyCharm.8
Why do SAMBA network drives have to suck this much? Yeah I understand that compiling to a network drive is probably a bad idea just for performance reasons alone but can't you at least not fuck with my git repo?
$ git gc
Enumerating objects: 330, done.
Counting objects: 100% (330/330), done.
Delta compression using up to 24 threads
Compressing objects: 100% (165/165), done.
Writing objects: 100% (330/330), done.
Total 330 (delta 177), reused 281 (delta 151), pack-reused 0
error: unable to open .git/objects/7e: Not a directory
error: unable to open .git/objects/7e: Not a directory
fatal: unable to mark recent objects
fatal: failed to run prune
$ git gc
error: unable to open .git/objects/00: Not a directory
fatal: unable to add recent objects
fatal: failed to run repack
$ git gc
Enumerating objects: 330, done.
Counting objects: 100% (330/330), done.
Delta compression using up to 24 threads
Compressing objects: 100% (139/139), done.
Writing objects: 100% (330/330), done.
Total 330 (delta 177), reused 330 (delta 177), pack-reused 0
Removing duplicate objects: 100% (256/256), done.
error: unable to open .git/objects/05: Not a directory
error: unable to open .git/objects/05: Not a directory7
Not consistently git comitting (and pushing to repo). Sometimes I wonder if I'm in fact a masochist.2
What a joy working in a company that uses git as if it's subversion (dev branches? What are dev branches?) paired with gerrit. Getting a single, crucial change pushed to the actual repo can take days. The speed of the site can be measured in geological epochs. The interface has a charm of windows 95. Half of the builds are broken. Life is fleeting and I'm wasting it here.7
I have a few side project ideas. I started one of them a few months ago (project setup, dependencies, git repo, index page, very basic API and client functionality). But I cannot get myself to work on it or even think about it (for months now). The reason? I do not want to work on the client/frontend! I do not want to deal with React or Vue or Svelte or fuckjs or even jquery. It's a fucking mess.
For the backend, the requests are stateless: you get a request, handle it, and respond back. Need to update state? Database. That's it!
For the frontend, there's just tooo many states I can't keep up with! When the user checks or unchecks this checkbox, I need to maintain the state of the checkbox and maintain the all effects of changing the checkbox while syncing with the backend and making sure the elements are still styled correctly with the applied effects. Multiply that with all the expected interactive elements on the page. It's exhausting!4
In other to sharpen my algorithm and data structure skill.
I implemented the complete *eval()* function for arithmetic Expression in java
It can compute any kind of arithmetic Expression even with parenthesis grouping
Here is the github repo
I don't know what the fuck is happening rn I created repo on gitlab and tried to make changes from terminal it refused. Tried every fucking combination as I thought I must be doing something wrong .
Got fed up made a new account , made a new repo but gitlab doesn't allow me to upload files from there fucking website too.
Now I am getting error 500 from terminal because I can't clone my repo as it says this repo doesn't exist.
Now I can only imagine that there might be some problem with gitlab it's 4 in the morning, I should probably sleep.
probably when 8 hours before rushed release i pushed my part of the codebase into the wrong branch which fucked up everyone else's rushed release of different parts of that codebase and now a colleague had to spend several hours unfucking the repo on top of finishing the rushed release of his part of the codebase.
oh and in the end my code didn't even work as it was supposed to.7
That might seem a bit random, but I started off this year with a nightmare (a literal dream) where I've fallen victim to remote code execution, because I cloned someone's git repo.
Is such a thing even possible? The closest thing I've found was this blog
(and the info on it was already worrying enough), but that shouldn't have affected my dream computer.
Some details I more or less remember:
* The execution happened right after git clone
* The uri to the repo was a custom domain (no github, gitlab or anything)
* no submodules
So I got a new project idea , an app that takes your image and fits it in a mac window like a border .
Basically when I make a new website or app and I want to post screenshots of it , just the plain screenshot of the app looks bland but if I have a nice aesthetic ✨ mac OS window around it with rounder corners and stuff , it would look very cool . I bet everybody here has seen something like this once or twice. Is there an app that does this already ? takes an image from the user and puts a window around it , with the minimize ,maximize and close buttons and let's the user download the final image . Not necessarily a mac window with there could be option for different types of windows . Even VS code repo on Github has a mac window around it lol . So I would like to make an app that makes this whole process easier instead of requiring you to edit images of your app (in case u don't have windows or a mac for screenshot)
What tools (tech stack )would I require to make a web app for this purpose ?5
There's a special place in hell for repo owners who show only the yarn option of installing in the README.3
Please share your thoughts on Dependabot security alerts on Github, more specifically for NPM packages in package-lock.json.
In 99% of cases I've found them useless as:
- package-lock.json is in the repo, but not in the NPM package (=no value to users)
- most of the updates relate to devDependencies (=no value to users)
- it clutters the git history (and changelog if it is auto-generated) with a batch of patch updates (updated depx to .1, .2, .3) while the only important thing in the next release notes is the delta (updated depx from .1 to .3) (=no value to users)10
Follow up rant: https://devrant.com/rants/4943574/...
(Funny link btw.)
I tell him "Fine, upload it to the GitLab repo I created a week ago and you never used it." on Friday.
Today, the day *before the presentation*: "Here, have the GitHub repo, ask for permission and you're all set up.".
He's getting the boot.3
GitHub should allow server linking and social content downloading for repo authors to encourage people to still host their own repositories
This centralization is like everybody using Gmail
Some asshole deletes everything and we're all fucked15
Alright after upgrading to Monterey, I literally can't open a single repo without Sourcetree crashing. Any alternatives? What do ya'll like as a git GUI?
inb4 "learn the commands" - I want to carefully separate files (or even hunks) by ticket number and can't be bothered to type all the commands out5
I spent the whole damn day trying to setup grpc-web, but this protocol is documented so damn poorly!
You manage to set grpc up for one language and it’s all cool, then you stupidly think that you are free to reuse the compiler you used for the nodejs version for your frontend part but nope! Our web module is now deprecated, please use this module instead!
“Ah yes just clone the repo and check out (…) and you can also check this link whic is in no way highlighted in the middle of a wall of text (…)”
*checking the other page*
Ah yes you need to install a package available only on your unix machine (great! Screw the devs in my team who use windows I guess, they’ll be happy to hear this!) and don’t forget to clone this repo to build your own plugin! And by that I ofc mean to compile it on your own!
- compiler error
After digging for an hour you find a requirement in an obscure issue opened and closed cause “ah yes we have a dependency not stated anywhere” *close issue and never add it to the project*
Fine, fine I can survive this bs
- another compiler error, no solution found after 2 hours
Honestly? Why the fuck do I need to compile this stuff? Just give me a damn npm package I can use? Goddamn it’s just transpiling, you don’t need access to my OS! (Aside for fs to save the files, and which btw is accessible via nodejs)
Now, I COULD download the latest realease as a precompiled, but… honestly?
I give up, I’ll do some shitty rest apis cause the customer’s not paying me enough for even THINKING to go trough this shit again when they’ll ask an iOS app. Or having colleagues asking me to help them understand how to do it.
Side note: also add typescript support to the web-code-generation ffs! Why does node have it and web don’t?5
Any android devs here? I created a simple interview tech assignment app with 2 screens (item grid and item details) with latest architecture (Compose, Retrofit, Coil, Room). Looking for a review or any kind of feedback/ideas regarding what needs to be fixed/refactored. Repo is here: https://github.com/appdevv/DemoApp
If you want, feel free to pull the repo and just make a pull request with your comments.5
Somewhat sad when team lead names a Sharepoint document library as ”a repo”.
I am not surprised. I am used to this level of incompetence. But…still.
I am aware of the generic nature of the meaning of the word repository. I just find it very sad that people with no actual competence try to make it look like they actually knows something.2
it's an entire GitHub repo on weird-wacky stuff of JS3
Me: Hey I haven't used these repos/tokens/files in a while, let's remove them to clear up some space
Day later, a colleague: Hey Alex, could you update this repo/token/file?
EVERY FUCKING TIME1
Can anyone recommend any good code/screen sharing tools?
My use case is that I have a Windows work laptop with a garbage keyboard and I want to share my editor with my personal MacBook without having to clone the repo there or actually share any files.
I tried Live Share on VS Code but the shared terminal barely ever works, and you can't stage files from the editor GUI. I imagine something like TeamViewer would be very slow for this?
I'm not sure if there's any tool that covers this use case or if I should just stick with Live Share and try to workaround its issues. :/10
Added vapor core swift package to my project so that I can use some of the extensions, had to `rm -rf ~/Library/Developer/Xcode/DerivedData/` to make xcode realise the repo is actually exist.
Then I set the Core package as dependency of one of the targets, XCode complaints "unknown package Core", ok fine then I remove Core dependency, Core complaints "dependency Core is not used by any target".
How can xcode comes to this contradicting conclusion is out of my imagination, it just never gonna be happy about however i write.1
Umm can anyone help me with this......got it in spck editor while trying to pull from my remote repo6
Due to budget cuts all the contractors in my team where let go by the end of last year. My two remaining colleagues can't read a stack trace right and take a week to try that maybe the repo that isn't building correct should be cloned again. I'dont consider myself a great developer by any stretch. I'm pretty willing to support anyone. Those two incidents left me speechless. I'm so tired sometimes.