code logs -> 2015 -> Sun, 09 Aug 2015< code.20150808.log - code.20150810.log >
--- Log opened Sun Aug 09 00:00:00 2015
00:10 Meatyhandbag [sebastianfe@Nightstar-5ul.ukq.53.184.IP] has joined #code
00:22 Meatyhandbag [sebastianfe@Nightstar-5ul.ukq.53.184.IP] has quit [Ping timeout: 121 seconds]
00:51
<&McMartin>
Oh hey, Rust 1.2 is out.
00:51
<&McMartin>
And the APIs I needed for my gameblog program are actually all stable now.
00:51
<&McMartin>
Like, um, to_lowercase
00:52
<&McMartin>
And the std::fs calls relating to the creation of directories.
01:10
<&ToxicFrog>
Directory creation :(
01:10
<&ToxicFrog>
At some point I'm going to have to actually handle that properly in ttymor
01:10
<&ToxicFrog>
Right now I just shell out to mkdir -p, which is half the reason it won't work on windows
01:10
<&ToxicFrog>
(the other half is that it blindly assumes you're using a vt220 compatible terminal)
01:11
<&McMartin>
Yep
01:11
<&McMartin>
Like, I don't begrudge them taking three full releases to get this stable~
01:11
<&McMartin>
Python's os.makedirs() is pretty much my cross-platform way to do this.
01:13
<&McMartin>
(And rust now has std::fs::create_dir_all.)
01:14
<@celticminstrel>
Boost has one too.
01:15
<&McMartin>
Yep
01:15
<&McMartin>
I'm not sure how much of boost::filesystem was imported into the three advanced C++ standards.
01:15
<&McMartin>
Or which ones.
01:15
<&McMartin>
C++11 seems to have Not Had Much.
01:16
<&McMartin>
(While getting a lot of boost::chrono, boost::date_time, boost::thread, and boost::smart_ptr)
01:16
<@celticminstrel>
C++11 didn't include the filesystem library.
01:16
<@celticminstrel>
I have no idea what happened in C++14.
01:16
<&McMartin>
Or 17!
01:16
<@celticminstrel>
Or what's happening in C++17.
01:16
<&McMartin>
17 is going to get an Either type, though <3
01:17
<@celticminstrel>
Eh?
01:17
<@celticminstrel>
Like boost::variant?
01:17
<&McMartin>
Closer to rust's Result type.
01:17
<@celticminstrel>
I don't know rust.
01:17
<&McMartin>
"Either" is actually a Haskellism
01:17
<&McMartin>
It's, um, basically
01:18
<&McMartin>
Either<a,b> is struct { bool is_an_a; union { a a; b b; } val; }
01:18
<&McMartin>
But with blocks on it so that you can't extract a or b without confirming its type.
01:18 ion [Owner@Nightstar-ck1244.bchsia.telus.net] has joined #code
01:18
<@celticminstrel>
I thought that was what boost::variant was.
01:18
<&McMartin>
The most common usage for it - and why Rust renamed it "Result" - is Either<ResultTypeOfSuccess, Error>
01:19
<&McMartin>
... I may have boost::variant and boost::any confused
01:19
<@celticminstrel>
I haven't actually used boost::variant.
01:19
<&McMartin>
If I do, I suspect boost::variant is a more general implementation of algebraic data types
01:19
<@celticminstrel>
boost::any can, as its name implies, hold anything.
01:19
<&McMartin>
The effect of Either (or Result) is essentially "this function returns an error code that the compiler verifies you checked before you tried to use the result"
01:20
<&McMartin>
Which I consider strictly better than returning an ordinary error code, and also strictly better than exceptions.
01:20
<&McMartin>
I dislike exceptions.
01:20
<@celticminstrel>
Hm.
01:21 * McMartin looks at boost::variant
01:21
<&McMartin>
boost::variant is the superclass of this; it's the ADT system.
01:21 * celticminstrel does too.
01:21
<&McMartin>
That's ML-style datatypes, implemented with templates.
01:22
<@celticminstrel>
Yeah, that's what I thought it was, a safe union.
01:22
<&McMartin>
And with a choice of static vs. dynamic checking
01:23
<&McMartin>
It seems that parts of this made it into C++17 though I'm not finding the proposal I found when I went looking.
02:00 ion [Owner@Nightstar-ck1244.bchsia.telus.net] has quit [Ping timeout: 121 seconds]
02:01 ion [Owner@Nightstar-ck1244.bchsia.telus.net] has joined #code
02:06 ion [Owner@Nightstar-ck1244.bchsia.telus.net] has quit [Connection reset by peer]
02:09 ion [Owner@Nightstar-ck1244.bchsia.telus.net] has joined #code
02:37 ion [Owner@Nightstar-ck1244.bchsia.telus.net] has quit [Ping timeout: 121 seconds]
02:46 catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code
02:50 catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: ]
02:50 catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code
02:53 * Vornicus starts actually figuring out angular
02:54
<@celticminstrel>
I keep hearing about that but still don't know what it is.
02:59
<~Vornicus>
Angular is - declarative dynamic HTML, approximately
03:01
<~Vornicus>
You know how, normally when you have a web application, in order to make that web application's data change in accordance with changes in data, you must describe how to actually change the html to match?
03:04
<~Vornicus>
angular makes it so that the html automatically updates itself.
03:04
<@celticminstrel>
I see...
03:04
<~Vornicus>
Here's a snippet from my current thing: <li ng-repeat="player in playerList.players">{{player}}</li>
03:08
<~Vornicus>
I have written no code to inform angular when this might change; instead, it watches for changes and updates the DOM accordingly.
03:09 ion [Owner@Nightstar-ck1244.bchsia.telus.net] has joined #code
03:13 catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: ]
03:14
<~Vornicus>
It can also watch form inputs, and will update those inputs' class attributes as it changes to show what's happening. I've got a thing on there that marks fields that aren't valid in red: .ng-dirty.ng-invalid { background-color: #fcc; }
03:15
<~Vornicus>
And as I type into the field, it will change to red if something makes the field invalid.
03:16
<~Vornicus>
Just now, and the reason I think I'm getting the hang of angular, is I made a directive called 'uniq', which makes it so <input ... uniq="playerList.players"> will come up as invalid when the input value matches something already in playerList.players
03:19 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [Connection reset by peer]
03:20 catadroid [catalyst@Nightstar-e019ic.dab.02.net] has joined #code
03:25 ion [Owner@Nightstar-ck1244.bchsia.telus.net] has quit [Ping timeout: 121 seconds]
03:25 ion [Owner@Nightstar-ck1244.bchsia.telus.net] has joined #code
03:36 ion [Owner@Nightstar-ck1244.bchsia.telus.net] has quit [Ping timeout: 121 seconds]
03:57 Meatyhandbag [sebastianfe@Nightstar-5ul.ukq.53.184.IP] has joined #code
05:42 Checkmate [Z@Nightstar-pdi1tp.customer.tdc.net] has quit [Ping timeout: 121 seconds]
06:10 Meatyhandbag [sebastianfe@Nightstar-5ul.ukq.53.184.IP] has quit [Ping timeout: 121 seconds]
06:15 Kindamoody|autojoin is now known as Kindamoody
06:23 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed]
06:31 ion [Owner@Nightstar-ck1244.bchsia.telus.net] has joined #code
06:39 Thalass [thalass@Nightstar-m49.o7s.158.104.IP] has quit [Ping timeout: 121 seconds]
06:45 ion [Owner@Nightstar-ck1244.bchsia.telus.net] has quit [Ping timeout: 121 seconds]
06:55 Checkmate [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code
06:55 mode/#code [+o Checkmate] by ChanServ
07:26 Checkmate [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
07:34 Alek [Alek@Nightstar-03ja8q.il.comcast.net] has quit [[NS] Quit: hrm]
08:02 Alek [Alek@Nightstar-03ja8q.il.comcast.net] has joined #code
08:02 mode/#code [+o Alek] by ChanServ
08:35 celticminstrel [celticminst@Nightstar-47dckm.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
08:56 catadroid` [catalyst@Nightstar-ndh970.dab.02.net] has joined #code
09:00 catadroid [catalyst@Nightstar-e019ic.dab.02.net] has quit [Ping timeout: 121 seconds]
09:56 Kindamoody is now known as Kindamoody|out
10:09 macdjord|AnimeCon is now known as macdjord|slep
10:15 catadroid` is now known as catadroid
10:19 Kindamoody|out [Kindamoody@Nightstar-0lgkcs.tbcn.telia.com] has quit [Ping timeout: 121 seconds]
10:27 ion [Owner@Nightstar-q53tla.vs.shawcable.net] has joined #code
11:10 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
11:37 catadroid [catalyst@Nightstar-ndh970.dab.02.net] has quit [[NS] Quit: Bye]
11:42 catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code
13:52
<@Wizard>
https://www.reddit.com/r/netsec/comments/3gbekl/x86_design_flaw_allowing_univers al_privilege/
14:04 Checkmate [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code
14:04 mode/#code [+o Checkmate] by ChanServ
14:12
< [R]>
Tumbl would love that.
14:12
< [R]>
Tumblr*
14:20 kourbou [kourbou@Nightstar-deqg8j.fbx.proxad.net] has joined #code
15:01 kourbou is now known as kourbou|afk
15:08 kourbou|afk [kourbou@Nightstar-deqg8j.fbx.proxad.net] has quit [Connection reset by peer]
15:13 Red_Queen [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code
15:13 mode/#code [+o Red_Queen] by ChanServ
15:13 VirusJTG_ [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
15:15 Checkmate [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
15:16 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [Ping timeout: 121 seconds]
15:17 Red_Queen [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
16:08 Checkmate [Z@Nightstar-ev6.6um.94.83.IP] has joined #code
16:08 mode/#code [+o Checkmate] by ChanServ
16:44 celticminstrel [celticminst@Nightstar-47dckm.dsl.bell.ca] has joined #code
16:44 mode/#code [+o celticminstrel] by ChanServ
16:55 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code
16:55 mode/#code [+qo Vornicus Vornicus] by ChanServ
16:55 gnolam [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has joined #code
16:55 mode/#code [+o gnolam] by ChanServ
17:16 NSGuest50796 is now known as EvilDarkLord
17:33 kourbou [kourbou@Nightstar-deqg8j.fbx.proxad.net] has joined #code
17:45
< kourbou>
Do I need some sort of database like SQLite for an authentication server? I've never really worked on authentication before.
17:47
<&ToxicFrog>
Depends on what you're authenticating against.
17:47
< kourbou>
Just a login for an indie game server.
17:47
< kourbou>
You know, classic Login/pass.
17:48
<&ToxicFrog>
Aah.
17:48
<&ToxicFrog>
You probably want a database, then, yes.
17:49
<&ToxicFrog>
TweakDB support is working: http://imgur.com/yNFMXGD.png
17:51
< kourbou>
Eh I'll work on Auth later.
17:55
< [R]>
kourbou: what language?
17:55
< kourbou>
C# (dunz hate pls)
17:55
< kourbou>
:P
17:56
< kourbou>
I have no idea how SQL works, so maybe I need to learn that first.
17:56
< [R]>
Dunno
17:56
< [R]>
If you were using something less bound, I could probably suggest a lighter key/value storage.
17:56
< [R]>
Maybe there's BDB bindings for C#?
17:56
< kourbou>
Just a Dictionary, hmm?
17:56
< kourbou>
BDB?
17:57
< [R]>
Yup: http://docs.oracle.com/cd/E17076_04/html/programmer_reference/csharp.html
17:57
< [R]>
https://www.google.ca/search?q=berkeley+DB+C%23&ie=utf-8&oe=utf-8&aq=t&rls=org.m ozilla:en-US:official&client=firefox-a&channel=fflb&gfe_rd=cr&ei=WIbHVYTlEqii8we vlYywCg
17:57
< kourbou>
My question is why can I not just make a key/value thing on my own.
17:58
< [R]>
BDB is a really old key-value store. Should be simple enough for your usage.
17:58
< [R]>
You could.
17:58
< [R]>
Do what SocketMUD does (except less shitty)
17:58
< kourbou>
Then why do people go through the pain of setting up an SQL server? o-o
17:58
< [R]>
...
17:59
< [R]>
Because they're storing data that's massively more complex?
17:59
< kourbou>
Ah.
18:00
< [R]>
Like transaction data.
18:00
< [R]>
Also they need the data accessible from multiple hosts.
18:00
< kourbou>
Oh!
18:00
< kourbou>
Right.
18:00
< kourbou>
Makes more sense.
18:00
< [R]>
Because SPoF is a thing
18:20 catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: ]
18:37 catadroid [catalyst@Nightstar-kc6e78.dab.02.net] has joined #code
19:25 Meatyhandbag [sebastianfe@Nightstar-5ul.ukq.53.184.IP] has joined #code
20:28 ion [Owner@Nightstar-q53tla.vs.shawcable.net] has quit [Ping timeout: 121 seconds]
20:38 kourbou [kourbou@Nightstar-deqg8j.fbx.proxad.net] has quit [Connection reset by peer]
20:56 Checkmate [Z@Nightstar-ev6.6um.94.83.IP] has quit [Ping timeout: 121 seconds]
20:59 catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code
21:11 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed]
21:21 Meatyhandbag [sebastianfe@Nightstar-5ul.ukq.53.184.IP] has quit [Ping timeout: 121 seconds]
21:45 Meatyhandbag [sebastianfe@Nightstar-5ul.ukq.53.184.IP] has joined #code
21:57 catadroid` [catalyst@Nightstar-2qngk8.dab.02.net] has joined #code
21:58
< Meatyhandbag>
Hey, I was wondering. how might someone go about trying to program something to notice when a beat is being kept?
21:58
< Meatyhandbag>
Like, I know you could create a beat and make it so that it should follow that beat. but a way for any beat, to be recognised, so long as it is repetitive
21:59 catadroid [catalyst@Nightstar-kc6e78.dab.02.net] has quit [Ping timeout: 121 seconds]
22:05 Kindamoody|autojoin [Kindamoody@Nightstar-0lgkcs.tbcn.telia.com] has joined #code
22:05 mode/#code [+o Kindamoody|autojoin] by ChanServ
22:06 Kindamoody|autojoin is now known as Kindamoody
22:18 Meatyhandbag [sebastianfe@Nightstar-5ul.ukq.53.184.IP] has quit [Ping timeout: 121 seconds]
22:19 Meatyhandbag [sebastianfe@Nightstar-5ul.ukq.53.184.IP] has joined #code
22:48 Kindamoody is now known as Kindamoody[zZz]
22:54
<&McMartin>
Meatyhandbag: Hmm. That seems like the problem Audiosurf, Melody's Escape, etc. solve.
22:54
< Meatyhandbag>
audio surf?
22:55 Checkmate [Z@Nightstar-pdi1tp.customer.tdc.net] has joined #code
22:55 mode/#code [+o Checkmate] by ChanServ
22:56
<&McMartin>
http://www.audio-surf.com/
22:57
<&McMartin>
It's a game from 2008, it's the one that put this kind of thing on the map.
22:57
<&McMartin>
Melody's Escape is a newer, not entirely complete game, but it very formally attempts to deduce the tempo of music you feed it as part of the game.
23:00
< Meatyhandbag>
I was thinking of a sort of running mechanic, where the player repeatedly taps a button to a beat. the faster the beat, the faster the character goes, but if they break tempo, the character trips and falls over themselves. so it becomes a test of trying to go fast, but not so fast you can't control yourself
23:02
< Meatyhandbag>
eh, probably too much for the player really
23:02
<&McMartin>
I think what you describe could be simply "time since last input" and a permissible variance
23:02
<&McMartin>
With each input providing an impulse, and friction
23:02
< Meatyhandbag>
Just didn't like the idea of a racing game, where all you do is press the "go" button in order to run
23:02
<&McMartin>
Hm, yes
23:02
<&McMartin>
Now that you mention it
23:03
<&McMartin>
Lots of alternation-input games need you to match a speed, not just max out speed
23:06
< Meatyhandbag>
do you think that that might be too much input required on the player though, especially in a racing game where fast reactions are needed?
23:07
<&McMartin>
I honestly am not sure. This feels a lot like a "whip up a prototype" thing to me.
23:09
<&McMartin>
I'd personaly use Game Maker for such experiments, but that's just because I have a copy handy and have used it before
23:09
< Meatyhandbag>
probably right
23:11
<&McMartin>
When I was fiddling around with platformer physics I got basically nowhere until I had a little sim full of knobs to tweak
23:11
<&McMartin>
(that adjusted physics etc)
23:16
< Meatyhandbag>
um, isn;t game maker really restrictive like RPG makeR?
23:25 Reiv [NSwebIRC@Nightstar-q8avec.kinect.net.nz] has quit [Ping timeout: 121 seconds]
23:27 catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: ]
23:34
<&McMartin>
Actually no; it's a full engine
23:34
<&McMartin>
It's *better* at moving 2D objects around with simplified physics etc
23:35
<&McMartin>
But it's maybe a half tier below Unity
23:35
<&McMartin>
(Both of which are built around scenes full of objects that react to events)
23:35
<&McMartin>
(But Unity uses "real" programming languages and Game Maker uses what is basically a clumsy reinvention of JavaScript)
23:50 Reiv [NSwebIRC@Nightstar-q8avec.kinect.net.nz] has joined #code
23:50 mode/#code [+o Reiv] by ChanServ
--- Log closed Mon Aug 10 00:00:16 2015
code logs -> 2015 -> Sun, 09 Aug 2015< code.20150808.log - code.20150810.log >

[ Latest log file ]