Belgium Discourse App
-
Bookmark this link and use in case of emergency.
Belgium Discourse AppVisit the page and show your support. every click literally count!
@accalia maybe you can embed this as a widget whenever http://isitjusmeorservercooties.com/ detect failure.
and allow user to release some steam.
-
-
Oooh, registered fucks.
-
I looked at the code and there appears to be a race condition if discourse is fucked multiple times during a 3 second period.
-
I looked at the code and there appears to be a race condition if discourse is fucked multiple times during a 3 second period.
When the countdown start, clicking the fuck button while in the countdown, should reset the countdown and postpone the request to the server. and you should be able to click the fuck button as many times as you want.
up to 100 per sync(not enforced client side).Did you find something that I missed?
-
What if two people notify the server that Discourse is fucked during the same 3 seconds?
-
Also, the app is saying 0, which I don't believe is true.
-
Also, the app is saying 0, which I don't believe is true.
I am looking into this, not sure what causing this.
What if two people notify the server that Discourse is fucked during the same 3 seconds?
Server side(node) I assume that each request will be processes sequentially.
by the event loop.
Persistent storage is updated only once every 5 minutes atomically, from an in memory counter.Heroku worker may go to sleep with inactivity.
I am not sure what kind of affect it has on the node service when it waked up.
could be that is why it is misbehaving.
-
User 1 gets count
User 2 gets count
User 1 increments count
User 2 increments count
User 1 sends count back to server
User 2 sends count back to serverEnd result: the count has increased by 1 instead of 2.
-
End result: the count has increased by 1 instead of 2.
This is how the counter update is being done:
User Load page User 1 gets Server.count User 2 gets Server.count User 1 increments Client.Increment ---> User see Server.count+Client.Increment User 2 increments Client.Increment ---> User see Server.count+Client.Increment User 1 sends counter increment to server ---> Client.Increment User 2 sends counter increment to server ---> Client.Increment Server (node,js) gets User1 increment request ---> request added to event loop for processing gets User2 increment request ---> request added to event loop for processing Processing: ---> process next() request in the event loop: | User 1 Server.InternalCounter += Request.Increment <--- return updated Server.InternalCounter to client Client update view with new counter. --------------------------------------------------------------------------- ---> process next() request in the event loop: | User 2 Server.InternalCounter += Request.Increment <--- return updated Server.InternalCounter to client Client update view with new counter. --------------------------------------------------------------------------- On a timer Flush Server.InternalIncrementsCounter to persistent storage every N minutes ( uses incremental update)
-
FYI
click button
hold down enter key
???
profit
-
profit
It is a stress reliever. so feel free to fuck discourse as much as you want.
maximum profit 100 clicks per sync.
-
@ben_lubar said:
Also, the app is saying 0, which I don't believe is true.
I am looking into this, not sure what causing this.
E_UINT_OVERFLOW?
-
I hope by persistent storage you don't mean the local file system, which is deleted on every reboot in Heroku.
-
E_UINT_OVERFLOW?
When that happened there was only a few hundreds fucks.
So I don't think we reached that number limit of JS, or the DBI hope by persistent storage you don't mean the local file system, which is deleted on every reboot in Heroku.
I am using Amazon DynamoDB, at the moment. Considering Heroku can put the instance to sleep on no activity. My persistence strategy is to flush to DB every 5 minutes if there is new data.
I think the sleep on no activity is around 30 minutes,Didn't really check, but if the instance prove stable I can probably increase the 5 minutes flush.I made some minor changes and redeployed. that fixed the counter.
It is possible that the instance restarted for some reason and it failed to pull the counter from DynamoDB.
initializing it with null.
I will probably add some checks for these cases.
-
maximum profit 100 clicks per sync.
$ watch curl 'https://floating-ocean-4733.herokuapp.com/count' -H 'Origin: https://floating-ocean-4733.herokuapp.com' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.8' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.37 Safari/537.36' -H 'Content-Type: application/json;charset=UTF-8' -H 'Accept: application/json, text/plain, */*' -H 'Referer: https://floating-ocean-4733.herokuapp.com/' -H 'Connection: keep-alive' --data-binary '{"counter":365}' --compressed Every 2.0s: ./tmp.script Wed Apr 22 23:17:37 2015 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 31 100 16 100 15 46 43 --:--:-- --:--:-- --:--:-- 46 {"counter":6971}
You've reinvented
SQLhit counters, but worse
filed under: layer 8 denial of service
-
Fucking discourse is not limited for human interaction.
It is not meant for automation tools though (running on a free heroku instance)You fuck discourse manually
-
It is not meant for automation tools though
Hey, just like Discourse
It's not on the same level, of course.
-
It's not on the same level, of course.
How long before you break javascript number E_UINT_OVERFLOW?
given 100 increment every 2 seconds
-
just like Discourse
all it takes to bring discourse down (10 requests)
/user_actions.json?offset=0&username=accalia&filter=2
-
feel free to fuck discourse
There is no form of condom that would make me feel safe doing this. Also, eww.
-
Oh come on ... you know you want to ... regrets are something that come after the sin
-
I don't recognize the concept of "sin".
I do, however, feel that Discourse's mental state is not of the kind that can even comprehend sex properly.
What is the PC term these days? "Mentally challenged"?
-
@Lorne_Kates said:
Disqus, as mentioned several times before, you do not have sex with. You fuck it with a leaky car battery. http://sevenseventeen.ca/disqus.html
This thing is kind of a classic.
Also: Earliest known discobashing?
-
Disqus, as mentioned several times before, you do not have sex with. You fuck it with a leaky car battery.
You can now fuck Discourse, too!
-
Closed WONTFIX.
i'd like to keep the site lighthearted and helpful. Linking to that sort of thing works against that purpose.
-
As a compromise, what about something similar to this?
-
that would be acceptable!
-
-
To maintain the theme, I think this should be used instead of the battery.
-
I you. Maybe. A little.
-
http://sevenseventeen.ca/disqus.html
/cc @Lorne_Kates
-
I think I might have gone mad (completely this time) and I'm the only person that sees @aliceif's posts on this forum.
Do you feel like a figment of my imagination lately, @aliceif?
-
what if i just wrote my posts directly into your mind?
Filed under: DMA, Don't pay attention to this post
-
Do you feel like a figment of my imagination lately, @aliceif?
So it's actually you who s me?
You creep.
-
I am fine with this. As long as you tag them properly so I don't inflate my post count unnecessarily.
-
-
Just watch out for the magical puppets. They tend to have knives.
-
I think I might have gone mad (completely this time) and I'm the only person that sees @aliceif's posts on this forum.
Who is this "aliceif" you're talking about?
-
Who is this "alice mergatroid" you're talking about?
She fills my screen with projectiles occasionally. Not sure what that has to do with anything. What is everyone talking about?
-
She fills my screen with projectiles occasionally. Not sure what that has to do with anything.
Probably more than you might think...
-
-
Time to hook it as an endpoint on servercooties?
"Discourse is down. So it the Belgium Discourse app. Truly, you are Belgiumed."
-
Also: Earliest known discobashing?
11-27-2013 9:17 AM
(Or as Discourse puts it, "1y+" or some stupid shit like that)
Wow, it's almost like one could tell Dishspores was going to be a flaming pile of douche just from viewing a single intro page written by it's creator. Funny that.
That Lorne Kates guy sure is a smart cookie. (And he's completely different from Lorne_Kates, because who the fuck would EVER want a space in their username YOURDOINGITWRONG!!!!!!!!!)
-
-
Search that actually works
BRB dying.
-
@Discourse said:
We have built in robust import and export tools, both for the site owner and for individual users.
They're so robust that they're too robust for the forum itself to handle.@Lorne_Kates said:
Populating a page with untrusted 3rd party content. What could possibly go wrong with that?
-
Search that actually works
BRB dying.
The search works-- at hijacking your browser shortcut (CTRL-F), so that you can't actually search on the page, and instead have to use a half-implemented and poorly performing server-side search to find text on an already rendered client-side page.
Y'know... "works".
-
Hit Ctrl+F twice; that 'works' ;)
-
obligatory F3 mention