Live data from Hacker News

Elevator Saga: An elevator programming game (2015)

play.elevatorsaga.com

91–100 of 103 posts

Re: Elevator Saga: An elevator programming game (2015)

#91
post #29

I always wished elevator buttons could toggle. If you accidentally press the wrong floor, just press it again to cancel. This may not work in all situations, but in some situations, it could be a time saver.

I always try this if I accidentally press a button, or enter an empty lift with a few buttons pressed. One glorious day in a hotel in Penang, I double-pressed a button and my dreams came true, lights out. That one experience will be enough to keep my dreams alive for decades to come

Re: Elevator Saga: An elevator programming game (2015)

#92

What am I doing wrong? for(elevator of elevators) { elevator.on('idle', () => { //do some logic with elevator }) } It only seems to run for the second elevator rather than both of them?

You should be able to accomplish the same with elevators.forEach((elevator) => {})

Re: Elevator Saga: An elevator programming game (2015)

#93
post #88
post #18

Earlier quoted context omitted.

This is the problem - if the system goes beyond “what floor should I idle at” and “do I idle door open” people get mad at it because of apparent unfairness and inefficiency even if it is actually more efficient overall. Same thing happens with traffic lights.

This got downvoted, but I’m pretty sure it is objectively correct. I feel like the same sentiment occurs with one queue vs multiple queues.

Continued small motion in a long single queue feels “fairer” than multiple queues - and may actually be.

But I also know most people prefer a driving trip where they’re continually moving rather than one where they’re basically stopped - even if the second is shorter in time.

“Apparent fairness” is an important design criteria for dealing with the public. Even if the system is actually incredibly unfair.

Re: Elevator Saga: An elevator programming game (2015)

#94
We're building an API to monitor elevators and stuff inside buildings. There are smart and dumb elevators. In any case, no one is actively using the data yet to improve our experiences like mentioned on this thread...sometimes we just wish we knew when to take the stairs.

If you're curious to view the kind of data streaming from a building or basic elevator, see here: (https://onboarddata.io/), python SDK is on Github (https://github.com/onboard-data/client-py). Every building is different. Some elevators have data on flooding, weight, inspection, electricity usage, while others do not.

Re: Elevator Saga: An elevator programming game (2015)

#96
post #60

Call me weird, but I’ve been fascinated by elevator logic since I was a child. I had a math curiosities book that dedicated a chapter to it and after reading that I was hooked on knowing more. I wish my knowledge of JavaScript was more than “programming language that’s not Java” so I could actually play this. Could anyone recommend an online introduction to JS so I can attempt to play this? I’m more of a bash guy.

https://www.codecademy.com

I didn't finish, but I recall enjoying their intro to JS, and managed to write a few working things hah

Re: Elevator Saga: An elevator programming game (2015)

#97

We're building an API to monitor elevators and stuff inside buildings. There are smart and dumb elevators. In any case, no one is actively using the data yet to improve our experiences like mentioned on this thread...sometimes we just wish we knew when to take the stairs. If you're curious to view the kind of data streaming from a building or basic elevator, see here: ( https://onboarddata.io/ ), python SDK is on Git…

Most hotels I've stayed at seem to be significantly limited on speed; anything <=5 floors is almost always faster to just head for the stairs and not even bother waiting. After a week, it's 6 floors.

Re: Elevator Saga: An elevator programming game (2015)

#99
post #92

What am I doing wrong? for(elevator of elevators) { elevator.on('idle', () => { //do some logic with elevator }) } It only seems to run for the second elevator rather than both of them?

You should be able to accomplish the same with elevators.forEach((elevator) => {})

It could, but favouring FP I'd use for..of for imperative loops where I need to do side-effects, or use .map which is nicer anyway.

Re: Elevator Saga: An elevator programming game (2015)

#100
post #29

I always wished elevator buttons could toggle. If you accidentally press the wrong floor, just press it again to cancel. This may not work in all situations, but in some situations, it could be a time saver.

Many modern ones in high rise buildings require you to scan a key fob and/or enter the desired floor number, then it tells you which elevator to go wait at. The ones with the key fob often replace your previous selection automatically. There are not buttons in this style of elevator other than door open door close and call for help.

A so-called "lobby system". Works well, IFF people understand that 1 passenger 1 press, instead of having a group of (say) 5 having only one in the group press, then all of them piling in.

Used correctly, it can massively improve the elevator usage experience. Used incorrectly, it ends up being worse than a "indicate travel direction" system.

Having used it in 3 (I think) buildings with this system, it was definitely used correctly in one, definitely NOT used correctly in another and in the third, I was mostly present sufficiently outside normal working hours that I cannot with certainty state how it was used.

Post reply on HN