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 - "webhooks"
SERIOUSLY: FUCK YOU PAYPAL...
🖕For your 500 Apis that seemingly do the same fucking thing
🖕For your fucking Webhooks that get dispatched every fucking century
🖕For needing a fucking degree in PayPal sciences to understand which fees apply and when
🖕For doc links that seemingly lead to nowhere
🖕For having to plow through 500 pages on your fucking retarded website to be able to execute or receive a fucking payment
🖕For your casual internal server errors
🖕For your fucking ancient sandbox account design and dysfunctional features therein
Making payments is not fucking rocket science you fucking cunts.
I have been working on a project I call Pipelines. The idea behind the project is that it will be a centralized dashboard for you to receive Webhooks on.27
--- GitHub 24-hour outage post mortem ---
As many of you will remember; Github fell over earlier this month and cracked its head on the counter top on the way down. For more or less a full 24 hours the repo-wrangling behemoth had inconsistent data being presented to users, slow response times and failing requests during common user actions such as reporting issues and questioning your career choice in code reviews.
It's been revealed in a post-mortem of the incident (link at the end of the article) that DB replication was the root cause of the chaos after a failing 100G network link was being replaced during routine maintenance. I don't pretend to be a rockstar-ninja-wizard DBA but after speaking with colleagues who went a shade whiter when the term "replication" was used - It's hard to predict where a design decision will bite back and leave you untanging the web of lies and misinformation reported by the databases for weeks if not months after everything's gone a tad sideways.
When the link was yanked out of the east coast DC undergoing maintenance - Github's "Orchestrator" software did exactly what it was meant to do; It hit the "ohshi" button and failed over to another DC that wasn't reporting any issues. The hitch in the master plan was that when connectivity came back up at the east coast DC, Orchestrator was unable to (un)fail-over back to the east coast DC due to each cluster containing data the other didn't have.
At this point it's reasonable to assume that pants were turning funny colours - Monitoring systems across the board started squealing, firing off messages to engineers demanding they rouse from the land of nod and snap back to reality, that was a bit more "on-fire" than usual. A quick call to Orchestrator's API returned a result set that only contained database servers from the west coast - none of the east coast servers had responded.
Come 11pm UTC (about 10 minutes after the initial pant re-colouring) engineers realised they were well and truly backed into a corner, the site was flipped into "Yellow" status and internal mechanisms for deployments were locked out. 5 minutes later an Incident Co-ordinator was dragged from their lair by the status change and almost immediately flipped the site into "Red" status, a move i can only hope was accompanied by all the lights going red and klaxons sounding.
Even more engineers were roused from their slumber to help with the recovery effort, By this point hair was turning grey in real time - The fail-over DB cluster had been processing user data for nearly 40 minutes, every second that passed made the inevitable untangling process exponentially more difficult. Not long after this Github made the call to pause webhooks and Github Pages builds in an attempt to prevent further data loss, causing disruption to those of us using Github as a way of kicking off our deployment processes (myself included, I had to SSH in and run a git pull myself like some kind of savage).
Glossing over several more "And then things were still broken" sections of the post mortem; Clever engineers with their heads screwed on the right way successfully executed what i can only imagine was a large, complex and risky plan to untangle the mess and restore functionality. Github was picked up off the kitchen floor and promptly placed in a comfy chair with a sweet tea to recover. The enormous backlog of webhooks and Pages builds was caught up with and everything was more or less back to normal.
It goes to show that even the best laid plan rarely survives first contact with the enemy, In this case a failing 100G network link somewhere inside an east coast data center.
Link to the post mortem: https://blog.github.com/2018-10-30-...7
Have been trying to setup Netdata as a monitoring system for a while now and finally got it working!
Instead of the built-in webhooks I just did a curl to a url containing a php page/file which error logs the status and description (just for testing).
It took me way too long to get it to work but BAM.
Immediately made a new cpu load rule (one minute high load):
The satisfaction of getting an error message in the php logs containing my custom rule as warning and a minute later as critical 😍
Deadline is tomorrow as per this rant
I taught my boss how to work his way around spring-boot + maven + jpa, I did a really good job with the classes and interfaces so he could update the project while I was on my two week vacation.
I set up CI/CD so no one should have to ssh into servers to make master branch live and I set up webhooks on gitlab to warn me on slack if anyone pushed any code.
Tomorrow is the deadline.
Tomorrow is the last day of my vacation.
No pushes made to gitlab, hence no deployment trigerred.
I'm here wondering if the fucker will push it on the last minute just to fuck it up tremendously.
Tomorrow I'm going to the movies and gonna turn my phone off :)4
That moment you work out how to get Google Home to make webhook calls, setup a Rpi to accept incoming https requests, and can’t think of anything to actually make it do
Ideas welcome 😂😂8
24th, Christmas: BIND slaves decide to suddenly stop accepting zone transfers from the master. Half a day of raging and I still couldn't figure out why. dig axfr works fine, but the slaves refuse a zone update according to tcpdump logs.
25th, 2nd day: A server decides to go down and take half my network with it. Turns out that a Python script managed to crash the goddamn kernel.
Thank you very much technology for making the Christmas days just a little bit better ❤️
At least I didn't have anything to do during either days, because of the COVID-19 pandemic. And to be fair, I did manage to make a Telegram bot with fancy webhooks and whatnot in 5MB of memory and 18MB of storage. Maybe I should just write the whole thing and make another sacred temple where shitty code gets beaten the fuck out of the system. Terry must've been onto something...5
Two things before this all:
- I fucking love gitlab so far
- I miss the fuzzy searching from sublime text, as vsCode still can't do it properly..
I was fed up with all the shitty overbloated git deployment scripts, sync scripts, automatic backup solutions and hosted git servers out there, so now my own solution is:
- remote git cloned local files
- local files are synced via dropbox, to easily edit them on any device
- all changes and deleted files are saved up to 1 year on dropbox
- remote has gitlab running and webhooks setup
- the webhooks point to my node scripts, which then rebase the code to its dedicated dev server
- daily server backup with 7 days roll
- cold storage backup each 30 days
Sounds like overkill, but from my experience, you really can't have enough places that have a backup, especially coldstorage backups.
My goal in general though is to have everything on my computer backupped and ready to go asap, if something happens.
I wanted to just use a virtual machine for development stuff, but that wouldnt be able to run on my laptop, so I need a more general solution, where I sync all configs and all projects across. (and have some sort of basic list of tools needed, so I dont need to remember them)
Found for example something for vscode to sync its settings and plugins via any sort of git, will give it a try in near future too.7
@dfox Does devRant have webhooks? I would like to start processing rants and performing analytics on them but I don't want to tax your servers by polling for them.
All I need is a trigger when a new rant is created.14
Things that make you regret you are not a normal grunt in any other fucking job outside of software development...
Few years back we had the biggest customer ever close to signing contact with us (b2b). They had a CRM they wanted to connect to our CRM because their users didn't want to use IE with ActiveX anymore, the old software was a fucking RDP over IE to a server behind a VPN.
Boss brags how we can implement every API on Earth with our team and gets the contract signed. Technically not a lie but we agreed on a company meeting a few month prior to not implement each API for every customer but expose one ourselves because we had enough big customers on that one software to not want 100+ unique API connectors in our code.
So we apparently agreed to not only build our side of the API but also pay 2/3 of the bill of the other company for implement their shitty excuse of an API...
Fast forward a few month, talking to the other companies dev daily to get their API up and running, our part is long done. Finally get things set up and data flows... suddenly shit hits the fan. That shitty excuse of CRM can't expose the created and modified timestamps to the API. Webhooks never got implement and now we have no way of knowing which data changed because their side is completely passive.
Fast forward to a few weeks back. Still no solution. Shit is running, barely. Data inconsistency is low because everyone knows they should never change things in the old CRM because the changes might not be synced. (Only one indictor is a custom modified date on the main customer data that only updates if the main data was changed but there are 20+ different possible subsets. Can't get changes in subsets detected, like ever)
One fucking grunt updated 129 customer-profiles in the old CRM. Nothing was synced.
They still use the old shit for billing.
Their it-crowd-guy calls me up:
"Sorry but we need to generate the bills tomorrow and there seems to be some kind of desynchronization between the databases"
No shit? Someone did exactly what we told you not to do and now that one thing we warned you about happened but now it's our fault? Use the fucking force sync button we built for that purpose and that purpose alone. It will only take 7 days because that fucking SOAP API is slow as fuck and you have millions of datasets to sync...
Fml I might just try and jump out the window, sounds like a lot of fun in days like this.
tl;dr never implant against dynamics ax aif soap API if you want to keep some basic level of sanity2
So you may have noticed that I'm making a way to create devRant Webhooks (see last rant), but now I need you help:
What Webhooks would/could you need?
What does it do?
What additional fields does it need (for example for specific tags)?
What data does it send?
Thanks in advance!14
Do webhooks have some data structure standart, or it's just HTTP POSTing on a specified endpoint with JSON?3
Payment gateways are such a big pain to implement. Docs say that they will return values A,B,C but what you end up recieving is X,Y,Z.
And don't get me started on the webhooks, man they return values completely different values from the api end points and with no reference what so ever to the fields returned by them.
Wish i could get the documentation writer's address and may be the dev as well!!6
I currently use Github as my git server and have worked a little bit with Travis. Sadly Travis can't deploy to local network targets and that's why I had the idea to create my own basic CI for the local network: It will be a simple nodejs-app and listens to pushes via Github Webhooks. Then it fetches the code from Github and runs a task runner like Gulp over it and tests it with any nodejs testing framework. Then it deploys the compiled, tested and linted app to the local network. What do you think of this idea?8
First version of the devRant-Webhooks Front-End is up!
You can access it here: https://devrant-webhooks.clan.rip/
Would be nice if some of you could test it out, look for security leaks and generally give feedback!
Next Part is the actual core of devRant-Webhooks, which listens to events and executes the webhooks.
What are webhooks anyway? From what I read, they are just a fancy way of talking about APIs and HTTP requests.6
Me and my friend just launched the invitation phase for our paid service hookdoo at www.hookdoo.com
Service enables you to quickly set up webhooks with minimal effort that can run your code on your fleet of servers.
If you are interested, request an invitation.
I'll make sure to give devRant users a priority over others, and some bonus credits as well :-)6
Anyone with the guts to kick-start this can do so here (so that you can't get my IFTTT webhook key):
Is Amplify of AWS really no backend Development? Anyone of you has an app in production with this? I want to know, for example, when you need to add SMS validations or 3rd part payments or webhooks, are those features supported?2
Anyone have experience / opinions on Kafka? We currently don't have a messaging system like this, and I'm thinking it would be the best choice for things like providing webhooks because its persistent nature, instead of having a "synchronous" message queue that I push into and hope it gets handled. Might also want to store attempted webhook calls in a db but I don't know if that's overkill and could be done with just transforming messages (if they fail) and trying to handle them again.3
So I decided to collab with a website's maker (who i wont name here) to create something like r/place. (not an exact copy.)
I decided to start by learning their API, and customizing the server later.
I asked the guy for some help, and HOLY SHIT.
Let's start off by this: I had to request a chunk. The response data was in binary. 4 bits meant 1 pixel, so right away, I had to deal with that in my code.
No problem, just decided to use C# instead of JS. (see https://www.devrant.io/rants/547013)
I was finally done after a couple of mental breakdowns, and decided to implement updates.
I needed to use webhooks, and that was completely fine. But when I got "C1FFFF0000CA06" as response (in hex), I seeked some help.
C1 is the operation type: it means that a pixel was updated.
FFFF and 0000 were the chunk coordinates. But remeber: it's a signed integer. Guess what, I had to use Two's compliment. I decided to be a lazy asshole and only check for "00000000" because I was only displaying chunk 0,0.
CA06: This is a weird one. It's 2 bytes, and CA0 contains the X and Y coordinate of the pixel (in the chunk), and 6 contains the new color of the pixel.
I was sent the following code to work with 0xCA06:
color = 0xF & buffer
x = buffer >> 10
y = (buffer >> 4) & 0x3F
So I tried to do it, and it didn't work. I'm not blaming the developer of the server (original dev is reddit) because maybe I screwed up, but which guy will have a night of frustration and debugging?
P.S.: Dev, if you see this, I'm sorry. This API is way too complicated. I know we need to save bandwith and stuff, but damn.1
What is the easiest way to set up auto restart & deploy web app on git push..? I have tried one that requires hooks/post-receive (server-side) and a make file (local)...but I don’t know how to continue writing the make file after git-push.
Can I set up auto deployment if my repo is in bitbucket? Bitbucket allows set up Webhooks - they ask for a url..how should the url look like? Is it like “firstname.lastname@example.org:myrepo/hooks/post-receive”. ?4
Being a developer is similar to being an ordained minister, I just love getting to marry services together. Sometimes ones that don't even seem to match can make the best mates. Guess that's why I like playing with IFTTT and webhooks so often.
I've made an opensource project, some of you guys might find it useful. Simple, lightweight and fast tool/server that allows you to execute scripts/programs on incoming webhooks. Check it out at https://github.com/adnanh/webhook
So i have been after this null exception for days now in my webhook my senior gave me the asp
And they told me like make a new project out of it i kept on passing my dialogueflow agents and kept getting null exception and today i finally figured out it was the code for v1 of dialogueflow and today i wrote a new json parsing code and voila it passed im so happy but i encountered new error just few lines ahead about that unexpected character encountered ugh I'm so tired1