<< 03-12-2013 >>

00:02:43*xhevahir quit (Quit: Leaving)
00:02:57*Hannibal_Smith quit (Quit: Sto andando via)
00:20:59fowlBitPuffin, my dad is going to buy some video cards and a motherboard, know of a good resource for info
00:21:27*Varriount raises his hand
00:21:51Varriountfowl, make sure that whatever he buys is supported by the computer's power supply.
00:22:22fowlyou mean enough wattage?
00:23:00VarriountYeah
00:23:31C0C0BitPuffin: if ther was a markov random field trained on your messages it would allways say "take cover take cover take cover"
00:24:09fowlVarriount, can you recommend a card
00:24:14VarriountAlso, if he is running linux, try to stick with nVidia - AMD/ATI's graphics drivers are buggy (linux especially, but also on windows)
00:24:29VarriountFowl, price range?
00:24:50AraqC0C0: well BitPuffin is scared by my witty remarks
00:24:58fowlVarriount, is there a diff in hardware needed for scrypt/sha256 mining
00:25:23Varriountfowl, I wouldn't know.
00:26:31Araqargh I'm bootstrapping in full GC debug mode
00:26:31VarriountMy guess is that for such things, the number of processors and the bandwidth of the card's buses would be the most important thing.
00:26:36Araqno wonder it takes forever
00:27:03VarriountAraq, have fun, you might want to find a movie to watch while waiting.
00:27:30Araqwell I pressed ctrl+c instead
00:27:31fowlVarriount, is there a site with a nice chart/table
00:27:35fowlfor comparing hardware
00:28:08Varriountfowl, this is the best site I use -> http://www.newegg.com/Product/PowerSearch.aspx?SubCategory=48&N=100007709&IsNodeId=1
00:28:32VarriountPut criteria in, get choices, compare, and choose.
00:29:08fowlcan i use MH/s as criteria
00:29:20Araqfowl: I'm too stupid to spot the bug in "bringToFront"
00:29:21VarriountHuh?
00:29:39BitPuffinfowl: what's he gonna use it for?
00:30:05VarriountAraq, any progress on tracking that memory corruption bug? The one that causes the build bots to crash when bootstrapping a second time?
00:30:06BitPuffin:)
00:30:06fowlAraq, i dont see it either
00:30:39BitPuffinfowl: lol MH/s
00:30:43AraqVarriount: well I found a bug that might be responsible
00:30:45BitPuffinfowl: don't use a gpu to min
00:30:47BitPuffine
00:30:53BitPuffinit's a waste of money
00:31:04BitPuffinif you wanna mine you should get an asic
00:31:10fowlAraq, maybe the function should just do list.remove(entry); list.prepend(entry)
00:31:15VarriountIsn't mining illegal/unethical/stealing?
00:31:22BitPuffinVarriount: no?
00:31:34fowlVarriount, what did you think i was talking abuot
00:31:35BitPuffinVarriount: not bitcoin mining at least xD
00:31:37Araqfowl: ok try that then
00:31:53webskipperwhich algorithm(s) should I choose for speed comparisons. For example nimrod vs java ?
00:32:04fowlAraq, also that is the only usage of bringToFront()
00:32:04BitPuffinfowl: for the record, when it comes to mining, amd beats nvidia
00:32:07fowlin compiler/
00:32:19BitPuffinnot that it matters because you'd be ruining a perfectly good gpu if you used it to mine
00:32:22Araqwebskipper: the algorithms where nimrod wins obviously :P
00:32:29webskipperwhat about quicksort :D
00:32:40webskipperor should I build trees ?
00:32:47Varriountwebskipper, object creation and initialization.
00:32:50fowlBitPuffin, Better your best with ASICS wide variety of running shoes, high performance athletic shoes & all sport athletic gear. Shop now to experience the world of ASICS!
00:32:55Araqthe binary tree benchmark is a bitch
00:33:03BitPuffinfowl: anyway there is a bitcoin wiki page that compares mh/s for various gpus
00:33:33webskipperAraq: is a bitch ? Which benchmark you mean ?
00:33:33VarriountOk, since my hazy idea is obviously flawed, what *is* bitcoin mining?
00:33:50BitPuffinVarriount: it's when you mine bitcoin
00:33:52BitPuffins
00:33:57BitPuffinyes that was a very helpful answer
00:34:00Araqthe binary tree bench from the language shootout
00:34:15Araqnimrod is doing quite bad on this one
00:34:33BitPuffinVarriount: basically it's kind of like brute forcing passwords. You already know the expected output, so you need to calculate the input
00:34:41fowlBitPuffin, why is asic prefered, and those are prebuilt machines only, right?
00:34:42webskipperAraq: url ? http://benchmarksgame.alioth.debian.org/ ?
00:34:53fowlBitPuffin, can i use them for scrypt coins like LTC, FTC
00:34:59Araqwebskipper: yes
00:35:02BitPuffinfowl: because the hashrate of gpus are balls compared to that of asics
00:35:10VarriountAraq, how did you get github to add nimrod syntax highlighting?
00:35:12webskipperAraq: and why is it a bitch ? :D
00:35:29Araqbecause it's so hard to optimize my GC against it :P
00:35:33BitPuffinfowl: as far as I know there isn't an asic for scrypt yet but that may have changed
00:36:01BitPuffinso if you wanna mine scrypt I guess your best bet is gpu
00:36:06BitPuffinbut there isn't really any point to that
00:36:13BitPuffingo pro or go home
00:36:15BitPuffinbuy an asic :P
00:36:20AraqVarriount: dom96 slept with a female employee of github
00:36:48fowlBitPuffin, there isnt a point to mining bitcoins if you arent already
00:36:55fowlthe difficulty is too damn high
00:37:03BitPuffinfowl: there is with asics
00:37:21BitPuffinit's the asics that are making it high
00:37:26BitPuffinso if you are one of the asics
00:37:30BitPuffincatching
00:37:33Araqfowl: I'm quite sure it's the only usage of bringToFront
00:37:35BitPuffinca-ching*
00:38:02webskipperAraq: do we have an implementation in nimrod ?
00:38:13AraqVarriount: speaking of which. can you reduce builder.nim so that the bug is triggered without these crazy git interactions?
00:38:16BitPuffinfowl: look at some mining calculators I guess and compare with the hashrate of asics etc and see if it is worth it
00:38:24fowlarent they still quite expensive
00:38:27BitPuffinto the googles my friend
00:38:38fowlirc >>>> google
00:38:58BitPuffinthere is a 25 ghz for 1245 usd
00:39:02Araqwebskipper: tests/gc/bintrees.nim
00:39:04VarriountAraq, explain/clarify?
00:39:11fowlBitPuffin, whats your opinion on https://cex.io/
00:39:27AraqVarriount: I need a reduced test case for the corruption
00:39:42Araq"reduced" can still be a very large program
00:39:44VarriountOh, why didn't you just say so?
00:39:52BitPuffinfowl: is it "cloud hashing" ?
00:39:53Araqbut it shouldn't interact with github
00:40:00Araqbecause that really sucks for testing
00:40:18AraqVarriount: next time I will
00:40:27VarriountAraq, I'll do my best. I still suspect that the cause of the problem is threading.
00:40:47fowlBitPuffin, yea
00:40:51AraqVarriount: that would made my day. thanks
00:41:05BitPuffinfowl: I'm sure it might be nice, you are gonna have to evaluate it yourself though :)
00:41:08webskippergithub is slow AGAIN *argh*
00:41:21*Varriount gets the ice-cream scoop and the scalpal
00:41:54VarriountAraq, I may not be on much for the next two weeks - I have finals.
00:42:10Araqdamn
00:42:25Araqnext two weeks are all that I've left to release 0.9.14
00:42:35Araqer ... 0.9.4 lol
00:42:48BitPuffinwell
00:42:52fowlBitPuffin, going to eat pizza, you gonna be around in 30 mins?
00:43:14BitPuffinnext ~3 weeks is all I have to make this game so you are not alone Araq
00:43:17BitPuffinfowl: probably
00:43:18EXetoCwho knows. he always sleeps early
00:43:20VarriountAraq, is it ok if the builder connects to the hub?
00:43:20BitPuffinno guarantees
00:43:27BitPuffinI'm sleepy
00:43:29Araqsure
00:43:52AraqVarriount: how about this? you come up with the test case, and I'll show you everything I know about debugging memory corruptions.
00:44:03VarriountOh joy.
00:44:46Araqthey don't teach you these things in university :P
00:45:32BitPuffinthey don't teach you nuthin
00:48:18EXetoCsure. nothing at all
00:49:17VarriountAraq, besides connecting to github, what else should I try to remove from the builder>
00:50:02BitPuffincode
00:53:22Araqwell just ensure it runs bootstrapping twice without me doing anything
00:53:32Araqthat should already be it
00:54:36VarriountIt should crash with the segfault the second time, right?
00:54:52Araqright
00:57:51*Icefoz joined #nimrod
00:57:59Araqhi Icefoz welcome
00:58:03IcefozThanks.
00:59:04IcefozWas just taking a closer look at nimrod for once and discovered that I think I love it and hate it at the same time. So my plan was to lurk here and see how it works in practice.
00:59:52BitPuffinIcefoz: why the hate?
01:00:57IcefozWhile I dearly love python I sort of feel like indentation-sensitive syntax is an objectively bad idea. And indentation-sensitive comments is an idea that makes my nipples tingle in fear.
01:01:07IcefozI'm just reading through the tutorials so far, though.
01:01:27BitPuffinhehe
01:01:51Araqactually we'll get rid of those I think
01:02:02AraqI mean the indentation based comments
01:02:06EXetoCobjectively bad? really?
01:02:35Araqit's however a really minor thing
01:02:51NimBotAraq/Nimrod master 8fb0fbe Araq [+1 ±4 -0]: fixes a regression where memset was used without including <string.h>
01:02:51NimBotAraq/Nimrod master 75fc39d Araq [+1 ±4 -1]: Merge branch 'master' of github.com:Araq/Nimrod
01:03:04IcefozNot like super-duper-mega-bad. But it adds a little conceptual+technical complexity for no real benefit.
01:03:30Araqthe benefit for me is that it gets rid of } } } or "end end end"
01:03:31Icefoz+social complexity too, because of all the haters.
01:03:50AraqI really hate those, it's baby sitting the compiler
01:04:02BitPuffinIcefoz: as EXetoC implied, "feel like" and "objectively" don't really belong in the same sentence
01:04:20IcefozThe number of times I hammer tab in emacs to get to the right indentation is probably about the same number of keystrokes as typing } } }. :-P
01:04:28IcefozBut, that's fair.
01:04:32Araqit's not about the typing
01:04:35Araqit's about the reading
01:04:38Varriount^
01:04:42BitPuffinwell
01:04:50IcefozGood point. I don't read other people's code as much as I should.
01:05:04BitPuffinand does any decent programmer not indent their code anyway?
01:05:06*mflamer_ joined #nimrod
01:05:08Araqit's also not about other people for me
01:05:17BitPuffinAraq: says the guy with the ONE CHARACTER VARIABLES RUN!!!
01:05:19AraqI just like to have lots of *code* on my screen
01:05:33Araq*code* which actually does something
01:05:37BitPuffinyeah I hear you one that one
01:05:44BitPuffinthat's why I use such a small font
01:05:45Araqso that the bug might show up
01:05:45IcefozI'm honestly curious how you came up with indentation-sensitive comments.
01:05:59VarriountIcefoz, documentation generation!
01:06:29BitPuffinactually I quite like the indentation sensitive comments
01:06:35EXetoCdoesn't emacs support auto-indentation? I'd be surprised if it didn't, as it has been around since the early 1900s or something like that
01:06:36IcefozVarriount: Even for wing-style comments within a block? Seems odd.
01:06:39BitPuffinbecause of what Varriount said
01:06:45BitPuffinplus it enforces consistency
01:06:53BitPuffinso you can sort of always know what the comment comments on
01:07:20VarriountIcefoz, I didn't come up with the wing-style comments. Besides, you don't have to use that style if you don't want to.
01:07:22EXetoCBitPuffin: what's really annoying is when you're trying to comment out an enumerator for example
01:07:26BitPuffinEXetoC: believe it was uncovered in 1567 by christopher columbus
01:07:33IcefozJust feels uncomfortable having the compiler mandate something you should do anyway. I like the option to be sloppy.
01:07:46IcefozBut I haven't tried it myself yet, so.
01:07:57BitPuffinIcefoz: then you are gonna like the case insensitivity lol :D
01:08:05BitPuffinand style insensitivity
01:08:06EXetoCIcefoz: like he said, it might change
01:08:12BitPuffina_b == aB
01:09:13IcefozBitPuffin: Oh gods, really? There's a difference between I-want-to-comment-this-out-right-now sloppy and what-variable-is-this-pretending-to-be sloppy. D:
01:09:28IcefozEXetoC: And, changing is fair.
01:10:11BitPuffinI don't see how commenting something out is a problem?
01:10:12IcefozI'm just rambling my impressions as they occur, at this point.
01:10:22BitPuffinyou can put a comment anywhere
01:10:31BitPuffinjust that it's a part of the AST
01:10:39BitPuffinbut that doesn't really matter when just removing something
01:10:48IcefozAnyway, gtg for a bit. Nice talking to you all.
01:10:53EXetoCIcefoz: yeah sure do that
01:10:58EXetoCbye
01:11:00BitPuffingo?
01:11:27AraqBitPuffin: remind me to never make you an official promoter ;-)
01:11:42EXetoClol
01:12:00BitPuffinAraq: are you saying I did bad? :O
01:12:21Araqdon't scare people with the SI
01:12:32BitPuffinbut it sounded like he'd like it
01:12:42BitPuffinIcefoz: nimrod can also cure cancer
01:12:59Araqthough it's funny it scares people when I know it's a non-issue
01:13:17BitPuffinwell
01:13:24BitPuffinthe only issue about it is the error message
01:14:07BitPuffinalthough figuring it out once through the painful error message really makes it sink in too
01:14:14BitPuffinso you don't make the same mistake twice
01:14:47EXetoCno u
01:14:59BitPuffinEXetoC: yo momma
01:16:10Araqa single time in my lifetime I'd like to meet somebody who doesn't confuse consistency with sensitivity
01:17:04BitPuffinwell
01:17:15BitPuffinthere is some consistency through sensitivity
01:17:37BitPuffinbut that consistency is little gain for much lost
01:17:38Araqonly consistency with the guy who wrote the definition
01:17:49BitPuffinyeah
01:17:57Araqnot project-wide consistency
01:18:05BitPuffintrue, you also win a lot of consistency by having a homogenus codebase
01:18:41Araqbut anyway
01:18:48AraqI need to sleep now, good night
01:18:56BitPuffinme too but I'm not gonna yet
01:18:59BitPuffinnight Araq
01:20:46VarriountGak, so much builder code. I don't know what to remove >_<
01:20:58VarriountIt's like a giant Jenga tower.
01:21:25BitPuffinthat's a good description of source cod
01:21:27BitPuffine
01:21:45VarriountNot neccessarily.
01:21:52BitPuffinwell
01:21:57BitPuffinmaybe not with pure functions
01:22:47mflamer_I synched my branch with master a few days ago and the compiler seems quite a bit slower
01:22:59mflamer_anyone else notice this?
01:23:06VarriountNope.
01:24:02BitPuffinmaybe fowl sneaked a bitcoin miner into it
01:24:35mflamer_Thats funny, good thing I have none to mine
01:25:31BitPuffinmflamer_: well I mean that mines for him in secret
01:28:19mflamer_Are you back up and running? Araq fixed that bug right?
01:28:46mflamer_Was that the generic . field access bug?
01:29:44BitPuffinmflamer_: no that bug still remains
01:29:56BitPuffinmflamer_: it was a bugfix for the workaround to the workaround
01:30:31mflamer_oh, damn. Well did it get you what you needed for now?
01:30:38BitPuffinyeah for now :)
01:30:43mflamer_cool
01:30:48BitPuffinI have the code for n-dimensional stuff but it doesn't work yet
01:31:00BitPuffinbut I worked around it by hard coding for the sizes I needed
01:31:39BitPuffinand then there was a bug when it thought that proc a(b: array[0..1, T]) and proc a(b: array[0..2, T]) was identical
01:31:55*MFlamer quit (Ping timeout: 272 seconds)
01:33:48webskipperis e+001 ? x10 ?
01:34:16VarriountAraq, did you do something with TThread?
01:34:58EXetoCwebskipper: won't echo tell you? :p
01:35:17BitPuffinwebskipper: is
01:35:22BitPuffinyes
01:35:24webskipperecho tells me CPU time [s] 1.2028000000000000e+001
01:35:26webskipperlol
01:35:33EXetoCoh right
01:35:40Varriountwebskipper, that's a power
01:35:46BitPuffinwebskipper: e+001 is short for * 10^1
01:35:49EXetoCyeah you'd have to use strutils.formatFloat
01:35:53webskipperok
01:41:58VarriountAraq, ping aling a ding dong
01:43:26EXetoChe's sleeping and that
01:43:32VarriountOh.
01:43:33*DAddYE quit (Remote host closed the connection)
01:44:06*DAddYE joined #nimrod
01:44:14VarriountWell, I got the builder to run, but not actually tell the subprocesses (git and the like) to do anything.
01:45:16VarriountIt still calls them, but just as themselves (like when you type *only* nimrod on the command line - you get the info printout, and nothing else.
01:45:45BitPuffinI'm gonna sleep now
01:45:47BitPuffin:/
01:45:51BitPuffingoodnight!
01:49:01*DAddYE quit (Ping timeout: 272 seconds)
01:50:15*BitPuffin quit (Ping timeout: 246 seconds)
02:10:49*Varriount_ joined #nimrod
02:14:38*Varriount quit (Ping timeout: 240 seconds)
02:14:38*Varriount_ is now known as Varriount
02:16:50webskipperC 1 sec, Nimrod 1.7 sec, Java 4.7 sec
02:27:05*xenagi joined #nimrod
02:29:23*boydgreenfield joined #nimrod
02:29:35*boydgreenfield quit (Client Quit)
02:31:19fowlwebskipper, for quicksort
02:31:20fowl?
02:31:35webskipperbinarytree depth = 24
02:32:47EXetoC0.5 sec seems like a reasonable goal :>
02:44:53*DAddYE joined #nimrod
02:49:02*DAddYE quit (Ping timeout: 240 seconds)
02:53:12*jdp left #nimrod ("quit")
03:14:28*tylere joined #nimrod
03:14:43tylereAre the sdl_ wrappers considered stable?
03:14:56tylereI'm getting a sigsegv from SDL_image.load
03:15:00tylereerr, IMG_Load
03:15:16tyleresame code works fine using a bmp image and sdl.loadbmp
03:16:31fowlyes they're stable
03:17:02tylereThe actual error I'm getting is SIGSEGV: Illegal storage access. <Attempt to read from nil?>
03:17:09*mflamer_ quit (Ping timeout: 272 seconds)
03:17:10tylerethis is just lastest 64bif sdl1.2 dlls on w64
03:17:16tylerewith mingw64
03:17:35fowlcan you try examples/sdlex.nim in the nimrod repo
03:19:42tylereloads and draws a sort of indigo background
03:21:25tylerehttps://gist.github.com/tylereaves/7763368
03:21:27tylerethat's my code
03:21:41tylereit's a port of the lazy foo tutorial part 4
03:24:03fowlit loads for me
03:24:22fowloh wait let me try img_load
03:25:47fowlworks fine for me with img_load
03:26:25tylereinteresting
03:26:35tylereit looks to me like it's actually sigsegv inside the dll somehwere
03:26:42tylereis there any way I can turn on additional debugging?
03:28:17tylerefowl - try actually creating the x.jpg file
03:28:32tylereif it's missing it appears the normal logic kicks in and nothing crashs - the program just winds down
03:28:39tylerebut if the file is present it sigsegvs
03:32:06fowltylere, you're loading "x.bmp" regardless of what you pass to load_image()
03:32:22tylereswap the commented lines
03:32:29tylereto run the img_load line and not the loadbmp line
03:32:30fowlit works fine for me
03:34:05tylereso according to gdb...
03:34:19tylere0x00007fefe0811cb in msvcrt!memmove <> from msvcrt.dll
03:34:36tylerewonder if it's an issue with the sdl dlls being compiled with vc++ instead of mingw
03:34:42fowlsdl was probably built with vc instead of .. yea
03:34:48fowl:p
03:35:29tylerebut that shouldn't matter
03:35:33tylerethat's the whole point of dlls...
03:36:17webskipperhave we something like "prepare()" to avoid sql injections ?
03:37:06webskipperhttp://en.wikipedia.org/wiki/Prepared_statement
03:38:10tylerefowl: Are you running 32bit or 64bit?
03:39:16fowlim on linux
03:39:24fowl64
03:40:51tylereahh, might be a windows issue then
03:41:03fowlwebskipper, yes but im not sure how to use it
03:42:18webskipperfowl: the wrapper "postgres" seems to offer it but "db_postgres" not
03:46:24*DAddYE joined #nimrod
03:50:38*DAddYE quit (Ping timeout: 240 seconds)
03:53:25fowlwebskipper, see exec()
03:54:47*datura quit (Quit: Leaving)
03:56:06webskipperyou mean args: varargs[string, `$`] ?
04:03:50*brihat quit (Ping timeout: 265 seconds)
04:07:58*brihat joined #nimrod
04:09:49*Varriount_ joined #nimrod
04:13:06*Varriount quit (Ping timeout: 246 seconds)
04:13:06*Varriount_ is now known as Varriount
04:18:33*boydgreenfield joined #nimrod
04:20:16*webskipper quit (Ping timeout: 264 seconds)
04:35:52*mflamer joined #nimrod
04:43:59*webskipper joined #nimrod
04:47:17*DAddYE joined #nimrod
04:51:26*DAddYE quit (Ping timeout: 240 seconds)
04:54:40*tylere quit (Quit: Page closed)
05:12:35*Icefoz quit (Quit: leaving)
05:13:50*Icefoz joined #nimrod
05:34:03*xenagi quit (Quit: Leaving)
05:41:31*DAddYE joined #nimrod
05:41:43*DAddYE quit (Remote host closed the connection)
05:41:49*DAddYE_ joined #nimrod
05:44:47*DAddYE_ quit (Remote host closed the connection)
05:45:15*DAddYE joined #nimrod
05:53:02*mflamer quit (Ping timeout: 240 seconds)
06:03:35*boydgreenfield quit (Quit: boydgreenfield)
06:07:36*dirkk0 joined #nimrod
06:12:03webskipperMOOOOOOOOORNING :D
06:17:19NimBotnimrod-code/packages master 99f0f27 Billingsly Wetherfordshire [+0 ±1 -0]: added windows package
06:18:31fowlha i meant to do a PR, did a commit for some reason
06:21:26*boydgreenfield joined #nimrod
06:56:46*girvo joined #nimrod
07:08:34*boydgreenfield quit (Quit: boydgreenfield)
07:22:45dirkk0morning, fowl. Do you have any minimal SDL2 example you can share?
07:22:58*zahary quit (Ping timeout: 246 seconds)
07:28:46fowldirkk0, in the examples folder for fowltek
07:31:40dirkk0fowl: oh, I see - I was a folder too deep. thx!
07:33:00dirkk0fowl: yay, it's working!
07:34:46dirkk0fowl: the skeleton, that is. the gui example doesn't (undeclared identifier: 'White' )
07:35:29fowlim not surprised, i havent updated that gui in a long time
07:35:44fowli have a habit of getting things to a working state then losing interest
07:36:41dirkk0but you still are into the engine/gamedev based on sdl2 thing?
07:37:11fowlyea
07:37:28fowlmy current project though is porting SFML, it has a nicer API
07:39:57dirkk0i c
07:43:09dirkk0mind if I check this out on mac (and win later)?
07:47:16*webskipper quit (Ping timeout: 264 seconds)
07:47:52*webskipper joined #nimrod
07:52:07*DAddYE quit (Remote host closed the connection)
07:52:15*DAddYE joined #nimrod
08:01:13webskipperis there a special reason why we have no class keyword in nimrod ?
08:01:34webskipperif I understand the doc right it is easy to implement classes ?
08:04:21*dirkk0 quit (Quit: This computer has gone to sleep)
08:18:48fowlwebskipper, a class is an inheritable object
08:19:28fowlyou can use methods which provide dynamic dispatch or you can use a vtable pattern (for example see the streams module)
08:20:19webskipperyeah but that is not really the explanation why we have no class statement !?
08:22:44fowlwhat does a class statement add?
08:32:37webskipperclass attributes ? would say oop feeling we know it from other languages. In addition the semantic of "object" is an other.
08:33:12fowloop is not a focus in nimrod
08:38:18*girvo quit (Quit: My iMac has gone to sleep. ZZZzzz…)
08:45:19webskipperYes I think so too.
08:46:39fowlby it not being a focus, you have different ways to implement it if you need to
08:50:09*DAddYE quit (Remote host closed the connection)
08:50:39*DAddYE joined #nimrod
09:09:02*webskipper quit (Ping timeout: 246 seconds)
09:28:54*girvo joined #nimrod
10:00:57AraqVarriount: I'm back
10:16:06*webskipper joined #nimrod
10:20:33Araqwebskipper: I don't mind adding a "class" macro to the stdlib, but the "best" implementation is still to be found
10:21:14Araqthere has been some work on component systems too which should be included
11:34:33*BitPuffin joined #nimrod
11:35:49BitPuffinahoy maties!
11:37:06BitPuffinEXetoC: you here? :)
11:38:57EXetoCBitPuffin: yeah, you?
11:40:15BitPuffinEXetoC: no
11:40:29EXetoC:O
11:40:29BitPuffinEXetoC: anyways I just wanted to check how your glfw3 wrapper work went
11:40:39BitPuffinI'm gonna work with it today
11:40:46BitPuffinso if there's bugs I'm gonna hunt you down ;)
11:41:16*webskipper quit (Ping timeout: 246 seconds)
11:43:04BitPuffinbut first I'm gonna bind vorbisfile
11:43:41*krusipo quit (Read error: Connection reset by peer)
11:46:08*krusipo joined #nimrod
11:51:11BitPuffinAraq: wouldn't there be a way to make TMsg generic instead of having to cast?
11:52:30Araqwhat's your context?
11:53:14*faassen joined #nimrod
11:53:38BitPuffinAraq: Well I'm just looking at the way TMsg seems to be implemented
11:53:59BitPuffinwith TMsg.content being a pointer
11:54:23BitPuffincouldn't that be some kind of generic type?
11:54:35BitPuffinor a pointer to a generic type
11:56:11BitPuffinor wait hang on
11:56:21BitPuffinmaybe I'm getting a little confused here
11:56:35Araqare you talking about channels?
11:56:39Araqor what?
11:56:46BitPuffinAraq: yaman
11:57:57Araqwell that was written before I found out with benchmarking that my RTTI stuff sucks for performance
11:58:07BitPuffinRTTI?
11:58:20Araqit looked like a good idea to keep the code size small at that time
11:58:27Araq"runtime type information"
11:58:47BitPuffinah
11:58:50BitPuffinYeah
11:59:05BitPuffinthose generally bite with performance
11:59:10BitPuffinit seems like
11:59:20BitPuffinanyways I just realized something
11:59:23BitPuffinTChannel*[TMsg] = TRawChannel
11:59:38BitPuffinTMsg here is just a generic parameter isn't it? and doesn't have anything to do with the one in zmq.nim?
11:59:51fowllol BitPuffin
11:59:56fowlyou're drunk
12:00:01BitPuffinfowl: maybeee
12:00:09BitPuffinnah I'm not
12:00:13BitPuffinbut I might be dehydrated
12:00:16BitPuffinshould get some water
12:00:32BitPuffinOkay guys! Time to vote
12:00:47BitPuffinnim-vorbis file, or rod-vorbisfile
12:00:48BitPuffin:D
12:01:28fowlhow about just libvorbis or whatever it is
12:01:37BitPuffinno I am only gonna bind libvorbis
12:01:39fowlthere's enough nim- packages floating around
12:01:47BitPuffinmaybe just vorbisfile then?
12:01:54BitPuffinbut that's not good SEO
12:02:07BitPuffinmiley-vorbisfile-cyrus?
12:02:18BitPuffinsince that's apparently what people are talking about
12:02:19EXetoCyeah there's a reason why we have the prefix
12:02:27fowloh
12:02:32fowli just looked up SEO
12:02:43BitPuffinI'm going with nim-vorbisfile
12:02:46BitPuffinyou guys are too unfocused
12:03:14EXetoCwot
12:03:15fowlmy response: google knows you well enough to know that you love the nim, also the package contains the url where you can find the source, so
12:03:54*dirkk0 joined #nimrod
12:03:59fowlBitPuffin, might as well make it nim-audio because you know we'll have libao and libpulse etc too
12:04:13BitPuffinfowl: well, then we'll put them in separate bindings
12:04:24BitPuffinfor this project all I need is vorbisfile
12:04:32BitPuffinnot gonna sit here and bind my dick off
12:05:02fowlmy repository count is too damn high
12:05:46BitPuffinfowl: the least you could do is to rename the repository to fowltek I mean come on
12:05:47fowlin nim-termbox i also have a wrapper for newt, so i need to change the package name to nim-term-ui-stuff
12:05:58BitPuffinnooo
12:06:05fowlBitPuffin, lol i know i should do that
12:06:12BitPuffinif I want termbox binding all I wanna install is termbox
12:06:32fowlsorry, you have to accept my other 400-line wrapper with it
12:06:50BitPuffinnoooooooooooooooooOOOOOOOOOOOOOOOOOOOOooooooo
12:06:54fowlyou're gonna need more than a floppy disk bud
12:07:54Araqah the "lib" prefix. One of my favourites. foo.dll # makes sense. libfoo.so # er wtf? are there "shared objects" which are no lib?
12:08:39fowlplugins maybe
12:08:45Araqwhy is called "shared object" anyway? will we ever improve on the technology stack of the 60ies?
12:10:25BitPuffininclude/vorbis/vorbisfile.h(77, 8) Error: ')' expected
12:10:28BitPuffinpoop
12:10:48EXetoCcommon error. you need to define something probably
12:11:13BitPuffinwtf kind of a line is that anyway
12:11:20BitPuffin(int (*)(void *, ogg_int64_t, int)) _ov_header_fseek_wrap,
12:11:40EXetoCoh. function pointer?
12:11:46EXetoCthat syntax is just the worst
12:11:55fowlBitPuffin, yea you have to pull those out into a typedef
12:12:05BitPuffin.-.
12:12:09fowlit doesnt do well with anonymous func types
12:12:26BitPuffinis this even C xD
12:12:46fowlyea
12:13:23fowlits a shit header though, your function args are going to be a1,a2,.. not giving you any information on the argument you're supposed to pass
12:13:41BitPuffinso what I need to do is
12:13:50BitPuffintypedef (int (*)(void *, ogg_int64_t, int)) _ov_header_fseek_wrap; ?
12:15:14Araqtypedef syntax for function pointers is different
12:15:59BitPuffinsure but
12:16:01BitPuffinsomething like that
12:16:09BitPuffinyou mena I have to make each function pointer a typedef
12:16:13fowlBitPuffin, those are static vars though
12:16:23BitPuffinand put them in the static thingyball
12:16:35fowlThese structs below (OV_CALLBACKS_DEFAULT etc) are defined here as * static data. That means that every file which includes this header * will get its own copy of these structs whether it uses them or * not
12:16:54fowlBitPuffin, see if your .so has OV_CALLBACKS_DEFAULT
12:17:10EXetoCopengl.loadExtensions() yields this now all of a sudden "glfw_glfw.c:(.text+0x7aa9): undefined reference to `nimLoadProcs0'". I don't know why
12:17:37AraqEXetoC: when you don't use any extension method, this happens
12:17:41BitPuffinfowl: the libvorbis.so?
12:18:11fowlBitPuffin, yea, if so, you can just importc those
12:18:36BitPuffinhow do I even do that
12:19:09fowlnm -gU /usr/lib/libvorb.so
12:19:22fowl| grep OV_CALLBACKS_DEFAULT
12:20:17fowler nm -D
12:20:58EXetoCAraq: ok I guess I can't automate that in a lib then
12:21:23BitPuffindoesn't look like it
12:22:42AraqEXetoC: nope, opengl is screwed up
12:23:09Araqotherwise opengl.nim itself could invoke loadExtensions()
12:23:18fowlBitPuffin, take the types from struct ov_callbacks like this: size_t (*read_func) (void *ptr, size_t size, size_t nmemb, void *datasource);
12:23:30BitPuffinAraq: you scared me when you said that opengl is screwed up
12:23:47EXetoCAraq: it's really not possible? oh well. still, this is a pretty neat solution, so whatever
12:24:09Araqwell Nimrod has special compiler support for dynamic loading of opengl
12:24:19EXetoCright
12:24:22Araqand it still can't be abstracted away
12:24:26fowlBitPuffin, make that a typedef renaming read_func to ov_read_func
12:24:30Araqso ... yes. it's fucked up
12:24:36fowlBitPuffin, here ill make a gist
12:24:44*BitPuffin is processing
12:24:46Araqafaict microsoft is too blame for this
12:24:53BitPuffinseriously I'm gonna go get some water
12:25:04Araqms wouldn't update their shitty opengl drivers so people had to be creative
12:25:28Araqand came up with novel ways to do dynamic loading
12:26:04EXetoCI love competition
12:27:09fowlBitPuffin, https://gist.github.com/fowlmouth/7768397
12:28:19BitPuffinfowl: ah I see what you mean
12:28:33BitPuffinbut why is this necessary?
12:28:58BitPuffinit's not even complaining about that struct?
12:29:04BitPuffinor is this for later
12:29:22fowlBitPuffin, for later, otherwise the type will translate with a bunch of anonymous function fields
12:29:32BitPuffinso that we could say ov_read_fuck in the OV_DEFAULT BLABLA
12:29:35BitPuffin?
12:30:20fowlwell presumably those default vtables are useful
12:30:33BitPuffinyeah
12:30:43fowlso if someone has vorbis code in c they can easily translate it to nimrod because OV_CALLBACKS_STREAMONLY is there
12:31:20NimBotAraq/Nimrod master a3d325b Araq [+0 ±1 -0]: don't use memset for temps unless necessary
12:32:07BitPuffinfowl: okay I've done it
12:32:19BitPuffinso now in the static blablas
12:32:25fowllooks like the rest of the file should translate fine
12:32:35BitPuffinI just put ov_read_func in front of fread?
12:32:38BitPuffinetc
12:32:43fowlfor the statics just /* comment them out
12:32:57BitPuffinoh
12:33:05BitPuffinwell I'm okay with that
12:33:45BitPuffinfowl: but now I don't get the defaults?
12:34:05fowlhttps://gist.github.com/fowlmouth/7768397#file-gistfile1-c-L22
12:34:27BitPuffinvorbisfile.h(200, 33) Error: identifier expected, but found '*'
12:34:47BitPuffinahhh
12:35:30fowlBitPuffin, for ex the STREAMONLY_NOCLOSE one would look like var OV_CALLBACKS_STREAMONLY_NOCLOSE* = TOVCallbacks(readFunc: fread) # the others are initialized to nil
12:36:09BitPuffingotcha
12:36:17BitPuffinthat's not so hard :)
12:36:47BitPuffin void (*filter)(float **pcm,long channels,long samples,void *filter_param),void *filter_param);
12:36:52BitPuffinit's whining about that though
12:37:16BitPuffinit doesn't like *filter
12:37:29fowlyea thats an anonymous func type
12:37:51fowltypedef void (*filter_cb)(float **pcm,long channels,long samples,void *filter_param);
12:38:02fowlbefore the func
12:38:10BitPuffinbut still keep the old one?
12:38:20fowlthen that line becomes: filter_cb filter, void *filter_param);
12:39:02Araqfowl: omg you used "_cb" as a suffix. Now I'm confused for good. Never heard of something called a "callback". Your code is cryptic! I programmed for 2 days now and can't understand it!
12:39:17Araqsorry, couldn't resist
12:39:19BitPuffinAraq: shh
12:39:34fowllol
12:39:49BitPuffinfowl: you sure you got the parenthesis right?
12:40:03fowlwhere
12:40:13BitPuffinfilter_cb filter, void *filter_param);
12:40:23fowlyea
12:40:32BitPuffinoh right
12:40:33fowlthats the last two params for ov_read_filter()
12:40:36BitPuffinit's part of the entire noodle
12:40:49fowlyou owe me a fraction of a bitcoin
12:41:05BitPuffinwe don't even know if we are done yet!
12:42:15BitPuffinand pff :P
12:42:18fowlim sure thats all thats needed
12:42:25BitPuffinI might tip you when the game is done
12:42:38BitPuffinif people buy it
12:42:39BitPuffin:P
12:43:00fowlwonder how many games people are selling for bitcoins only
12:43:47fowlselling their games*
12:43:55BitPuffinhumblebundle?
12:43:59fowlor other computer works
12:49:34BitPuffinuhhh
12:49:43BitPuffinDo i need to also wrap codec.h?
12:50:23BitPuffinproc (ptr: pointer; lol c2nim you a funny guy
12:52:00BitPuffinor can I just C include it with a pragma or something
12:56:07BitPuffinsize_t is just int in nimrod right?
12:56:41BitPuffinyeah it is
12:59:06BitPuffinyeah I have to wrap some of codec at least
12:59:25fowlsize_t is csize
13:00:28BitPuffinor actually ogg
13:00:45BitPuffinfowl: are you sure?
13:00:55BitPuffinAraq: DAddYE: wrapping size_t to int is the way to go
13:01:25EXetoCsee system.nim :p
13:02:47BitPuffinAraq: your quotes don't hold up
13:02:48*Varriount_ joined #nimrod
13:03:15EXetoCbut I thought size_t was an unsigned type
13:03:21BitPuffinme too
13:03:50BitPuffinc2nim should really know about this stuff
13:04:10BitPuffinis there a good reason that it doesn't do the conversion for us?
13:06:09*Varriount quit (Ping timeout: 246 seconds)
13:06:09*Varriount_ is now known as Varriount
13:06:40fowlyes
13:06:43fowlthe government
13:07:20BitPuffinmakes sense
13:11:08*girvo quit (Quit: My iMac has gone to sleep. ZZZzzz…)
13:18:20*zahary_ left #nimrod (#nimrod)
13:36:23*Kooda joined #nimrod
13:40:18Araqhi Kooda welcome
13:40:28KoodaHi!
13:40:46KoodaI just discovered this project and read the 2 manuals, seems quite nice!
13:44:15Araqthanks
13:44:30fowldirkk0, thanks for the PRs, i added you as a collaborator so you can push future changes
13:48:30BitPuffinAraq: err, how do I alias a type
13:48:37BitPuffintype T = int?
13:48:44BitPuffinyeah
13:48:50fowltemplate T: expr = int
13:48:55BitPuffinI'm not smart today
13:48:56fowlconst T = int
13:49:06fowldont listen to me
13:49:13*fowl is poor
13:50:30KoodaAraq: in fact, the idea of a Lispy C, with manual memory managment possible, tiny runtime, static typing… has been in my mind for quite some time now ^^'
13:57:39KoodaBuild successful on NetBSD x86 :D
13:59:03fowlKooda, hope you are building from github
13:59:07KoodaYep
13:59:12BitPuffinproc streamPageoutFill*(os: ptr TStreamState; og: ptr TPage; nfill: cint): cint {.cdecl.}
13:59:13fowlgood stuff
13:59:21BitPuffinnot sure why it expects an implementation of that one
13:59:27BitPuffinbut not ether ones that look the same
13:59:40fowlBitPuffin, it has to come from somewhere
13:59:46fowlyou need importc/dynlib
14:00:16BitPuffinbut there are sooo many other procs above it that looks exactly the same
14:00:17fowlBitPuffin, you can do {.push callconv:cdecl, dynlib:libname.} before your functions so you can leave those off
14:00:25fowlBitPuffin, upload what you have please?
14:00:29BitPuffinyaman
14:01:08BitPuffinhttps://bitbucket.org/BitPuffin/nim-ogg
14:01:09BitPuffinfowl: ^
14:01:34BitPuffinyeah the when defined blah is going away
14:02:19fowlits secret
14:02:32BitPuffinit is?
14:02:40fowlYou do not have access to this repository.
14:02:41BitPuffintry again
14:03:00fowlok
14:03:09AraqKooda: sometimes I think Nimrod is just too weird even for Lispers. :P
14:03:24BitPuffinfowl: you are gonna die when you realize that I'm gonna make nim-vorbis depend on this library
14:03:30KoodaAraq: why? :o
14:03:47fowlBitPuffin, why not just put them together
14:03:55fowlBitPuffin, this is part of vorbis isnt it
14:03:58BitPuffinfowl: because ogg is also a container for theora
14:04:14BitPuffinso if someone ever wants to wrap theora they can use this
14:04:27BitPuffinfowl: you are not a big fan of modularity are you :D
14:04:32BitPuffinanyways back to the wrapping
14:05:15fowli dunno why it complains about that function as opposed to any other, they all need to be implemented though
14:05:23BitPuffinyeah
14:05:54fowlyou can also push importc if the function names are the same as they are in c
14:06:05BitPuffinbut I should just add {.push dynlib:"libogg.so".} or whatever
14:06:24BitPuffinfowl: well I have renamed them
14:06:28BitPuffinso I'll have to do it manually
14:06:31fowlthey have a prefix?
14:06:37BitPuffinyeah
14:06:39BitPuffinand sometimes even >
14:06:42BitPuffin_*
14:06:44BitPuffinwhich is not even legal
14:06:46BitPuffinit's illegal
14:06:48BitPuffindon't they know
14:06:51fowlimportc: "prefix_$1"
14:06:57fowloh yea thats an issue then
14:07:25BitPuffincould I do that and importc: "_prefix_$1" ?
14:07:28fowlwell i would make a {.pragma.} for importc: "prefix_$1" then so you only have to bother with the weird-named functions
14:07:36fowlyea
14:08:19fowli dont see __ in ogg.h
14:08:39BitPuffinoh oh wait
14:08:46BitPuffinit's because c2nim stripped the prefix
14:08:58fowlaw you butchered the names
14:09:03BitPuffinyap
14:09:09fowlsucks
14:09:14BitPuffinbawls
14:09:24fowlotherwise
14:09:29fowlthis could have been a real purdy wrapper
14:09:49fowlwith tons of {.pop.} {.push importc: "ogg_page_$1".}
14:10:10BitPuffinwhat is purdy
14:10:12BitPuffinhaha
14:11:13fowlhttps://www.youtube.com/watch?v=jVDN8yR3ig0
14:11:18AraqKooda: we have T/P prefixes, comments as part of the AST, a strange templates/macros split, no dynamic typing, no homoiconity, no "class" keyword, no interfaces, "type" sections are offending by themselves etc. etc.
14:12:34Araqoh and we use "proc" instead of "def" or "func"
14:12:39KoodaAhaha
14:12:57KoodaWell, for now, it looks good to me :Þ
14:13:06Araqthere is enough to dislike for everybody :P
14:13:08Kooda(and, comments in the AST, that’s awesome! :D)
14:13:24BitPuffinthat doesn't happen often
14:14:08AraqBitPuffin: I'm copying your style ;-)
14:14:16Araqscaring away new users
14:14:21BitPuffinAraq: :D
14:14:37KoodaI’m not scared yet. :’°
14:14:43Araqdamn lol
14:15:18KoodaWhen I saw the part on OOP in the tutorial 2, I was so happy… :D
14:15:20BitPuffinhe's a brave one
14:15:40BitPuffinwhat part again?
14:15:40Kooda(I’m not a huge fan of OOP in general)
14:16:01Kooda“While Nimrod's support for object oriented programming (OOP) is minimalistic, powerful OOP technics can be used. OOP is seen as one way to design a program, not the only way. Often a procedural approach leads to simpler and more efficient code. In particular, prefering composition over inheritance is often the better design.”
14:16:34BitPuffinah
14:16:37BitPuffinyeah
14:16:55BitPuffinwell preferring composition over inheritance is a part of some OOP principle too isn't it?
14:17:43Araqyeah it's the principle "forget about inheritance and when you do composition you don't need dynamic binding either"
14:17:59Araq"oh and then nothing of the classical OO is left"
14:18:08Kooda^^'
14:18:10Araq"but don't say that too loud"
14:18:21BitPuffinhttp://en.wikipedia.org/wiki/Liskov_substitution_principle
14:18:26Araqit's the "OO doesn't work"-principle of OO
14:18:34BitPuffinhahaha :D
14:18:35KoodaHehe
14:33:21*dirkk0 quit (Quit: Leaving)
14:45:14BitPuffinman this wrapping is tedious :P
14:45:38BitPuffingonna finish ogg and then eat lunch
14:56:40EXetoClunch? lies
14:57:25EXetoCBitPuffin: will upload the lib some time today
15:07:40BitPuffinhttps://bitbucket.org/BitPuffin/nim-ogg/src/55898eaef9e6b712073026523b9a7ff40c8a9154/src/ogg/ogg.nim?at=default does this look fine to you guys?
15:07:52BitPuffinit compiled at least lol
15:08:05BitPuffinI'm not gonna bother fixing the names for now
15:08:09BitPuffinin types
15:08:12BitPuffinprocs are however nice
15:10:39fowlthe functions still have prefixes
15:11:34fowlyou can reduce noise by just pushing the pragmas in comogg
15:34:06Araqping OrionPKM
15:37:25OrionPKMwhat's up araq
15:38:33Araqmy todo.txt says "simple closure iterator doesn't work"
15:38:43Araqand I remember you trying something like:
15:38:56Araqiterator mycountup(a, b: int): int {.closure.} =
15:38:58Araq for i in a..b: yield i
15:39:07Araqbut this works flawlessly for me ...
15:39:25OrionPKMhm
15:39:26Araqdo you still have your gist?
15:40:36OrionPKMI vaguely recall that, dont remember if there was a gist
15:40:50OrionPKMunless
15:40:50OrionPKMhttps://gist.github.com/onionhammer/5809996
15:40:52OrionPKMthat's it
15:42:18OrionPKMyeah it works for me now, you must have unwittingly fixed it in the past :)
15:43:03BitPuffinfowl: what do you mean still have prefixes
15:43:21BitPuffinah you mean pack and stream etc?
15:43:41BitPuffinI think I'm gonna keep thos
15:43:44BitPuffine
15:43:48BitPuffinbecause they keep things grouped
15:44:01BitPuffinI just don't think the ogg prefix is necessary
15:44:04BitPuffinsince it is in the ogg module
15:45:51AraqOrionPKM: alright thanks
15:49:15*mflamer joined #nimrod
15:50:03Araqhi mflamer, I got your message
15:50:35mflamerGoodmorning Araq
15:51:38Araqwell it depends on what you're implementing; if the field name is not in multiple branches it's obvious which struct type to use
15:52:17Araqit might not be *safe* but that's a different problem
15:53:15Araqaccess to a field of an ADT is usually enforced to go through pattern matching which ensures the safety properties
15:54:06Araqbut I'm not sure how far you want to take your research project
15:57:13IcefozWait, Nimrod's stdlib is entirely source? It appears to compile the bits it needs on the fly and cache them.
15:57:20IcefozThat's so cool. Goofy, but cool.
15:58:16Araqyou can build a nimrtl.dll and use that instead. Though apparently there is a new regression which prevents that from working.
15:59:39mflamerThats a good point Araq
16:01:29IcefozI assume it does pretty much the same thing when building non-stdlib projects?
16:04:56IcefozLooks like it does, so.
16:05:18AraqIcefoz: the compiler doesn't know what a stdlib project is
16:05:40IcefozMakes sense.
16:14:15*mflamer quit (Ping timeout: 272 seconds)
16:18:22VarriountIcefoz, what do you mean, entirely from source? Don't most compilers build from source?
16:20:27IcefozVarriount: Yeah, but most compilers also pre-compile and archive their standard library. It just vaguely surprised me.
16:21:54VarriountIcefoz, well, for what it's worth, compilation is pretty fast. No huge long configure scripts to run :D
16:23:19Araqyay Varriount is back :-)
16:23:20IcefozYep.
16:26:24EXetoCBitPuffin: nah, couldn't resist making my own matrix stuffs :>
16:33:35*Varriount_ joined #nimrod
16:37:02*Varriount quit (Ping timeout: 240 seconds)
16:37:03*Varriount_ is now known as Varriount
16:41:10NimBotnimrod-code/packages master 168a5fa Isak Andersson [+0 ±1 -0]: Add nim-ogg
16:41:10NimBotnimrod-code/packages master 5e35951 Dominik Picheta [+0 ±1 -0]: Merge pull request #35 from BitPuffin/master... 2 more lines
16:41:20*MFlamer joined #nimrod
16:43:47BitPuffinEXetoC: noob :/
16:43:53BitPuffinyay dom96 :D
16:44:30BitPuffinEXetoC: and all the goodies are going in today
16:44:32BitPuffinpff
16:45:13BitPuffinwtf
16:45:33BitPuffinhttps://gist.github.com/BitPuffin/7772643
16:45:50BitPuffingetting invalid indentation on the when line
16:47:17BitPuffinor no on the elif line
16:48:10OrionPKMwhat are you using ogg for?
16:48:41BitPuffinOrionPKM: vorbis
16:52:11BitPuffinWHY IS IT INVALID INDENTATION IT ISN'T EVEN
16:52:17*BitPuffin ragequits
16:52:21Kooda:o
16:53:40BitPuffinAraq: why doesn't poop
16:54:57BitPuffinoh wait the error wasn't in that file even
16:55:03BitPuffinxD
16:57:01VarriountIdea - Make a magic macro that, at compile time, reads in a template config file and constructs a routine to parse it, and at runtime, parses the actual config file, replacing/throwing errors if neccessary.
16:57:53IcefozVarriount: Isn't that called a parser generator?
16:58:38VarriountIcefoz, a parser generator is ussually for freeform languages. I mean, something that would parse a *.ini file
16:59:22VarriountCurrently I'm going through huge, 150 line block of code that does nothing but act on the parameters in a .ini file.
17:01:03*brson joined #nimrod
17:01:25VarriountIcefoz, have you read on nimrod's source filters?
17:02:08BitPuffinWhat's the equivalent of FILE in nimrod?
17:02:28BitPuffinCFile?
17:02:43BitPuffinyeah
17:03:01AraqFILE* is TFile
17:03:50*DAddYE quit (Ping timeout: 240 seconds)
17:04:48IcefozIt'd be a limited-case parser. It actually sounds devestatingly useful.
17:05:00IcefozVarriount: Not yet.
17:05:06OrionPKMbitpuffin what about vorbis
17:05:11KoodaAny Nimrod developper making games? :Þ I was wondering if I would try the coming Ludum Dare in Nimrod :3
17:05:50IcefozCRAP I've just re-invented XML schemas.
17:06:12OrionPKMKooda there are a lot of people here interested in making games, but I dont know any actual active games in development
17:06:23AraqVarriount: so what would the declarative syntax you propose? on "blah" do: someVar = someValue ?
17:06:38Araqdo you realize how close that is to the string case?
17:06:42KoodaOrionPKM: ok
17:07:44BitPuffinOrionPKM: sound
17:08:14OrionPKMI know what ogg is bitpuffin :P
17:08:25OrionPKMI was just curious if you were working on something interesting that makes use of it
17:08:53KoodaMaking noise with nimrod? :’°
17:08:56EXetoCgames ofc
17:09:33IcefozOkay, now that I've gone through the tutorials, Nimrod is still disturbingly close to the programming language idea I've been cooking up for the last couple months.
17:09:44EXetoCsuch languages will always be supported by plenty of game devs :>
17:09:49KoodaIcefoz: welcome to the club! :D
17:10:07EXetoCIcefoz: great
17:10:10MFlamerIcefoz: Thats a common theme here
17:10:11IcefozExcept that 10% which is things I either didn't think of, didn't worry about, or wouldn't have put in, which makes it feel a little demented.
17:10:14BitPuffinOrionPKM: ah, yeah a game
17:10:28BitPuffinset to release on the 26th but that's impossible but hey I'm going for it anyway
17:10:39MFlamerIts like a utopian refugee camp
17:10:54Koodahahah
17:11:24MFlamerHere's some koolaid
17:12:37IcefozAt least the demented bits are consistent.
17:14:15IcefozQuestion, is Nimrod designed for systems-level/embedded programming? Could you easily write an OS kernel in it, or program an Arduino?
17:14:28IcefozIt _looks_ like it, but I don't know enough about the runtime yet.
17:15:10EXetoChttps://github.com/dom96/nimkernel
17:15:52EXetoCBitPuffin: you're talking about a squared matrix type, but won't a simple cast do?
17:16:04EXetoCthat's my approach when accessing individual elements with a single index
17:16:26EXetoCor am I missing something?
17:16:52dom96Kooda: I participated in LD with Nimrod a while back
17:17:07dom96Didn't manage to get my game finished though because I suck at art heh
17:17:20EXetoCprocedural art ftw
17:17:44VarriountIcefoz, yes.
17:18:30VarriountThe GC is pretty optimized, and you can inline assembler statements. You can also do without the GC or type information altogether.
17:18:53VarriountNimrod is translated to C, if you didn't already know.
17:19:26EXetoCnot that that alone means much, but yeah
17:26:22IcefozVarriount: Thanks.
17:27:14VarriountIcefoz, I think someone got nimrod to run on an embedded system (64kb of something?)
17:29:22BitPuffinEXetoC: I'm talking about a squared matrix type?
17:29:27BitPuffinthat might be old news
17:29:32BitPuffinI decided to skip that
17:30:28EXetoCBitPuffin: in that source comment
17:30:30EXetoCok
17:34:29IcefozIs there an inverse to the ord() function? Something that will take an integer and turn it into the specified enum, if possible?
17:34:49*DAddYE_ joined #nimrod
17:37:11IcefozAnother random question, is there any runtime reflection?
17:37:20*DAddYE_ quit (Remote host closed the connection)
17:37:27VarriountIcefoz, in what way?
17:37:56*DAddYE_ joined #nimrod
17:38:05dom96Icefoz: I think you can just cast your int to that enum
17:38:12VarriountAlso, you *might* try casting the- yeah
17:38:48IcefozCast, or convert?
17:39:01BitPuffingotta go! be back soon
17:39:08VarriountIcefoz, cast
17:39:16Varriountcast[type](value)
17:39:22*BitPuffin quit (Quit: WeeChat 0.4.2)
17:39:34Varriountcast[MyEnum](3)
17:40:04dom96no
17:40:09dom96MyEnum(3)
17:40:24VarriountOh. :/
17:42:04*shodan45 quit (Quit: Konversation terminated!)
17:42:16AraqIcefoz: in general runtime reflection is considered a design flaw in Nimrod
17:42:33Araqthere is marshal.nim to serialize arbitrary data structures though
17:42:52IcefozIf you have to reflect at runtime, you should be doing it with compile-time rewriting?
17:43:04VarriountH/E There's a remarkable amount of information that can be extracted at compile tine
17:43:06AraqIcefoz: that's the general idea, yes
17:43:06Varriount*time
17:43:11IcefozOkay.
17:44:12VarriountIcefoz, if you really need such things: http://nimrod-lang.org/system.html#517
17:44:24VarriountAlso, typeinfo.nim
17:47:26IcefozCool, thanks.
17:47:49VarriountAraq, under what circumstance would instanciationinfo().line return -1?
17:48:51*zielmicha joined #nimrod
17:51:39*achim joined #nimrod
17:53:25AraqVarriount: when there is no instanstiation going on
17:53:57AraqVarriount: what's the state of your lambda lifting improvements btw? I'm working on that part too now
17:54:11Araqhi achim welcome
17:54:26VarriountAraq, I got stuck at simply allowing the isInnerProc to accept iterators.
17:54:36achimhi Araq, thanks!
17:54:47Araqdom96, Icefoz type conversion instead of 'cast' for enums is preferable
17:54:52*Varriount is scatterbrained
17:55:23VarriountAraq, what's your progress?
17:59:59achimAraq: regarding this compiler error: https://gist.github.com/achim/7733214 - that seems to be clang-related. a gcc-built nimrod is fine on both osx and ubuntu, and clang builds fail on both systems. do you accept clang-related bug reports or is clang officially unsupported?
18:00:39Araqachim: on the contrary, clang is the default for mac now
18:00:49Araqso we need to ensure it works
18:01:16AraqVarriount: haven't started yet really. But I feel like working on something simple :P
18:01:32OrionPKMyou said LINQ would be easy, work on that :P
18:02:49VarriountAraq, is there some more reliable method for retrieving the current line of the program, even if it's only for debug builds?
18:03:14VarriountgetStackInfo() reports the correct line information.
18:03:33VarriountHowever I don't need the full stack information, just the line numbers
18:03:47EXetoCyou could wrap it in a template
18:03:52EXetoCnot a good solution?
18:03:57Araqwell patch the stdlib to provide that information, Varriount :P
18:04:00VarriountEXetoC, no.
18:05:19MFlamerAraq: seems your comment regarding pattern matching on ADT's as the way to ensure safe field access is logical. But, i'll have to see if this implies some hardcoded patternmatching in the language, which you have managed to isolate to macros so far
18:07:41AraqVarriount: system/excpt.nim contains the stack trace generation code
18:08:34Araqthe logic is convoluted because it only has a static array to work with, when you use a 'seq' it's much easier
18:10:43*Varriount_ joined #nimrod
18:10:49Varriount_Ok, something is off with my connection.
18:11:12*Varriount quit (Disconnected by services)
18:11:12*Varriount_ is now known as Varriount
18:11:33*capisce quit (Read error: Operation timed out)
18:16:20*capisce joined #nimrod
18:16:30*Hannibal_Smith joined #nimrod
18:23:51VarriountAraq, nimrod only writes the last 32 frames for stack trace info?
18:25:05*dirkk0 joined #nimrod
18:26:05AraqVarriount: no it writes 128, the first 32 then '...' and then the last 95
18:26:27VarriountAh, ok.
18:27:50VarriountAraq, I can't help but thinks that, compared to the internals of a gcc/llvm (or at least, the part's that I've seen) the nimrod compiler internals are relatively easier to read, even if not always easy to follow
18:28:15VarriountI can actually understand the stack trace procedures without developing a migraine.
18:28:46Araqimpossible. I'm sure I used abbrevs there too. :-)
18:29:28VarriountAraq, though you used abbreviations, you tend to use them only where they actually make sense, and can be inferred out.
18:29:45Araqoh wow. thanks
18:30:31VarriountAlso, because you see type information much more in nimrod than, say, python, descriptive variable names are not *quite* so important
18:30:58Araqah enough of it
18:31:16AraqI'm not used to compliments, can't handle them
18:31:25Araq:-)
18:32:46VarriountI wish I could write a research paper things like that, rather than the boring subjects my composition professor prefers.
18:32:50OrionPKMi just hate when he abbreviates function names because they're keywords :P
18:32:53Varriount*on things
18:33:24EXetoCOrionPKM: you prefer `type`?
18:33:30VarriountOrionPKM, same, but for modules
18:33:35OrionPKMyes
18:33:38OrionPKMtyp
18:33:39OrionPKM:P
18:33:54Varriountwhen I see strutils, I always think "StructUtils"
18:34:02OrionPKMyah, that too
18:34:17OrionPKMsometimes he gets a bit carried away w/ the abbreviations
18:34:28Hannibal_SmithI honestly don't like any form of abbreviation :O
18:34:37OrionPKMyou a C# programmer? :)
18:34:40Hannibal_SmithYes
18:34:46*CarpNet quit (Quit: Leaving)
18:34:48OrionPKMhow did I guess
18:35:04VarriountOrionPKM, he could have also been a Python programmer. :P
18:35:40OrionPKMC# gets pretty wordy, but I HATE seeing abbreviations in it
18:35:56VarriountOrionPKM, Don't forget Java
18:35:57Hannibal_SmithWriting long names is not a problem with Visual Studio
18:36:00OrionPKMyeah
18:36:23Hannibal_SmithAnd writing is only "one time", read is "many times"
18:36:34OrionPKMwho was it that was workng on the visual studio plugin
18:36:37OrionPKMfor nimrod
18:36:38Araqyes. And I prefer the abbrevs for reading.
18:36:43Hannibal_SmithAhahaha
18:36:49VarriountHannibal_Smith, except when long names cause 180 character lines.
18:37:04EXetoCI prefer abbreviations as long as it's relatively clear what it stands for
18:37:07OrionPKMabbrevs are fine for reading, typically.. it's writing that sucks because you have to look up the exact abbreviation for what you want
18:37:14Hannibal_SmithVarriount, there don't really exist in the .Net BLC
18:37:17Araqit's the natural thing to do when you use a word very often
18:37:24Araqyou make it shorter
18:37:44Hannibal_SmithWell, even .Net abbreviate thing like pointer to ptr
18:38:05Araqand many technical terms in english are taken over from latin which has many long words
18:38:19VarriountBroadcastButtonFactoryList.addFactory(BroadcastButtonFactory<CheesyOneWayButton>(20, CheeseTypes.MexicanCheese))
18:38:47Varriount^ Why I dislike java
18:38:49EXetoCcheese. yum
18:39:10EXetoCfactories, biatch!
18:39:11Hannibal_SmithVarriount, probably is more a fault of the OOP...probably
18:39:15OrionPKMAraq speaking of abbreviation, some way to abbreviate proc's would be nice ;)
18:39:35EXetoCwut
18:39:36Araqbtw I wrote the compiler initially in Pascal. You can't blame me for being a lazy typist!
18:39:38VarriountOrionPKM, leave Araq alone, he's trying to fix bugs.
18:39:50OrionPKMhehe
18:39:55VarriountI would prefer bugs to be fixed before new features are added.
18:40:10OrionPKMyeah yeah
18:40:23Araqbegin begin begin end end end # argh, just kill me already
18:40:47VarriountNow, how to get the last frame in the stack...
18:40:51Araqthough the typing is an issue too when you're writing code to debug things
18:41:09Hannibal_SmithWhy?
18:41:23OrionPKMproc (x: type): string = ... vs. (x:type) => ...
18:41:32AraqVarriount: the very first frame is the "last frame"
18:41:57Araqit's reversed since it's a singly linked list
18:42:34dom96some way to abbreviate proc types would be nice indeed.
18:45:24OrionPKMoh, distnct that's another one
18:45:24OrionPKM:P
18:45:29KoodaThen we would need a way to abbreviate this abbreviation
18:45:43OrionPKMx: type => ...
18:45:51OrionPKMx =>
18:45:51KoodaD:
18:46:06Kooda=> # magic function that does everything
18:46:07OrionPKMtype inference magic!
18:46:52VarriountAraq, I'll likely have a line info proc done by the end of the day, do you want me to submit a pull request? Also, Thanks for the help.
18:47:05KoodaOh, I saw “lambda” is a reserved keyword, but I didn’t find anything about lambdas in the manual. :o
18:47:22Araqwell managed to get lambdas with the "proc" keyword
18:47:23VarriountKooda, some words are reserved for future use
18:47:51EXetoCHannibal_Smith: because it's really annoying to have to type much in some situations
18:47:55VarriountAnyone here want to try out my Sublime Text tmLanguage file for nimrod?
18:48:19EXetoCand readability doesn't really matter when you're making lots of local changes. that can be dealt with when the bug has been fixed or whatever
18:48:35OrionPKMVarriount I have my own tmLanguage
18:48:50VarriountOrionPKM, and you haven't published it?
18:48:51MFlamerVarriount: yes, I have my own but would like to try yours also
18:48:57OrionPKMand integration w/ nimrod idetools
18:48:57AraqVarriount: I would like to have it in some other module, but I can see that's much more work
18:49:00EXetoCHannibal_Smith: if you were even referring to that
18:49:13Araqextracting these things from system.nim ain't easy
18:49:20VarriountAraq, I don't even know how I would get it into another module. :/
18:49:26OrionPKMVarriount Im also planning on adding better syntax highlighting for source code filters
18:49:33Araqyes, that's what I'm talking about
18:49:55VarriountOrionPKM, Why haven't you published the sublime text stuff then?
18:50:20OrionPKMit's not ready
18:50:35OrionPKMhttps://www.dropbox.com/s/84gtcgjmw2ec61r/Nimrod-Sublime.zip
18:50:37OrionPKMbut you can try it out
18:51:43AraqOrionPKM: your comment about the writability of abbrevs is spot on, which is why we have http://nimrod-lang.org/apis.html
18:52:25OrionPKMAdd distnct to that table
18:52:48Araqwell I think we should rename that to "unique"
18:53:05OrionPKMyeah
18:53:08VarriountMFlamer, https://gist.github.com/Varriount/7775253
18:53:19MFlamerthanks
18:53:20VarriountMFlamer, it's very much a side project
18:53:26EXetoC*common* abbrevs are indeed not bad at all
18:53:36VarriountMainly just to familiarize myself with regex and such.
18:53:48VarriountEXetoC, except for 'str'
18:54:11Varriount'str' - Is it a struct, or a string? No one knows!
18:54:39MFlamersounds similar to what I have. Did OrionPKM say he is using IDE tools in his? That would be awsome
18:55:22VarriountMFlamer, my biggest grievence is that you can include other regexes in match rules. Meaning quite a bit a duplication
18:55:31Varriount*you can't
18:55:36EXetoCVarriount: well, I can't recall ever seeing 'str', where it's an abbreviation of anything other than 'string'
18:56:32EXetoCanyway, string is already short
18:57:53MFlamerVarriount: you wrote a JSON file then used the converter to XML, right?
19:00:19VarriountMFlamer, Yeah. I attached both versions to the gist.
19:00:34VarriountThe plugin I use is AAAPackageDev
19:00:53MFlamerI diddnt see the JSON file, I'll look again
19:00:56VarriountMFlamer, It's actual YAML
19:01:14MFlamerI dont even know what YAML is
19:01:23VarriountA markup language for humans.
19:01:35OrionPKMI've just been editing the XML straight up
19:01:39VarriountThink reStructured text.
19:01:48OrionPKMAAAPackageDev would probably be preferable
19:01:49VarriountOrionPKM, *shudder*
19:02:01VarriountOrionPKM, it can also translate XML to YAML
19:02:16MFlamerI found JSON much easier to work with
19:06:45OrionPKMvarriount you should merge the plugins together
19:07:16OrionPKMlets make a new plugin and put it up on sublime package control
19:07:25OrionPKMthe one that's up there isnt being maintained very well
19:07:27MFlamerenough of us seem to be using sublime that we should pool efforts
19:07:53AraqVarriount: YAML is in fact not a markup language, but a data description language
19:08:02Araqbig difference
19:08:23Araqeven though people didn't understand this difference and used XML for everything ...
19:08:44OrionPKMthe main features of mine (based on the existing sublime PC) are treating discard """ ... """ as a comment like aporia and go-to-definition,
19:13:50VarriountOrionPKM, want me to start and create the repo?
19:14:04*Mat2 joined #nimrod
19:14:08Mat2hi all
19:14:17Araqyay Mat2 is back
19:14:19VarriountHeeeeellllooooooo!
19:14:38Mat2hi Araq and Varriount
19:15:22OrionPKMvarriount sure, add me as a contributor
19:15:33Mat2hi OrionPKM
19:15:42OrionPKMhi mat2
19:16:08Mat2Araq: Does Nimrod support tail-call recursion ?
19:16:17VarriountOrionPKM, any particular name? I'm thinking something along the lines of "NimLime
19:16:23Varriount*"NimLime"
19:16:35AraqMat2: no; gcc does it when optimization is turned on
19:16:37VarriountOr "LimeRod"
19:17:50OrionPKMhmm..
19:18:17VarriountOr we could just do "Sublime-Nimrod"
19:19:03OrionPKMyeah. just make sure the name isn't the same as thrr
19:19:22*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
19:19:36OrionPKMas the current one
19:19:40VarriountOrionPKM, which name?
19:20:31*Varriount_ joined #nimrod
19:20:40Mat2Araq: hmm, I hope Clang and other compiler behave the same
19:20:42*Varriount quit (Disconnected by services)
19:20:42*Varriount_ is now known as Varriount
19:20:45VarriountOrionPKM, which name?
19:21:02AraqMat2: clang and visual C++ do and I'm sure Intel does too
19:21:21Araqother compilers don't exist anymore
19:22:37Mat2right, except PCC (OpenBSD)
19:22:38VarriountDoesn't the intel compiler cost, like, thousands or something?
19:22:47OrionPKMnimrod sublime
19:22:58Mat2Varriount: Yes
19:23:17Araqso tell me: which large open source project does build with PCC?
19:23:27Araqcan't think of any
19:23:45KoodaNetBSD builds with pcc afaik :Þ
19:24:02Mat2OpenBSD will use PCC as replacement for GCC
19:24:04VarriountAraq, on native stack traces, where is the line information?
19:24:43KoodaRelying on compiler optimization is weird…
19:24:43VarriountI can't test it, because Windows doesn't support native stack traces (I think?)
19:24:56Araqthat was before clang got stable, afaik
19:25:20Araqclang has the right license (TM) so the BSD guys should be happy with it
19:25:57AraqKooda: it's the best we can do since we compile to C
19:26:12zielmichaKooda: TCO is itself a compiler optimalization :)
19:26:22KoodaAraq: yes, but C standards doesn’t talk about tail-calls :Þ
19:26:23Mat2Kooda: Well, a compiler to C is restricted in supported optimizations beside GCC specific extensions
19:26:50Koodadon’t*
19:27:12Araqactually we could do it like some scheme does and perform some heavy transformations
19:27:17Koodazielmicha: of course, but it could be from nimrod, not from C.
19:27:30Araqthen we can guarantee tail calls
19:27:45Mat2Araq: That can be right (AFAIK as I know some OpenBSD developers doesn't want to relate on the LLVM infrstructure however)
19:27:52KoodaI only know about Chicken’s way (Continuation passing style)
19:28:01Araqyeah
19:28:08AraqI'm talking about Chicken
19:28:11Kooda:)
19:28:53Mat2so it is doable
19:29:11AraqMat2: why is that important for you again? you have your own native backend anyway ;-)
19:29:29OrionPKMbrb
19:29:55*OrionPKM quit (Remote host closed the connection)
19:30:10Araqit's doable but then you can't translate function calls into C function calls and all hell breaks lose for C interop
19:31:00Mat2Araq: Personally I prefer recursations and wan't to know about possible side-effects if I follow this style (stack overflows for example)
19:31:30Mat2(recursations against loop constructs)
19:31:44Araqpersonally I wouldn't even call a tail recursive call a recursion :-)
19:31:48EXetoC*recursions
19:31:58Mat2thanks, EXetoC
19:32:29VarriountAraq, when extracting information from native stack traces, where is the line information located?
19:32:49Mat2brb
19:32:53AraqVarriount: I don't know anything about native stack traces
19:33:11Araqcomex patched excpt.nim some day and added support for them
19:33:16VarriountAh.
19:33:41AraqI don't think they still work
19:33:50Varriount(What's the difference between native and non-native stack traces?)
19:33:51Araqit surely is fragile
19:33:59Araqnon-native stack traces work
19:34:05Araqand are what you see in general
19:34:21EXetoCMat2: yay no offense taken :p
19:34:24VarriountAraq, the code looks to be highly dependant on os data structures
19:34:44AraqVarriount: that would the "native" version then, yes
19:34:56*comex waves
19:35:05VarriountYeah, forgot to mention that.
19:35:18VarriountHi Comex, care to explain native stack traces?
19:35:31*dirkk0 quit (Quit: Leaving)
19:36:33comexsec
19:37:19comexyeah, it's just a wrapper to the built-in backtrace function
19:37:25*Hannibal_Smith quit (Quit: Sto andando via)
19:37:34VarriountThe backtrace function being...?
19:37:40comexa c library function
19:37:42comexand dladdr to get symbols
19:37:53VarriountThat sounds hacky.
19:38:22comexit's not really, they're standard library functions
19:38:26comexbut you won't get the line info that way
19:39:12VarriountSo.. do I need to worry about supporting nativeStackTrace when getting line numbers?
19:40:01comexwhat are you trying to do? :)
19:40:08comexthe line numbers aren't available, so
19:40:26comexit wouldn't be possible to support it
19:40:56AraqVarriount: just ensure your proc doesn't even exist then, so users get a nice compile time error
19:41:33*OrionPKM joined #nimrod
19:42:24VarriountAraq, anything I should be careful with when dealing with the raw stack frames?
19:43:07Araqwell the order is reversed but apart from that
19:43:15Araqnot many gotchas here
19:43:39Araqunless you move it into another module
19:43:55Araqthen it requires some magic :P
19:43:56VarriountWhich I don't know how to do, without including it. :/
19:44:22MFlamerVarriount: What are you working on?
19:46:08VarriountMFlamer, I'm working on getting a function that retrieves the current line number more reliably than InstantiationInfo().line, so that I can trace the execution path of builder.nim (the build bot), so I can narrow the builder.nim code down to an example that Araq can test for memory corruption.
19:46:52VarriountAnd I refuse to hand-write line numbers into 100+ echo calls, especially when the line numbers will change as I modify the program.
19:47:04MFlamerI see, ok. I thought it sounded related to IDE tools or something likie that
19:47:24Araqer ... you know system.writeStackTrace exists, right?
19:47:39VarriountAraq, I don't want the entire stack trace.
19:47:48Araqwhy do you want to know less than that?
19:49:09VarriountAraq, in order to trace the program's execution path, I have inserted echo calls after every 'if', 'while', and the other control structures.
19:49:49Araqcool. sounds like a job for a dirty TR macro though :-)
19:49:55VarriountTR?
19:50:01Araqterm rewriting
19:50:01EXetoCterm rewriting
19:50:12Varriount:D
19:50:33VarriountAraq, faster for me to insert the echos
19:50:45VarriountAlso, I'm scared of macros.
19:51:37Araqwe all are
19:51:51AraqI'm because they are buggy. :-)
19:54:32MFlamerNot for long! When the new VM is done ;-)
19:56:13MFlamerAraq: when you talk about the VM, is that what is currently in eval.nim?
19:57:14Araqyeah. now it's in vm.nim
19:57:35VarriountOk, a "success" exit code is... 0, right?
19:57:46Araqright
19:57:54Araqthe only success code
20:02:07VarriountOrionPKM, you ok with MIT License?
20:02:13OrionPKMsure
20:03:05OrionPKMif you're around later tonight, we should brainstorm some features we'd like
20:03:13OrionPKMI've got some ideas knocking around
20:03:33VarriountOrionPKM, which nick are you? Onion-something?
20:04:45VarriountNevermind, you are added, OnionHammer
20:05:33OrionPKMyeah
20:11:47*webskipper joined #nimrod
20:13:37*Varriount wishes dom96 would help slim down the builder
20:14:14VarriountOrionPKM, you gonna push your package first?
20:16:48Mat2ehm, what was these constant name for the CPU dependent endianess ?
20:17:17VarriountAs a side note, we should probably add a page on the site with links/info for nimrod editor support
20:17:33VarriountMat2, Big Endian and Little Endian?
20:20:37*gradha joined #nimrod
20:20:58VarriountHey gradhoney badger
20:21:04gradhayo yo yo
20:22:27Mat2Varriount: Both, I search just for a function or boolean constant holding true or false: Something like - bigEndian: true
20:24:12VarriountMat2, you might have to do something funky with the compiler - I'm not sure nimrod takes into account endianess, since it's translated to C. GCC/VS/Clang take care of that.
20:25:31OrionPKMVarriount up to you. i'm at work atm
20:26:27Mat2Varriount: I need the endianess of a given platform for the backend routines of my compiler (which generating native code)
20:27:56VarriountLessee...
20:30:21VarriountMat2, http://stackoverflow.com/questions/1001307/detecting-endianness-programmatically-in-a-c-program
20:30:59VarriountYou should be able to translate that to nimrod.
20:34:27Mat2ehm, thanks - exist there any predefined constant (as for C) ?
20:35:15*Varriount_ joined #nimrod
20:35:48Mat2get some sleep, ciao
20:35:53*ics joined #nimrod
20:36:01*Mat2 quit (Quit: Verlassend)
20:38:31*Varriount quit (Ping timeout: 245 seconds)
20:38:31*Varriount_ is now known as Varriount
20:46:28gradhais https://en.wikipedia.org/wiki/JPEG_XR evil or not? discuss!
20:48:05gradhawow, microsoft code using Makefiles, what parallel universe is this
20:51:47KoodaThey saw the light!
20:52:31gradhaat least they compensate providing the spec in a .doc file
20:55:29*BitPuffin joined #nimrod
20:59:42*MFlamer quit (Read error: Connection reset by peer)
21:00:48*MFlamer joined #nimrod
21:08:02BitPuffinwhat's the nimrod equivalent of fread?
21:08:28gradhareadbytes maybe?
21:11:19BitPuffinyeah that's what I was thinking but I don't know
21:11:55gradhathere are many read* procs due to types, pick the one you prefer
21:12:14BitPuffinReadBytes doesn't take the same parameters
21:13:05gradhaa buffer and length, what else is there?
21:14:32BitPuffinfread takes a ptr to memory with size*count at least, and it takes size and count (gasp!) and a stream
21:15:22BitPuffinTReadFunc* = proc (point: pointer; size: csize; nmemb: csize;
21:15:25BitPuffin datasource: pointer): csize {.cdecl.}
21:15:26gradhayeah, fread making the size*count multiplication is difficult to replicate, being proprietary algorithm and that
21:16:02BitPuffinit is? http://man7.org/linux/man-pages/man3/fwrite.3.html
21:16:17gradhareadbytes is just a typed wrapper over readBuffer, which is a wrapper over fread, don't know where your problem is
21:16:46BitPuffingradha: my problem is YOU!
21:16:47BitPuffinno kidding
21:17:00BitPuffinmy problem is that the proc needs to matche TReadFunc format
21:17:08gradhaso write yet another wrapper?
21:18:19BitPuffin._.
21:18:25*achim quit (Quit: Computer has gone to sleep.)
21:19:07gradhaI'm sure Araq will tell you about some nimrod call oneliner unrolling super thingy that makes you happier
21:19:41gradhaor you could importc yourself fread and pass it directly
21:20:10BitPuffinyeah I guess
21:20:22BitPuffinis there no stdio raw binding for nimroad?
21:21:02gradhadefine raw
21:21:24BitPuffinno sugar
21:22:16gradhalike lower than fread?
21:22:25BitPuffinnoo
21:22:30BitPuffinexactly fread
21:22:44gradhathat would be readBuffer
21:22:48VarriountBitPuffin, use readBuffer
21:23:45BitPuffinVarriount: but the argument order is different
21:23:56BitPuffindo I need to make a readBufferTwo?
21:24:48BitPuffindoesn't even have the same parameter count
21:25:03gradhaso make a wrapper
21:25:14gradhalook at https://github.com/Araq/Nimrod/blob/master/lib/system/sysio.nim#L223
21:26:03gradhayou could wrap readBuffer to provide the same stupid C interface, or importc yourself fread and pass that
21:26:38VarriountBitPuffin, what about named parameters?
21:27:22BitPuffingradha: but why doesn't it just make fread public ah
21:27:24BitPuffinalright
21:27:26BitPuffinI'll copy it
21:27:57BitPuffinis it because noDecl?
21:28:39gradhaI guess it's because fread API is stupid
21:28:52Araqindeed
21:29:13BitPuffinyeah but it's useful when wrapping
21:30:04gradhacool kids don't use fread today, they mmap files into arrays and stuff
21:30:44BitPuffinmmmmmmmmmmmmmmmmmmmmap
21:32:05BitPuffinvorbisfile.nim(43, 82) Error: invalid pragma: importc: "fread
21:32:17BitPuffinvar fread*: TReadFunc = proc (buf: Pointer, size, n: int, f: TFile): int {.importc: "fread", header: "<stdio.h>", tags: [FReadIO].}
21:32:26BitPuffinis it because I var'd it?
21:32:33BitPuffinbecause I didn't know what else to do
21:34:05gradhafirst copy lines 36-37 of sysio, then you use that
21:35:02BitPuffinah
21:35:12BitPuffinthat's what I did
21:35:26BitPuffinbut I had to change the type to csize and TFile to pointer
21:36:06VarriountAraq, I'm curious, why do you need the git stuff removed from the builder for finding the memory corruption?
21:39:44BitPuffinno fclose?
21:40:59BitPuffinjust close I guess
21:41:27gradhafclose is imported by system.nim as close
21:42:20Araqgradha: should we tell BitPuffin about "grep" and "nimgrep"?
21:42:30gradhashush
21:42:50gradhaif you go telling about my superpowers people will notice they arent' that super
21:43:25EXetoCI have done that already :p
21:43:36*BitPuffin uses ack
21:43:39VarriountAraq ^
21:43:51EXetoCyeah yeah
21:44:32gradhaamazing, 3 of the 5 top reasons to use ack are solved by bash aliases
21:45:10gradhaalias ngrep='nimgrep --recursive -y --ext:nim'
21:45:45gradhacrap, now it's me revealing my superpowers, I'm failling INT rolls like crazy
21:45:55EXetoCBitPuffin: did you in fact need my lib today?
21:46:01BitPuffinEXetoC: yes
21:46:30EXetoCBitPuffin: I'll upload it. will take < 20 min
21:46:54BitPuffinEXetoC: don't rush :)
21:52:19BitPuffindom96: merge!
21:52:46BitPuffinEXetoC: while I'm waiting on you I'm gonna read
21:53:02BitPuffinI have 40 pages to read
21:53:49webskipperI am asking me where the std lib lays - is it compiled into the nimrod exe ?
21:53:57BitPuffinwebskipper: nah
21:54:11BitPuffinwebskipper: look in nimrod.cfg I think
21:54:12Varriountwebskipper, ./lib/
21:54:13BitPuffinand you'll see
21:54:19MFlamerAraq: At this point I can't gaurantee that the kind field is in any specific position in a case object, correct?
21:54:39MFlamerunless I force it in my alternate backend
21:54:40webskipperah lib yea
21:54:42webskipperi am blind
21:55:30BitPuffinEXetoC: why are you making a math lib? :( I'm hurt lol
21:55:44Araqwebskipper: it is compiled into the exe, yes
21:55:52Araqoh wait
21:56:43Araqwell it's not a resource of nimrod.exe if that's what you mean
21:57:03*brson quit (Ping timeout: 246 seconds)
21:57:07AraqMFlamer: correct
21:57:21gradhamaybe EXetoC's math library has a better badger interface
21:57:25Araqand btw TSocket has 2 "case"s
21:58:07VarriountAraq, why, when trying to find the memory corruption, why do you need the git stuff removed?
21:58:20Araqno need to completely remove it
21:58:41Araqbut I need to do "builder someconfig.ini" and then it does it's thing and crashes
21:58:49Araq*its
21:59:01*brson joined #nimrod
21:59:07Araqotherwise I need to push random stuff just to trigger the crash
21:59:07VarriountHm.
21:59:18VarriountOh, ok.
21:59:45BitPuffinby the way guys I'm a bit torn with linagl for proc names
22:00:04BitPuffinit seems inconsistent in a way
22:00:10BitPuffinI'm trying to keep things mathy
22:00:13BitPuffinso determinant is det
22:00:38BitPuffinbut that is inconsistent with other proc names that don't have a short mathy name
22:00:54MFlamerwhats the purpose of these typedefs in the generated C?
22:00:57MFlamertypedef struct tmaybe78031_SV1 tmaybe78031_SV1;
22:00:57MFlamertypedef struct tmaybe78031_SV2 tmaybe78031_SV2;
22:00:57MFlamertypedef struct TNimType TNimType;
22:01:41MFlamergive an example Bitpuffin
22:01:56NimBotnimrod-code/packages master fc6adee Isak Andersson [+0 ±1 -0]: Add nim-vorbis
22:01:56NimBotnimrod-code/packages master d835eb4 Dominik Picheta [+0 ±1 -0]: Merge pull request #36 from BitPuffin/master... 2 more lines
22:01:58BitPuffinMFlamer: transposed, inversed
22:02:00*faassen quit (Quit: Leaving.)
22:02:01gradhaBitPuffin: why is the description of nim-vorbis the same as for nim-ogg, are they the same?
22:02:32BitPuffinoops
22:02:33MFlamerinv, trans ?
22:02:48dom96And I just merged it.. gah.
22:02:58BitPuffingradha: that should be libvorbis
22:03:04Araqinv would mean inverse and not inversed so inversed is fine
22:03:08BitPuffindom96: want me to make a new pull request?
22:03:27MFlamerah
22:03:30BitPuffinI'm considering just skipping the math names
22:03:36BitPuffinso making det determinant
22:03:36EXetoCBitPuffin: because it's easy to implement. it's part of the engine
22:03:40dom96BitPuffin: It's ok, i'll change it
22:03:47BitPuffinMFlamer: there is also minor and cofactor
22:03:49EXetoCno generics used etc
22:03:59BitPuffinEXetoC: but then why not use fowltek :P
22:04:13BitPuffindom96: aw, thanks
22:04:15AraqBitPuffin: determinant instead of det is a sin
22:04:16MFlameryeah, good luck with shortys for all those
22:04:26NimBotnimrod-code/packages master 2e952b4 Dominik Picheta [+0 ±1 -0]: Fixed nim-vorbis' description
22:04:29BitPuffinAraq: yeah I know, but you know, the whole consistency thing
22:04:29Araqheck I don't even know how to spell determinant
22:04:42Araqconsistency is overrated
22:04:55Araq'det' is too sweet, use it
22:04:57BitPuffinAraq: oooooooooOOOOOOOOOOOOOOOR we could have aliases ;)
22:05:01BitPuffinYeah I like det
22:05:03MFlamerwhat are those typedefs for?
22:05:07BitPuffinbut it's inconsistent
22:05:31AraqMFlamer: it's usually some dependency gone wild
22:05:42BitPuffinAraq: there is sort of an alias actually, but the alias is limited, which is why it has a reason to exist
22:05:48BitPuffinit's shorter and nicer if you can do it
22:05:56BitPuffinbut when you need more control you use the real one
22:06:05BitPuffinI'm talking about minor
22:06:11gradhaBitPuffin: Lindsay says "use detox instead of det"
22:06:17Araqyeah. that makes like ... no sense whatsoever
22:06:30BitPuffinyou can do m{12} instead of m.minor(1, 2)
22:06:58BitPuffinbut with {} you can't do same as m.minor(100, 3)
22:06:59Araqah ok
22:07:09BitPuffinand then minor will also be able to take arrays
22:07:14Araqyeah well then have aliases
22:07:24BitPuffinso you can delete 0 or more rows or columns
22:07:37Araqbut don't alias == as 'equals' :P
22:07:42BitPuffinAraq: even for determinant? or should that remain det
22:07:42VarriountBitPuffin, what are you talking about?
22:07:49BitPuffinVarriount: matrix minors
22:07:51AraqBitPuffin: that should remain det
22:08:07BitPuffinAraq: yeah, I thought this {} alias had a reason to exist
22:08:12BitPuffineven in your eyes :P
22:08:25Araqwell it's not an alias
22:08:34BitPuffinbecause the typical math notation is m{10}
22:08:41BitPuffinno not exactly
22:08:45Araqan alias would have the same signature
22:08:47BitPuffinit's more of a convenient shortcut
22:08:59Araqyeah, so have shortcuts
22:09:12BitPuffinit's already in there
22:09:23BitPuffintake a look if you have doubts :D
22:14:22MFlamerAraq: is FieldDiscriminantCheck designed to test attempted field access for object variants at runtime?
22:15:31AraqI think so
22:17:03VarriountAraq, I take it that you would also like the builder to not take 30 minutes to actually get to the crash point?
22:18:55Araqjust make it perform a bootstrapping twice. that should trigger it already
22:19:06Araqno need to make it run the tests etc..
22:24:08BitPuffinAraq: should I keep submatrix as sub?
22:24:51AraqBitPuffin: now that's an edge case :P I think i'd prefer submatrix
22:25:04BitPuffinhmm
22:25:05dom96oh so you got Varriount working on reproducing this corruption.
22:25:07BitPuffinokay
22:25:25BitPuffinyeah I guess sub can even be confused with subtraction
22:25:35Araqdom96: yeah
22:25:37BitPuffinor substitute or a lot of stuff
22:25:55BitPuffinsandwiches
22:26:54VarriountHow does one include an icon when building an executable?
22:27:20OrionPKMon windows
22:27:21Varriountdom96, you might just want to ignore buildbot for a while.
22:27:22OrionPKMwhen defined(windows): const favicon = staticExec("windres favicon.rc -O coff -o favicon.res") {.link: "favicon.res".}
22:28:02VarriountOrionPKM, what about on linux? (Can it be done on linux?)
22:28:10OrionPKMno idea, let me know if you find out :P
22:28:23Araqlinux has no icons
22:28:37Varriount:<
22:29:35KoodaHm, sorry to bother you, but pointers usage is still a bit blury, even after reading the docs… Should I always cast a value of type `pointer` before I can dereference it?
22:29:54Kooda(I’m trying to use memfiles)
22:30:00Araqyes
22:30:08Araqpointer is like void*
22:30:16KoodaOk :)
22:31:00KoodaAnd, for example, can a `ptr char` be used as an array or it’s more complicated?
22:31:22Araquse 'cstring' instead
22:31:25VarriountKooda, it would be better to use a ref, since those are garbage collected.
22:31:40AraqVarriount: he can't. he's using memfiles
22:31:42KoodaVarriount: memfiles.open() gives me a pointer
22:31:51VarriountOh.
22:32:22KoodaAraq: is a mmap()ed file null terminated?
22:32:29Araqno
22:32:34Araqunless you're lucky
22:32:42KoodaOk, so I have to be careful
22:33:14Araqthe compiler uses memfiles too for the "rod" file mechanism
22:33:28Araqand I terminate rod files with \0 for this reason :-)
22:33:41Koodarod?
22:33:56Araqnimrod's broken symbol file caching mechanism
22:34:05Kooda^^'
22:34:07Araqwhich will finally give us incremental compilation
22:34:16KoodaOh, awesome :)
22:35:31KoodaJust to be sure… cast() doesn’t copy anything, right?
22:35:43EXetoCAraq: we have none?
22:35:50NimBotnimrod-code/packages master b3858fe Grzegorz Adam Hankiewicz [+0 ±2 -0]: Adds web field to packages.
22:35:50NimBotnimrod-code/packages master 4b5b2f4 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Hyperlinks packages.json for github.
22:35:50NimBotnimrod-code/packages master 105ab94 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Updates Nimrod website domain name.
22:35:50NimBotnimrod-code/packages master 7da238b Grzegorz Adam Hankiewicz [+0 ±2 -0]: Merge pull request #31 from gradha/pr_adds_web_field... 2 more lines
22:35:55EXetoCif so, then awesome. it's already fast as it is
22:39:56AraqKooda: right
22:40:30AraqEXetoC: when it worked it bootstrapped in 0.02s on my machine iirc
22:40:48KoodaMaybe I should be less afraid of sementic differences with C… since it compiles to C ^^'
22:41:22Araqwell ... you should be afraid. but pointer/cstring/ptr and cast are all quite like C
22:41:44BitPuffinAraq: lies
22:42:07dom96Varriount: Do you need any help with the builder?
22:42:18Varriountdom96, in what sense?
22:42:41VarriountAraq, I *think* I reproduced the crash.
22:42:48EXetoCBitPuffin: https://github.com/EXetoC/nim-glfw
22:42:54EXetoCtook about 18 minutes, right :p
22:42:57dom96At getting it to build twice.
22:43:20BitPuffinEXetoC: yahoo! then you have 2 minutes to tell me what's new :D
22:43:27EXetoCwill have to add it to babel. I removed the number from the name
22:43:30VarriountAraq, however it doesn't go through the whole build process the first time for some reason.
22:43:48AraqVarriount: :-/
22:44:00BitPuffinEXetoC: doesn't that clash though
22:44:19VarriountAraq, it's probably because the builder launched each build in a new thread.
22:44:46EXetoCBitPuffin: no, the other one is called nimrod-glfw
22:44:57BitPuffinah lol
22:45:08BitPuffinwell how will people know which one to pick :)
22:45:51EXetoCI don't know :p by reading the description maybe
22:46:09VarriountAraq, so... what now?
22:46:16BitPuffinnow don't get http://upload.wikimedia.org/wikipedia/commons/6/60/Rooster_portrait2.jpg y
22:47:38AraqVarriount: let's hope you're right and we won't hunt a phantom
22:48:50Araqdom96: please help us here
22:51:38*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:51:42EXetoCis the babel extension actually documented?
22:51:50BitPuffinEXetoC: nope
22:52:02EXetoCI'll just check the source
22:53:07VarriountAraq, how do you want me to send you the files?
22:53:48AraqVarriount: as a gist please
22:54:00BitPuffinas ji
22:54:06BitPuffinjizz?
22:54:12EXetoCBitPuffin: what's new? uh, almost nothing
22:54:22*Varriount_ joined #nimrod
22:54:36EXetoCwill add a more verbose example later, but it shouldn't be too hard to figure things out
22:54:46*Varriount quit (Disconnected by services)
22:54:47*Varriount_ is now known as Varriount
22:54:53BitPuffinEXetoC: it should ẃork out, otherwise I'll nag you
22:55:00VarriountAraq, how do you want me to send you the files?
22:55:01BitPuffinbut what did you change
22:55:06BitPuffinwhat is a commit log even
22:55:11AraqVarriount: as a gist please
22:55:50EXetoCBitPuffin: it's not even the same repository. why? I don't have a good answer
22:56:08BitPuffinwell I was just wondering :P
22:56:29EXetoC:p
22:56:39VarriountAraq, -> https://gist.github.com/Varriount/7779114
22:57:03EXetoCnag away. I just end up playing dod if no one has a task for me
22:57:14BitPuffin:P
22:57:21BitPuffinfirst I'm gonna read
22:57:25BitPuffinand code linagl
22:57:37BitPuffinso you can play dod now if you wanna
23:01:04AraqVarriount: thanks
23:01:19EXetoCI didn't mean like that. I've wasted too much time on games
23:01:19VarriountAraq, does it work/crash?
23:01:49gradhaEXetoC: so you didn't enjoy playing those games?
23:02:19OrionPKMso how about removing the 'defined and not used' warning for block labels
23:03:00BitPuffinwhen this game is done I'm gonna play a lot of dota 2
23:05:00*webskipper quit (Ping timeout: 245 seconds)
23:06:00AraqVarriount: Started builder: built at 2013-12-04 00:05:00
23:06:00AraqhubConnect
23:06:00AraqHandling connect.
23:06:00AraqIncorrect welcome message from hub
23:06:00AraqWaiting 5 seconds...
23:06:00AraqhubConnect
23:06:00Araq115
23:06:10AraqHandling connect.
23:06:10AraqThe hub accepted me!
23:06:10Araq115
23:06:10Araq115
23:06:10Araqso ... no, doesn't crash
23:06:25Varriount-_-
23:06:25*brson quit (Ping timeout: 246 seconds)
23:06:45BitPuffinVarriount: run memtest86+ on your box for 24 hours and come back
23:06:45dom96well the website just crashed...
23:06:53Varriount>_>
23:07:41Varriountdom96, why did it crash?
23:08:21BitPuffincrazy golang people hacking our site!!!!!
23:08:31EXetoCcan't paste into github's editor either -.- these web-based editors are weird
23:08:53dom96I think it's because one of the builder's reconnected during a build
23:09:02Araqthat would be mine then :-)
23:09:18dom96Araq: Here is the code which does what you want: https://gist.github.com/dom96/9359643a06c6585f23e8
23:09:27BitPuffinsensitive system much
23:09:53BitPuffinAraq is the crazy golang man, who would have guessed
23:10:11*Varriount blames threads
23:10:30dom96I don't know if it reproduces the corruption but it runs the build infinitely.
23:10:46Araqdom96: well let's see, thanks
23:11:08EXetoCgradha: yeah, but it's such an unproductive task
23:11:32gradhaEXetoC: only if your goal in life is not happiness
23:11:34VarriountAraq, dom96, I have to go - I need to study for a math exam tomorrow.
23:11:38BitPuffinEXetoC: well it's not healthy to be productive 100% of the time
23:11:54dom96yeah, I need to go too.
23:11:57AraqVarriount: thank you for your help. Good luck tomorrow.
23:12:09gradhathis talk about starting procs and threads reminds me that pig and elephant dna just won't splice
23:12:10Araqdom96: thank you for your help. Good luck tomorrow.
23:12:32BitPuffinwas that a copy paste?
23:12:35dom96What, I don't have any exams tomorrow.
23:12:48BitPuffindom96: no, he's just coming to fight you
23:12:50Araqeverybody needs luck for tomorrow
23:13:14dom96BitPuffin: Well then he needs luck not me :P
23:13:32BitPuffinhaha! Ain't that right, he's just being cocky :P
23:13:57gradhagood night, honey badgers
23:14:09*hoverbear joined #nimrod
23:14:09dom96bye honey badger!
23:14:27EXetoCdom96: yo
23:14:42EXetoCwanna merge my package pull first?
23:14:50EXetoCdom96: oh he's the one who said bye
23:14:54BitPuffinlol
23:14:54*webskipper joined #nimrod
23:15:00Araqwell Jacob told me we all need luck for tomorrow
23:15:02EXetoCfirst
23:15:17BitPuffinwho the hell is Jacob
23:15:19EXetoCdude, you know what I mean
23:15:22dom96Lost reference :P
23:15:35dom96probably
23:15:52BitPuffinAraq: are you watching Twilight?
23:15:56dom96Araq: I'll see you in another life brother.
23:16:17BitPuffinhttp://images5.fanpop.com/image/photos/28100000/jacob-shirless-twilight-series-28141353-487-800.jpg araq's man
23:16:20NimBotnimrod-code/packages master 349eb1f Erik Johansson Andersson [+0 ±1 -0]: Edit the entries for my libs
23:16:20NimBotnimrod-code/packages master bd90295 Dominik Picheta [+0 ±1 -0]: Merge pull request #37 from EXetoC/patch-1... 2 more lines
23:16:26dom96bye!
23:16:28EXetoCktnx dude
23:16:33BitPuffinsleep well dom96!
23:16:41dom96BitPuffin: thx
23:16:44BitPuffindon't get hit by a car in your dream!
23:16:45dom96You too!
23:16:45AraqBitPuffin: Jacob tells me what to do
23:17:48BitPuffinAraq: is he the one keeping you motivated through the hell of making a programming language?
23:18:55AraqBitPuffin: yeah he told me I'm special and the island needs a new programming language.
23:19:32BitPuffinAraq: you don't happen to be sleep deprived by any chance? :P
23:20:09Araqapparently nobody except dom96 gets the reference
23:20:52BitPuffinah
23:20:55BitPuffinI didn't watch lost
23:21:02gradhagood night, honey badgers
23:21:02BitPuffinwell
23:21:07BitPuffinmaybe an episode or so
23:21:09*gradha quit (Quit: bbl, need to watch http://www.youtube.com/watch?v=hcDEWiH-ciw again)
23:30:11OrionPKMyou didnt miss much bitpuffin
23:30:56AraqOrionPKM: hey, Lost is cool.
23:31:04OrionPKMfirst couple seasons were good
23:31:11Araqyeah
23:31:21OrionPKMlast couple seasons ruined the whole thing for me
23:31:22Araqthen it went downhill
23:32:18Araqbut I like the first 3 seasons enough to forgive them
23:32:41OrionPKMI dont know if BSG pulled a LOST or LOST pulled a BSG
23:33:27BitPuffinBSG?
23:33:33OrionPKMbattlestar
23:33:35BitPuffinah
23:33:37BitPuffinright
23:33:46BitPuffinwell it seemed like lost was retarded
23:33:52BitPuffinlike we have to get off the island
23:33:57BitPuffinno we have get back
23:33:57*zielmicha quit (Ping timeout: 248 seconds)
23:34:06BitPuffinshit why are we here we need to get off
23:34:16BitPuffinrinse and repeate
23:34:18BitPuffinrepeat*
23:34:23BitPuffinI'm too tired
23:37:31*brson joined #nimrod
23:57:46VarriountAraq, is the builder crashing?
23:59:35*brson_ joined #nimrod