<< 28-11-2013 >>

00:27:18*OrionPKM quit (Remote host closed the connection)
00:35:15*OrionPKM joined #nimrod
00:45:48dom96'night
00:56:30*boydgreenfield quit (Quit: boydgreenfield)
00:59:55NimBotnimrod-code/packages master 96f5325 achesak [+0 ±1 -0]: Added csv.
00:59:55NimBotnimrod-code/packages master a5a1072 achesak [+0 ±1 -0]: Added api wrappers.
00:59:55NimBotnimrod-code/packages master 8ccdbd0 Dominik Picheta [+0 ±1 -0]: Merge pull request #34 from achesak/master... 2 more lines
01:12:03MFlameryou still up Araq?
01:17:34*DAddYE quit (Remote host closed the connection)
01:24:24OrionPKMthink it's pretty late in Germany land
01:26:13MFlameryeah, I suppose so.
01:26:46*boydgreenfield joined #nimrod
01:27:00MFlamerMost of my free time to work on nimrod is at night, PST time
01:27:23MFlamerwhen most everyone else is sleeping
01:58:25*brson joined #nimrod
02:11:23*mflamer_ joined #nimrod
02:12:13*Varriount_ joined #nimrod
02:13:45*Varriount quit (Ping timeout: 245 seconds)
02:15:21*Varriount joined #nimrod
02:17:30*Varriount_ quit (Ping timeout: 245 seconds)
02:21:11OrionPKMthat sucks
02:32:33*zahary quit (Read error: No route to host)
02:32:54*zahary joined #nimrod
02:34:16mflamer_zahary?
02:44:39OrionPKMhe(li
03:02:29*MFlamer quit (Ping timeout: 272 seconds)
03:18:58*mflamer_ quit (Ping timeout: 272 seconds)
03:21:34*DAddYE joined #nimrod
03:24:11*mflamer joined #nimrod
03:25:50*DAddYE quit (Ping timeout: 240 seconds)
03:37:19*mflamer quit (Ping timeout: 272 seconds)
03:38:23fowlfor you windows ppl http://bliker.github.io/cmder/
03:43:37OrionPKMit's just a bunch of settings for conemu
03:45:58*boydgreenfield quit (Quit: boydgreenfield)
03:54:41*brson quit (Quit: leaving)
03:55:36*Varriount is ready to beat his optical network terminal in with a bat.
03:56:37OrionPKMoptical network?
03:57:24VarriountOptical Network Terminal. It translates signals from a fiber network to ethernet/coax/phone signals, and vice-versa
03:57:56OrionPKMyeah.. I know
03:57:57*mflamer joined #nimrod
03:58:02OrionPKMyou have fiber?
03:58:09VarriountYes.
03:58:22VarriountMy house just happens to have one that relies on a backup battery unit being available and powered on in order to work, which is ironic.
03:59:02OrionPKMugh. wish I had fiber
03:59:07VarriountNormally it's powered by a 12v battery, and charges the battery from a 48v power source (it drains 12 volts off, and feeds the rest to the ONT)
03:59:47VarriountHowever, for some reason, it just decided not to charge the battery anymore.
04:00:22VarriountThus, my internet is going to be going up and down like a ping-pong ball until the repairman comes tomorrow
04:00:37OrionPKMwhere do you live?
04:00:37fowlmaybe need a new battery
04:00:48Varriountfowl, we replaced the battery 3 times.
04:01:09fowltry rebooting it
04:01:14VarriountIt's the fact that the backup battery unit both uses the battery for power, and charges it.
04:01:20Varriountfowl, you can't.
04:02:24Varriountfowl, it looks something like this, except without the wall plug. http://fierceandnerdy.com/wp-content/uploads/2012/03/Verizon-FIOS-battery-backup.jpg
04:02:53fowloh
04:03:16VarriountInside that compartment is a 12 volt lead acid battery.
04:03:52VarriountHere, I'll take a picture of mine.
04:10:10Varriountfowl, OrionPKM -> http://imgur.com/Xduc96z,EmYMQbK
04:10:49OrionPKMjeez
04:11:15VarriountI had to deal with four, FOUR younger siblings, without any internet, TV, or phone to appease them, for SIX HOURS yesterday.
04:11:40fowlshove them outside
04:12:56Varriountfowl, The temperature been hovering around freezing for the past week, and it has been raining/hailing off an on for the past two days.
04:13:22fowlthat changes nothing
04:13:36Varriount-_-'
04:14:10Varriountfowl, how many younger siblings do you have?
04:14:19fowl1
04:16:54*boydgreenfield joined #nimrod
04:17:12VarriountHey boydgreenfield, how's your bloom filter coming along?
04:18:03fowlshe's in las vegas, doing illegal tattoos and hallucinogenics, chasing her dream
04:18:42Varriountfowl, her dream being?
04:18:46boydgreenfieldHa – well, not started. But plan to do it either tomorrow or this weekend. I'll put it up on GitHub once it's moderately well fleshed out.
04:18:57Varriount(Illegal tatoos?)
04:19:13fowlyea
04:19:23fowlwithout a license
04:22:52*DAddYE joined #nimrod
04:25:17Varriountfowl, well, if she's happy, then I guess... good for her?
04:27:30*DAddYE quit (Ping timeout: 252 seconds)
04:28:58fowlyea
04:29:07fowlwhat are your siblings doing with their lives
04:29:14fowl:p
04:30:07VarriountAll of them are in school, which I can say, from experience, is not the most exciting thing to do. :3
04:30:32fowli hated school but miss it now
04:30:57fowli regret not doing more drugs, girls and getting better grades
04:31:23fowlthough i dont think its possible to achieve all those things, i could have done better with at least 2 of them
04:31:49VarriountDoing drugs and getting good grades tend to be mutually exclusive. I think the best bet would be good grades and girls.
05:01:43*boydgreenfield quit (Quit: boydgreenfield)
05:24:28*DAddYE joined #nimrod
05:29:01*DAddYE quit (Ping timeout: 252 seconds)
05:29:23*fowl quit (Quit: Leaving)
05:32:43*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
05:33:04*fowl joined #nimrod
05:33:20*ics joined #nimrod
05:35:04*OrionPKM quit (Remote host closed the connection)
05:53:14*OrionPKM joined #nimrod
05:53:58*OrionPKM quit (Remote host closed the connection)
06:25:20*DAddYE joined #nimrod
06:26:35*ics quit (Ping timeout: 252 seconds)
06:30:14*DAddYE quit (Ping timeout: 264 seconds)
06:31:25*ics joined #nimrod
06:44:09*mflamer quit (Ping timeout: 272 seconds)
06:57:16*mflamer joined #nimrod
07:00:06*webskipper quit (Ping timeout: 240 seconds)
07:15:49*mflamer quit (Ping timeout: 272 seconds)
07:26:33*DAddYE joined #nimrod
07:31:20*DAddYE quit (Ping timeout: 260 seconds)
07:35:00*Varriount quit (Ping timeout: 245 seconds)
07:35:19*Varriount joined #nimrod
08:42:08*Raynes quit (Ping timeout: 265 seconds)
08:44:32*Raynes joined #nimrod
09:09:25*capisce_ quit (Remote host closed the connection)
09:09:34*capisce joined #nimrod
09:14:49*DAddYE joined #nimrod
09:14:51*webskipper joined #nimrod
09:15:21*DAddYE quit (Remote host closed the connection)
09:15:27*DAddYE_ joined #nimrod
09:28:04webskipperhi
09:43:34*CarpNet joined #nimrod
09:47:21*DAddYE_ quit (Remote host closed the connection)
10:48:39*DAddYE joined #nimrod
10:53:02*DAddYE quit (Ping timeout: 240 seconds)
11:46:09*webskipper quit (Ping timeout: 246 seconds)
11:49:44*DAddYE joined #nimrod
11:54:50*BitPuffin joined #nimrod
11:55:02*DAddYE quit (Ping timeout: 240 seconds)
12:03:09BitPuffingood day folks!
12:04:03EXetoClo
12:04:52BitPuffinsup EXetoC?
12:47:30*Varriount quit (Ping timeout: 245 seconds)
12:51:32*DAddYE joined #nimrod
12:55:50*DAddYE quit (Ping timeout: 240 seconds)
12:59:15*q66 quit (Quit: Leaving)
13:12:54*q66 joined #nimrod
13:13:24EXetoCBitPuffin: working on the glfw lib
13:13:37BitPuffinEXetoC: sweet, what are you working on with it?
13:19:11EXetoCBitPuffin: I'm tying the hints to the window creation proc, and I'll be adding the ability to define hard constraints to all the hints
13:19:17EXetoCover-engineering? who knows
13:23:26BitPuffinEXetoC: :P
13:23:29BitPuffinwell hurry
13:23:35BitPuffinI'll be using your lib in just a few days
13:23:42BitPuffinxD
13:23:51EXetoCnah, I guess not. more static typing etc is always nice, but there might not be too much of a gain, because glfw isn't exactly difficult to use
13:24:44EXetoCok I should be done tomorrow
13:26:06BitPuffinwell whatever can be refined should be
13:26:13BitPuffineven if there isn't much to refine in glfw :P
13:33:33*Varriount joined #nimrod
13:48:16BitPuffinhmm, shadow mapping doesn't seem all too hard
13:52:31*DAddYE joined #nimrod
13:53:17BitPuffindon't think this project even needs it though
13:58:14*DAddYE quit (Ping timeout: 265 seconds)
14:02:34*BitPuffin quit (Read error: Connection reset by peer)
14:02:46*BitPuffin joined #nimrod
14:54:22*DAddYE joined #nimrod
14:59:03*DAddYE quit (Ping timeout: 272 seconds)
15:01:50*OrionPKM joined #nimrod
15:34:22*webskipper joined #nimrod
15:38:27*q66 quit (Quit: Leaving)
15:41:20*boydgreenfield joined #nimrod
15:47:41*q66 joined #nimrod
16:01:24*mflamer joined #nimrod
16:01:49mflamergood morning
16:03:39Araqhi
16:03:47zahary_good evening
16:07:27BitPuffingood *
16:12:46mflamerHow do skParams work? They dont seem to have any ast which I guess is because they are bound at runtime?
16:13:30*BitPuffin quit (Quit: WeeChat 0.4.2)
16:14:41*dyu joined #nimrod
16:15:22zahary_what do you mean? an skParam just represents the proc param variable (it has a name and a type)
16:16:43mflamerI get myself confused thnking there is more to this than there really is
16:23:08*Jackneill joined #nimrod
16:32:36*dyu quit (Quit: Leaving)
16:35:21fowlanybody on windows?
16:38:27mflamerI am
16:42:03fowlcan you see if this runs https://gist.github.com/fowlmouth/7694659
16:42:12fowl(with allegro 5.0.10 also)
16:42:55mflamerSure
16:43:23mflamerwhats allegro?
16:43:39mflamerI need that dll?
16:43:50fowlhttps://www.allegro.cc/files/?showresults=1
16:44:02fowla game library like SDL
16:44:07mflamerok
16:46:57mflamerAraq: How might I get back up the ast to create a new global? This seems tough. Would I be climbing up the scopes and adding a new symbol to a table?
16:52:18mflamerfowl: I see a bunch of dlls but no liballegro.dll in the downloads
16:53:17OrionPKMliballegro is nix naming convention, not windows :P
16:53:31mflamerok
16:53:48fowltry the -md one or -mt
16:54:32mflamerelif defined(Windows):
16:54:32mflamer const
16:54:33mflamer LIB_NAME = "liballegro.dll"
16:55:30*boydgreenfield quit (Quit: boydgreenfield)
16:56:23*boydgreenfield joined #nimrod
16:56:40mflameropens a new window fowl
16:56:55zahary_mflamer, see the .global. pragma
16:56:58mflamerIs this an openGL window?
16:57:03fowlmflamer, cool thanks
16:57:08fowlit should be
16:57:17*DAddYE joined #nimrod
16:57:24mflamerFowl:Nice!
16:57:24fowlwhat DLL name did you end up using
16:57:45mflamerLIB_NAME = "allegro-5.0.10-mt.dll"
16:58:15mflamerzahary_: will that work in the compiler?
17:00:22fowlnow gradha has no reason not to finish this wrapper
17:00:28fowlsince it works fine on windows
17:01:08*boydgreenfield quit (Ping timeout: 260 seconds)
17:01:19mflamerzahary_: I'm trying to identify when the user passes a value like an intLit and convert it into a heap variable (un GC'd)
17:01:39*DAddYE quit (Ping timeout: 252 seconds)
17:01:39mflamerat compile time
17:17:57mflamerzahary_: here's what I'm trying to do, https://gist.github.com/mflamer/7591727
17:31:47zahary_why do you need to detect intLit specifically here and why do you need any kind of global vars
17:31:47zahary_the way I see it, you'll generate a generic constructor (or multiple overloaded constructors accepting each variant) and then you'll have code like this:
17:31:47zahary_proc TypeName[T](val: T) = var store = new(T); store[] = val;
17:32:48zahary_then store "store" variable in the instance using type erasure
17:33:46zahary_and that's if you want heap values at all - it's also possible to use a case type under the hood
17:35:45*zahary1 joined #nimrod
17:35:50zahary_and I see that you are having fun, but what's wrong with TMaybe defined as a case type; I tried to convince Araq in the past that we need Option[T] in the standard library
17:35:51zahary_https://gist.github.com/zah/1392058
17:36:44fowli like my maybe[t] better
17:37:01fowlit just has a converter(v: maybe[t]): bool = v.hasValue
17:37:20zahary_fowl, does your maybe have some of the features I have described in my gist?
17:37:32*zahary quit (Ping timeout: 259 seconds)
17:37:53zahary_I'm still here :)
17:38:29fowlwith the converter it handles if someMaybeVal: nicely
17:38:58zahary_the delegator pragma can be used now to implement the second feature
17:39:01fowlbut its not infectious like the Option(foo).bar[10].baz returning option[type(baz)]
17:39:09zahary_proxy types = delegator pragma
17:47:00fowlan annoying bug
17:47:13fowlsometimes I can do {.push importc: "al_$1".}, sometimes it just doesnt work
17:49:06mflamerzahary_: In cases beyond the Option or Maybe example, like trees, the union type seems like a waste of memory.
17:49:48zahary_aha, I see what you are after
17:50:53zahary_there was an idea btw to provide an alternative allocation strategy for case objects. if you give up the reset feature (the ability to change the value), you can allocate only as little memory as it's needed
17:50:55mflamerIn the case where the number of variants is small, the type and the pointer are packed. I have everything in that example Gist working
17:51:18mflamerthat's interesting
17:51:33mflamerthat could be a pragma
17:51:59zahary_I guess it could be a type attached pragma or just an alternative allocation function; (or mix of the both)
17:52:48zahary_type attached pragma will get you a compile-time error when you use reset, otherwise you'll get a run-time error
17:53:01*DAddYE joined #nimrod
17:53:14*DAddYE quit (Remote host closed the connection)
17:53:20*DAddYE joined #nimrod
17:56:08mflamerI think the enum type syntax is really clean though.
17:57:05zahary_it's nice, but maybe you are throwing too much meta-programing at the problem, when the other solution is just behind the corner
17:57:45mflamercould be...
18:00:16*DAddYE quit (Remote host closed the connection)
18:10:05mflamerThe part of my plan I'm really worried about is adding generics. Useless without, and seems like it may be really complex to add support
18:12:11zahary_I can think of a hacky way to do it
18:13:07zahary_you could have the type as a return type of a generic function (the body of the type will be inside it); the use type(my_helper_function[T, U]())
18:16:41mflamerok, I sorta get that. Going to have to think about that for a while.
18:17:44zahary_but yeah, that's quite hacky and it's only point is to avoid treating your type as generic in the compiler itself
18:20:44mflamerthe next step was to create a heap copy of whats passed to my constructors. I catch the constructors in semcall.nim, but by that point I'm usually in a var block. It's almost like I need to do a pree process pass or something
18:21:53zahary_but aren't you developing this in user space?
18:22:14mflameras opposed to in the compiler?
18:22:18zahary_yes
18:22:21mflamerno
18:22:37mflamerAll in the compiler as a pragma for enums
18:23:04zahary_with new tyX and flags and everything?
18:23:38mflamerjust enum type pragma and a flag
18:23:54mflamerlook at my example again
18:24:51zahary_the hack that I mentioned was assuming you are working in user space - the proper way to do generics in the compiler is to go in semGeneric, semtypinst, etc
18:25:19mflamerOK, thats why it wasnt totally clear
18:25:38mflamerI'll cross that bridge soon enough
18:26:21zahary_but a compiler patch will have to compete with the other case objects solution I mentioned - we'll have to decide which one to use
18:27:48mflamerok, well if you guys think the case option is the way to go, I'll abandon ship
18:28:48zahary_well, working code is often the best argument, but I think here we'll have quite a big patch for the enum version versus quite a small one for the case objects
18:29:27mflamerWith the case option you wouldnt be able to create an array,because of the different sizes. You would use ref's which would be the same as what I'm doing....
18:30:02zahary_yes, it would be the same, exactly (so it's still supported)
18:30:27mflamerCompile time field access checks are nice, which case objects dont have, correct?
18:30:29webskipperwhats the differene between "object of" and "ref object of" internally ?
18:30:30*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
18:31:06*CarpNet quit (Quit: Leaving)
18:31:08mflamerwebSkipper: ref is a GC'd pointer
18:31:13webskipperfirt variant inherits from object, second points only to ?
18:31:27zahary_can you elaborate? (the compile time field access checks)
18:32:17mflamerfoo.z on a variant that dosent have a z field is runtime error instead of compiletime
18:32:18zahary_test = Just(x) # here you use a more specific type than the enum?
18:32:57zahary_are we talking about non-existing fields at all or just about fields that are in some other "case"?
18:33:11mflamerin some other case
18:33:30zahary_so, test = Just(); test.x # error; how does this work?
18:34:44mflamertest gets treated like a ptr to a TPnt, so it gets checked at compile
18:35:22zahary_and when is that type lost? when I pass it to a proc expecting an enum value?
18:36:05zahary_we have flow analysis for case objects that is supposed to discover such errors
18:36:07mflamerI dont think so, the example `$` proc works
18:36:40zahary_I meant, in the example proc, if I try to use the field 'x', how is this going to be detected as error?
18:36:50zahary_we don't know the particular TMaybe type there
18:37:14zahary_the '$' proc
18:37:26mflameryes, thinking...
18:37:56mflamerwe do because the ord value is stored in sym.position
18:38:11mflamerand i pack the pointer with it
18:38:23mflamerso at runtime we know the variant
18:38:35mflamerand compile time
18:38:47zahary_sure, at run-time. I asked how is the error detected at compile-time?
18:39:09zahary_proc will be compiled in just one version handling all run-time types
18:39:26zahary_so it doesn't know the run-time type and can't assume anything about it
18:39:47mflamerok, could be....
18:39:53mflamerlet me try
18:40:25zahary_anyway, we have similar abilities to detect errors with case objects as long as the information is not lost in similar fashion
18:41:51mflamerOK
18:45:46*xenagi joined #nimrod
18:46:04mflamerI guess I'll look into the case object option a bit and see what that woud be like
18:46:31mflamerwould
18:47:45mflamerMaybe we can sugar up the syntax with some macros or something
18:48:13zahary_the syntax is usually the easiest part
18:48:46mflamerAfter using Haskell ADT's and GADT's it's tough to accept anything else
18:49:16zahary_you planned some pattern-matching on top of the enum types?
18:49:35mflameryes, eventually
18:50:37mflameralthough, it's less important when you have nice mutable field access. As long as you can case on the variants
18:50:50zahary_I have an idea how pattern matching could be written with the current case types; the cool thing about pattern matching is the deconstruction, right?
18:54:45mflamerI think the most important thing is just to be able to case on the variant something like "match foo: variant1: variant2: " etc. and have compile time field access.
18:55:46mflamerHaskell has a notiorously poor record field naming problem that makes deconstructing really important.
18:56:23mflamerI meant "field access cheking above"
18:59:24mflamerlucky :: (Integral a) => a -> String
18:59:24mflamerlucky 7 = "LUCKY NUMBER SEVEN!"
18:59:24mflamerlucky x = "Sorry, you're out of luck, pal!"
18:59:42mflamermatching on values is also cool
19:00:47mflamerAnyway, how are your userdefined types classes?
19:01:30*DAddYE joined #nimrod
19:06:26*DAddYE quit (Ping timeout: 272 seconds)
19:07:48zahary_you may have heard that I often cite an alternative languages that I planned to build, before I discovered nimrod (I usually call it hypolang here (from hypothetical))
19:08:05zahary_it was supposed to have a pattern matching feature that works like this:
19:08:07zahary_https://gist.github.com/zah/7696809
19:14:09mflamerI have to study that for a min, and now I'm getting inturrupted by kids, wife etc. Let's pick this conv up again sometime soon?
19:16:23zahary_there is an interesting approach to pattern matching in the F# langauge - it allow you to define user-defined deconstructing expressions
19:20:21mflamerzahary_:Thanks for your time. Happy Thanksgiving
19:23:30zahary_see you later :) I updated my gist a little bit to add an example of such user-defined deconstructor
19:24:03*noam quit (Read error: Connection reset by peer)
19:24:29*noam joined #nimrod
19:31:46*mflamer quit (Ping timeout: 272 seconds)
19:35:36*ics joined #nimrod
19:39:26*OrionPKM quit (Remote host closed the connection)
19:43:08*OrionPKM joined #nimrod
19:55:07VarriountYay! My internets are fixed :D
19:57:27*mflamer joined #nimrod
20:01:50*OrionPKM quit (Remote host closed the connection)
20:02:43*DAddYE joined #nimrod
20:07:02*DAddYE quit (Ping timeout: 240 seconds)
20:10:13*boydgreenfield joined #nimrod
20:15:06*BitPuffin joined #nimrod
20:43:20*Varriount quit (Ping timeout: 245 seconds)
20:46:25mflamerzahary_: so this new case object would not be represented by a union then? It would be like a struct instead, for each variant?
20:50:09*Varriount joined #nimrod
20:52:47*Varriount_ joined #nimrod
20:55:21*Varriount quit (Ping timeout: 272 seconds)
21:03:08Araqmflamer: do a little bit of type analysis, enhance the GC and you have your optimized 'case' objects
21:03:29Araqthe codegen doesn't HAVE to emit a union for them
21:09:29*gradha joined #nimrod
21:11:10mflamerAraq: Are you refering to my enum project or the idea of an optional variant object representation that zahary proposed?
21:12:11mflamerOh, I see. Your talking about the second.
21:13:13mflamerat that point they are really similar.
21:18:24*webskipper quit (Ping timeout: 252 seconds)
21:22:00mflamerbut using the existing variant object as the starting point probably gets us alot of milage, generics etc. are done already. I could just toss what I have done and start over. Tough call, depends on what you guys think mostly, as I need support
21:24:22EXetoCsame thing, different approach, I guess
21:24:43*xenagi quit (Quit: Leaving)
21:27:12*brihat left #nimrod (#nimrod)
21:30:28mflameryeah
21:30:43*q66_ joined #nimrod
21:31:51*q66 quit (Disconnected by services)
21:31:55*q66_ is now known as q66
21:39:40mflamerOff to eat turkey now. Have a good day guys.
21:41:08BitPuffindom96: yeah document.cookie is just a string :/
21:41:10BitPuffinso it should be set
21:42:33BitPuffinumm
21:42:38BitPuffinwhat is c.userpass
21:43:06dom96maybe JS just sucks? I dunno
21:43:07BitPuffinplease don't tell me that you are storing a hash of the username and password in the cookie being sent unencrypted between the server and client
21:46:02BitPuffinah it's just the password
21:46:04BitPuffincome
21:46:06BitPuffinon
21:46:25BitPuffindom96, Araq: don't make me smack you guys
21:47:41BitPuffinStoring them as a straight md5 is one thing, but not even really having to break in to the server to get the hash of the password
21:47:57BitPuffininstead it's sent back and forth unencrypted
21:49:34fowlmerry thanksgivings
21:50:08Araqhuh? well we don't use https if that's what you mean
21:50:14BitPuffinAraq: yeah exactly
21:50:27BitPuffinAraq: and you store the password hash in the cookie
21:50:32Araqso?
21:50:35BitPuffin._.
21:50:39Araqit's a hash. it's safe :P
21:50:44BitPuffinyeah totally safe
21:50:46BitPuffinan md5 hash
21:50:48BitPuffinso safe
21:51:00Araqwith salt
21:51:11fowlmd5 can withstand a thousand brute forces
21:51:11BitPuffinAraq: it's still md5
21:51:12Araqno way you can crack that
21:51:18gradhasalt is good, had some with eggs today
21:51:21BitPuffinare you actually serious?
21:51:41Araqno, but I also don't care too much. It's an infrequently used forum.
21:51:41BitPuffinmd5 was maybe secure around 10 years ago
21:51:43BitPuffinactually no
21:51:45BitPuffinbarely
21:51:53BitPuffinbut still
21:51:54BitPuffintoday
21:51:57BitPuffinthat's nothing for a gpu
21:51:57Araqyou're free to improve it and make pull requests
21:52:09AraqI'm waiting for your patches then.
21:52:15BitPuffinAraq: Well it doesn't matter if it is an infrequently used forum, people use the same patches everywhere
21:52:20BitPuffinpasswords
21:52:22BitPuffinlol
21:52:27BitPuffinreading and typing, not a good idiea
21:52:48Araqagain, feel free and improve it. I'm busy fixing the bug that's blocking you.
21:52:58BitPuffinfirst of all there is NO reason to store the password in the cookie
21:53:03BitPuffinI don't even know why you wanna do that
21:53:17gradhaBitPuffin: it avoids maintaining a cookie table on the server
21:53:35BitPuffinAraq: yes and I'm grateful for that, but I'm also busy :/
21:53:41BitPuffingradha: that can be avoided anyway
21:53:59gradhaBitPuffin: but then you are burning preciousss cpu cycles... my cyclessssss
21:54:27BitPuffingradha: have a long secret that is only known on the server, hash the username with that secret, store the username and hash in the cookie, verify that the username + secret is indeed the hash
21:54:55gradhapreciousssssss... cpu cyclesssssss...
21:55:12BitPuffingradha: how is that any different than storing the password hash
21:55:28BitPuffinexcept it's more secure
21:55:49BitPuffinwell with md5 it wouldn't be that secure, but it would still not send peoples passwords around in basically plain text security
21:56:15gradhamaybe to avoid storing the password has it should store the plain password
21:56:30BitPuffinmay as well
21:56:45gradhabut encrypt it with triple des, at least it works wonders for Adobe
21:57:07BitPuffinwell, it would still be harder to crack than md5, but when you do, you'd have the solution for all of them
21:57:35gradhaBitPuffin: you look willing to implement SQRL
21:57:51fowlgradha, what was your issue with wrapping allegro
21:58:03BitPuffinfowl: wasn't I the one having an issue with that
21:58:20gradhafowl: my issue is I don't use allegro
21:58:34fowlBitPuffin, ok, what was your issue
21:58:44BitPuffinfowl: c2nim complained, I was new to nimrod etc
21:59:17fowloh
21:59:43fowlwell i have started wrapping it and mflamer tested it on windows
21:59:48fowl(i thought that was the issue)
22:00:33BitPuffinfowl: 5.1?
22:00:36fowlBitPuffin, it will have to be written by hand though, thanks to the macro AL_FUNC
22:00:42fowlno, 5.0.10
22:00:49gradhafowl: 100% coverage of their API? Did they drop magic cross-platform defines?
22:00:59BitPuffinwhy not 5.1?
22:01:02BitPuffinlive for the future
22:01:05fowlgradha, thats only needed for static linking
22:01:33fowlBitPuffin, because 5.1 is not even available for download on the main site
22:01:51fowli dont see any mention of it at all
22:01:58gradhafowl: they used to have AL_FUNC and funny stuff like that
22:02:28gradhafowl: I expected them to have more such macros
22:03:56gradhagood night, honey badgers
22:04:10*gradha quit (Quit: bbl, need to watch https://www.youtube.com/watch?v=2IzR_ClTE8Y again)
22:04:51BitPuffinAraq: http://robinverton.de/blog/2012/08/27/cracking-salted-md5-with-hashcat/
22:04:56*DAddYE joined #nimrod
22:05:02*mflamer quit (Ping timeout: 272 seconds)
22:05:02BitPuffin7 seconds
22:06:02BitPuffinsalted
22:06:38Araqwell it's not that I don't believe you
22:07:03BitPuffin"no way you can crack that "
22:07:05BitPuffinright
22:07:07Araqand it would really be nice if you could improve the code
22:07:20AraqI wasn't serious when I said that, omg
22:07:58BitPuffinalright, well irc is not the best way to portray sarcasm
22:08:18BitPuffinAraq: Anyways I'd like to improve the code, maybe I will when I've gotten things rolling, so that would be sometime next year maybe
22:08:27BitPuffinif someone else has the time that would be super though
22:08:41BitPuffinscrypt.nim isn't far from finish either
22:08:49BitPuffinwhat's basically missing is the verifying part
22:08:53BitPuffinwhich takes a minute to write lol
22:08:57BitPuffinbut yeah
22:09:02*DAddYE quit (Ping timeout: 240 seconds)
22:13:01*Jackneill quit (Remote host closed the connection)
22:13:24Araqjust for the record: I do consider it a *bug* and since jester is not only for the forum, it really needs to be improved quickly
22:16:16*tq_ joined #nimrod
22:16:52*q66_ joined #nimrod
22:19:04*q66 quit (Disconnected by services)
22:19:06*q66_ is now known as q66
22:19:39*snearch joined #nimrod
22:21:34*snearch quit (Client Quit)
22:23:20dom96Araq: This isn't a Jester bug, it's a nimforum bug.
22:25:06Araqsure but jester suggests a similar approach?
22:25:29Araqhi tq_ welcome
22:26:03tq_hi! :)
22:26:40*mflamer joined #nimrod
22:28:38*simpleirc joined #nimrod
22:29:01*simpleirc is now known as Guest56155
22:31:06*mflamer quit (Remote host closed the connection)
22:31:06*Guest56155 quit (Remote host closed the connection)
22:35:36*OrionPKM joined #nimrod
22:35:40BitPuffinAraq: hmm, what do you mean suggest? Jester doesn't seem to suggest anything
22:35:53BitPuffinbut I guess that's kind of a problem, maybe jester needs to provide a sane default way to do things
22:35:59BitPuffinbut maybe that's also out of the scope of jester
22:36:29Araqwell my thought is that people simply copy the forum's approach since jester doesn't provide one
22:36:50BitPuffinah true
22:37:18BitPuffinyeah that's a problem
22:37:37*mflamer joined #nimrod
22:38:46mflameranother little thing i noticed about case objects is the variants cant share field names
22:39:27Araqyeah but then they can't in ML/Haskell either, can they?
22:39:44mflamerlike if you want 2 variants to have an x field and others not.
22:40:21mflamerno, thats the big problem with field namespacing in haskell
22:41:23mflamerin fact, the namespace is module wide for fields, so even seperate types conflict. its a nightmare
22:41:39*Varriount_ quit (Read error: Connection reset by peer)
22:54:20*mflamer quit (Remote host closed the connection)
23:06:20*DAddYE joined #nimrod
23:07:58*OrionPKM quit (Remote host closed the connection)
23:08:24*boydgreenfield quit (Quit: boydgreenfield)
23:10:34*DAddYE quit (Ping timeout: 246 seconds)
23:20:21BitPuffinAraq: luckily as nimrod and jester are in their infancy you and me are pretty much the only ones using jester
23:20:56BitPuffinwell luckily and luckily
23:20:59BitPuffinbut you know what I mean
23:21:57Araqsure
23:23:50BitPuffinAraq: isn't it kind of fun that businesses are starting to use nimrod? :D
23:24:39EXetoCrly
23:24:45EXetoC?
23:24:58BitPuffinyeah!
23:25:19Araqyeah well I need to sleep now. tomorrow your bug will be gone
23:26:05BitPuffinAraq: sleep well! Thanks :) Seems like a nasty bug :/
23:27:40Araqwell I'm trying to fix other places that are affected
23:28:37BitPuffinAraq: cool! So this patch will take down more than just this bug?
23:28:42BitPuffinThat's a pretty nice payoff I think
23:29:50Araqwell that's the plan at least
23:30:01Araqusually the tester proves me wrong ... :P
23:30:25BitPuffinI mean yeah fixing bugs may not be the hottest thing to do, but it's really extremely under appreciated considering how much work that goes in to it :P
23:30:29BitPuffinhaha :P
23:35:57EXetoCI want the names of those who don't appreciate bug fixes enough
23:36:20BitPuffinEXetoC: I'm pretty sure it's everyone
23:36:38BitPuffinBecause you don't notice that a bug was fixed unless you were affected by it
23:37:43BitPuffinso unless someone sits around tracking every single bug in the list and thanking the hell out of the one fixing them they aren't appreciating it enough. But then on the other hand they wouldn't get much coding done to get affected by bugs so they would probably not care all that much :P
23:46:23EXetoCthat might be the case with projects that are relatively stable, but I recognize the fact that any bug fix leads to more stability
23:47:30*Amrykid quit (Excess Flood)
23:47:39*Amrykid joined #nimrod
23:47:56BitPuffinEXetoC: yeah but my point is that every bug fix deserves a lot of appreciation