Joined devRant on 6/25/2016
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
So I just spent the last few hours trying to get an intro of given Wikipedia articles into my Telegram bot. It turns out that Wikipedia does have an API! But unfortunately it's born as a retard.
First I looked at https://www.mediawiki.org/wiki/API and almost thought that that was a Wikipedia article about API's. I almost skipped right over it on the search results (and it turns out that I should've). Upon opening and reading that, I found a shitload of endpoints that frankly I didn't give a shit about. Come on Wikipedia, just give me the fucking data to read out.
Ctrl-F in that page and I find a tiny little link to https://mediawiki.org/wiki/... which is basically what I needed. There's an example that.. gets the data in XML form. Because JSON is clearly too much to ask for. Are you fucking braindead Wikipedia? If my application was able to parse XML/HTML/whatevers, that would be called a browser. With all due respect but I'm not gonna embed a fucking web browser in a bot. I'll leave that to the Electron "devs" that prefer raping my RAM instead.
OK so after that I found on third-party documentation (always a good sign when that's more useful, isn't it) that it does support JSON. Retardpedia just doesn't use it by default. In fact in the example query that was a parameter that wasn't even in there. Not including something crucial like that surely is a good way to let people know the feature is there. Massive kudos to you Wikipedia.. but not really. But a parameter that was in there - for fucking CORS - that was in there by default and broke the whole goddamn thing unless I REMOVED it. Yeah because CORS is so useful in a goddamn fucking API.
So I finally get to a functioning JSON response, now all that's left is parsing it. Again, I only care about the content on the page. So I curl the endpoint and trim off the bits I don't need with jq... I was left with this monstrosity.
curl "https://en.wikipedia.org/w/api.php/...=*" | jq -r '.query.pages.revisions.slots.main.content'
Just how far can you nest your JSON Wikipedia? Are you trying to find the limits of jq or something here?!
And THEN.. as an icing on the cake, the result doesn't quite look like JSON, nor does it really look like XML, but it has elements of both. I had no idea what to make of this, especially before I had a chance to look at the exact structured output of that command above (if you just pipe into jq without arguments it's much less readable).
Then a friend of mine mentioned Wikitext. Turns out that Wikipedia's API is not only retarded, even the goddamn output is. What the fuck is Wikitext even? It's the Apple of wikis apparently. Only Wikipedia uses it.
And apparently I'm not the only one who found Wikipedia's API.. irritating to say the least. See e.g. https://utcc.utoronto.ca/~cks/...
Needless to say, my bot will not be getting Wikipedia integration at this point. I've seen enough. How about you make your API not retarded first Wikipedia? And hopefully this rant saves someone else the time required to wade through this clusterfuck.12
Do people really realise that developers have become the back bone of society and alot of things will go south if they were to leave
But noooo they choose to call them the weirdos 😢14
This guy at an internship who only wanted to use anything Microsoft.
It was fine for his own use but he also wanted it for a high security prod environment and tried to push that through.
Luckily, the (very competent) team lead refused to use closed source stuff for high security environments.
"listen (team lead to that guy), it's not going to happen. We're simply not using software from a US based company which is closed source for high security stuff.
Why? The US is one of the biggest surveillance powers in this world, we just can't be sure what's in the software if it's US based. Now you can say that that's paranoid but whether or not it is, the surveillance part is a fact, deal with it. That you want to use it, fine, but NOT. IN. HIGH. SECURITY. PROD. (or prod at all really).
He continued to try and convert colleagues to windows and other Microsoft stuff for the rest of his internship.31
"The customer reports that port 21 is closed on our FTP site. They said that port 443 is open, and wonder if they can use that instead."
"They are entering the wrong server name. Our FTP server is ONLY an FTP server. Port 443 is not open on our FTP server.
Please verify that they are entering `ftp.xxxxxx.com`
Our FTP site supports FTP/SSL if they are concerned about security."
"Customer responds that they would rather use port 443 to send files."
"I'm sure they would. I'd also like to enter our building on the west side when the temperature is below 10º, but there are no doors on the west side, so that's not going to happen, is it?"2
This shit is real.
Guy comes to my desk.
Guy: Do you know Python?
Guy: I want a program that reads a CSV containing IP addresses and tells which of them are valid.
Me: Sure thing. Show me the CSV file.
Guy: (Shows the file)
Me: (Writes a small function for checking whether the IP is valid)
Me: Done Here you go.
Guy: You should be using regex.
Me: Why? This is perfect. No need for regex.
Guy: My manager wants a solution using regex only.
Me: Why so?
Guy: I don't know. Can you do it using regex?
Me: Only if you say so. (Stackoverflow. Writes a humongous regex). Done!
Me: Just for curiosity, what is your application?
Guy: I will port it in Java. You see, regex is easy to debug.
Me: Ohhh Yes. I forgot that. Good luck with your regex.22
I’ve just talked to my cousin (24 yo) about smartphones, since I saw that he has an old phone and I asked him if he wanted to buy my old S6 (for reasonable price), he declined this offer moreover he said that he is not planning to change his current device. I was kinda shocked tbh how one can live like that (being online only when using PC), a while after that I realised that he was the one who was smart in this conversation, the one that does not get influenced by others in this matter. I wish I could live like that, when he is not available, he’s just not available. I mean this rant is not purely dev related, but, quite a lot of us here are maintaining some projects, maybe need to talk to managers after their work to make some decisions, doing some side projects. I know that we sort of agreed with those rules at the beginning, but don’t forget to stay offline for some time, especially now when holidays are coming and there will be occasions to spend some time with our families. Just a friendly reminder :)14
Big event. Massive traffic in production, so we were monitoring all night.
I was in a room with 2 devs of my team, a marketting girl, my boss and a designer... chilling.
Suddenly the production is down.
Boss: production is down, anyone can check?
Me: already on it
Dev1: it looks ok for me
Dev2: me too
Me: wait what? Impossible everything is down
Dev1: oh I refreshed the page it's not working
Me: don't stay on the page refreshing it like you are fucking monkeys. Give me useful intel or be quiet.
Market girl: is it working?
Guys is it working?
Me: Not yet we are looking. Don't distract me.
Boss: client called us. They want it online now.
Dev1&2: he's looking
... 1 min later...
Boss: is it working?
Boss: is it working?
Boss: is it working?
Me: SHUT THE FUCK FOR FUCKING ONE SECOND. ALL OF YOU, OUT NOW. YOU ARE FUCKING MONKEYS WHO CAN'T DO SHIT. IF YOU CAN'T HELP JUST SHUT YOUR DAMN SHITHOLE. DEVS, LOOK WITH ME. MARKET GIRL PREPARE A FUCKING POST-MORTEM MAIL. BOSS GET THE CLIENT ON THE PHONE AND STALE. DO. YOUR. FUCKING. JOBS.
That's how I ended up screaming at everyone... the rest of the night went in complete silence and I fixed the issue 2min after the got quiet or busy.25
"Jim, can you tell me why my e-mails aren't getting to clients?"
They're being marked as spam...
"oh damn, how can we fix that?"
You can't. You can change the structure of your e-mails to look less spammy, but it's on their end.
"This is a disaster, we can't have our marketing e-mails marked SPAM!!"
Have you tried not spamming people?
"WE'RE NOT SPAMMING PEOPLE, THEY EXPRESSED A LEGITIMATE BUSINESS INTEREST"
No, you bought a mailing list and put together an e-mail campaign.
"But we aren't spamming people!"
IT VS Marketing 100% of the time14
My dad found a phone a few weeks ago and asked me what he should do with it. Knowing how much it hurts to lose personal data, I said I could try to find the owner and send it back.
My first attempt was to search through the files on the SD card in order to find an identifying document (CV, bill, address...) but there were only family pictures.
My second attempt was to unlock the phone and check the information about the owner and the accounts linked to it. But for this to be possible adb has to be enabled. Good thing is that that particular brand shows an option for activating adb on the recovery menu.
But then, it's Android Oreo and I haven't found a way to lift the lock pattern. I thought I could bruteforce it over the shell (as I found there could be about 1300 possibilities for 2 to 5 point patterns), but there is the same attempt throttling as on the screen so that would take ages.
Finally, I found the owner in the most "social" way : The phone was displaying the weather for a particular place. It turns out that there are only 3K inhabitants in that city, si I thought that a big enough Facebook group might help me find the owner. So I posted a message on a 500 people FB group dedicated to this city with a selfie of the owner : someone identified her within 20 minutes.
Mission accomplished 😎44
After two months of working on the new version I've finally decided to compile everything. I must say I was pretty confident that everything would compile pretty well.
I've never been so wrong in my life xD6
longer rant, with curious question at the end;
my sister asked me lately how she can change the way her phone creates the name of pictures she takes (the naming scheme), as she didn't want the name to be composed of date and time (and so on) the picture was taken, cause she had to send it to her boss
after i replied that i don't know how this could be changed and that the naming scheme would have a purpose, she got angry at me because i wouldn't help her and that i should fuckin tell where it can be changed!😡
after i repeated my answer she said "what are you studying cs for?? YOU SHOULD KNOW THIS!!!😡😤"
i got furious, you guys can probably imagine as IT guy/dev 😠😠😠, given stereotypes/prejudices etc., unfortunately i'm not the guy who is good at freaking out and yelling at people, but GODDAMN IF I COULD TELL HER WHAT STUDYING THE DEGREE IS REALLY ABOUT! I'M SO FED UP WITH THIS!😤😤😤
i'm not supposed to know how her FUCKIN HONOR PHONE WORKS
WHICH I DON'T EVEN USE and never even thought about changing the naming scheme.
JUST RENAME IT AFTERWARDS!
of course her phone is so complicated that she doesn't even know how to rename the file, as she only knows how to use the google photos app (which doesn't support that?🤔) and never even considered to use the file manager ... well can't blame her for that, android isn't as simple as windows when it comes to this🤷
... in the end she just sent it, as is😪.
oh and by the way, is it actually possible?🤔14
TL: Why the hell you require a month to integrate this engine?
Me: It will take that much time, can't help it.
TL: it can be done within a week.
Me: Then you do it.
TL: Ok I will show how it's done in a week.
Me: What's the status on that integration?
TL: Oh yeah about that, you have to carry it ahead, I have some monitoring to do.
Me: Ok, give me the repository access, I will carry it ahead.
ME OPENS REPOSITORY.
There's only a new controller file with nothing it.5