Live data from Hacker News

The Case of the 50ms request

mysteries.wizardzines.com

31–40 of 88 posts

Re: The Case of the 50ms request

#31
post #29

All due respect, this is a neat advertisment for the "storytelling" Javascript library she is using, but I learn much more by reading W R Stevens' books. There is more to TCP/IP than what one can do through Berkeley sockets. Plus reading Stevens' books does not require Javascript.

Her pronouns are she/her.

just kill yourself

Re: The Case of the 50ms request

#32
post #28
post #25

Earlier quoted context omitted.

How would using curl -d make the problem obvious?

It wouldn't have split the request over separate sends. That's what flushHeaders() is doing; it does a separate send for headers vs the body of the request. https://nodejs.org/api/http.html#http_request_flushheaders

Ok, I think that would have helped me learn that the client can some how trigger the bug but I don't think it would have allowed me to narrow it down to flushHeaders.

Re: The Case of the 50ms request

#33
Error: >: error within widget contents (Error: cannot find a closing tag for HTML )

This hints to a possible XSS and/or code injection (not completely quoted input). Input was "strace -s128 -f -p " , as an answer to "how do you strace server process"

Re: The Case of the 50ms request

#35
That was exceptionally fun. I thought I had the answer but I was completely wrong. I shouldn't have stopped the debugging and rush to the solution. Unfortunately it is a game, and it allowed me to do it.

To me this seems pretty obscure and you debug pretty deep into and outside of your application. One part of me thinks of this as Somebody Else's Problem, but definitively makes me rethink it as a SEP and something devs should know about. Specially in time critical/real time systems.

Re: The Case of the 50ms request

#36

Earlier quoted context omitted.

It’s stateful. You can visit the same location with different states.

Thats what cookies are for.

What's with all the griping going on regarding javascript? Twine is made for these "choose your own adventure" type games, and it's faster to use it than handcode everything while serializing all your app state to a cookie.

What's next, a bunch of complaining that electron apps are slow? That people are writing video games in managed languages?

Re: The Case of the 50ms request

#37
Really nice game/tutorial.

The best job interview I ever had was framed like this. The interviewer told me there was a bug in the system and had a stack of pages he'd printed out that would provide successive clues as to what caused it. I could ask them questions, in effect using the interviewer as a search engine/debugger.

It was the closest an interview has ever come to simulating the day-to-day of a web developer.

Re: The Case of the 50ms request

#39

JavaScript is required. Please enable it to continue. No

I very much understand your frustration. Hate JS web page as well, but this kinda game multipage logic type of thing SPA is better. Just wish I can only give authorization to certain JS api.

> Just wish I can only give authorization to certain JS api.

This is already implemented in any browser I know, but for some reason it is available only to some functionality (microphone, camera etc.) but not for eg. Ajax, Cross-Origin Things, Websockets, Canvas2D, WebGL etc.

Also before executing any Javascript browsers should ask if you want this website to execute (potentially malicious) code on your computer!

Re: The Case of the 50ms request

#40
post #19

A few months ago there had been multiple articles about this behaviour but i really don‘t remember the details anymore. Does anyone know a writeup with a detailled explanation to understand how it is happening and tests to see whether your systems are affected?

There’s 5 links once you finish the puzzle
Post reply on HN