Log from 2016-07-20:
Jul 20 03:10:03 2016 <wrtlprnft> Or never execute in the first place
Jul 20 03:10:27 2016 <wrtlprnft> I never suggested using tcp for a game
Jul 20 04:09:23 2016 <luke-jr> Lucifer_arma: … that's just bad code in Freeciv
Jul 20 04:09:31 2016 <luke-jr> TCP doesn't mandate blocking every client like that
Jul 20 04:11:15 2016 <Lucifer_arma> they could also do it in a different thread and it wouldn't block everybody (probably a different thread for each player, though, which admittedly would be a pain in the ass)
Jul 20 04:11:44 2016 <Lucifer_arma> wrtlprnft: no, didn't suggest you did. Comparing freeciv, another popular networked game, that's all.
Jul 20 04:11:55 2016 <Lucifer_arma> which made a few bad decisions along the way.
Jul 20 04:12:08 2016 <Lucifer_arma> sadly, now they're married to tcp, which is a DUMB decision on their part.
Jul 20 04:13:14 2016 <Lucifer_arma> but when you look at the protocol, you see why they rely on it so much. When you click on a unit, your client sends the server a message saying "I just picked this unit". Then the server acks that. Then you move it, and your client tells the server "I moved it <here> (only one space away)" and the server acks that and sends an object update
Jul 20 04:13:32 2016 <Lucifer_arma> their protocol is, imo, an excellent example of what not to do
Jul 20 04:14:04 2016 <luke-jr> lol
Jul 20 04:14:11 2016 <Lucifer_arma> if I were to write it, you'd select your unit and move it, and then your client would tell the server "I moved object <id> from <start> to <finish>". The server would validate the move and then ack it, assuming it was a valid move.
Jul 20 04:14:23 2016 <luke-jr> no kidding
Jul 20 04:14:54 2016 <Lucifer_arma> if not, it would update the object with a message basically saying "Stop trying to cheat, asshole"
Jul 20 04:14:59 2016 <luke-jr> lol
Jul 20 04:15:36 2016 <luke-jr> but, it allows all the rules to be server-side to at least attempt it client-side
Jul 20 04:15:40 2016 <Lucifer_arma> the client could even send the path so the server only has to validate the path walked.
Jul 20 04:16:06 2016 <Lucifer_arma> it does do that, luke-jr, but the problem is that it does it in too much of a hands-on position.
Jul 20 04:16:21 2016 <luke-jr> sure, I just mean in re "Stop trying to cheat" msg
Jul 20 04:16:25 2016 <Lucifer_arma> because then you get the client timing out problem where you're timing out, so I can't move my engineers
Jul 20 04:16:26 2016 <luke-jr> simply gracefully fail
Jul 20 04:16:56 2016 <Lucifer_arma> the server still has to enforce the rules and keep the game world sane
Jul 20 04:17:25 2016 <Lucifer_arma> so when, like now, you move a piece using the goto feature, and it encounters a previously unseen enemy and can't move, the client would send the complete path to the server
Jul 20 04:17:41 2016 <Lucifer_arma> the server would check each move in the path, find the previously unseen enemy, and stop the unit like it already does
Jul 20 04:18:02 2016 <Lucifer_arma> then it would send the update of the object which includes the path it actually walked and where it stopped.
Jul 20 04:18:18 2016 <luke-jr> seems like a nice night to go out trespassing on someone's property to catch pokemon and get shot at
Jul 20 04:18:19 2016 <Lucifer_arma> the client GUI should then move to show the stopped unit and why.
Jul 20 04:19:16 2016 <Lucifer_arma> but nowhere is tcp required. The client sends the move, it expects an ack, and it's an important ack. If it doesn't get the ack in a reasonable period of time (this is where Z-man was talking about some things being so important you just send them several times), then it resends.
Jul 20 04:19:38 2016 <luke-jr> meh, freeciv isn't that time sensitive
Jul 20 04:19:48 2016 <luke-jr> waiting 3 seconds to resend would be fine as long as it's not close to timeout
Jul 20 04:20:03 2016 <Lucifer_arma> I'm certain that if I give enough attention to freeciv, I could write a client that takes advantage of the tcp sockets used by the server to cheat horrendously
Jul 20 04:20:22 2016 <Lucifer_arma> it's tempting to do exactly that as a way to protest their shitty network layer and get them to write a better one
Jul 20 04:20:39 2016 <Lucifer_arma> but man, have you talked to freeciv developers? They're pretty arrogant.
Jul 20 04:20:57 2016 <luke-jr> have you seen Pokemon GO's protocol? :P
Jul 20 04:21:03 2016 <luke-jr> HTTP requests for everything
Jul 20 04:21:07 2016 <Lucifer_arma> really?
Jul 20 04:21:09 2016 <luke-jr> yes
Jul 20 04:21:18 2016 <luke-jr> it's pretty ugly
Jul 20 04:21:20 2016 <Lucifer_arma> that's actually not surprising, a lot of mobile apps use HTTP for everything
Jul 20 04:21:30 2016 <luke-jr> probably to get past firewalls
Jul 20 04:21:33 2016 <Lucifer_arma> it's scary and dumb how many apps use HTTP for their networking
Jul 20 04:21:55 2016 <Lucifer_arma> you could do a udp-based protocol on port 80 and get past firewalls
Jul 20 04:21:59 2016 <Lucifer_arma> well, most, anyway
Jul 20 04:22:01 2016 <luke-jr> not if they're HTTP proxies
Jul 20 04:22:03 2016 <luke-jr> :P
Jul 20 04:22:19 2016 <luke-jr> I put my SSH server on port 443, but some firewalls actually check for TLS :/
Jul 20 04:22:20 2016 <Lucifer_arma> that's a different situation, of course ;)
Jul 20 04:22:52 2016 <Lucifer_arma> that reminds me that I need to open the ssh port for my local server
Jul 20 04:23:03 2016 <Lucifer_arma> need my kids to be able to use bzr+ssh urls
Jul 20 04:23:16 2016 <luke-jr> there's a freaking Pikachu in my neighbor's yard
Jul 20 04:23:33 2016 <Lucifer_arma> my youngest wants to learn how to program, and he loves playing video games, so I'm thinking he can bite the bullet and learn enough java to play robocode
Jul 20 04:23:44 2016 <Lucifer_arma> what he learns there will translate to python or any other language
Jul 20 04:24:03 2016 <luke-jr> not necessarily
Jul 20 04:24:15 2016 <luke-jr> Java doesn't quite have pointers and manual memory management
Jul 20 04:24:19 2016 <Lucifer_arma> concepts will. Syntax won't, for the most part.
Jul 20 04:24:25 2016 <luke-jr> and it's certainly no functional programming
Jul 20 04:24:30 2016 <Lucifer_arma> neither does python, and python's what he really wants to learn
Jul 20 04:24:37 2016 * luke-jr stabs Python
Jul 20 04:24:40 2016 <Lucifer_arma> because that's what we use around here. We're a python home.
Jul 20 04:24:49 2016 <Lucifer_arma> fuck you and your python hate!
Jul 20 04:25:01 2016 <luke-jr> no u
Jul 20 04:25:09 2016 <luke-jr> why are you keeping me awake anyway
Jul 20 04:25:12 2016 <luke-jr> goodnight
Jul 20 04:25:13 2016 <Lucifer_arma> python:programming::english:international trade
Jul 20 04:25:55 2016 <Lucifer_arma> luke-jr: ping
Jul 20 04:25:59 2016 <luke-jr> die
Jul 20 04:26:07 2016 <Lucifer_arma> what? did I say something?
Jul 20 04:27:08 2016 <Lucifer_arma> luke-jr: ping
Jul 20 04:36:03 2016 <Lucifer_arma> luke-jr: ping
Jul 20 04:41:42 2016 <wrtlprnft> Lucifer_arma: t
Jul 20 04:42:12 2016 <Lucifer_arma> t?
Jul 20 04:42:23 2016 <wrtlprnft> there is no technical reason for firewalls to treat UDP port 80 in any special way
Jul 20 04:43:18 2016 <Lucifer_arma> um, allow it? I suppose I realize that firewalls do differentiate between tcp and udp traffic
Jul 20 04:43:32 2016 <wrtlprnft> Maybe some firewalls are poorly configured
Jul 20 04:44:09 2016 <Lucifer_arma> honestly, I don't care about this issue and have no interest in discussing it, which shouldn't be a surprise since luke-jr brought it up ;)
Jul 20 04:44:37 2016 <Lucifer_arma> but I have to admit I'm tempted to try a bit of pokemon go, just to see what all the hoopla is about
Jul 20 04:44:45 2016 <wrtlprnft> That's fine with me
Jul 20 04:45:13 2016 <wrtlprnft> Meh, i would need a spare smartphone for that
Jul 20 04:45:20 2016 <Lucifer_arma> spare?
Jul 20 04:45:29 2016 <Lucifer_arma> you're not willing to try it on your current phone?
Jul 20 04:45:38 2016 <wrtlprnft> No way this app is getting installed on my phone
Jul 20 04:45:49 2016 <Lucifer_arma> I realize there are huge privacy issues, and people have been robbed/raped/etc playing it
Jul 20 04:46:11 2016 <wrtlprnft> It requests every permission android has
Jul 20 04:46:22 2016 <Lucifer_arma> heh, if it can be cleanly uninstalled..... (but the "cleanly" part is the rub)
Jul 20 04:46:36 2016 <Lucifer_arma> I just said I was tempted, not that I'm actually going to do it
Jul 20 04:46:48 2016 <Lucifer_arma> especially since you say it requests every damn permission
Jul 20 04:47:01 2016 <Lucifer_arma> that's a red flag. Nothing except the OS itself needs every damn permission.
Jul 20 04:47:33 2016 <Z-Man> My own phone can't run PokeGo, so I sent a remote install order of it to my wife's phone.
Jul 20 04:47:39 2016 <Lucifer_arma> hell, I'm already sick of installing apps that request permissions they don't need just so they can feed me ads I don't want to see
Jul 20 04:47:40 2016 <wrtlprnft> Probably after it sends all your contacts to nintendo, it will uninstall cleanly
Jul 20 04:47:42 2016 <Z-Man> She won't let me play it, though :(
Jul 20 04:47:59 2016 <Lucifer_arma> Z-Man: haha, you're pok blocked
Jul 20 04:49:01 2016 <wrtlprnft> Heh, maybe i could get my gf to install it
Jul 20 04:49:21 2016 <Lucifer_arma> my wife won't. If I asked her, she'd laugh in my face. She's so awesome.
Jul 20 04:49:25 2016 <wrtlprnft> She already has an iphone, so what does she care? :-D
Jul 20 04:49:39 2016 <Lucifer_arma> yeah, she already doesn't care about her rights as a person if she bought that shit
Jul 20 04:50:04 2016 * Lucifer_arma thinks that smartphones has made him simultaneously more pragmatic and more idealistic.
Jul 20 04:50:12 2016 <Lucifer_arma> *have
Jul 20 04:51:23 2016 <Lucifer_arma> but man, the ads. Why? Why does my flashlight advertise <some random shit>? WHY?
Jul 20 04:51:42 2016 <Lucifer_arma> (Ok, I'm now running a more recent android that has a built-in flashlight, but you get the idea)
Jul 20 04:52:22 2016 <wrtlprnft> Generally, one can live pretty well with only apps from f-droid
Jul 20 04:52:51 2016 <Lucifer_arma> f-droid?
Jul 20 04:53:20 2016 <wrtlprnft> App store for free/libre/whatever apps
Jul 20 04:55:25 2016 <wrtlprnft> Also, their website lets you download the .apk files, you don't have to install their store app if you don't want to
Jul 20 04:56:30 2016 <Lucifer_arma> I just googled it and peed, and only one of those things are you interested in
Jul 20 04:56:47 2016 <Lucifer_arma> I'm installing that shit, because I'm sick of trying to find the Free stuff on google play
Jul 20 04:56:50 2016 <Lucifer_arma> thank you
Jul 20 04:56:56 2016 <wrtlprnft> yw :-)
Jul 20 04:58:31 2016 * wrtlprnft hopes there wasn't a strong causality between those things, and if there was, that you at least were prepared for the second thing
Jul 20 04:59:03 2016 <Lucifer_arma> no, beer. The googling it part was because I realized right after I asked that I can google it.
Jul 20 04:59:19 2016 <Lucifer_arma> I felt dumb even asking at that point. I must be getting old. I even bought reading glasses!
Jul 20 04:59:40 2016 <wrtlprnft> Remember: don't drink and root!
Jul 20 04:59:46 2016 <Lucifer_arma> (to read the really tiny text on computer components. My wife's still pissed at me, because she's half-blind without her contacts)
Jul 20 05:00:23 2016 <Lucifer_arma> (in fact, her contacts don't correct her vision to be as good as my vision, even with it starting to decrease in quality as it is now)
Jul 20 05:00:39 2016 <Lucifer_arma> (that explains why she thinks I'm so hot. I hope her vision never gets corrected!)
Jul 20 05:01:37 2016 <wrtlprnft> Then lets hope your looks don't degrade as quickly as her vision
Jul 20 05:01:49 2016 <wrtlprnft> *'
Jul 20 05:02:17 2016 <Lucifer_arma> I will hope that. However, it's worth pointing out that people are now consistently estimating my age as younger than I am. I guess that means I'm aging well.
Jul 20 05:02:37 2016 <Lucifer_arma> of course, I'm only 41 (soon to turn that magical age), so it's not like I'm all that old or anything
Jul 20 05:03:04 2016 <Lucifer_arma> also: luke-jr: ping
Jul 20 05:03:25 2016 <Lucifer_arma> If he didn't mute his shit, I've got some payback for him, heh
Jul 20 05:03:27 2016 <wrtlprnft> ljrbot: ping
Jul 20 05:03:27 2016 <ljrbot> pong
Jul 20 05:03:50 2016 <Lucifer_arma> I got the MAME rom for pong, and it runs like crap. Can't even play it.
Jul 20 05:04:03 2016 <Lucifer_arma> on the flip side, I played MULE with my kids and we had a bitchin' time.
Jul 20 05:04:16 2016 <Lucifer_arma> <3 8-bit games
Jul 20 05:06:09 2016 <Lucifer_arma> that reminds me, among my current projects, I need to change all the emulators to use the same keybinds for the same functions
Jul 20 05:06:46 2016 * Lucifer_arma is sorta working on a linux distribution that will server as a gaming console, using emulators to play the retro games. Like SteamOS, but better.
Jul 20 07:17:13 2016 * ct|kyle (~email@example.com) has joined #armagetron
Jul 20 07:49:07 2016 <Z-Man> Lucifer_arma: You may want to have a look at RetroPIE, looks like it's what you want for the pi. It's not really a distribution, though, just one gigantic script installing tons of stuff from regular debian sources. May work on regular PCs, too, dunno.
Jul 20 12:47:14 2016 <luke-jr> [08:45:49] <Lucifer_arma> I realize there are huge privacy issues, and people have been robbed/raped/etc playing it <-- I wouldn't be surprised if it's because they put the PGO locations at the same places as Ingress locations ;)
Jul 20 12:47:20 2016 <luke-jr> wrtlprnft: not every permission
**** BEGIN LOGGING AT Sat Jul 23 23:13:28 2016
View entire month
DISCLAIMER: These logs of public chat may contain some content which may not be appropriate for all audiences. Use at your own risk.
Logs from 2006-2009 pulled from wrtlprnft
Format changes at: 2015-08-25, 2017-02-20, and 2020-03-23. Times (2015 and later) should be Eastern.