<< 17-11-2013 >>

00:13:23familiar125daddye gets his internet via potato
00:25:03BitPuffinlol
00:27:25*DAddYE joined #nimrod
00:27:42*DAddYE quit (Remote host closed the connection)
00:27:48*DAddYE_ joined #nimrod
01:04:47*freezerburnv joined #nimrod
01:04:55freezerburnvEvening
01:07:57*DAddYE_ quit (Remote host closed the connection)
01:08:17*DAddYE joined #nimrod
01:09:58familiar125'lo
01:15:54fowlhi
01:19:59*DAddYE quit (Remote host closed the connection)
01:20:26*DAddYE joined #nimrod
01:24:38*DAddYE quit (Ping timeout: 240 seconds)
01:30:50*shodan45 joined #nimrod
01:50:52*DAddYE joined #nimrod
01:51:04*DAddYE quit (Remote host closed the connection)
01:51:10*DAddYE_ joined #nimrod
02:13:26freezerburnvI talked to OrionPK about this last night, but I'm still getting the error after following his advice to create a type for a proc. Anyone know why I'm getting a compiler error in the following code? https://gist.github.com/Freezerburn/7494922
02:15:45fowlfreezerburnv, there seems to be some new bug with newseq[t]()
02:16:33freezerburnvfowl: Fun. Guess I should just use a linked list for now or something
02:18:13fowlfreezerburnv, try using @[] for the argument to pushto: and subs:
02:18:55freezerburnvfowl: Ah, there it goes. Awesome
02:22:37reactormonkbtw, is it possible to have an either in nimrod with overlapping data depending on what's in there?
02:23:34fowlreactormonk, yea, variant type
02:23:42fowlcase left: bool
02:23:59reactormonknot bad.
02:24:10reactormonkdocumentation with example somewhere?
02:27:08freezerburnvAnd now I get a SIGSEGV from the compiler after adding an anonymous proc to the previous code. Fun! (gist is updated)
02:27:32fowlhttps://gist.github.com/fowlmouth/7508321
02:28:00freezerburnv(I can put all of my code into the gist if needed)
02:28:05fowlfreezerburnv, please do
02:28:09reactormonkfowl, not too beautiful ^^
02:28:41fowlreactormonk, i didnt right left() or right(), but i dont know how it would look in haskel
02:29:05freezerburnvfowl: The entire file is now in the gist
02:32:06fowlfreezerburnv, i got it working somewhat
02:32:30fowlfreezerburnv, line 58 had to be changed to onValue[int](fromSeqTest, proc ...)
02:32:54fowlfreezerburnv, onValue must take var TEventStream[T]
02:33:16fowlfreezerburnv, i meant like 84
02:33:48fowlfreezerburnv, on line 58, its incorrect to use dot notation with explicit generic instantiation
02:34:35fowlfreezerburnv, stream.pusher.push(v) works fine
02:35:20fowlfreezerburnv, line 52 and 54 needs a discard
02:36:24fowldrain() needs to take var TEventStream[T]
02:36:26freezerburnvfowl: On line 84, is it a bug that I need to use onValue(fromSeqtest, ...) rather than being able to use fromSeqTest.onValue(...)?
02:38:00fowlfreezerburnv, im not sure, after fixing all those, i got another segfault
02:38:32freezerburnvfowl: I didn't get a segfault when I left out the var TEventStream, but I did see:
02:38:33freezerburnvbaconrod.nim(58, 17) Error: type mismatch: got (TBaconPusher[int])
02:38:34freezerburnvbut expected one of:
02:38:35freezerburnvbaconrod.push(pusher: TBaconPusher, value: T)
02:39:07freezerburnv(for drain, that is, not for onValue)
02:39:15fowlfreezerburnv, that line should just be stream.pusher.push(v), or push(stream.pusher, v)
02:39:33freezerburnvfowl: stream.pusher.push(v) gives the error I pasted
02:39:43fowlyou cant give push an explicit generic arg mixed with dot notation like that
02:40:45freezerburnvfowl: Changing it to push(stream.pusher, ...) got rid of the error though and just complained about not having a var TEventStream
02:42:48freezerburnv(updated gist to reflect the changes you mentioned fowl)
02:46:40*brson joined #nimrod
02:47:14fowlfreezerburnv, apparently, some version of this compiled for me
02:47:27fowloh probably when i commented out the onValue call
02:48:15freezerburnvfowl: Heh, yeah that's what I added to cause the problem. And what I'm trying to test
02:50:10fowlfreezerburnv, not sure what the problem is now
02:50:35fowlfromSeqTest has to be var not let so it can be mutable
02:52:40freezerburnvSo when something is let, or is not declared as var in the proc, you can't mutate stuff that is inside of stuff in the object? Duly noted
02:52:58freezerburnvStill getting used to a lot of things, so I apologize for all the dumb mistakes
02:54:54fowlfreezerburnv, its like that for value types
02:55:19fowlif you use a ref/ptr let will keep it from being reassigned but you still have mutable access to the contents of it
02:55:53freezerburnvAaah, got it
02:56:08fowlfreezerburnv, i think the problem is to do with the lambda
02:59:39fowlfreezerburnv, i looked in the compiler src to see if i can see whats going on, im lost ._.
03:00:06freezerburnvMight have to ask Araq about it or something
03:04:27freezerburnvWell thanks for the help fowl. Sleep time now. Night all
03:04:34fowlgood night
03:04:40*freezerburnv quit (Quit: freezerburnv)
03:39:13*DAddYE_ quit (Remote host closed the connection)
03:39:41*DAddYE joined #nimrod
03:44:03*DAddYE quit (Ping timeout: 252 seconds)
03:55:52*DAddYE joined #nimrod
03:56:03*DAddYE quit (Remote host closed the connection)
03:56:09*DAddYE_ joined #nimrod
04:06:31*brson quit (Ping timeout: 272 seconds)
04:08:07*brson joined #nimrod
04:38:52*familiar125 quit (Read error: Connection reset by peer)
05:08:53*OrionPK quit (Quit: Leaving)
05:23:45*brson quit (Ping timeout: 245 seconds)
05:37:54*DAddYE_ quit (Remote host closed the connection)
05:38:21*DAddYE joined #nimrod
05:42:38*DAddYE quit (Ping timeout: 240 seconds)
05:46:15*BitPuffin quit (Ping timeout: 252 seconds)
07:44:44*Jackneill joined #nimrod
09:15:17*anton2 joined #nimrod
09:30:18*xenagi quit (Quit: Leaving)
09:40:49*filwit joined #nimrod
09:40:56filwitmornin folks
10:43:32*BitPuffin joined #nimrod
10:48:46BitPuffingood mooooOOOOooorning!
10:59:16filwitmorning BitPuffin
11:13:00BitPuffinsup filwit?
11:13:24filwitnm, trying to fix my OpenGL bugs :)
11:13:58BitPuffinfilwit: what are you coding? :)
11:14:02filwitmaking progress (rendering glitch polygons), so i'm happy
11:14:12filwitBitPuffin: a test for my game engine
11:14:33filwitjust getting some core stuff setup (GL Vertex Arrays right now)
11:14:41BitPuffinfilwit: open sauce?
11:15:02filwitof course. but no source yet (it's not much of anything atm, just starting)
11:15:08BitPuffinah I see
11:15:24BitPuffinwell I'll be coding some closed source evil code for my game :P
11:15:32BitPuffinbut first I'm gonna work on my website
11:15:37filwitcool
11:15:46filwitnothing "wrong" with closed-source
11:16:05filwitespecially for entertainment oriented things
11:16:22BitPuffinIt is wrong in one way, but it's not wrong to do it, what is wrong is that you have to do it in order to make a living on it
11:16:41filwitvery true
11:17:16BitPuffinIf I could spend all my time making games putting them into the public domain immediately and still be able to eat and have a home and car etc I'd do it no doubt
11:17:57filwitmaybe in a few or so the world will work like that, but not yet
11:18:37filwitit's my believe that everything we use in our daily lives will eventually be "free" (so cheap for robots to make, it doesn't make sense to "sell it")
11:19:28BitPuffinyeah
11:19:30filwitjust look at what they can do with 3D printers now... they can now print fully working hand guns and assult rifles (complex metal parts which take a beating)
11:19:35BitPuffinWell maybe except creative works
11:19:47filwitin a few years, that will allow us all to 3D prints open-source hardware blueprints
11:19:48BitPuffinbut I have a similar theory
11:19:53filwitand that will change things, i think
11:19:55BitPuffinor at least something that I hope would happen
11:20:17filwitwell, with creative works, it's like "why sell this?" when everything else is "free"
11:20:26filwitjust make what you have a passion for
11:20:28BitPuffinah yeah of course
11:20:59filwitbut maybe that's just hopeful thinking, idk. but i think it's realistic
11:21:08filwitwe're just not ready yet
11:21:25filwitopen-source has to overcome proprietary in more industries first
11:21:40BitPuffinyeah basically what I hope for is that when technology gets far enough so many things can get automated that we won't need economy etc
11:22:07BitPuffinand like you say we'll be able to get things for free and work on what our passion is
11:22:11BitPuffinthat would be nice
11:22:15filwitwell, we still need an "economy" lol, we just wont need to worry about the cost of living, etc
11:22:23BitPuffinwell money etc
11:22:26filwitand things like education will be free
11:22:30BitPuffinmaybe some form of an economy
11:22:35filwit(it already is... it's called the internet)
11:22:54BitPuffininternet access is not really free though :P
11:22:55filwitwell, "economy" just means how we distribute our natural resources
11:22:59BitPuffinyeah
11:23:05BitPuffinit was an ill chosen word
11:23:06filwitit's not free yet :P
11:23:14filwit(the internet i mean)
11:24:38filwitanyways, trying to fix something
11:30:01BitPuffingo for it!
11:49:46*CarpNet joined #nimrod
11:51:28BitPuffinahoy CarpNet
11:51:40CarpNetahoy
12:22:35*anton2 quit (Quit: anton2)
12:26:38dom96hello
12:28:15filwithi dom96
12:31:02*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
12:31:32dom96hey filwit
12:36:59filwityay it works!
12:37:10filwitforgot 'float' in Nimrod is 64bit
12:37:20filwitwhich was messing stuff up
12:37:21filwitgreat
12:40:37BitPuffinhey dom96
12:40:57BitPuffinfilwit: yeah it's a bit of a gotcha, I initially set those things wrong in linagl
12:41:04BitPuffinbut quickly realized it was wrong :P
12:41:46filwityeah, i actually like it like that (since 64 is what you normally want), it's just confusing when translating code from another language
13:03:18BitPuffinwell 64 bit is not what you normally want
13:03:25BitPuffinit's what you want on certain hardware
13:03:31BitPuffinand nimrod adapts to the hardware iirc
13:04:26filwittrue
13:08:58*anton2 joined #nimrod
13:20:41Araqhi anton2 welcome
13:20:44*freezerburnv joined #nimrod
13:21:22filwitbtw, 'float' on ARM is 32bit or 64bit?
13:23:18Araq64 bit
13:23:31filwitk
13:24:58filwitwell, i have Vertex Arrays working now (yay!), so all my issues i was having are resolved. Now i can begin the real work :)
13:25:46AraqI planned to make them 32bit for arm but there are issues with that
13:25:48filwitwell, still a bug in the matrix, and gotta get Vertex Array Elements working too.. but i figured everything out, so i can start the editor project and just port over as i need
13:26:19Araqso it's better to do type xfloat = when defined(x86): float else: float32
13:26:20filwitAraq: yeah, I don't really know best practice for that. just wanted to know.
13:26:55filwitAraq: and yeah, i always though 'intx' and 'floatx' where good names for that.
13:27:20Araqinteresting ;-)
13:27:33BitPuffinAraq: float on 32 bit hardware is also 64bit?
13:27:41Araqyes
13:27:45BitPuffinah
13:27:47BitPuffinstrange
13:27:55BitPuffinI thought it depended on the hardware
13:29:01BitPuffinoh well
13:30:00anton2BitPuffin: Well, float is generally defined as float64. But depending on the cpu, float64 may be emulated in software, or using real hardware.
13:30:38BitPuffinanton2: even within the same architecture?
13:31:30anton2BitPuffin: And you've got some 'in between' sitiuation, (some cortex m for ex), where float64 is soft, and float32 may be hard...
13:31:59BitPuffinhm
13:32:14BitPuffinisn't float64 pretty expensive usually though for most things?
13:32:24filwitMono C# still doesn't have hard-float on Android...
13:33:03BitPuffinwhat is a case when templates are needed instead of inline procs?
13:33:38anton2BitPuffin: Depends on what you call "Architecture". But cortex-M4, for exemple, gives you hardware single precision, you'll have to emulate double precison in software (and yes, it's expensive)
13:33:51filwitactually wait... didn't Android not have hard-floats at all yet (cause they're still going off ARM5 hardware)? I'll have to ask my brother later..
13:34:26BitPuffinanton2: but then isn't it better to default to float32 on the class of hardware that cortex-m4 is in?
13:34:59BitPuffinI guess when you want to be able to call the template like foo:
13:35:08anton2BitPuffin: Clearly, if single precision float is enougth for you.
13:36:18BitPuffinanton2: so yeah, I guess on arm 32 bit should be default then
13:36:28BitPuffinanton2: but what about older x86 processors
13:36:33BitPuffin(not x86_64)
13:36:44BitPuffindo they usually have hardware 64 bit?
13:40:03anton2BitPuffin: Since intel 80386, they (may) have an hardware FPU, or use SSE2, so it's safe to assume that float64 is here if you're not targeting a very old/special cpu.
13:40:32BitPuffinanton2: ah, okay. So 64 bit as default is best then
13:44:55AraqBitPuffin: one issue is that 5.0 should have 64 bit precision imho
13:45:05Araqand that at compile time you get 64bits
13:45:43Araqso ... you have to pick the optimized float yourself
13:45:53BitPuffinAraq: you mean 5.0 as a literal in code?
13:45:57Araqyes
13:46:01anton2I'll be dealing with nimrod and float32/64 issues on arm cortex-m4 when memory allocation works ;-)
13:46:17Araqer ... why doesn't it?
13:46:33BitPuffinAraq: but what's the issue then, you think it should be 64 bit and you get 64bit at compile time
13:46:37BitPuffinor oh
13:46:42BitPuffinyou mean not depending on hardware
13:46:46Araqyes
13:46:50BitPuffinso even on ARM you'd get 64bit
13:47:10BitPuffin(if arm defaulted to 32bit that is)
13:47:21BitPuffinyeah that is kind of an issue
13:47:33BitPuffinI mean sure you could do 5.0f32
13:47:53anton2Araq: Dunno. Well it works if I don't use --gc:none and -d:useMalloc.
13:48:27Araqwell --gc:none might leak depending on what you use
13:48:51Araqhi tromp__ welcome
13:49:42*tumak quit (Ping timeout: 246 seconds)
13:50:00anton2Araq: but I'm using a custom memory manager, and it seems I missed someting.
13:50:16Araqpatched mmdisp?
13:51:00anton2Araq: No, I'm providing my own osAllocPages, osDeallocPages in alloc.nim
13:51:37anton2Araq: And reducing the inital memory alloc, as I'll have only 128Kb on target...
13:54:49Araqok sounds good
13:57:35BitPuffinanyone know what format a TRow stores things like?
13:57:41BitPuffinI mean it is a seq[string]
13:57:47BitPuffinbut what does it look like
13:58:01BitPuffindoes it just contain the values in the order they are in the database?
13:58:27BitPuffinso if I have a database with two integers an example TRow would be ["2", "83"] ?
14:21:57*shodan45 quit (Read error: Connection reset by peer)
14:22:07*shodan45 joined #nimrod
14:27:32BitPuffinthat would really be the logical thing I guess
14:28:26*tumak joined #nimrod
14:50:19*P2bM joined #nimrod
14:50:29Araqhi P2bM welcome
14:51:44P2bMThanks, and thanks for Nimrod
14:55:35BitPuffinthat's a nice response
14:58:34P2bMI have been messing around with nimrod for some time now, and I was wondering how I could contribute
14:59:10BitPuffinP2bM: best way would probably most definitely be to fix compiler bugs
14:59:22BitPuffinP2bM: otherwise making 3rd party libs is also nice
14:59:45BitPuffinP2bM: and helping out with marketing (posting blog posts) and reporting bugs etc
14:59:58AraqP2bM: c2nim now supports c++ so ... wrapping wxWidgets and Qt seems possible
15:00:03BitPuffinI don't know if Araq wants to add something to that. But that's a few things I think helps out
15:00:36Araqalso ... where is my disphelper wrapper, Varriount ? ;-)
15:02:05P2bMso bug fixing and wrapping libs
15:02:12P2bMseems doable
15:02:47Araqstart with wrapping things please. bug fixing is apparently VERY hard
15:02:58BitPuffinit is
15:03:33BitPuffinand now I have things to do at my intership so it's not like I'm just sitting around and have time to familiarize myself with the compiler source :(
15:04:07BitPuffinI think I'm gonna work around the compiler bugs so that at least linagl is functional for gamedev. Even if generics stops me from adding some features
15:04:26BitPuffinBecause I have a project I wanna release in december :D
15:04:45Araqactually generics are stable enough for everything
15:04:56AraqI mean surely you have to workaround things
15:05:05BitPuffinAraq: well no there are a few limits
15:05:15Araqbut you don't have to avoid them completely
15:05:22BitPuffinI didn't say I was gonna
15:05:26BitPuffinat least not intentionally
15:05:28Araqalright
15:05:33BitPuffinI mean workaround the show stopping stuff
15:06:18Araqwell that was the last time I will spend months on a branch
15:06:57BitPuffinwith the current bug not allowing me to pass integers etc as generic parameters and not being able to refer to the parameters stops me from making a proc like this:
15:07:50Araqyou can pass range[1..3] though and I told you 50x now
15:08:00BitPuffinproc `{}`(m: TMatrix, i: int): TMatrix[m.type.T, m.type.R-1, m.type.C-1] =
15:08:21BitPuffinAraq: you didn't even finish listening
15:08:30BitPuffinbut I guess I could do something like this:
15:09:25BitPuffinproc `{}`[T, R, C](m: TMatrix, i: int): TMatrix[T, R.low..R.high-1, C.low..R.high-1]
15:09:29BitPuffinsuch a hack :P
15:10:01BitPuffinAraq: I already know about the ranges, why else would they be in my code :P
15:10:23BitPuffinYou are too eager to shame me
15:10:42Araqit's nothing personal
15:10:57AraqI'm used to repeat things again and again and again as people can't read
15:12:07BitPuffinAraq: Sure, but maybe you would save yourself the stress if you waited long enough to know what I am actually talking about
15:12:33BitPuffinBecause when you assume you get frustrated because you feel like you need to repeat yourself
15:18:59freezerburnvAraq: Can you take a look at this gist? https://gist.github.com/Freezerburn/7494922 The compiler is throwing a SIGSEGV when processing it. It started doing that after adding lines 84-86 (the lambda seems to be the one causing the problems)
15:21:30BitPuffindoes replace replace all the instances of what you want to replace or only first occurence
15:22:48Araqall instances
15:23:27BitPuffincool
15:23:54*OrionPK joined #nimrod
15:24:03BitPuffinthen s.strip().toLower().replace(" ", "-") should make a nice slug
15:25:08BitPuffinhmm, but what about : etc
15:26:53*anton2 quit (Quit: anton2)
15:30:39dom96Araq: Please take a look at https://github.com/Araq/Nimrod/issues/674
15:33:17BitPuffinOrionPK: I see you have separated sha1, but you haven't added it to https://github.com/nimrod-code/packages/blob/master/packages.json, is there a specific reason?
15:35:43Araqfreezerburnv: in line 84 you use an implicitly generic lambda which is not yet implemented
15:36:28Araqdom96: It's nice we can finally reproduce that
15:36:39AraqI've no idea why the asserts are wrong though
15:37:42dom96Should the unicode module support ISO-8859?
15:37:47Araqno
15:37:56Araqwe have the encodings module for that
15:38:05dom96ahh yes
15:38:29dom96Perhaps it shouldn't work then? The error should just be made more clear.
15:39:36Araqthe problem is that these asserts slow things down in production if they are not asserts
15:43:01*P2bM quit (Ping timeout: 248 seconds)
15:44:49dom96I wonder what happens when you compile in release mode then.
15:45:21BitPuffinthe computer explodes
15:46:00dom96If you get an exception then you can be fairly sure that you are doing something wrong and not that the module is buggy.
15:46:58dom96comex: Maybe you should mention Nimrod in your tweets since you're talking about Rust macros anyway? :P
15:54:03dom96Araq: Getting an exception also means that I can catch it and attempt to convert the text to UTF-8 before reattempting to use the unicode module again.
15:58:13freezerburnvAraq: Is there a way to get around using an implicitly generic lambda there?
16:00:24Araqwell you can instantiate the generic
16:00:38Araqlambdas are almost always concrete anyway
16:01:19Araqdom96: that sounds fishy though
16:01:22Araqbbl
16:04:32freezerburnvAraq: What do you mean by instantiating the generic?
16:05:36BitPuffinhmm, why not have the parsing happen client side
16:05:40BitPuffinof the blog post :D
16:10:25*xenagi joined #nimrod
16:22:47*filwit quit (Quit: Leaving)
16:24:18*Hannibal_Smith joined #nimrod
16:28:29BitPuffinSIGSEGV: Illegal storage access. (Attempt to read from nil?)
16:28:33BitPuffin._. I hate that thing
16:28:53BitPuffindom96: is let title = request.formData["title"].body wrong?
16:31:54dom96maybe that field doesn't exist
16:32:43dom96maybe your data is in request.params
16:34:45BitPuffindom96: but this is supposed to come from a form
16:35:13BitPuffinhttps://gist.github.com/BitPuffin/6b3d6f1f66e8c8ae5074
16:35:15BitPuffindom96: ^
16:35:59dom96formData is only for 'multipart/form-data'
16:37:58*familiar125 joined #nimrod
16:38:16BitPuffindom96: so it should be retrieved with @ ?
16:40:07dom96yeah
16:41:14BitPuffinah
16:41:20BitPuffinwell that's a lot nicer
16:41:27BitPuffinI don't even know wtf multipart/form-data is :P
16:41:56dom96when you're uploading files for example IIRC
16:42:06OrionPKBitPuffin
16:42:10OrionPKhttps://github.com/nimrod-code/packages/pull/32
16:42:22OrionPK"onionhammer opened this pull request 9 days ago"
16:42:58NimBotnimrod-code/packages master 4f40eef Erik O'Leary [+0 ±1 -0]: Added sha-1 package
16:42:58NimBotnimrod-code/packages master e375131 Dominik Picheta [+0 ±1 -0]: Merge pull request #32 from onionhammer/master... 2 more lines
16:42:59dom96My bad
16:48:35*Associat0r joined #nimrod
16:48:35*Associat0r quit (Changing host)
16:48:35*Associat0r joined #nimrod
16:49:09*brson joined #nimrod
16:51:22*ics joined #nimrod
16:52:22*fowl quit (Ping timeout: 268 seconds)
16:52:23OrionPKdom96 it might be cool if packages was a kind of meta-list for babel
16:52:26OrionPKrather than THE list
16:52:46dom96and what would be /the/ list then?
16:52:56OrionPKpackages would be the ultimate list
16:53:05OrionPKbut babel would recurse 1 level deeper
16:53:20OrionPKand find distinct package lists within items in packages
16:54:18dom96hrm, so packages.json would be a list of lists of packages?
16:54:31OrionPKessentially, or a mix of lists and distinct packages
16:54:54OrionPKthat would authorized authors could publish new packages and updates to packages without submitting a pull request
16:56:55OrionPKnm about "updates", I thought packages.json included a version #, but it doesnt
16:57:33OrionPKbut you could at least update descriptions and such
17:05:04*familiar125 quit (Read error: Connection reset by peer)
17:11:16*brson quit (Ping timeout: 264 seconds)
17:12:40*brson joined #nimrod
17:14:55*familiar125 joined #nimrod
17:15:35*mflamer joined #nimrod
17:19:48*fowl joined #nimrod
17:26:27*familiar125 quit (Read error: Connection reset by peer)
17:27:01*familiar125 joined #nimrod
17:55:49*fowl quit (Ping timeout: 248 seconds)
18:00:17*freezerburnv quit (Quit: freezerburnv)
18:08:59*fowl joined #nimrod
18:48:29*MFlamer_ joined #nimrod
18:59:06*DAddYE joined #nimrod
18:59:17*DAddYE quit (Remote host closed the connection)
18:59:24*DAddYE joined #nimrod
18:59:27*mkb quit (Ping timeout: 240 seconds)
19:04:38*xenagi quit (Quit: Leaving)
19:05:42*mkb joined #nimrod
19:07:30OrionPKdom96 araq well, however it handles it, it probably shouldnt crash if I'm calling marshal $$ on certain strings
19:08:33Araqwell it should crash if you have an encoding related error according to the python people
19:08:42Araqwhich keep claiming python got unicode right
19:09:15OrionPKIm going to assume ur using cynicism to be facetious
19:09:15OrionPK:P
19:09:27AraqI'm for "garbage in, garbage out" when it comes to encodings
19:09:51Araqso for me removing the asserts and calling it a day would be fine ...
19:10:12OrionPKIm in favor of this, assuming everything else w/ the implementation is fine
19:10:33Araqwell it's correct as far as I can tell, but since I wrote it ...
19:11:07OrionPKI haven't really checked at all, so I'm not even guessing one way or the other
19:17:25*gradha joined #nimrod
19:34:10Araqok, here is a use case: if you have a json with an encoding error and deserialize that and get "garbage" strings out, it's easy to check for valid utf-8 afterwards and try to fix it
19:34:55Araqwhereas with an exception you need to set Nimrod's raise override hook and try to deal with it this way
19:36:03OrionPKI think as long as deserializing gives you the same value that you serialized, without complaining, mission accomplished
19:36:13Araqyeah
19:36:48Araqthough arguably it should somehow return a TaintedString then
19:38:03*MFlamer_ quit (Ping timeout: 245 seconds)
20:09:55*familiar125 quit (Read error: Connection reset by peer)
20:16:55gradhaAraq: can I implement system.staticWrite for macros?
20:17:16Araqno need
20:17:29Araqwill work once the ffi works for the new vm
20:19:10OrionPKanyone know what's up with this https://gist.github.com/onionhammer/7517774
20:19:17*fowl quit (Ping timeout: 248 seconds)
20:19:29OrionPK'-' the TTimeInterval doesnt seem to be doing anything
20:20:40Araqask dom96 about the time stuff
20:21:25gradhaOrionPK: "Note: This has been only briefly tested"
20:21:37gradhaOrionPK: "Welcome, you are our first beta tester! You win this award!"
20:22:03*dom96 grumbles
20:22:12Araqit *has* been tested
20:22:17dom96Aporia is broken :\
20:22:24Araqbut times are full of edge cases
20:23:37OrionPKyay
20:23:41gradhaOrionPK: if you echo time.getLocalTime.format("h:mm:ss tt") you will see the hours are not being substracted
20:23:57OrionPKfunny enough, I only found this bug trying to fix another bug when the .format function crashed :P
20:24:12OrionPKor rather trying to reproduce a crash w/ .format
20:28:30gradhaI guess the bug is that times.toSeconds doesn't even read the hours field of the interval
20:28:54gradhaminutes, on the other hand, seem to be multiplied by the hour
20:29:14gradhayep, got it, want a pull request?
20:30:10Araqof course
20:31:00dom96omg
20:31:42dom9655679 should fit in a uint16 right?
20:32:28Araqright
20:32:31*fowl joined #nimrod
20:32:38OrionPKdom96
20:32:39OrionPKThu Jan 01 12:00:00 1970
20:32:39OrionPKTraceback (most recent call last)
20:32:39OrionPKtest.nim(5) test
20:32:40OrionPKsystem.nim(706) format
20:32:42OrionPKError: unhandled exception: value out of range: 12
20:32:52gradhaoh, I see, now the module's mini unit testing fails
20:33:13OrionPKwith format("h:mm:ss tt"), it crashes
20:33:21*xenagi joined #nimrod
20:33:59OrionPKthis happens with a lot of times, Sat Jan 03 12:59:59 1970
20:34:29dom96Araq: https://gist.github.com/dom96/17108449e7ed7ad7406a
20:34:47dom96That fails.
20:35:23AraqTPort = distinct uint16, right?
20:35:27dom96yes
20:36:10dom96OrionPK: It doesn't look like it's calling times.format
20:36:14dom96But system.format.
20:36:52OrionPKonly from 12:00 noon to 12:59 every day
20:36:53OrionPK?
20:37:00Araqthere is no system.format
20:37:13OrionPKonly times it fails are 12:00 -> 12:59
20:37:19dom96what's system.nim:706 then?
20:37:21OrionPKlooks like every day
20:37:26OrionPKit's a template
20:38:58*freezerburnv joined #nimrod
20:41:06OrionPKI think that's another issue actually
20:41:12gradhadom96: the unit testing at the end of times.nim tests a date with year 30143, but the year field only stores from -10_000 to 10_000
20:41:19OrionPKtemplate line #'s showing up in the traceback
20:41:28OrionPKrather than what's using the template
20:42:57dom96Araq: The gist I gave you, that's a bug right?
20:43:08Araqyes
20:46:42OrionPK if info.hour > 12:
20:46:42OrionPK result.add($(info.hour - 12))
20:46:42OrionPK else:
20:46:42OrionPK result.add($info.hour)
20:46:44OrionPKworks
20:46:53OrionPKresult.add($(if info.hour > 12: (info.hour - 12) else: info.hour)) does not work
20:47:19OrionPKthat seems fucky
20:50:30NimBotnimrod-code/Aporia master ff9f9d1 Dominik Picheta [+0 ±1 -0]: Fixes crash when addTab returns -1 during session restore.
20:53:01dom96OrionPK: Isn't that technically the same code?
20:53:27OrionPKdom96 it definitely seems like a bigger issue than just times.nim
20:53:35OrionPKdont think it's times.nim's fault
20:54:07*filwit joined #nimrod
20:54:21dom96hrm, ok.
20:55:42*mflamer quit (Ping timeout: 272 seconds)
20:58:26OrionPKdom96 araq https://gist.github.com/onionhammer/7518186
20:58:49OrionPKseems like an issue w/ ranges.. I guess
20:59:13*gradha thinks if nimrod's time module falls a bit short for paleontologists
21:02:48*familiar125 joined #nimrod
21:03:20OrionPKgradha dinosaurs didnt use the gregorian calendar
21:04:10*Jackneill quit (Remote host closed the connection)
21:04:11gradhathose cranky unix users…
21:07:25*xenagi quit (Ping timeout: 265 seconds)
21:09:33*freezerburnv quit (Quit: freezerburnv)
21:16:05gradhaAraq: when is the next big release?
21:18:54filwitfowl: are you around?
21:19:17Araqdec 16th
21:19:32gradhasounds like a plan
21:19:57filwitfowl: i'm trying to call: glDisable(GL_CULL_FACE) but it's failing, saying: type mismatch: got (proc (GLenum){.stdcall.})
21:20:31filwitfowl: i'm guessing cause you dynamically load this symbol? how do i call glDisable?
21:22:52*xenagi joined #nimrod
21:31:53filwitfowl: nevermind, i already did something like this before... should have just tried CGL_CULL_FACE first...
21:34:22*olahol quit (Ping timeout: 252 seconds)
21:34:38*olahol joined #nimrod
21:35:28*reactormonk quit (Ping timeout: 252 seconds)
21:35:57*reactormonk joined #nimrod
22:00:49familiar125hey dom96 any idea when you'll have some time to merge in the timestamp change to irc
22:01:40*freezerburnv joined #nimrod
22:05:07gradhagood night
22:05:19*gradha quit (Quit: bbl, need to watch https://www.youtube.com/watch?v=2IzR_ClTE8Y again)
22:05:41*familiar125 quit (Read error: Connection reset by peer)
22:08:19*familiar125 joined #nimrod
22:08:54*familiar125 quit (Read error: Connection reset by peer)
22:17:20NimBotAraq/Nimrod master 981c73d Zahary Karadjov [+0 ±3 -0]: improvements for the `is` operator; implemented the type lifting rule in user-defined type classes
22:17:20NimBotAraq/Nimrod master b7fc227 Zahary Karadjov [+1 ±7 -0]: simple unit test and better documentation for the user defined type classes
22:17:35*familiar125 joined #nimrod
22:17:54*brson quit (Quit: leaving)
22:18:48*familiar125 quit (Read error: Connection reset by peer)
22:20:16*fowl quit (Ping timeout: 264 seconds)
22:20:17*P2bM joined #nimrod
22:21:35Araqoh yay zahary is here. got my memo?
22:26:37*familiar125 joined #nimrod
22:34:17*fowl joined #nimrod
22:37:37*freezerburnv quit (Quit: freezerburnv)
22:43:19*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:47:06NimBotAraq/Nimrod master 79aab0f Erik O'Leary [+0 ±1 -0]: Added timestamp to TIRCEvent
22:47:06NimBotAraq/Nimrod master 52540d7 Erik O'Leary [+0 ±1 -0]: Fixed http header parsing issue... 5 more lines
22:47:06NimBotAraq/Nimrod master 6e51439 Dominik Picheta [+0 ±2 -0]: Merge pull request #670 from onionhammer/master... 2 more lines
22:47:13dom96familiar125: there you go
22:47:21familiar125danke
22:49:57*P2bM left #nimrod (#nimrod)
22:57:44*CarpNet quit (Quit: Leaving)
22:59:09*P2bM joined #nimrod
23:09:34*P2bM left #nimrod (#nimrod)
23:27:33*ics joined #nimrod
23:34:41*Hannibal_Smith quit (Quit: Sto andando via)