00:08:16 | * | BitPuffin joined #nimrod |
00:14:57 | reactormonk | got (TDbConn, string, int literal(1), int literal(2049), nil, proc (Pcontext, int32, PPValue), nil, nil) |
00:15:11 | reactormonk | sqlite3.create_function(para1: PSqlite3, zFunctionName: cstring, nArg: int32, eTextRep: int32, para5: pointer, xFunc: Tcreate_function_func_func, xStep: Tcreate_function_step_func, xFinal: Tcreate_function_final_func): int32 |
00:15:21 | reactormonk | ... what did I forget? |
00:16:41 | EXetoC | xd |
00:16:46 | EXetoC | it should be pretty-printed |
00:16:58 | flaviu | reactormonk: Expected PSqlite, got TDbConn |
00:17:34 | reactormonk | flaviu, TDbConn = PSqlite3 |
00:17:35 | EXetoC | and maybe some highlighting too |
00:17:45 | reactormonk | EXetoC, https://github.com/Araq/Nimrod/issues/1104 |
00:19:32 | reactormonk | EXetoC, http://pastie.org/private/lfgfpxwkqqamobsf18ja if you wanna help |
00:23:46 | reactormonk | ok, it's the function. |
00:25:31 | reactormonk | Error: type mismatch: got (proc (Pcontext, int32, PPValue)) but expected 'Tcreate_function_func_func' |
00:25:33 | reactormonk | -.- |
00:26:41 | reactormonk | Tcreate_function_func_func* = proc (para1: Pcontext; para2: int32; para3: PPValue) {.cdecl.} |
00:26:46 | reactormonk | ... any problems with that? |
00:30:41 | * | superfunc joined #nimrod |
00:31:32 | superfunc | are modules defined by filename? or how are they declared? |
00:31:49 | flaviu | superfunc: Yes, by filename |
00:33:48 | superfunc | thanks |
00:40:40 | reactormonk | ah, cdecl. |
00:51:31 | * | DAddYE quit (Remote host closed the connection) |
00:51:48 | * | superfunc quit (Ping timeout: 240 seconds) |
01:02:11 | * | q66 quit (Quit: Leaving) |
01:07:38 | * | superfunc joined #nimrod |
01:16:27 | reactormonk | hm. the nimrod process has gone defunct |
01:16:40 | reactormonk | dafuq. |
01:19:17 | * | xenagi joined #nimrod |
01:22:03 | * | phI||Ip_ joined #nimrod |
01:22:06 | * | phI||Ip quit (Ping timeout: 240 seconds) |
01:23:39 | superfunc | Does nimrod allow for typeclasses similar to haskell or c++ concepts? |
01:24:20 | flaviu | superfunc: Yes, http://build.nimrod-lang.org/docs/manual.html#user-defined-type-classes |
01:24:37 | superfunc | thanks again |
01:24:57 | superfunc | this language has everything I want |
01:24:59 | reactormonk | flaviu, any typeclasses for the stdlib etc.? |
01:25:07 | flaviu | Sure, no problem. Make sure you use the docs at build.nimrod-lang.org/docs/, the main docs are outdated |
01:25:08 | superfunc | and ignores everything I dislike |
01:25:22 | flaviu | reactormonk: I'm not sure what you're asking |
01:25:48 | reactormonk | flaviu, are there typeclasses in the stdlib? |
01:25:55 | reactormonk | superfunc, like syntaxes? ^^ |
01:27:18 | flaviu | reactormonk: I can't find any, no |
01:28:11 | flaviu | I grepped for 'generic ' and found nothing but comments |
01:28:22 | superfunc | specifically, it has param. polymorphism, clean syntax, predictable performance(which is also fast), and a clean way of making variant types |
01:28:25 | reactormonk | flaviu, make an issue, we need this stuff ^^ |
01:28:35 | superfunc | not sure if variant is the right word |
01:28:43 | flaviu | superfunc: It also has this: https://gist.github.com/flaviut/10515205/c6a84964da32847f4bd8ab9d4f52fbe1f6241e57 |
01:29:45 | flaviu | reactormonk: I'm not sure what you mean. Do you want the stdlib to use typeclasses? The docs cover type classes fairly well. |
01:30:10 | reactormonk | flaviu, yup, make the stdlib use them. |
01:30:12 | superfunc | I think he/she wants the language to define some useful typeclasses |
01:30:38 | reactormonk | superfunc, aww, that's cute |
01:30:48 | EXetoC | they're buggy still |
01:31:05 | superfunc | living in california makes one very PC :3 |
01:31:16 | reactormonk | superfunc, I'm currently converting my laptop into a ballwarmer with nimrod |
01:32:07 | superfunc | lol. I do agree that some pre defined type classes would be nice to have ala haskell |
01:32:31 | reactormonk | superfunc, feel free to create them. You'll find a bunch of bugs I assume |
01:32:54 | superfunc | lol, I have something big I'm already in the process of releasing to the community soon |
01:33:01 | reactormonk | cool |
01:33:26 | reactormonk | yup, just warpped my 100k sql inserts into a transaction, now it goes like wd40'ed |
01:41:52 | superfunc | can anyone speak to the quality of the SDL wrapper for nimrod? |
01:42:14 | superfunc | Gonna start messing with some game stuff, just curious which graphical library is the most developed |
01:42:27 | reactormonk | superfunc, there's been some word about opengl wrapping |
01:46:49 | superfunc | derp. it seems that the built in graphics module uses SDL |
01:47:01 | superfunc | this is what happens on no sleep |
01:50:30 | fowl | superfunc, sdl is old, there is sdl2, glfw, csfml, allegro5, horde3d |
01:51:20 | superfunc | true |
01:51:36 | superfunc | but SDL is more than enough to write 2D games with, and I'm still somewhat familiar with it |
02:05:46 | * | Jesin joined #nimrod |
02:07:28 | reactormonk | sqlite has a decent speed |
02:09:58 | reactormonk | wow, that fast fast. |
02:11:47 | flaviu | Is there a way to perform code generation for a module? |
02:12:34 | reactormonk | flaviu, did it with ruby once... macros? |
02:13:13 | flaviu | Ok, it just seemed a bit ugly to make a one-time use function, but I guess that's the best way |
02:25:54 | * | xenagi quit (Read error: Connection reset by peer) |
02:34:29 | * | DAddYE joined #nimrod |
02:48:57 | * | ehaliewicz joined #nimrod |
02:53:18 | * | superfunc quit (Ping timeout: 240 seconds) |
03:26:04 | flaviu | I found another macro that crashes the VM :/ |
03:27:08 | flaviu | I'll report it tomorrow |
03:27:08 | flaviu | /quit good night |
03:27:13 | flaviu | \quit good night |
03:27:24 | * | flaviu quit (Quit: Leaving.) |
03:41:15 | * | brson quit (Quit: leaving) |
03:45:40 | * | BitPuffin quit (Ping timeout: 240 seconds) |
03:55:02 | * | Jesin quit (Quit: Leaving) |
04:03:46 | reactormonk | somehow parseFloat doesn't really parse all that well |
04:08:53 | reactormonk | 0.266064910040545 <- sql return string 0.0 <- when run parsefloat |
04:34:57 | NimBot | Araq/Nimrod devel 5859e80 Simon Hafner [+0 ±1 -0]: added an sqlite constant |
04:35:09 | reactormonk | oh, `$` on float |
04:35:16 | reactormonk | I think I'll have to fix it again :-/ |
04:48:19 | * | superfunc joined #nimrod |
04:48:52 | reactormonk | how would you create a sliding window? |
04:57:32 | fowl | sliding window? |
05:05:14 | Skrylar | i think he means what i mentioned last night where you keep a rolling total of the lowest value so you don't try to insertion sort something you already know to be ineligible |
05:07:02 | reactormonk | fowl, https://stackoverflow.com/questions/22282486/scala-seq-sliding-violating-the-docs-rationale |
05:15:08 | reactormonk | fowl, or, X elements on either side of an element, if available. |
05:34:46 | fowl | you can implement that |
05:35:11 | fowl | i believe in you |
05:40:42 | * | Demos quit (Remote host closed the connection) |
07:49:24 | * | gXen joined #nimrod |
08:01:49 | * | cark quit (Read error: Connection reset by peer) |
08:06:17 | * | cark joined #nimrod |
08:17:48 | * | DAddYE quit (Ping timeout: 245 seconds) |
08:22:44 | * | DAddYE joined #nimrod |
08:29:45 | * | BitPuffin joined #nimrod |
08:41:29 | * | ehaliewicz quit (Remote host closed the connection) |
08:47:52 | * | fowl quit (Quit: Derogatory terms for gynecomastia can include moobs (for male boobs) and bitch tits.[34]) |
08:48:26 | * | fowl joined #nimrod |
08:48:46 | * | DAddYE quit (Remote host closed the connection) |
08:49:20 | * | DAddYE joined #nimrod |
08:53:45 | * | DAddYE quit (Ping timeout: 258 seconds) |
09:19:55 | * | DAddYE joined #nimrod |
09:24:25 | * | DAddYE quit (Ping timeout: 258 seconds) |
09:32:05 | * | darkf quit (Ping timeout: 258 seconds) |
09:39:13 | * | darkf joined #nimrod |
10:07:50 | * | EXetoC quit (Quit: WeeChat 0.4.3) |
10:20:46 | * | DAddYE joined #nimrod |
10:25:22 | * | DAddYE quit (Ping timeout: 258 seconds) |
10:32:18 | * | superfunc quit (Ping timeout: 240 seconds) |
10:36:37 | * | nande quit (Read error: Connection reset by peer) |
10:57:55 | * | faassen joined #nimrod |
10:58:07 | * | runvnc joined #nimrod |
11:13:33 | BitPuffin | dom96: okay so there is a couple of ways we could do a migration from the silly md5hash thing to scrypt |
11:13:57 | dom96 | it's simple |
11:14:04 | dom96 | new password field |
11:14:13 | dom96 | if old password field exist then show password reset page |
11:14:22 | dom96 | set the old password field to nil once reset |
11:15:13 | BitPuffin | yeah |
11:15:18 | BitPuffin | that's probably the best way |
11:15:49 | BitPuffin | either that or manipulating the format and ask for passwords that have MD5YOBITCH at the start of them, but this is easier to query for indeed |
11:16:22 | BitPuffin | and then you can query for if there is a password that has the old way and if not, remove the column and update the code |
11:16:59 | BitPuffin | I think I'll have a look at it today |
11:17:24 | BitPuffin | I'll as for the sessions, we'll just do signed cookies or something for now probably |
11:17:31 | BitPuffin | and switch to session store later |
11:19:14 | BitPuffin | alternatively we could store sessions in sqlite but that feels a bit icky |
11:19:53 | dom96 | that's what we do currently I think |
11:21:33 | * | DAddYE joined #nimrod |
11:25:11 | BitPuffin | ah |
11:25:22 | BitPuffin | dom96: then why are you even sending the password hash back and forth? |
11:25:43 | * | DAddYE quit (Ping timeout: 245 seconds) |
11:30:06 | dom96 | I can't remember |
11:33:10 | BitPuffin | dom96: aight, well I'll go and remove the derp and write the stuff |
11:34:40 | BitPuffin | dom96: someone should get on getting an ssl cert for the login though |
11:35:00 | BitPuffin | and unless we wanna use a free one I'd imagine Andreas would be the one who'd pay for it |
11:51:47 | * | EXetoC joined #nimrod |
12:05:06 | * | isenmann quit (Quit: Leaving.) |
12:22:18 | * | DAddYE joined #nimrod |
12:26:45 | * | DAddYE quit (Ping timeout: 250 seconds) |
12:40:32 | * | DAddYE joined #nimrod |
12:42:28 | * | DAddYE_ joined #nimrod |
12:44:54 | * | DAddYE quit (Ping timeout: 258 seconds) |
12:46:49 | * | DAddYE_ quit (Ping timeout: 258 seconds) |
12:50:52 | * | oxful__ quit (Ping timeout: 240 seconds) |
13:03:18 | * | oxful__ joined #nimrod |
13:28:11 | * | faassen quit (Remote host closed the connection) |
13:34:23 | * | faassen joined #nimrod |
13:43:03 | * | DAddYE joined #nimrod |
13:47:23 | * | DAddYE quit (Ping timeout: 258 seconds) |
13:48:23 | * | jbe_ joined #nimrod |
14:01:27 | * | chris_st joined #nimrod |
14:02:39 | chris_st | hi -- curious why this fails: http://pastie.org/9087586 |
14:02:59 | chris_st | Error is "nhw_server.nim(11, 5) Error: value returned by statement has to be discarded" |
14:03:05 | * | darkf quit (Quit: Leaving) |
14:03:18 | runvnc | I know that one |
14:03:26 | runvnc | put discard at the beginning of the line |
14:03:40 | EXetoC | 11? |
14:03:44 | runvnc | 'discar' |
14:03:48 | runvnc | 'discard' |
14:03:49 | chris_st | Line 11 is the "var mystr_content = "World"" line, so it seems silly to put a discard there... right? |
14:04:38 | EXetoC | is it even possible? |
14:04:45 | dom96 | put 'discard' on line 24 |
14:04:48 | runvnc | oh. not sure then. but maybe you never used myster_content after that? |
14:05:02 | chris_st | No, not possible on line 11... I'll try 24. |
14:05:05 | dom96 | chris_st: Which version of Nimrod are you running? |
14:05:29 | chris_st | 0.9.2 |
14:05:38 | * | gXen quit () |
14:05:54 | EXetoC | using that version is not recommended |
14:06:10 | chris_st | Ah, so I should build from the github source? |
14:06:18 | dom96 | chris_st: the line number is wrong, that's like a 0.9.2 bug. Grab a version from github. |
14:06:27 | dom96 | *likely |
14:06:28 | chris_st | Adding a discard on line 24 worked. |
14:06:32 | EXetoC | there are nightlies too, right? |
14:06:44 | EXetoC | but just take the github route if possible |
14:06:51 | chris_st | Okay, I'll give it a try. |
14:06:58 | dom96 | it's easier to update if you build it yourself |
14:06:58 | chris_st | THANKS! |
14:07:06 | dom96 | but if you want a nightly tell me your platform |
14:30:09 | jbe_ | i noticed that this: template blub(blip: varargs[TBlurb], bloop: stmt) does not work when the varargs parameter is longer than one.. should i add an issue about it? |
14:31:34 | EXetoC | I don't know what the plans are for that. varargs is usually the last parameter for that reason |
14:31:38 | EXetoC | how about an openarray? |
14:32:11 | jbe_ | yeah.. but it would be useful for dsl stuff |
14:32:48 | EXetoC | the difference isn't exactly big. it has been discussed a couple of times but I don't know if anyone ever reported it |
14:34:22 | jbe_ | hmm ok |
14:35:07 | BitPuffin | dom96: update the fucking teamspeak server, the client keeps nudging me like fuck xD |
14:35:23 | BitPuffin | 2 times today already |
14:35:24 | EXetoC | report it if 'varargs' doesn't turn up anything related |
14:36:16 | jbe_ | right |
14:40:15 | EXetoC | I couldn't find any relevant issues |
14:41:50 | * | Puffin joined #nimrod |
14:42:35 | * | Puffin quit (Client Quit) |
14:44:03 | * | DAddYE joined #nimrod |
14:44:34 | * | Demos joined #nimrod |
14:44:55 | jbe_ | i see that you can make it work by using openarray instead, or even using varargs while simply wrapping the parameters in [], but i'll add an issue |
14:47:02 | * | chris_st quit (Quit: Page closed) |
14:48:43 | * | DAddYE quit (Ping timeout: 258 seconds) |
15:00:30 | * | Jesin joined #nimrod |
15:11:35 | * | Demos_ joined #nimrod |
15:13:05 | * | Jesin quit (Quit: Leaving) |
15:44:48 | * | DAddYE joined #nimrod |
15:49:17 | * | DAddYE quit (Ping timeout: 258 seconds) |
15:55:52 | * | [2]Endy joined #nimrod |
16:04:29 | Araq | funny how the same issue come up over and over |
16:04:33 | Araq | *issues |
16:04:55 | Araq | maybe we're doing incredibly good and so only these few issues are left :P |
16:05:45 | reactormonk | Araq, hmm, sql too slow sometimes |
16:05:57 | reactormonk | and I seriously oom'd my machine |
16:06:31 | Araq | reactormonk: you can tell sqlite too act as a simple RAM buffer |
16:07:36 | reactormonk | Araq, I think it was the nimrod side because I started to count some stuff via TCountTable |
16:07:50 | reactormonk | and I've got ~50k * 100 elements in there |
16:09:34 | Araq | sounds like you want to start using manually managed memory and perhaps cstring |
16:11:39 | reactormonk | Araq, I'll try again with the bigger machine |
16:12:11 | EXetoC | make sure that it got bigger hardware too |
16:12:53 | reactormonk | it's got 50G of swap |
16:12:56 | reactormonk | ... just in case |
16:13:12 | EXetoC | :E |
16:13:23 | reactormonk | and 16G of real ram |
16:13:28 | reactormonk | hope that's plenty. |
16:14:10 | jbe_ | unhh.. "Error: template/macro instantiation too nested" http://pastebin.com/grRKSecG am i doing something wrong? |
16:14:53 | reactormonk | jbe_, recursion? |
16:15:09 | reactormonk | jbe_, apparently you can't have a template within a template... |
16:15:14 | reactormonk | but that sounds trange |
16:17:49 | reactormonk | Araq, how come cstring? |
16:19:18 | jbe_ | hm, well, scope would be confusing if i could i guess |
16:19:55 | reactormonk | Araq, it's at 4G atm... should be fine |
16:24:31 | reactormonk | &G |
16:24:33 | reactormonk | *6G |
16:24:56 | reactormonk | I think I should have pipelined the stuff directly into SQL instead of storing it |
16:30:02 | Araq | jbe_: nope, report it, I will take a look |
16:30:34 | jbe_ | Araq: ok |
16:30:38 | Araq | reactormonk: erm yeah ... also you can often easily make it incremental when you have persistency |
16:30:59 | reactormonk | Araq, didn't. Now it's writing to disk, so I should be fine |
16:31:14 | reactormonk | now it's harddrive speed, not code ^^ |
16:37:04 | reactormonk | that thing actually has spikes like 150M/s written |
16:38:03 | * | askatasuna joined #nimrod |
16:41:17 | * | jbe_ quit (Quit: Leaving) |
16:42:20 | reactormonk | now it's defunct :-( |
16:44:57 | Araq | wow you surely know how to treat harddisks |
16:46:19 | reactormonk | whip them back and forth! |
16:46:44 | reactormonk | Araq, I think I should have run it on the HD :D |
16:48:13 | reactormonk | s/HD/ramdisk/ |
16:54:52 | * | nande joined #nimrod |
17:03:51 | * | q66 joined #nimrod |
17:03:51 | * | q66 quit (Changing host) |
17:03:51 | * | q66 joined #nimrod |
17:04:45 | * | DAddYE joined #nimrod |
17:06:14 | BitPuffin | Araq: https://www.youtube.com/watch?feature=player_detailpage&v=1aZSsTcoPRM#t=1365 oops |
17:06:49 | BitPuffin | that was kinda funny xD |
17:07:27 | * | Demos_ quit (Read error: Connection reset by peer) |
17:10:33 | * | brson joined #nimrod |
17:11:06 | * | Jesin joined #nimrod |
17:11:53 | * | Demos quit (Ping timeout: 250 seconds) |
17:12:55 | * | Jesin quit (Read error: Connection reset by peer) |
17:13:38 | * | Jesin joined #nimrod |
17:14:01 | * | Jesin quit (Read error: Connection reset by peer) |
17:16:15 | * | Jesin joined #nimrod |
17:22:11 | Varriount | Araq: Are there any pull requests you would like me to look over and possibly merge? |
17:22:34 | Araq | Varriount: dunno, I don't really follow github issues atm |
17:23:07 | Araq | I'm busy solving the hard stuff for 0.9.4 |
17:23:17 | Varriount | Ah, I see. |
17:24:38 | Araq | bbl |
17:34:32 | * | gXen joined #nimrod |
17:37:07 | NimBot | Araq/Nimrod devel 1c89c45 Grzegorz Adam Hankiewicz [+0 ±2 -0]: Adds option to exclude nimcache dirs from time machine backups. |
17:37:07 | NimBot | Araq/Nimrod devel 63d384d Varriount [+0 ±2 -0]: Merge pull request #1100 from gradha/pr_excludes_nimcache_from_backups... 2 more lines |
17:39:35 | * | CarpNet quit (Quit: Leaving) |
17:53:15 | * | Matthias247 joined #nimrod |
18:03:12 | Varriount | How would I test for the HAVE_ST_BIRTHTIME defined symbol from nimrod, as done here -> http://stackoverflow.com/questions/5929419/how-to-get-file-creation-date-in-linux |
18:06:17 | * | gXen quit () |
18:07:30 | * | psquid_ joined #nimrod |
18:07:40 | * | psquid quit (Ping timeout: 258 seconds) |
18:09:47 | * | Demos joined #nimrod |
18:09:58 | reactormonk | Varriount, IIRC you need a c file for that |
18:10:36 | Varriount | Darn. |
18:11:12 | Varriount | reactormonk: What kind of C file? |
18:23:09 | * | nande quit (Ping timeout: 265 seconds) |
19:07:25 | * | Demos quit (Ping timeout: 276 seconds) |
19:11:30 | BitPuffin | dom96: oi |
19:26:10 | reactormonk | Varriount, just make a good old .h file |
20:07:09 | Araq | Varriount: 'gorge' ftw |
20:10:19 | * | io2 joined #nimrod |
20:12:59 | EXetoC | so hacky, but better than nothing I guess |
20:13:08 | reactormonk | Araq, gorge? |
20:13:22 | EXetoC | system.gorge |
20:13:57 | EXetoC | staticExec alias |
20:14:05 | reactormonk | O.o |
20:14:11 | reactormonk | where's that name from |
20:14:11 | EXetoC | :p |
20:14:39 | EXetoC | english? |
20:15:09 | reactormonk | EXetoC, why the fuck is this proc alias to gorge |
20:15:47 | EXetoC | "gorge (staticExec): To eat gluttonously.", "slurp (staticRead): To eat or drink something noisily." :-) |
20:16:17 | EXetoC | reactormonk: no practical reason |
20:16:21 | reactormonk | EXetoC, :-( |
20:16:34 | reactormonk | I actually consider to kick it. |
20:17:11 | EXetoC | Araq: funny aliases not appreciated :p |
20:17:20 | BitPuffin | riddle me this |
20:17:27 | BitPuffin | why the fuck does the RST parser require libcairo |
20:17:46 | Araq | BitPuffin: it doesn't |
20:17:56 | Araq | we use libcario for capture generation |
20:18:10 | BitPuffin | ah |
20:18:12 | BitPuffin | read that wrong |
20:18:18 | BitPuffin | captcha* |
20:18:21 | EXetoC | fail |
20:18:33 | BitPuffin | I'm a bit tired |
20:18:47 | Araq | slurp and gorge are the cornerstone of the nimrod philosophy! |
20:19:01 | Araq | remove them and it's not nimrod anymore |
20:19:07 | EXetoC | reactormonk: that's right |
20:19:13 | BitPuffin | wtf is slurp and gorge |
20:19:56 | EXetoC | read and stuff |
20:20:03 | BitPuffin | shh |
20:20:38 | BitPuffin | EXetoC: "english" what a bitch you are ;) |
20:20:44 | BitPuffin | MR DIVA |
20:21:41 | EXetoC | ? |
20:22:23 | BitPuffin | EXetoC: earlier regarding the quesion where the name came from |
20:23:20 | reactormonk | Araq, I've heard of slurp... |
20:24:20 | BitPuffin | is this a bug? 11009431 |
20:24:22 | BitPuffin | oope |
20:24:26 | BitPuffin | https://gist.github.com/BitPuffin/11009431 |
20:24:32 | BitPuffin | dom96: so much for fixing nimforum I guess :P |
20:29:59 | * | vendethiel quit (Read error: Connection reset by peer) |
20:34:11 | * | vendethiel joined #nimrod |
20:34:29 | * | runvnc quit (Ping timeout: 258 seconds) |
20:40:31 | * | vendethiel quit (Read error: Connection reset by peer) |
20:41:30 | Varriount | Is there any particular logic behind disallowing 'when' inside type definitions, for conditional compile-time fields? |
20:42:08 | * | vendethiel joined #nimrod |
20:43:37 | * | EXetoC quit (Ping timeout: 276 seconds) |
20:45:04 | * | jbe joined #nimrod |
20:45:44 | * | runvnc joined #nimrod |
20:51:08 | fowl | Varriount, it is allowed inside object definition |
20:51:39 | * | EXetoC joined #nimrod |
20:52:52 | Varriount | Oh. |
20:53:45 | Varriount | fowl: What happens if the members in importc'd structs are named differently than their actual definitions? |
20:54:30 | fowl | you can importc specific fields |
21:00:41 | * | brson quit (Ping timeout: 250 seconds) |
21:00:53 | * | brson joined #nimrod |
21:05:47 | * | DAddYE quit (Remote host closed the connection) |
21:06:59 | * | Demos joined #nimrod |
21:08:40 | * | DAddYE joined #nimrod |
21:10:17 | renesac | ok, I made a new clone, but now I don't know how to update my fork on github |
21:10:46 | fowl | delete it |
21:11:34 | renesac | ok, I will be able to reuse the name, right? |
21:11:43 | * | superfunc joined #nimrod |
21:17:43 | fowl | yea u can just fork it again |
21:18:36 | * | [2]Endy quit (Ping timeout: 265 seconds) |
21:21:32 | renesac | ok, looks like it worked! |
21:22:15 | Demos | how do methods interact with closures? |
21:23:16 | Demos | the dispatch mechanism is global so theoreticly one should be able to use a method as a "procvar", right? |
21:24:01 | * | nande joined #nimrod |
21:30:22 | Demos | also how do methods interact with scope? |
21:35:02 | * | nande quit (Ping timeout: 265 seconds) |
21:36:08 | fowl | Demos, it would be hard to grab a method since they would all have the same name |
21:36:47 | Demos | right, you grab all of them. I guess you would grab the dispatching code |
21:37:06 | BitPuffin | did you guys know about cd -? |
21:37:11 | BitPuffin | because when I found out |
21:37:13 | Demos | what is that |
21:37:14 | BitPuffin | my mind was blown |
21:37:22 | BitPuffin | Demos: well say you are somewhere |
21:37:25 | BitPuffin | and you wanna go homo |
21:37:27 | BitPuffin | I mean home |
21:37:29 | BitPuffin | oh god |
21:37:41 | BitPuffin | so you type `cd` |
21:37:46 | BitPuffin | and you do some stuff |
21:37:56 | BitPuffin | and then you wanna go back to where you were before |
21:38:01 | BitPuffin | `cd -` |
21:38:02 | BitPuffin | done |
21:39:24 | Demos | heh I remember my dad telling me about aliasing that to pd on the university PDP-11 |
21:39:28 | EXetoC | I only knew about pushd/popd, but that's better |
21:39:33 | BitPuffin | Demos: I'm assume your delay in response is because you were busy wiping cum off your keyboard |
21:39:40 | Demos | indeed it was |
21:39:59 | * | ScriptDevil joined #nimrod |
21:40:20 | * | ScriptDevil left #nimrod (#nimrod) |
21:40:38 | BitPuffin | unfortunately it doesn't keep all history |
21:40:52 | BitPuffin | if you do cd - over and over it basically dances back and forth |
21:40:56 | BitPuffin | maybe that's configurable |
21:41:00 | BitPuffin | or actually it's kinda cool |
21:41:03 | BitPuffin | now that I think about it |
21:42:54 | renesac | BitPuffin, in my .bashrc I have an popd/pushd aliased to cd that keeps all the history |
21:44:56 | BitPuffin | renesac: that's pretty good, I guess where this shines is that ones you pop you can't go back |
21:48:17 | * | io2 quit () |
21:49:29 | * | ehaliewicz joined #nimrod |
21:51:29 | renesac | and you can still alias the builtin cd to 'ocd' or something like that |
21:51:33 | renesac | if you want to go back and forth |
21:53:02 | BitPuffin | yep |
21:59:24 | * | jez0990 joined #nimrod |
22:00:05 | jez0990 | hey folks, does anyone know if the nimrod compiler compiles into js? |
22:01:33 | Demos | it does. not sure how well it works |
22:01:54 | Demos | and ofc you can not use stuff that does not make sense in JS |
22:02:15 | Demos | dear god reading software engeneering papers is depressing |
22:02:51 | superfunc | my software engineering class is cringeworthy |
22:04:49 | Demos | my impression is that total lines of code is pretty much the only really strong indicator of software quality/defect-rate. |
22:05:57 | superfunc | My professor says loose-coupling and cohesion every single class |
22:06:31 | superfunc | without context, just loves throwing software buzzwords into the mix |
22:08:34 | Demos | that kind of java style "software engeneering" comes down to cargo culting and magic |
22:15:46 | jez0990 | Demos: cool, I'll give it go :) |
22:15:57 | Araq | hi jez0990 welcome |
22:16:17 | Araq | latest github version has important fixes for the js code generator |
22:16:49 | Araq | Demos: any experience with c++'s futures? |
22:17:33 | Demos | Araq: no. I do not think they are standard yet |
22:17:45 | Araq | they are |
22:17:54 | Araq | in C++11 |
22:18:18 | Demos | yeah they indeed are standard |
22:18:51 | Araq | I won't why they split them into "promise" and "future". can't find any good explanations for this |
22:18:57 | Araq | *don't get |
22:32:18 | Demos | well there is packaged_task, I /think/ it is because the promise is the way you get a value from thread a to thread b and the future is how it is computed. bartosz milewski has a collection of blog posts about the design |
22:32:21 | Demos | I gotta go though |
22:33:20 | * | psquid_ is now known as psquid |
22:33:23 | Araq | ok, bye |
22:36:30 | BitPuffin | man docker is freaking awesome |
22:37:09 | * | Demos quit (Ping timeout: 258 seconds) |
22:37:35 | * | jbe quit (Quit: Leaving) |
22:38:37 | superfunc | I know SDL2 has iOS support, I wonder how well a game written with nimrod and the SDL2 wrapper would fare |
22:38:57 | reactormonk | jez0990, coding in emacs? |
22:39:31 | reactormonk | superfunc, depends on the game :> |
22:40:10 | BitPuffin | superfunc: exellently |
22:40:20 | superfunc | I really just mean, how much work it would take to get it running, if any |
22:40:52 | BitPuffin | superfunc: probably not that much, problem is that if you ever wanna use anything outside of xcode you are in for a world of pain |
22:41:25 | superfunc | yep |
22:41:46 | superfunc | just working on a desktop game, considering the possibilities for when its finished |
22:42:10 | BitPuffin | should be possible without too much hassle |
22:42:10 | superfunc | don't wanna write more obj-c than nec. haha |
22:42:21 | BitPuffin | just that xcode outside of xcode is a bitch |
22:43:14 | dom96 | BitPuffin: Why do you need me to fix nimforum? |
22:43:29 | BitPuffin | dom96: I didn't say that what are you on about |
22:43:58 | BitPuffin | dom96: I linked to an error I got when trying to run it and asked everyone if that's a bug and then said so much for fixing nimforum |
22:44:04 | BitPuffin | I didn't say you should fix nimforum |
22:44:06 | BitPuffin | you are drunk dom |
22:44:14 | BitPuffin | sober up, get with the times |
22:45:33 | * | wan quit (Ping timeout: 250 seconds) |
22:46:44 | * | wan joined #nimrod |
22:47:24 | dom96 | BitPuffin: pff, drinking makes you cool so I am with the times :P |
22:48:08 | dom96 | but yeah, i'm tired, sorry. |
22:49:56 | BitPuffin | dom96: how dare you say such a horrible thing alcohol is evil as fuk |
22:50:00 | BitPuffin | jk |
22:50:02 | BitPuffin | it's fine |
22:50:11 | BitPuffin | met måtta, som med allt i livet |
22:50:13 | BitPuffin | med* |
22:50:36 | BitPuffin | dom96: why are you so tired |
22:50:44 | dom96 | BitPuffin: been studying all day |
22:51:44 | BitPuffin | dom96: so you're saying you don't already know everything :/? |
22:53:10 | dom96 | Well I do know all the useful things :P |
22:53:31 | BitPuffin | dom96: except how to play dota |
22:53:55 | dom96 | I think you and me have a very different definition of 'useful' |
22:54:25 | dom96 | So servo is passing acid 2. Maybe someone should write a browser engine in Nimrod? |
22:54:39 | * | Skrylar pushes dom96 in to a cardboard box |
22:55:04 | * | dom96 slaps Skrylar |
22:55:06 | * | fowl puts on his sunglasses and erases everyones memory |
22:55:18 | fowl | dom96, you were talking about a new game you enjoyed? |
22:55:19 | * | Skrylar reboots the computer |
22:55:28 | dom96 | "DENUERYLE--" |
22:55:34 | BitPuffin | ermagerd I managed to recover memory using heartbleed |
22:55:37 | BitPuffin | because you called free |
22:55:43 | BitPuffin | but it was actually never freed ;) |
22:55:54 | Skrylar | another reason why C sucks. :D |
22:56:06 | Skrylar | i once surmised that the majority of PC security issues are because people used C |
22:56:27 | BitPuffin | Skrylar: had nothing to do with C what so ever |
22:56:29 | Skrylar | whoops i didn't check this one buffer now the whole system is pwned |
22:56:46 | BitPuffin | Skrylar: same thing would have happened if someone wrapped alloc in nimrod |
22:56:47 | Skrylar | BitPuffin: i thought it had to do with it not verifying the size of a data request in one particular spot |
22:57:04 | BitPuffin | Skrylar: yes, but that would have crashed if they didn't use their own free and malloc |
22:57:18 | dom96 | BitPuffin: Same thing would have happened if someone used 'unsafe' in Rust. |
22:57:33 | Skrylar | people look at you if you put 'unsafe' in code though |
22:57:35 | BitPuffin | Skrylar: basically, they had their own free which just pooled it in to a LIFO buffer |
22:58:01 | BitPuffin | if they would have used the operating system's free it would have crashed for accessing memory which wasn't theirs |
22:58:08 | BitPuffin | but since the process did own the memory it didn't crash |
22:58:13 | dom96 | I look at people if they use alloc or cast in Nimrod :P |
22:58:16 | Skrylar | i think its a bit easier to deal with code where you can check for the most Bad code by grepping a keyword |
22:58:31 | BitPuffin | dom96: you can probably achieve the same thing with GC as well |
22:58:38 | BitPuffin | with like object pooling or something |
22:58:42 | Skrylar | dom96: i use cast in my event processor :\ |
22:58:48 | BitPuffin | however I guess it would still require some shit |
22:58:51 | BitPuffin | so no |
22:58:53 | BitPuffin | but still |
22:58:56 | BitPuffin | it wasn't C's fault |
22:58:57 | dom96 | Skrylar: Why? :\ |
22:59:06 | BitPuffin | it was because they were fucking idiots who wrapped malloc and free |
22:59:14 | BitPuffin | in the most insecure way possible as well |
22:59:19 | Skrylar | dom96: it has to do with derping around generics |
22:59:24 | BitPuffin | a god damn LIFO pool |
22:59:25 | BitPuffin | god damn it |
22:59:37 | * | BitPuffin gets all worked up thinking about it |
22:59:58 | Skrylar | dom96: because there is no 'central' union for event types, it can't do the 100% typesafe way. so it does it by having a UID assigned to a type which then has a type-safe input interface and internally verifies the UIDs to re-establish typesafety on the way out |
23:00:17 | BitPuffin | dom96: and you have to use alloc and free in nimrod for hardcore multithreading B) |
23:01:12 | dom96 | Rust's memory safety is nice and all, but the majority of programmers are lazy and they will simply say "meh, let's get around this annoying compile-time error by using 'unsafe', what's the worst that could happen?" |
23:01:13 | Skrylar | i need to peek in that module again some time |
23:02:10 | BitPuffin | dom96: indeed, and we have memory safety if you don't use ptr, pointer, or cast |
23:02:12 | dom96 | That said, I am almost religiously in love with Nimrod now so I will criticise every other language in whatever way I can :P |
23:02:27 | BitPuffin | and if you don't return ref I guess |
23:02:37 | Skrylar | why would returning ref be a problem |
23:02:58 | dom96 | Skrylar: link to code? |
23:03:01 | Skrylar | new(blah) init(blah) return blah # blah is still known to the GC? |
23:03:11 | BitPuffin | Skrylar: think it's something like proc pwnd: ref TObject = new(result) |
23:03:16 | EXetoC | dom96: well, I can say objectively that Nimrod wins at everything |
23:03:45 | Skrylar | BitPuffin: that will just give you an object with random crap in the fields |
23:03:45 | dom96 | EXetoC: are you sure about that? :P |
23:03:58 | Skrylar | its not more dangerous than assigning random crap in the fields yourself |
23:04:02 | BitPuffin | Skrylar: well I can't remember what it was exactly, but for some reason it doesn't free |
23:04:10 | Skrylar | security code should already be manually bzero'ing objects on deletion anyway |
23:04:22 | * | Demos joined #nimrod |
23:04:29 | EXetoC | dom96: yes |
23:04:31 | BitPuffin | because ownership isn't released ever or something |
23:04:36 | BitPuffin | so the refcount never goes to zero |
23:04:39 | Skrylar | BitPuffin: sounds like a bug? |
23:04:49 | BitPuffin | Skrylar: never said it was a security issue, it's a leak |
23:04:58 | BitPuffin | Skrylar: yes but it's also a feature |
23:05:04 | Skrylar | dom96: https://github.com/Skrylar/Skylight/blob/master/skylight/dynemaps.nim here is the version that doesn't make araq cry |
23:05:07 | BitPuffin | because returning ref is needed |
23:05:14 | BitPuffin | and Araq don't know how he wants to solve it yet |
23:05:21 | BitPuffin | rust solved it with something called named lifetimes |
23:05:24 | Skrylar | https://github.com/Skrylar/Skylight/blob/master/skylight/dynequeue.nim this one is neat but it makes the GC sad |
23:05:26 | BitPuffin | not sure if we'll do the same |
23:06:36 | Skrylar | lifetimes are because they ditched their GC |
23:06:48 | BitPuffin | aha |
23:06:50 | Skrylar | a lifetime in rust is a static assertion that your pointer will not be invalidated at any point |
23:07:09 | Skrylar | e.g. you cannot store a pointer to a member OUTSIDE of the object, because there is no guarantee the original object will always be available |
23:07:19 | Skrylar | with a GC, there is no need for a lifetime because it will just incref the outer poitner |
23:07:34 | BitPuffin | ah |
23:07:39 | BitPuffin | well then I dunno |
23:07:45 | BitPuffin | don't have intimate knowledge with rust |
23:07:46 | Skrylar | I kind of prefer having the GC to be honest, because lifetimes are a pain in the ass for polymorphic code |
23:07:56 | BitPuffin | thanks to EXetoC and dom96 I'm stuck with nimrod |
23:08:15 | Skrylar | did they kidnap you and threaten to force you to solve a haskell puzzle if you try to escape |
23:08:24 | BitPuffin | Skrylar: I just feel it looks like a pain in the ass to have to type out the bullshit all the time lol |
23:08:34 | dom96 | Yes, nerve gas will be released in your house if you betray us. |
23:08:36 | Skrylar | yeah well, its an architectural pain too |
23:08:40 | BitPuffin | I like haskell |
23:08:51 | Skrylar | if you want to write a GUI you basically have to do lookup codes for everything |
23:08:52 | fowl | we should write up some billion year contracts |
23:08:56 | fowl | scientology style |
23:09:10 | Skrylar | only if you promise to make the singularity happen :P |
23:09:14 | dom96 | We should actually make a Church of Nimrod |
23:09:15 | BitPuffin | dom96: and yet I can barely write a game because I can't get my math library functioning -_- nor my website because nimrod compiler hates mac |
23:09:25 | BitPuffin | nimchurch |
23:09:27 | dom96 | That way we can get donations to work on the compiler. |
23:09:37 | Skrylar | the church of case insensitivity |
23:09:44 | * | wan quit (Ping timeout: 258 seconds) |
23:09:46 | dom96 | s/case/style/ |
23:09:48 | BitPuffin | we need a killer app for nimrod |
23:09:53 | fowl | BitPuffin, why dont u just use ranges instead of static int for ur matrices |
23:10:05 | Skrylar | killer apps need infinite shit |
23:10:13 | BitPuffin | fowl: because it made some stuff that didn't work before |
23:10:18 | BitPuffin | but has its own bugs |
23:10:30 | BitPuffin | and I want to use what the actual api will be |
23:10:34 | Skrylar | i have a few apps i want to make but i keep getting saddled with GUI work xD |
23:10:34 | BitPuffin | ranges for this is silly |
23:10:39 | BitPuffin | well |
23:10:51 | BitPuffin | ruby has rails, python has django, Go has Docker |
23:11:08 | dom96 | We have Jester. |
23:11:11 | Skrylar | but a web framework brings web derps |
23:11:14 | * | BitPuffin facepalms |
23:11:15 | fowl | BitPuffin, ok well if you need to a write a game then u need 3x3 or 4x4 matrices, just write what u need and fix it later |
23:11:38 | BitPuffin | fowl: yeah like I announced yesterday I'm probably gonna introduce linagl/boring/vector and linagl/boring/matrix |
23:12:03 | * | Demos quit (Ping timeout: 240 seconds) |
23:12:24 | dom96 | BitPuffin: your game will probably only use 1% of your linagl lib |
23:12:33 | dom96 | Seriously, just write what you need and make it work. |
23:12:41 | dom96 | You can make it use your lib later |
23:12:49 | BitPuffin | dom96: I don't even have everything I need in linagl yet :P |
23:13:05 | dom96 | BitPuffin: what kind of game do you wanna make? |
23:13:08 | Skrylar | i wish i could say the same for font code |
23:13:17 | BitPuffin | dom96: my current project is an abstract horror game |
23:13:25 | dom96 | BitPuffin: 3D? |
23:13:56 | BitPuffin | abstract because in july our genitals will no longer be separated by the ocean, merely terrain, and I won't have powerful hardware to run it on, solely a laptop |
23:13:59 | BitPuffin | dom96: yes |
23:14:15 | EXetoC | polygons? |
23:14:20 | BitPuffin | yes |
23:14:22 | BitPuffin | opengl |
23:14:38 | dom96 | BitPuffin: fun |
23:14:46 | dom96 | BitPuffin: I wanna help :P |
23:14:48 | BitPuffin | dom96: genitals? |
23:14:58 | EXetoC | mouse or keyboard aiming? |
23:15:05 | BitPuffin | EXetoC: moose |
23:15:18 | dom96 | damn, where am I going to get a moose? |
23:15:18 | EXetoC | that's a good idea nowadays |
23:15:28 | dom96 | Does it use a standard USB connection? |
23:15:31 | BitPuffin | http://www.epa.gov/glnpo/image/vbig/104.jpg next gen input device |
23:15:45 | BitPuffin | dom96: no it only works with PS/2 |
23:15:56 | BitPuffin | because USB has too much latency |
23:16:03 | dom96 | So, do I mount it and then try to control it by it's horns? |
23:16:07 | BitPuffin | PS/2 uses interrupt and so it's realtime |
23:16:19 | BitPuffin | yeah you sit on top of it |
23:16:34 | BitPuffin | and then the game is based on you riding on it |
23:16:41 | dom96 | Wow. People will be amazed. |
23:16:41 | BitPuffin | and wherever it walks you walk in the virtual world |
23:16:45 | dom96 | This is truly innovative. |
23:16:56 | fowl | BitPuffin, can you see if my project at github/fowlmouth/flaming-nemesis compiles? |
23:16:57 | BitPuffin | it will build a virtual version of your surrounding as well drawn with an abstract dark look |
23:17:03 | BitPuffin | so it will be truly terrifying |
23:17:15 | * | askatasuna quit (Ping timeout: 240 seconds) |
23:17:18 | BitPuffin | dom96: for sure this will put nimrod on the map |
23:17:51 | dom96 | I had this idea for a game where the map is generated from HTML web pages. |
23:17:53 | fowl | BitPuffin, you dont need enet, nimrod c -p:"src" -p:"games" -p:"src/net" -d:useAllegro games/skel && ./games/skel |
23:17:59 | BitPuffin | fowl: yes if you give me the git clone so I can clone it dirrectly |
23:18:05 | BitPuffin | and the command etc |
23:18:10 | dom96 | So it's a rendering of a web page, and you fight inside websites or something |
23:18:12 | BitPuffin | make me a oneliner |
23:18:32 | BitPuffin | dom96: I believe there is already stuff like that |
23:19:00 | fowl | BitPuffin, git clone [email protected]:fowlmouth/flaming-nemesis.git && cd flaming-nemesis && nimrod c -p:"src" -p:"games" -p:"src/net" -d:useAllegro games/skel && ./games/skel |
23:19:12 | dom96 | BitPuffin: bah. I'm sure they're crap though :P |
23:19:49 | fowl | BitPuffin, you are on os x right? |
23:20:00 | BitPuffin | yes boi |
23:20:10 | fowl | bless your heart |
23:20:18 | fowl | using that crippled os so that others dont have to |
23:20:41 | Skrylar | I liked my mac :\ |
23:21:08 | dom96 | I've always hated Macs |
23:21:09 | BitPuffin | fowl: cannot open signals |
23:21:16 | BitPuffin | Skrylar: it is the worst thing in life |
23:21:21 | BitPuffin | other than widows |
23:21:26 | fowl | BitPuffin, you'll need signals.nim from babel |
23:21:51 | BitPuffin | Error: undeclared identifier: 'bottom=' |
23:21:58 | BitPuffin | algui.nim(424, 9) |
23:23:11 | * | wan joined #nimrod |
23:23:13 | BitPuffin | gamestates.nim(2, 0) Info: instantiation from here |
23:23:39 | fowl | BitPuffin, update fowltek and do again |
23:24:42 | BitPuffin | fowl: https://gist.github.com/BitPuffin/11016944 have fun |
23:26:45 | fowl | BitPuffin, fixed |
23:27:18 | BitPuffin | compiles |
23:27:20 | BitPuffin | could not import: al_toggle_display_flag |
23:27:30 | BitPuffin | wait |
23:27:39 | BitPuffin | it's probably because you build for 5.0 or something |
23:27:43 | BitPuffin | I don't have that and never will :P |
23:27:52 | BitPuffin | or wait |
23:27:58 | * | Mordecai joined #nimrod |
23:28:01 | BitPuffin | my local version of allegro5 in babel is 5.1 |
23:28:04 | BitPuffin | so no |
23:28:06 | BitPuffin | that's not why |
23:28:18 | * | Mordecai is now known as Guest59079 |
23:28:30 | fowl | check your display.h plz |
23:28:41 | BitPuffin | check for what? |
23:28:54 | fowl | it doesnt say that function isnt 5.1 |
23:28:56 | fowl | in the manual |
23:29:16 | * | psquid quit (Ping timeout: 240 seconds) |
23:29:19 | BitPuffin | pattern not found al_toggle |
23:29:40 | * | darkf joined #nimrod |
23:30:20 | fowl | "Rename al_toggle_display_flag to al_set_display_flag, retaining the older name for compatibility." |
23:31:22 | BitPuffin | probably requires me rebuilding al 5.1 |
23:32:16 | fowl | BitPuffin, remove the old function that they turned into a macro for source compatibility |
23:33:36 | * | xenagi joined #nimrod |
23:34:19 | Skrylar | i should probably look in to this babel thing |
23:34:46 | EXetoC | dude. of course |
23:35:28 | BitPuffin | fowl: wat |
23:57:30 | EXetoC | wot |