<< 23-03-2014 >>

00:02:32*brson quit (Read error: Connection reset by peer)
00:07:30*awestroke quit (Remote host closed the connection)
00:13:39dom96Araq: So do you want it to raise an exception then?
00:28:01*q66 quit (Quit: Leaving)
00:44:44*io2 quit ()
00:55:00*Varriount quit (Read error: Connection reset by peer)
01:03:22*Varriount joined #nimrod
01:22:21*brson joined #nimrod
01:45:02*runvnc joined #nimrod
01:46:35*flaviu quit (Remote host closed the connection)
01:59:18*Kelet joined #nimrod
01:59:45KeletAny IRC clients in Nimrod? J/w
02:01:16fowldo bots count as clients
02:01:38Keleti'd be interested in seeing bots too but was mainly wondering about clients
02:05:24fowlsomeone is working on a client
02:14:32*brson_ joined #nimrod
02:17:18*brson quit (Ping timeout: 240 seconds)
02:19:13*brson_ quit (Client Quit)
02:19:20*brson joined #nimrod
03:15:37NimBotnimrod-code/packages master 61d40ea Jason Livesay [+0 ±1 -0]: Add redissessions
03:15:37NimBotnimrod-code/packages master 0692cb8 Billingsly Wetherfordshire [+0 ±1 -0]: Merge pull request #52 from ithkuil/master... 2 more lines
03:23:38*brson quit (Ping timeout: 240 seconds)
03:24:33Skrylarmeep!
03:26:29fowlhola
03:48:30Skrylartime to install an SSD that has been sitting around for a year :B
03:48:46BitPuffinWell, got level loading working but no rendering yet
03:49:23BitPuffinthat's more or less literally the next step
03:49:43fowlare you doing LD
03:49:47BitPuffinyeah
03:49:49BitPuffinmini LD
04:00:31fowlwhat you using, sdl?
04:01:39BitPuffinAraq: would you be opposed to something like this? https://gist.github.com/BitPuffin/9718515 the handyness of the syntax doesn't shine in that example, but imagine the when clusterfuck that could be created if you where doing like types within types stuff and have to put inline when statements. This way you could put all your platform specific code within one when block
04:01:43BitPuffinfowl: no, allegro
04:02:13fowlyou know you can use when: inside a type def right
04:02:41BitPuffinfowl: yes and I addressed it in what I said
04:03:19BitPuffinI said that it becomes a when clustefuck when you have types within types etc and this way you can put all platform specific code in one big when block instead of multiple scattered ones
04:03:25BitPuffinfowl: I shouldn't have to type things twice
04:04:04BitPuffinit's breaking the DRY principle :P
04:04:39fowli dont see how this solves anything
04:04:49BitPuffinit solves code organization
04:05:05BitPuffingenerally what you'd use this for is for module private variables that you put for your platform specific stuff
04:05:16fowlby scattering a type definition across the whole file instead of one place
04:05:39BitPuffinfowl: yes because you only care about the real type definition generally, except for in the platform specific when block
04:05:59BitPuffinsomebody reading the code doesn't wanna know that privately there is a bla veriable in windows that they can't access anyway
04:06:15BitPuffinor like 12 variables all over the place
04:06:16fowlspeak for yourself
04:06:31fowllol
04:06:36fowlthis is not good design anyways
04:06:54fowla better way to is create an api that each platform implements
04:07:26BitPuffinwell if you want to I can code together a type block that shows what the difference would be with something more complex
04:07:32BitPuffinfowl: well smartass that's exactly what this is for
04:08:07fowlBitPuffin, it doesnt solve anything, everywhere you use tfoo you have to have to account for all three platforms
04:10:18BitPuffinfowl: no because this is mainly for private shi
04:10:20BitPuffint
04:10:22BitPuffinfowl: refresh the gist
04:11:07BitPuffinpublicly, there is one API, but behind the scenes there is platform specific things being taken care of
04:11:34fowlwell wouldn't you think itd be even cleaner if each platform had its own module
04:11:52BitPuffinfowl: Well sure but I wouldn't be able to add to the type
04:12:04BitPuffinand I wouldn't be able to use shared private stuff
04:12:13BitPuffinlike things that I would put in the original type section
04:12:19BitPuffinbut is not exported
04:12:28BitPuffinbut a shared property for all procs/methods
04:12:52BitPuffinit's also funny coming from the everything in one repo and everything in one file guy :P
04:13:06fowli dont think you understand what im saying
04:13:17BitPuffinfowl: I do
04:13:39BitPuffinfowl: that way you would have to redefine the stuff all the time
04:13:45fowlno
04:13:52BitPuffinit would be the same as if you did when defined(windows): type TFOO ....
04:13:55BitPuffinand repeat yourself
04:14:02BitPuffinfor each platform
04:14:15fowl..no
04:14:22BitPuffinwell then be more clear
04:14:45BitPuffinit's also stupid to have have to have a TFooExtras property or whatever
04:14:52fowlhttps://github.com/LaurentGomila/SFML/blob/master/src/SFML/Window/WindowImpl.hpp
04:15:41fowlwindowimpl is implemented for x11, quartz, windows, most of the functions in window are direct call into the windowimpl
04:17:33BitPuffinwell that's exactly the TFooExtras bullshit I was talking about
04:17:41BitPuffinand I think that's worse design
04:17:53fowlok
04:17:55BitPuffinwell in essence it's the same
04:18:06BitPuffinbut that becomes scattered
04:19:53BitPuffinI don't want to make 8 files per module just to run on all PC platforms and consoles and handlelds and probably more with mobile
04:20:08fowl8 files per module
04:20:11BitPuffinif a module is say, about initialing a rendering context
04:20:15fowllet me get some weed from u BitPuffin
04:21:17fowlBitPuffin, i can lead a horse to water but i cant make it drink. and if i try to shove its face into the water someone will report me for animal cruelty
04:21:48BitPuffinfowl: yeah it would be 8 files per module
04:21:49*BitPuffin quit (Read error: Connection reset by peer)
04:22:07*BitPuffin joined #nimrod
04:22:24BitPuffincontex-windows.nim context-osx.nim context-linux.nim context-ps3.nim context-ps4.nim context-xbox360.nim context-xbone.nim context-wiiu.nim context-3ds.nim context-psvita.nim context-android.nim context-ios.nim
04:22:30BitPuffingreat design 2014
04:22:49fowlyou're right
04:22:52fowlthat would be way worse than
04:22:56fowlwhen defined(linux):
04:22:58fowlwhen defined(windows):
04:23:01fowlwhen defined(osx):
04:23:04fowlwhen defined(psvita):
04:23:09fowlwhen defined(ps4):
04:23:12fowlwhen defined(ios):
04:23:16fowlwhen defined(android):
04:23:23fowlrepeated for every platform-specific function
04:23:47BitPuffinnot really one function
04:24:17BitPuffinbut yeah it would be much worse
04:24:31fowldont let ambition kill your project before it takes off
04:24:40BitPuffinwut
04:24:59fowlyou dont intend to support those platforms do you?
04:25:42BitPuffinlol no not initially
04:25:45BitPuffinand probably never all
04:25:50BitPuffinbut perhaps for my API
04:26:04BitPuffinbut that's way later
04:26:15BitPuffinthen it will probably be PS5 and PS6 lol
04:27:26BitPuffininitially it will be win, linux and mac (probably mac at least) and after that porting to one console, probably either ps4 or wii u and then the other
04:27:38BitPuffinI'm not gonna work with M$ probably
04:28:13BitPuffinand no distrubuting on my own for windows doesn't count as working with microsoft
04:28:25BitPuffinwindowns 8 store would however
04:28:47fowlmake the windows version twice the price
04:28:56*Endy joined #nimrod
04:29:15BitPuffinyes
04:29:17*DAddYE joined #nimrod
04:31:05fowlallegro5's setup confuses me
04:31:26fowli want a main loop but it seems like that pattern is discouraged
04:31:41BitPuffinhow so?
04:32:17fowlthe way its suggested is to use a 60fps timer and draw when the timer event comes through
04:33:22BitPuffinwell I'm currently doing it as a main loop
04:33:54BitPuffinhttps://bitbucket.org/BitPuffin/miniquake/src/36d7e5a86dd276096249d1a812dd96501f61be5d/src/miniquake.c?at=default#cl-272
04:36:38fowlc :(
04:37:01fowlyou have no delay, this will run at thousands of frames per sec
04:38:23BitPuffinyeah currently
04:38:32Skrylaractually context-OS.nim is pretty normal in good libs
04:38:57BitPuffinfowl: I haven't started rendering yet as I mentioned, but you can wait for vertical refresh
04:39:06BitPuffinSkrylar: doesn't make it the ideal solution
04:39:20Skrylarsome of the nicer C libraries will have things like "display-x86.c" (e.g. SDL, Allegro) because it puts a hard line between the portable / not portable code. Also, libRocket does this with System and Renderer interfaces
04:39:52fowlBitPuffin, i found an error
04:40:00SkrylarBitPuffin: whats the exact design problem with [api function stubs] when thisPlatform: include(stuffmodule.win32)
04:40:13Skrylarinclude / or import and export
04:40:25Skrylarinclude actually would remove the separation so the public/private variable issue is nil
04:41:13*Endy quit (Ping timeout: 246 seconds)
04:41:22fowlBitPuffin, the mallocs in floor_from_bitmap are wrong, the sizeof() should be Block* and Block
04:41:32SkrylarI don't think puffin is asking for people's opinions on good design, though, so I imagine he's going to do what he's going to do. :)
04:42:29Skrylarfowl: i poked around with backrefs, they involve some sadness with the GC :(
04:42:50Skrylargoing to look at if macros can pretty up event queues later
04:42:58fowlyou tried the gc test i have in ex1 with slotted objs?
04:43:14Skrylarfowl: i didn't run that one, but i did some gc tests
04:43:17BitPuffinfowl: you are probably right, will look at it tomorrow, I'm sleepy
04:43:50Skrylarfowl: the problem is that you have to unhook the backrefs in a finalizer, and finalizers can run at any random point, so its still possible to signal a dead object for a while
04:44:03Skrylaras in "its in GC space but nobody technically should have access"
04:44:18BitPuffinSkrylar: well like I said my design is pretty much the same, but it's nicer when it's a small module
04:44:39Skrylarseparating is nicer on the implementors
04:44:47Skrylaryou can copy/paste an existing one and prod around with it
04:44:51BitPuffinand the way I said it you could just move the code into it's own file if the module grows to big
04:44:59fowlSkrylar, it seems to work for me
04:45:02BitPuffinliterally just replace the code in the when with include the file
04:45:03Skrylarthere's also only one place you have to adjust, instead of altering dozens of when/else/when trees
04:45:15BitPuffinSkrylar: it's already separated
04:45:58BitPuffinSkrylar: well that was the whole point of the earlier gist, that if you could "extend" a type's definition you wouldn't have to have a bunch of scattered when stuffs
04:46:51fowlSkrylar, all of them get gc'd, except the last obj instantiated (thats to be expected since its left on the stack) https://gist.github.com/fowlmouth/9718956
04:46:51BitPuffintho whole point was to make it one case per platform at one place rather than in many places
04:47:41fowlBitPuffin, the problem wiht that is that assuming you can extend a type definition like that, you end up with "a bunch of scattered when stuffs"
04:47:52*lanior joined #nimrod
04:49:53BitPuffinthe feature I suggested would make them both nicer
04:49:53BitPuffinthe discussion wasn't even about which design is better because they are more or less the same
04:50:57BitPuffinfowl: only if you are an idiot that abuses it
04:51:26BitPuffinfor example if you are not even doing platform specific things but are just 800 lines down and realise that hmm this file should have this and then add it
04:51:29BitPuffinthat would be fucking stupid
04:51:40BitPuffinbut that's not what it's for
04:52:09fowlBitPuffin, ok
04:52:24fowlnobody is going to convince you, i get it
04:52:57BitPuffinthere is nothing to convince
04:53:56fowlexactly
04:56:02BitPuffinbecause I'm note even sure you guys understand what I'm saying :P and you are trying to argue about two designs that are identical, like I said you'd just replace the code with include bla. The one thing that this changes is that you don't need to compose an extras object whih seems silly
04:57:37fowlmy closing arguments: i disagree, there is a reason this pattern is so common
05:01:20NimBotnimrod-code/packages master a871737 Billingsly Wetherfordshire [+0 ±1 -0]: Update packages.json... 2 more lines
05:02:41BitPuffinfowl: but they are the same, for the millionth time
05:03:33BitPuffinand the reason is because the definiton of the type can only be in one place in every language so to add to it you need to make an extras property that you implement somewhere else
05:03:38BitPuffinthre's just no other way around it
05:04:11BitPuffinother than conditionally compiling your ass off inside the type definition which creates a clusterfuck
05:05:01fowlsorry i've already made my closing argument
05:06:05BitPuffinyeah and I addressed it
05:07:35fowlwell i cant continue this conversation unless im getting overtime and the boss never approves that
05:07:59BitPuffinwell either way if you can't argue for your argument then why state it.
05:08:05BitPuffinIt's 6am here anyways
05:08:12fowlsorry im off the clock
05:35:12*lanior quit (Quit: Page closed)
05:59:34*DAddYE quit (Remote host closed the connection)
06:00:00*DAddYE joined #nimrod
06:04:18*DAddYE quit (Ping timeout: 240 seconds)
06:13:34*DAddYE joined #nimrod
06:34:03Skrylarbleh. new install appears as though it doesn't want to be bootable
06:53:47AraqDAddYE: ha, I would have bet you have 6000 watchers by now.
06:54:15DAddYEAraq: why?
06:54:43Araqbut I guess one can count go users' stubbornness ;-)
06:55:40DAddYEAraq: all of them mostly hate it so that's fine
06:55:51Araq:-9
06:57:47AraqDAddYE: it seems harder to please people syntactically than we think
06:58:22DAddYEI think no one got it
06:58:41DAddYEmaybe I had to call it iGo where i stand for intermediate
06:58:53DAddYEaka I want to format my fucking file as I want
06:59:03DAddYEbut distribute the formatted one
06:59:04DAddYE:D
06:59:20DAddYEif true { break }
06:59:31DAddYEcan't be 4 lines
06:59:38DAddYE<< IMHO
07:00:04Araqyou're wrong because Rob Pike disagrees with you
07:00:43Skrylarthat amused me when they were saying "well go gets to be on wikipedia because rob pike is famous" like, "what? so a 'notable person's spit is notable by association?"
07:01:09DAddYEAraq: yep, that's disgust me
07:01:32DAddYEhowever he is much more experienced than me
07:01:39DAddYEso probably I'm wrong
07:01:46Araqyeah well we all know Linux is on wikipedia because Linux is famous
07:01:52Araq*Linus
07:02:56SkrylarI don't have a problem with the argument regarding independent sources as much, but I do find it relatively stupid that a "notable person" is allowed to get away with not having sources
07:03:06Skrylari'm not sure how that isn't a definition of favoritism
07:03:08DAddYEAraq: another guy famous for being a code fascist
07:03:41AraqDAddYE: hrm perhaps true
07:04:07Skrylari still claim the reason Go has success is more to do with it being Google
07:04:08Skrylar:)
07:04:26DAddYESkrylar: mmm, dunno
07:04:30Araqsometimes I wonder how these people think: "there brace here is not aligned so that must be were the bug hides"
07:04:34DAddYEmost think despite to google
07:04:56SkrylarDAddYE: they have google backing, which means they have the "corporate presense" checkbox ticked
07:05:08SkrylarAnd Google claims to use Go internally, so they have the "used in something i've heard of" box ticked
07:05:26DAddYESkrylar: actually I have used unfortunately it quite a bit
07:05:39DAddYEI put go right after python
07:05:47DAddYEit is not low as c
07:05:47SkrylarI liked Go once upon a time, but thought it was full of arbitrary rules
07:05:51DAddYEnot high as python
07:06:04Skrylarlike, why is the foo.bar -> foo(bar) magic restricted solely to functions within the module?
07:06:14DAddYEand solve the trend problem of today: parallelism and concurrency
07:06:39Skrylarthere is no vtable in Go, so there is no technical excuse given; its a human excuse, or rather "some people are stupid therefore nobody can have nice things" solution
07:06:51Araqgo is more about concurrency than about parallelism
07:07:05DAddYEAraq: GOPROCS
07:07:10Skrylargoroutines? :)
07:07:23DAddYEhowever, as said
07:07:33DAddYEis faster than python ruby and so on
07:07:41AraqDAddYE: I know quite a bit what I'm talking about and stand by my claim.
07:07:49DAddYEwithout being complicated as c++
07:07:54*rejuvyesh[away] is now known as rejuvyesh
07:08:07DAddYEAraq: I believe you
07:08:22DAddYEhowever, the thing IMHO doesn't change
07:08:34DAddYEthe hot problem today is performance
07:08:46DAddYEthey solve it without compromising the complexity
07:08:54DAddYEisn't complex ie like rust
07:09:08DAddYEor haskell etc...
07:09:32DAddYEand (that's what they say) has a quite complete std library
07:10:33DAddYESkrylar: however you can implement it in igo :D
07:17:53*xenagi quit (Quit: Leaving)
07:19:29SkrylarDAddYE: implementing things is currently on hold
07:19:45Skrylarinstalled an SSD in my other box and it refuses to boot, period :|
07:19:58SkrylarYet it SEES the drive, which means Windows is just being critically retarded
07:26:28AraqDAddYE: making "concurrency easy" without even addressing deadlocks and data races is a downright impertinence. though in Go's defense they have tooling support to detect these dynamically.
07:27:13Araqmakes me wonder why they even have static typing though
07:27:42Araqdynamic typing would also their "lack of generics" issue
07:27:47Araq*also solve
07:28:07Araqand fits Go's "simplicity over everything" mantra
07:29:52DAddYEAraq: actually the thing of simplicity is kinda true
07:30:28DAddYEI think is the simplest language ever used so far
07:31:06AraqI think Lua is simpler
07:31:16DAddYEmmm dunno
07:31:34DAddYEthey have the metatable thing
07:31:46DAddYEand few other things
07:31:57DAddYEhowever indeed is simple as well
07:32:26DAddYEAraq: I want to make a lua (jit) version as I like it
07:34:49runvnchello when I try to use --symbolFiles:on it says internal error: symStack: module nil
07:35:17runvncon linux. is that normal.. maybe you are not done with that incremental thing. it says 'experimental'
07:36:06SkrylarDAddYE: lua has metatables because lua is good at pretending to be good
07:36:46Skrylarmetatables are the minimum concept required to model most of the OOP types :)
07:37:07Araqrunvnc: please report it but yes, we know symbol files are broken for quite some time now
07:37:16DAddYESkrylar: honestly I think isn't bad, IMHO they made awful decision on syntax (which is tooooooooooooooo verbose)
07:37:18Araqsome say they never really worked
07:37:41runvncok thanks you say please report it because you actually want another issue to keep track, or I dont need to report since you know
07:38:19runvncI don't like issues personally
07:38:26runvncbut I think thats because I am sort of lazy
07:38:31runvncheh
07:38:42Araqreport it with a test case since the particular error message is new to me
07:38:52SkrylarDAddYE: I don't think Lua is bad, I think its great at being Lisp :P
07:38:55runvncok
07:39:26DAddYESkrylar: yep
07:39:40SkrylarDAddYE: you might want to look at moonscript though; thats basically a bolt-on that gives it different syntax
07:39:51DAddYESkrylar: I hate it :D
07:40:31Skrylari wonder if the linux support for my video card is still crap
07:40:43Skrylari looked in to it once but optimus support was basically nonexistent
07:41:08DAddYESkrylar: I'll probably write a new syntax which will emit luajit bytecode
07:41:22Skrylari don't think luajit bytecode is intended for people to use directly
07:42:10Araqjust modify luajit's parser it is not hard
07:44:18DAddYESkrylar: yep it usable wait
07:44:25DAddYESkrylar: https://github.com/franko/luajit-lang-toolkit
07:44:35DAddYEAraq: yep, WE could do that :D
07:50:28Skrylaralright, i give that system one more try and then i guess it gets linuxed
07:51:49Araqso DAddYE when will I get my c2nim website? ;-)
07:52:17DAddYEAraq: once we can parse union
07:52:43DAddYEand struct declaration and initialization in a single statement
07:52:49DAddYE(pretty common)
07:52:53Araqhuh? c2nim can parse unions and recently nimrod got the .union pragma
07:53:11DAddYEmmmm
07:53:18DAddYEI tried like a month ago
07:53:24DAddYE(when we talked about it)
07:53:29DAddYEI got problem with unions
07:53:38DAddYEstruct declared and invoked in a single statement
07:53:42DAddYEand other macros things
07:53:48Araqwell there are bugs of course
07:53:48*Endy joined #nimrod
07:55:24DAddYEhowever we can put it online and thus if there are errors
07:55:37DAddYEwe can ask the user to open an issue
07:55:48Araq // Test standalone structs:
07:55:49Araqunion myunion {
07:55:51Araq char x, y, *z;
07:55:52Araq myint a, b;
07:55:54Araq} u;
07:55:58Araqproduces: var u: myunion
07:56:08Araqplus the myunion declaration of course
07:56:36Araqah but perhaps it's the initializer
07:57:04DAddYEAraq: struct with an union inside IIRC does not work
07:57:19DAddYEstruct { a int8; union { ... } }
07:57:34Araqthat's not C89 :P
07:58:50DAddYE0.=
07:59:34DAddYEAraq: also why don't you use clang bindings
07:59:38DAddYEfor parsing?
07:59:58Araqbecause i'm special
08:01:07SkrylarDAddYE: why don't you use doxygen xml :B
08:01:24DAddYESkrylar: :D
08:01:27DAddYEAraq: I know
08:01:30DAddYEisn't that bad
08:01:35AraqDAddYE: when I wrote c2nim, clang wasn't ready
08:01:58SkrylarWelp. I guess I have to put Mint on that computer. Windows has decided dur hur booting is for noobs
08:01:58Araqpatches are welcome though because I'm tired of people complaining about c2nim
08:02:20DAddYESkrylar: get a mac please :D
08:02:39SkrylarDAddYE: my macbook decided that proper circuit board ventilation was for noobs
08:02:42Araqmake c2nim use clang and move it to its own repository
08:03:05Araqmaybe rename it to clang2nim while we're at it
08:03:05DAddYEAraq: ;)
08:03:13DAddYEAraq: also
08:03:15DAddYEqq
08:03:22SkrylarDAddYE: I liked my mac, then the mac app store happened. And then my mac committed seppuku :(
08:03:35DAddYEdo we have a yacc/bison support for nimrod?
08:03:42Araqno
08:04:47DAddYEAraq: because I guess there are some well solid yacc parser for c grammar
08:04:55DAddYEwhich we could use
08:05:08Araqtrue but clang is the better choice I think
08:05:36Araqas you also need a symbol table to properly handle C
08:06:34DAddYEyup
08:19:19Skrylarwat
08:19:44Skrylarwhy does booting a blank drive set as #2 in the bios work
08:23:24Araqping skyfex
08:35:55Skrylarah, i see how wx is doing it
08:36:39SkrylarWxWidgets handles their event stack by using a parent heirarchy; events don't get 'queued' they get tossed back against the table
08:37:41SkrylarDownside is you get a seq[] for each object's event map, upside is you don't push/pop values and you could implement it without a lot of copying
08:38:31SkrylarOne could factor out the runtime seq[] with a static table, but then you lose dynamic connection; unless you split it in to a static/dynamic table
08:38:33Skrylarhrm
08:39:22SkrylarAraq: it looks like getting rid of seqs in event handling is pretty awkward to do (though possible)
08:39:22*rejuvyesh is now known as rejuvyesh[away]
08:45:08AraqSkrylar: that's fine. eventually I'll implement my "immediate mode UI" that kicks ass for verification ;-)
08:47:11Skrylaryay GC thrashing
08:49:03Araqbbl
08:51:33*DAddYE quit (Remote host closed the connection)
08:52:00*DAddYE joined #nimrod
08:56:14*DAddYE quit (Ping timeout: 252 seconds)
08:58:53Skrylaraaaand trying to use a uint at compile time crashes the compiler. yay
09:06:19*[1]Endy joined #nimrod
09:10:28*Endy quit (Ping timeout: 265 seconds)
09:10:28*[1]Endy is now known as Endy
09:14:15*rejuvyesh[away] is now known as rejuvyesh
09:22:31*DAddYE joined #nimrod
09:24:50skyfexpong Araq
09:27:23*DAddYE quit (Ping timeout: 265 seconds)
09:29:29EXetoCzahary: How do I define a constraint such as "put(c, instanceOfT)" for a UDTC like this "Container[T] = generic c"?
09:30:01zaharyput(c, T)
09:30:26EXetoCI don't know if I tried that
09:31:38EXetoCNo it doesn't work. can it not be mistaken for a typedesc in that case?
09:31:44Skrylarwoot. it turns out, yes you can put UIDs on objects using a macro :D
09:31:54zaharylet me try it - I don't have this one in the test suite I think
09:32:02EXetoCok
09:35:18zaharyworked for me - can I have a full gist
09:36:01zaharyis your put proc taking a var Container?
09:36:11zaharyyou need to say "generic var c" then
09:36:51zaharyor "put(var c, T)
09:38:07EXetoCzahary:
09:38:10EXetoCoops
09:38:22*Trimsty joined #nimrod
09:38:36EXetoCno, I don't think it should take 'Container' in this case, but I'll try that
09:38:59zaharyno I meant the concrete Container type you are targeting
09:39:30*Trimsty quit (Client Quit)
09:39:31zaharyis it put(x: var MyContainer, x: MyValue)
09:42:26EXetoCzahary: "proc put*[T](c: seq[T], x: T) ="
09:43:06EXetoCzahary: I think I managed to do "assert(x is Container)" before. that is, without specifying any type params for container, but now it works if I do. I'll gist it
09:47:49EXetoCzahary: https://gist.github.com/EXetoC/8f643a6beaaf8891e345
09:48:55EXetoCI wasn't able to get it to work by including 'var' on line 1 and 5
09:50:02EXetoCwhat if I'd like to somehow match "proc put*[T](c: seq[T], x: typedesc) ="?
09:53:31zaharyyes, these should work, I'll take a look what going on
09:54:57zaharyregarding checking for typedesc procs, the spec says that the check should be written like this:
09:54:57zaharyput(c, type T)
09:55:03zaharybut I haven't implemented that part yet
09:55:17Araqis that part of the spec in the manual?
09:55:41zaharyit was in the forum discussion - I'll add it in the manual when it's ready
09:56:13Araqgood
09:57:06EXetoCoh
10:07:24*silven_ joined #nimrod
10:07:55zaharyso Araq, what was interesting about #1023?
10:07:55*silven quit (Quit: No Ping reply in 180 seconds.)
10:08:49Araqthat the VM even worked before :P
10:09:40AraqI stored a field offset in a TDest which really only should hold registers
10:10:05*Ycros quit (Quit: No Ping reply in 180 seconds.)
10:10:17zaharyso we were lucky in every single test so far? :)\
10:10:26*Ycros joined #nimrod
10:10:33Araqthis pseudo-register is then freed, freeing prematurely what the register really holds
10:10:52Araqand so the register is re-used too early leading to things like
10:10:58zaharywe can try running every test in the suite with "nimrod i" as well
10:10:58Araqadd reg3, reg3, reg3
10:11:13Araqhowever
10:11:30Araqmost offsets are small and at small register indices the parameters are stored
10:11:52Araqand these registers are not scratch register so freeReg is a nop for these
10:12:05Araqthus the bug wasn't noticable :-)
10:12:55Araqwell I'm working on #404 (use tabels at compile time)
10:13:01Araq*tables
10:13:28Araqand then I'd like to declare the VM to be "stable enough"
10:13:47zaharyI noticed the useFFI discussion yesterday - if we fix this, why don't we enable it by default?
10:14:40zaharythere are no "dialects" this way - and it's embarasing that you cant use math functions like sqrt, pow, etc at compile-time
10:15:18Araqwhat is computable at compile-time has a quite clear spec in my head
10:16:01AraquseFFI means it's a never ending feature
10:17:11Araqas I said, os and math should get special treatment instead
10:17:18zaharyopt-in makes perfect sense to me
10:18:05zaharywe'll cover the obvious procs from the standard C library and the user will be able to enable whatever he needs further
10:18:47Araqinstead of useFFI we should make staticExec easier to use with compiler invokations and caching
10:20:19zaharywell, won't we need useFFI anyway for the math procs I mentioned? do you plan to make them magic?
10:21:25Araqnot sure how to do it, but making them magic seems to be the way to go
10:22:26*rejuvyesh left #nimrod ("WeeChat 0.4.3")
10:23:24*DAddYE joined #nimrod
10:23:39*q66 joined #nimrod
10:26:19*Skrylar ponders about static dispatch tables in macros
10:27:37*DAddYE quit (Ping timeout: 240 seconds)
10:37:09SkrylarOnSomething do: ... ought to be possible, but so far i've only worked out how to do that with if/else checks instead of combining it all in to one big case
10:37:44AraqSkrylar: you need to gather the branches in a compile-time var
10:44:55*CARAM quit (Quit: Connection closed for inactivity)
10:47:39*runvnc quit (Quit: Leaving)
10:57:46*Zuchto quit (Ping timeout: 265 seconds)
11:00:12*Zuchto joined #nimrod
11:18:50*darkf quit (Read error: Connection reset by peer)
11:19:10*darkf joined #nimrod
11:19:14*io2 joined #nimrod
11:23:49*armin1 joined #nimrod
11:23:58Araqhi armin1 welcome
11:24:06*DAddYE joined #nimrod
11:25:16armin1Araq: thanx^^ - false alarm though, i'm the same as reloc0 ... frenode reset the connection :)
11:25:45*reloc0 quit (Disconnected by services)
11:25:58*armin1 is now known as reloc0
11:26:00Araqyou speak the truth
11:26:20reloc0^_^
11:28:16*DAddYE quit (Ping timeout: 246 seconds)
11:29:20Araqhmm according to wikipedia, this is a cat: (,,,)---=^.^=---(,,,)
11:29:38EXetoC:o
11:29:49*darkf quit (*.net *.split)
11:29:51*Ycros quit (*.net *.split)
11:29:52*zahary quit (*.net *.split)
11:29:58*krusipo quit (*.net *.split)
11:29:59dom96'morning
11:30:19dom96Araq: So do you want it to raise an exception then?
11:30:35Araqdom96: sure
11:31:50EXetoCthat's a really bad cat
11:37:34NimBotAraq/Nimrod devel cd5d0ff Dominik Picheta [+0 ±2 -0]: Fixes tasyncawait and the net module on Linux.
11:39:22*zahary joined #nimrod
11:44:17*EXetoC quit (Quit: WeeChat 0.4.3)
11:45:41*krusipo joined #nimrod
11:47:23*Ycros joined #nimrod
12:03:46flyxif I have a pointer to an private type from a C API, how can I wrap this type in nimrod?
12:05:18Araqtype
12:05:28Araq Private = object
12:05:37Araq PPrivate* = ptr PRivate
12:05:49flyxkthx
12:20:09flyxhm. given a C API with a signature like "int* get_array(int* count)", where count returns the length of the returned array. I cannot use openarray as return type, right? how can I wrap this?
12:25:01*DAddYE joined #nimrod
12:29:19*DAddYE quit (Ping timeout: 240 seconds)
12:35:58Skrylarflyx: carrays, or something like "int[0..65535]" is common
12:36:07Skrylar"ptr int" is also perfectly valid
12:37:31dom96Perhaps you could use the unchecked pragma http://forum.nimrod-lang.org/t/380
12:38:15Skrylardom96: is that implemented now?
12:38:24Skrylari tested it two weeks ago and it didn't compile
12:39:41Araqwhen I replied, it was implemented
12:42:42AraqSkrylar: system.nim itself uses it
12:42:50Araqif it doesn't work for you report a bug
12:43:01Araqbut ensure you're using the devel version of the compiler
12:44:51SkrylarAraq: i'm pretty sure i was using the compiler that didn't have the pragma patched in yet at th etime
12:45:10Araqgood
12:50:32*q66 quit (Ping timeout: 252 seconds)
12:52:43*q66 joined #nimrod
12:53:34flyxSkrylar: but if I use "ptr int", how do I get values from the array? nimrod doesn't seem to implement pointer aritmetics
12:54:23Araqflyx:
12:54:57Araqtype UncheckedArray {.unchecked.} [T] = array [0..0xff_ffff, T]
12:55:25Araqproc get_array(count: ptr cint): ptr UncheckedArray[cint]
12:55:53Araqand I guess UncheckedArray should make it into system.nim ... *sigh*
12:56:52flyxthere should be a manual about how to properly wrap C APIs. I wrote one for Ada some time ago, people told me it was very helpful
12:57:59BitPuffinfowl: are you sure the mallocs should be Block* and Block, doesn't seem like it if you ask me
12:58:47*q66 quit (Ping timeout: 252 seconds)
12:59:56BitPuffinor hmm
12:59:56BitPuffinyou might be right
13:00:01Araqflyx: yeah please do that
13:00:41*q66 joined #nimrod
13:00:50flyxI'll try to sum up things I encounter and post it when it looks ready enough
13:01:28Araqmy initial plan was to tell people "just use c2nim for fuck's sake" ;-)
13:02:41Araqbut since people have problems with c2nim all the time too, that's not helpful
13:02:42flyxAraq: yeah, but it sure is nicer if the caller does not need to care about much low-level C stuff
13:16:22*Sorcy joined #nimrod
13:17:24*krusipo_ joined #nimrod
13:22:15*Ycros quit (Quit: No Ping reply in 180 seconds.)
13:22:17*krusipo quit (Ping timeout: 265 seconds)
13:25:40*DAddYE joined #nimrod
13:30:01*DAddYE quit (Ping timeout: 240 seconds)
13:56:32*q66 quit (Ping timeout: 252 seconds)
14:01:31*flyx got a "[1] 2237 illegal hardware instruction" when running compiled nimrod code
14:01:41flyxthis seems pretty bad
14:03:27Araqinteresting. what platform?
14:03:38flyxOSX, 10.9
14:04:02Araqno further questions :P
14:04:03flyxI *guess* it's a problem with my wrapper
14:06:05flyxis this supposed to happen when I'm doing something wrong?
14:06:54Araqlol no, it's the first time I hear about this error message
14:07:00Araqhence I asked
14:07:40Araqlooks to me like you try to invoke 32bit code on a 64bit OS or the other way round
14:07:48Araqor maybe you are on ARM?
14:08:14*silven_ is now known as silven
14:09:44flyxI'm on 64bit.
14:10:28flyxit seems to happen at the point where I call the function returning Unchecked_Array I wrote about before
14:11:35Araqthat can imply that it couldn't find get_array at runtime
14:11:42Araqinvoking a nil function pointer
14:12:56flyxI get a usual error message when I spell the proc's importc wrong
14:13:02flyxso it seems to be found
14:14:52flyxand it happens immediately when I start the program, not when I call the function
14:16:30Araqmaybe you got the calling conventions wrong?
14:17:51flyxmaybe, but the other imports from the lib are working
14:20:05flyxthe problem seems to be the return value Unchecked_Array[PMonitor]
14:20:15flyxif I use "ptr PMonitor" instead, it works
14:20:59Araqwell I told you to use **ptr** UncheckedArray
14:21:05flyxoh
14:21:23*q66 joined #nimrod
14:21:30*flyx should read more carefully
14:26:18*DAddYE joined #nimrod
14:30:25*DAddYE quit (Ping timeout: 240 seconds)
14:35:29*EXetoC joined #nimrod
14:56:35Araqargh I'm fed up with tuple unpacking
14:56:50*Araq is writing a lowerTupleUnpacking to never have to deal with it again
15:05:17*q66 quit (Ping timeout: 252 seconds)
15:07:12*q66 joined #nimrod
15:27:00*DAddYE joined #nimrod
15:31:43*DAddYE quit (Ping timeout: 264 seconds)
15:57:03*DAddYE joined #nimrod
16:01:13*DAddYE quit (Ping timeout: 240 seconds)
16:14:54*Demos joined #nimrod
16:48:49NimBotAraq/Nimrod devel abb2423 Araq [+2 ±4 -0]: fixes #404
16:48:49NimBotAraq/Nimrod devel 62c1532 Araq [+0 ±2 -0]: Merge branch 'devel' of https://github.com/Araq/Nimrod into devel
16:57:35*DAddYE joined #nimrod
16:59:04EXetoCyay more bytes
17:00:23Araqbabel install mongodb
17:00:25AraqFAILURE: Package not found.
17:01:08Araqbbl
17:01:37*DAddYE quit (Ping timeout: 240 seconds)
17:04:37EXetoCAraq: you need it?
17:05:08EXetoCI need to add it to babel
17:13:08fowlBitPuffin, currently there is no problem when you malloc Block*, but this is only a coincidence because Block holds a single pointer
17:14:29BitPuffinfowl: yep, indeed
17:16:37dom96BitPuffin: Why C. WHYYYYY
17:17:34BitPuffindom96: because fowl wasn't done with allegro binding
17:17:35BitPuffinplus
17:17:39*skyfex quit (Remote host closed the connection)
17:17:41BitPuffincan't risk compiler bugs in a jam
17:17:47BitPuffinand it makes me a bit more employable :P
17:17:51dom96It's not like your life depends on it!
17:17:54dom96I risked it!
17:18:19BitPuffinhahaha
17:18:21BitPuffin:D
17:18:24BitPuffinit does depend on it :o
17:18:24dom96hrm. Neovim raised ~$30K on Bountysource
17:18:35BitPuffinI'm gonna apply for another jerb soon
17:18:45BitPuffinthis would be good portfolia
17:19:14dom96https://www.bountysource.com/trackers/383571-d-programming-language
17:19:22dom96We should so totally set this up :P
17:20:09BitPuffindom96: and you have no say in this, it my life xD
17:20:18dom96BitPuffin: Bro, I own your ass.
17:21:36dom96damn 1500 for a gtksourceview bug
17:21:41BitPuffindom96: :P
17:21:50dom96perhaps I should try to implement that.
17:21:52BitPuffindom96: not in doto
17:22:08BitPuffinwe need to do 1v1 mid some time
17:22:10BitPuffinwould be fun
17:22:18dom96meh
17:22:23dom96I can play CS: GO with you
17:22:27dom96But Dota meh.
17:22:47dom96SC2 is more fun, you should play it :P
17:23:37dom96Araq: Dude, we should actually register for bountysource
17:24:16dom96Surprised to see Adobe contributing 5k
17:26:13EXetoCBitPuffin: ah yes, the second best choice to Nimrod
17:33:33dom96Guess we don't even need to set it up: https://www.bountysource.com/trackers/178097-araq-nimrod
17:35:10dom96hrm, who was it that got Aporia working on Mac OS X?
17:35:17dom96It works right? so we can close https://github.com/Araq/Nimrod/issues/342 ?
17:38:06BitPuffinEXetoC: pretty much yeah
17:38:14dom96BitPuffin: Could you maybe try it?
17:38:46BitPuffindom96: try what
17:39:00BitPuffinI'm coding C god damn it
17:39:12dom96compiling Aporia
17:39:40BitPuffinmaybe some other day
17:40:23fowlits so hard to babel install aporia
17:40:59BitPuffinseconds matter
17:42:15BitPuffincould not load: libgtksourceview-2.0(|-0).dylib
17:44:56dom96well it compiles
17:45:03dom96So I think that issue has been fixed.
17:45:34BitPuffinit runs
17:45:37BitPuffinif that's what you wanted
17:45:46BitPuffinnow you owe me 10 bucks
17:46:10dom96if I ever win the lottery i'll give you 10 bucks.
17:46:20dom96but only if I win millions
17:46:29BitPuffincheap ass
17:46:39dom96:P
17:46:54dom96THAT'S WHAT HAPPENS WHEN YOU DON'T USE NIMROD BUT C
17:47:04EXetoCBitPuffin: that's objectively wrong
18:01:03BitPuffinEXetoC: what is?
18:22:26NimBotAraq/Nimrod devel 7f83573 Dominik Picheta [+0 ±5 -0]: Moved the global dispatcher to asyncdispatch.
18:28:21*Matthias247 joined #nimrod
18:52:34DemosBitPuffin: you are using C for the minild?
18:53:07BitPuffinDemos: yeah
18:53:27Demosthat seems like a strange choice to me. Fun, but strange
18:53:46DemosI am using lua, although we may not finish in the weekend, we got distracted by Artemis Spaceship bridge simulator
18:54:05DemosI just have basic movement :(
18:54:31dom96ahh nice. Two people doing MiniLD here and neither of them using Nimrod.
18:56:13Demoswell I am doing it with a friend who did not want to learn nimrod, although he is not really coding as it turns out...
18:57:19Demoshm aporia will not start, it can not load libgdk-x11-2.0.dylib on OSX and I can not find what library that is actually from
18:58:42EXetoCgtk?
18:59:01*Varriount_ joined #nimrod
18:59:30Demosit says gdk
19:00:25*Varriount quit (Ping timeout: 240 seconds)
19:00:36fowlits from gtk
19:01:26Demosgot it
19:02:09DemosOK Aporia works
19:02:19DemosOSX 10.9 with dependencies from homebrew
19:02:29Demosit looks like shit though
19:02:54fowlgtk might need to be configured to look like aqu
19:02:55fowla
19:03:05Demosyeah prolly
19:03:20Demosit seems to just run in XWindows, which is a bit unfortinate
19:04:41Demoslets just blame X-Windows and call it a day :D
19:05:51fowlwow
19:06:00fowli have 136gb unallocated on my hd
19:06:24AraqBitPuffin: "d'oh nimrod is not stable when I use code that fucks the compiler, so I'm using C which won't even let me do anything like nimrod"
19:06:49AraqIMHO very flawed reasoning
19:07:24Araqso write C-like Nimrod and still get a saner type system ...
19:07:35BitPuffinAraq: That wasn't the reasoning
19:07:49DemosI agree, although writing bindings could be annoying. C is not a very good choice for a weekend project
19:07:54BitPuffinAraq: the reasoning was fowl isn't done with the allegro wrapper
19:08:12BitPuffinand that the risk of running in to a bug with nimrod is higher than with C, even if I write C-like nimrod
19:08:13AraqBitPuffin: so use .emit for these parts
19:08:13BitPuffinbut yes
19:08:23BitPuffinno time for that
19:08:42fowlyou have til the end of the month
19:09:30fowlBitPuffin, what is most important thats missing from the wrapper, i'll fast track it
19:09:35AraqBitPuffin: your swizzle matrix voodoo is indeed pressing the compiler hard but that doesn't mean that you run into compiler bugs all the time
19:09:57AraqI use the compiler all the time and don't run into compiler bugs fwiw
19:10:07BitPuffinanother big part of the reasoning was that having something C on my portfolio makes me more employable
19:10:25BitPuffinfowl: well yeah but I don't wanna work on it until the end of the month, nor throw away what I've already done
19:10:40Araqbut then I also don't play "need to use 3 chars less here" syntax games
19:11:03BitPuffinwhat? lol
19:11:17Araqin other words I use 'for' instead of lambdas ;-)
19:11:20BitPuffinyou instead play the need to use 3 chars less here naming game
19:11:34BitPuffinyou are not making sense, I also use for lol
19:11:58*fowl c2nim's bp's game
19:13:19BitPuffinit would probably work
19:19:36EXetoCAraq: identifier names excluded? :>
19:22:05EXetoCdom96: did you try that lambda macro?
19:22:32dom96not yet
19:24:04fowldom96, im adding on to your closure macro so you can do (a,b)->int=>4
19:24:53EXetoCany type issues?
19:25:43EXetoCwill it be possible to omit type information?
19:26:27dom96fowl: What's the point of that if the compiler can infer that information?
19:26:32dom96or at least it should be able to.
19:26:48fowlfor void mainly
19:27:59fowlwordy lol: Error: A nested proc can have generic parameters only when it is used as an operand to another routine and the types of the generic paramers can be infered from the expected signature.
19:29:02dom96You should implement the type syntax: (int, float) -> int for example
19:29:17dom96will become: proc (x: int, y: float): int
19:29:30fowlhow to discern between (a,b) and (int,float)?
19:29:32dom96with a {.closure.} pragma
19:29:45dom96Yeah, so your proposal clashes with that I guess.
19:34:26EXetoCdom96: will something like this be possible? "x.map(\(a, b, a + b))". no explicit types that is
19:34:56EXetoCwhat's your planned syntax? can it get more compact?
19:34:56fowlx.map((a,b)=>a+b) should
19:34:59dom96Yes. It should be already.
19:35:06EXetoCok
19:35:07dom96But with the syntax fowl showed
19:35:43EXetoCexcellent
19:37:09fowlhttps://gist.github.com/fowlmouth/9728562
19:38:29Araqhi fowl
19:38:38fowlhi
19:38:39Araqit's your birthday
19:38:53Araqwhich bug is the most annoying to you?
19:39:00fowl:o
19:39:09fowllet me see
19:39:20EXetoCthe one that says "1.0 not implemented"
19:39:35AraqEXetoC: now you know why I asked fowl :P
19:39:58EXetoCyeah..
19:40:28EXetoCAraq: so what's your business with mongo? are you going to use it for something or do you just want to get rid of the one in stdlib?
19:40:57AraqEXetoC: already git cloned it. I'm looking at your reported "set literal" bug
19:41:05EXetoCoh
19:42:54fowlAraq, #431 still plagues me, though i found a workaround
19:43:07fowlits not a proper workaround
19:44:23Araqfowl: meh that's zahary's business but ok, let me have a look
19:44:41Araqwhat's the expected output?
19:45:32fowl0 1 2 C1:2 C1: 4
19:46:46fowler.. 0 1 2 c1:3 c1:5
19:52:14BitPuffinit's fowl's birthday?
19:59:29*DAddYE joined #nimrod
20:02:21dom96So I think that the new async stuff should be usable now.
20:03:57*DAddYE quit (Ping timeout: 265 seconds)
20:29:18Araqdom96: congratulations
20:29:34Araqnow if only there weren't that many failing tests left ...
20:30:16dom96I just got 10 pounds for pressing the numlock key to fix this woman's keyboard.
20:31:17dom96Perhaps I should start a computer "repair" shop.
20:31:24Araqshould have asked for a kiss instead
20:31:39dom96hah
20:32:15fowlwhy does gb still use the pound
20:32:41fowlyou are in the EU right
20:32:52dom96Because the pound is superior
20:32:53dom96brb
20:33:59Araqindeed. the Euro sucks.
20:38:50Demosis there a standard library function like binarySearch but returning the index where the thing would be if it were in the sequence?
20:39:50Araqno
20:40:01Araqbut add it, it's useful
20:40:28AraqspeculativeBinarySearch
20:42:48Araqfowl: I don't get your test
20:44:14Araqit outputs:
20:44:22Araq0
20:44:24Araq1
20:44:25Araq2
20:44:27AraqC1: 0
20:44:28AraqC1: 2
20:45:40Araqoh wait, never mind
20:49:49*xenagi joined #nimrod
20:51:07*xenagi quit (Client Quit)
20:51:23*xenagi joined #nimrod
20:57:17fowlit came up in entitty, the id counter for components, i ended up using the seq[pcomponentinfo]'s length as the counter
21:00:05*DAddYE joined #nimrod
21:03:04*renesac joined #nimrod
21:04:51*DAddYE quit (Ping timeout: 265 seconds)
21:07:29*EXetoC quit (Quit: WeeChat 0.4.3)
21:23:16*EXetoC joined #nimrod
21:31:19BitPuffinfowl: is it really your birthday?
21:31:36fowlno not til july
21:39:53*Endy quit (Ping timeout: 268 seconds)
21:48:50BitPuffinah
21:48:58BitPuffinAraq: is such a trickster
21:54:10*zahary1 joined #nimrod
21:54:37DemosAraq: speculativeBinarySearch is a mouthfull!
21:59:16EXetoCspclbinsrc?
22:00:45*DAddYE joined #nimrod
22:01:07Demosc++ uses lowerBound
22:01:11Demoswell std::lower_bound
22:01:32fowlstd::herpes
22:02:21*Demos likes c++, sorta. All the features in it were a good idea at the time and in isolation
22:05:16Demosis there an adapter that can take an inline iterator and make it into a closure one?
22:05:16*DAddYE quit (Ping timeout: 265 seconds)
22:05:54Araqgood question. I dont think so.
22:07:19Araqand lowerBound makes sense too
22:07:49Demosallright, let me PR it up
22:08:34AraqspeculativeBinarySearch is a much cooler name though
22:08:52Araqsounds like a powerful complex algorithm that way
22:11:14*renesac quit (Read error: Connection reset by peer)
22:11:23Demoshmmmmm I think I got a compiler bug as well
22:12:02Demosare there known bugs reguarding things getting wonky if you never write return result
22:12:11Demoswait shit
22:12:13Demosnever mind
22:12:39fowlonly if you shadow result
22:13:37Demoswhich I was doing
22:13:56Demosthere seems to be a bug with default params of type proc(...)
22:15:28Araqfowl: it is not obvious to me why you don't use a .compileTime variable to compute the IDs
22:15:54Araqproc getID(t: typedesc): int =
22:15:56Araq var id{.global.} = static nextFoo()
22:15:57Araq return id
22:16:14fowlim not sure that was possible
22:16:41AraqcompileTime vars now safe their state beyond module boundaries
22:17:36fowlyea but component needs to be instantiated so that PComponentInfo is created
22:19:12*OrionPK quit (Remote host closed the connection)
22:19:58*OrionPK joined #nimrod
22:21:04*Sorcy is now known as Ycros
22:23:47Demosoh hey nimrod has koenig lookup
22:23:48Demosneat
22:26:02*renesac joined #nimrod
22:29:41*q66 quit (Ping timeout: 252 seconds)
22:32:39Demosallright, pr out
23:06:14*xenagi quit (Quit: Leaving)
23:23:17*darkf joined #nimrod
23:32:58*renesac quit (Ping timeout: 240 seconds)
23:34:27*io2 quit ()
23:40:09*brson joined #nimrod
23:40:20*Matthias247 quit (Read error: Connection reset by peer)
23:45:43*renesac joined #nimrod
23:59:21*brson quit (Remote host closed the connection)