| 00:50:36 | Araq | good night guys |
| 00:50:44 | dom96 | see you later |
| 00:55:04 | * | Trix[a]r_za is now known as Trixar_za |
| 00:55:46 | dom96 | Trixar_za: hey |
| 00:55:51 | Trixar_za | Hey dom96 |
| 00:55:59 | dom96 | Trixar_za: I installed SliTaz in a VM and attempted to compile aporia |
| 00:56:08 | dom96 | But gcc kept giving me errors about missing header files. |
| 00:56:31 | dom96 | For example "linux/limits.h", any ideas how to fix that? |
| 00:56:51 | Trixar_za | slitaz-dev-pkgs |
| 00:57:04 | Trixar_za | It installed most of the dev packages, including the gtk ones |
| 00:57:16 | Trixar_za | installs* |
| 00:58:00 | dom96 | ahh, yes, I probably need that :) |
| 01:05:08 | dom96 | cool. Compiles now. |
| 01:06:57 | Trixar_za | Between that and the slitaz-toolchain, it makes developing on SliTaz a little easier :P |
| 01:07:16 | dom96 | wow. |
| 01:07:19 | dom96 | Aporia is very buggy |
| 01:08:51 | Trixar_za | lol |
| 01:08:56 | dom96 | I can't even select tabs |
| 01:08:58 | Trixar_za | Yeah, use -d:release |
| 01:09:15 | Trixar_za | run it in terminal to see the debug messages :P |
| 01:09:21 | Trixar_za | Well, the key numbers |
| 01:09:40 | dom96 | yes, I am. |
| 01:09:57 | dom96 | gtksourceview seems to be buggy too... |
| 01:12:04 | Trixar_za | Weird |
| 01:13:00 | dom96 | indeed |
| 01:13:12 | dom96 | I will figure it out tomorrow. |
| 01:13:17 | dom96 | I should sleep. |
| 01:14:40 | Trixar_za | Me too, only I can't :/ |
| 01:14:50 | dom96 | why not? |
| 01:15:31 | Trixar_za | Restlessness. Also I just finished most of a book series this week. I'll probably finish the book tomorrow. So 4 books in a week. |
| 01:15:43 | Trixar_za | Well, since Wednesday anyway |
| 01:16:51 | dom96 | ahh, right. |
| 01:16:57 | dom96 | ok, good night. |
| 01:17:03 | Trixar_za | Goodnite dom96 |
| 01:39:05 | * | q66 quit (Quit: Leaving..) |
| 02:43:10 | * | Trixar_za is now known as Trix[a]r_za |
| 06:49:10 | shevy | wheeee |
| 09:56:14 | * | sbell joined #nimrod |
| 09:59:40 | * | q66 joined #nimrod |
| 10:37:21 | * | sbell quit (Quit: sbell) |
| 10:51:54 | * | sbell joined #nimrod |
| 10:52:31 | * | sbell quit (Client Quit) |
| 11:21:17 | dom96 | hello |
| 11:21:29 | dom96 | I slept way too long. |
| 11:22:42 | dom96 | Araq: You there? |
| 11:25:23 | Araq | yes, now. |
| 11:25:50 | dom96 | I set an alarm for 11am and I don't even remember resetting it... |
| 11:26:31 | Araq | well ... hardly suprising :P |
| 11:28:10 | dom96 | Yeah, I stayed awake too long... |
| 11:28:20 | dom96 | But I stayed up long enough for Trix[a]r_za to help me. |
| 11:28:30 | dom96 | So now we have this very odd Aporia behaviour. |
| 11:28:38 | dom96 | And something tells me it's a compiler bug. |
| 11:32:20 | dom96 | Araq: Should I run the test suite? |
| 11:32:31 | Araq | dunno |
| 11:32:37 | Araq | what makes you think it's a compiler bug? |
| 11:33:34 | dom96 | Well it only fails in debug mode. |
| 11:35:20 | Araq | lol |
| 11:35:41 | Araq | I'd guess you got some C proc definition wrong |
| 11:35:48 | Araq | and that only triggers in debug mode |
| 11:36:02 | Araq | hardly a compiler bug then :P |
| 11:37:03 | dom96 | perhaps |
| 11:40:35 | Araq | what you should do instead |
| 11:40:59 | Araq | make use of '-d:Whatever' to en/disable features in Aporia |
| 11:41:11 | Araq | to ease debugging |
| 11:41:27 | Araq | and apart from that it'll be nice for the people who use Aporia as a general text editor |
| 11:41:36 | Araq | and don't need e.g. 'suggest' support |
| 11:43:00 | dom96 | Well you can disable suggest in the settings anyway |
| 11:46:13 | Araq | I know |
| 11:46:15 | Araq | brb |
| 12:04:09 | dom96 | ugh, could you improve repr so that it doesn't crash when one of the fields are nil or whatever? |
| 12:05:51 | Araq | it should work with 'nil' ... |
| 12:06:02 | dom96 | Well should it ever crash? |
| 12:06:17 | dom96 | because it crashes very often when I try to repr a complex object |
| 12:07:35 | Araq | hrm |
| 12:07:54 | Araq | can you produce a simple test that triggers it? |
| 12:08:09 | dom96 | And furthermore I have no clue how to fix aporia |
| 12:09:36 | Araq | tried to run it in the GNU debugger? |
| 12:10:02 | dom96 | no. I guess i'll try that |
| 12:10:07 | Araq | I will gladly help you |
| 12:10:23 | Araq | but I don't feel like installing yet another linux |
| 12:11:41 | dom96 | I'm not sure I can come up with a simple test case for that repr thing |
| 12:11:57 | dom96 | Could you try to pop a .repr on anything in aporia? |
| 12:12:02 | dom96 | Because that's where it usually happens |
| 12:12:09 | dom96 | So I'm guessing GTK objects make it crash |
| 12:12:22 | Araq | tell my with object please |
| 12:13:10 | Araq | *which |
| 12:13:23 | dom96 | for example in find_Activate, do repr(win) |
| 12:16:18 | Araq | ok |
| 12:23:13 | dom96 | "Backtrace stopped: Previous frame inner to this frame (corrupt stack?)" |
| 12:23:33 | Araq | yummy |
| 12:23:42 | dom96 | is that relevant? |
| 12:23:42 | Araq | I never saw a message like that in GDB :-) |
| 12:23:50 | Araq | sure |
| 12:23:58 | dom96 | I set a breakpoint and ran `bt` |
| 12:24:22 | dom96 | Gave me a small backtrace and then outputted that |
| 12:24:28 | Araq | cool |
| 12:24:43 | Araq | I think the problem is threading |
| 12:25:08 | Araq | try to compile aporia with --stackTrace:off --lineTrace:off |
| 12:25:08 | dom96 | perhaps |
| 12:25:29 | Araq | but keep in debug mode otherwise |
| 12:25:30 | dom96 | gdb gives warnings about threads too btw |
| 12:25:44 | Araq | interesting |
| 12:25:47 | Araq | which warnings? |
| 12:26:15 | dom96 | warning: unable to find libthread_db matching inferior's thread library, thread debugging will not be available. |
| 12:27:55 | Araq | oh come on |
| 12:28:09 | Araq | you debug a multithreaded app with a GDB that doesn't support threads |
| 12:28:24 | dom96 | hehe. |
| 12:28:44 | dom96 | well with stackTrace:off and lineTrace:off it works |
| 12:29:04 | Araq | I guess the toolchain has problems with thread local storage |
| 12:29:08 | Araq | try the emulation |
| 12:30:13 | dom96 | emulation doesn't help |
| 12:32:31 | Araq | that's strange |
| 12:33:10 | Araq | but it still kind of works with TLS emulation, right? |
| 12:33:21 | Araq | or does it crash immediately? |
| 12:34:11 | dom96 | it kinda works |
| 12:34:26 | dom96 | works just as it did without tls emulation |
| 12:34:46 | Araq | do you use the 'threadvar' pragma? |
| 12:35:57 | dom96 | probably not |
| 12:36:20 | dom96 | All the thread accesses is these channels. |
| 12:36:25 | dom96 | Should they have that pragma? |
| 12:37:29 | Araq | hell no |
| 12:37:46 | Araq | how would you use them for communication then? :P |
| 12:38:18 | dom96 | I guess I have no clue what a thread var is. |
| 12:38:47 | dom96 | it's a thread local variable, right? |
| 12:38:53 | Araq | yes |
| 12:39:03 | dom96 | So if I mark a variable it, only a thread can access it? |
| 12:39:03 | Araq | every thread has its own copy of it |
| 12:39:10 | dom96 | oh |
| 12:39:12 | dom96 | I see. |
| 12:39:29 | Araq | so every thread can access it but it's not shared |
| 12:39:58 | dom96 | So then if one makes a change to that variable, the change will not happen on all the copies? |
| 12:40:17 | Araq | exactly |
| 12:40:52 | dom96 | Well there is only one thread in aporia. |
| 12:41:07 | dom96 | All it does is read and send to two channels. |
| 12:48:05 | Araq | hardly |
| 12:48:10 | Araq | "Add a function which will be called when the UI is idle." |
| 12:48:22 | Araq | is this function called in the main thread? |
| 12:49:23 | dom96 | of course |
| 12:49:37 | dom96 | createThread[void](win.tempStuff.execThread, execThreadProc) |
| 12:49:43 | dom96 | That's the only thread |
| 12:50:45 | dom96 | " ## This function executes a process in a new thread, using only idle time |
| 12:50:45 | dom96 | ## to add the output of the process to the `outputTextview`." |
| 12:55:01 | Araq | well your control flow is hard to grasp :P |
| 12:55:44 | dom96 | so is yours! |
| 12:55:49 | dom96 | :P |
| 12:56:18 | dom96 | And there is no simple way to do threading with gtk. |
| 12:56:23 | dom96 | safely :P |
| 12:58:12 | Araq | ugh I will work on something else :P |
| 12:58:24 | Araq | just disable stack tracking for slitaz |
| 12:59:00 | dom96 | hehe |
| 12:59:04 | dom96 | Well It's fine. |
| 12:59:13 | dom96 | As long as it works in release mode I suppose. |
| 12:59:29 | dom96 | But people that use SliTaz won't be able to debug it... |
| 12:59:38 | dom96 | if they want to hack on the code or something |
| 13:01:45 | dom96 | But anyway. |
| 13:01:49 | dom96 | Araq: How's suggest going? |
| 13:05:02 | Araq | slowly, requires quite some changes |
| 13:08:19 | shevy | suggest? |
| 13:08:46 | shevy | dom96 btw do you have nimrod code you wrote, which is quite easy to understand for a nimrod newbie? |
| 13:09:26 | dom96 | shevy: Autocomplete, kind of like Visual Studio's intellisense |
| 13:09:40 | shevy | I see |
| 13:09:43 | dom96 | shevy: This might be the easiest: https://github.com/dom96/c4hbot/blob/master/cahbot.nim |
| 13:09:56 | dom96 | The code is quite messy though, just FYI. |
| 13:10:07 | dom96 | I wrote it for a competition :P |
| 13:11:17 | Araq | lol that's hardly easy code |
| 13:11:24 | Araq | well it surely is long |
| 13:11:42 | * | Araq wonders how many lines of code written in nimrod exist |
| 13:11:55 | dom96 | Perhaps this then? https://github.com/dom96/nim-urbanterror/blob/master/urbanterror.nim |
| 13:12:04 | dom96 | It's old, and i'm not sure it still works though. |
| 13:13:00 | shevy | hmm the type things |
| 13:13:04 | shevy | what is that? data definitions? |
| 13:13:12 | shevy | TBot = object |
| 13:13:16 | Araq | exactly |
| 13:14:55 | Araq | dom96: is the /tmp stuff now disable via compiletime switch? |
| 13:15:34 | dom96 | ...no, why? |
| 13:15:39 | shevy | TPlayerId = tuple[nick, user, hostname: string] |
| 13:15:48 | shevy | and the tuple[] thing, is that an array? or a hash? |
| 13:16:00 | Araq | because it would debugging 'suggest' easier for me :P |
| 13:16:20 | Araq | shevy: more like a hash I guess |
| 13:16:26 | dom96 | Araq: oh yeah, we were going to talk about this again. |
| 13:16:46 | dom96 | Araq: did you get that repr to crash? |
| 13:16:57 | Araq | didn't try, sorry |
| 13:17:02 | Araq | suggest is more important |
| 13:17:15 | dom96 | shevy: I would call it a compile-time hash. |
| 13:17:21 | dom96 | Araq: ...ok |
| 13:19:11 | dom96 | I will implement it now. |
| 13:19:59 | shevy | hehe |
| 13:20:04 | shevy | what happens with it after compile time? :) |
| 13:20:57 | dom96 | shevy: It's pretty much an object. |
| 13:21:12 | dom96 | with some differences. |
| 13:21:25 | dom96 | Like you can do theTuple[0] to get the first field. |
| 13:21:33 | dom96 | Araq: Where do you want it saved then? |
| 13:21:46 | Araq | just don't save it at all |
| 13:21:51 | Araq | oh wait ... |
| 13:21:56 | Araq | that can't work ... lol |
| 13:22:10 | Araq | hm |
| 13:22:13 | dom96 | haha, smart you are :P |
| 13:22:42 | dom96 | Araq: Maybe you should just edit suggest.nim yourself? |
| 13:22:46 | dom96 | It shouldn't be that hard. |
| 13:22:51 | dom96 | Look at populateSuggest. |
| 13:23:06 | Araq | yes but it's distracting to work both on aporia and nimrod at the same time |
| 13:23:35 | Araq | the productivity loss is huge then for me |
| 13:23:48 | Araq | meh, tmp is fine |
| 13:23:52 | Araq | I will fix the compiler instead |
| 13:24:11 | dom96 | It's a matter of replacing 'getTempDir' with whatever... |
| 13:24:17 | Araq | 144 usages of GlobalError ... |
| 13:24:32 | Araq | every single usage is bad for 'suggest' ... |
| 13:27:24 | dom96 | So you have to get rid of them? :P |
| 13:27:39 | Araq | more or less yes |
| 13:28:03 | Araq | but I will do it incrementally |
| 13:28:12 | Araq | most common problems first |
| 13:28:42 | Araq | the compiler should have been designed with IDE support in mind ... |
| 13:28:49 | Araq | but it's not too bad to fix it |
| 13:28:54 | shevy | hehe |
| 13:29:49 | dom96 | Araq: Do we want VS style solution files in the long run? |
| 13:30:11 | Araq | no I still think there is a better way |
| 13:30:39 | dom96 | alright |
| 13:30:55 | Araq | aporia somehow needs to know which project file a single module belongs too ... |
| 13:31:20 | Araq | unfortunately I forgot my idea how to do that :-/ |
| 13:31:45 | Araq | I think it should look into the current dir of the file for all *.nimrod.cfg files |
| 13:32:14 | Araq | and pick the corresponding .nim file :-) |
| 13:32:26 | Araq | if it's ambiguous too bad |
| 13:32:45 | Araq | pick some then depending on the phase of the moon |
| 13:32:57 | Araq | people always like that :D |
| 13:35:13 | Araq | dom96: opinions? |
| 13:38:17 | dom96 | sorry |
| 13:38:20 | dom96 | was away |
| 13:38:43 | dom96 | haha |
| 13:38:53 | dom96 | I have a better idea. |
| 13:38:57 | dom96 | Look for the .babel file :P |
| 13:39:08 | dom96 | if the config files are ambiguous |
| 13:39:17 | dom96 | It's still not perfect though... |
| 13:39:27 | dom96 | There should be a way to specify this... |
| 13:39:35 | dom96 | I think we will have to end up with a solution file. |
| 13:40:55 | Araq | but but but |
| 13:41:11 | Araq | many projects arlready use .nimrod.cfg |
| 13:41:17 | Araq | *already |
| 13:41:27 | Araq | I don't feel like adding .babel files everywhere |
| 13:41:37 | Araq | or "solution" files for that matter |
| 13:42:41 | Araq | but we could make it this way: |
| 13:43:00 | Araq | 1. look for "aporia.cfg", if found use that |
| 13:43:12 | Araq | 2. look for ".babel" if found use that |
| 13:43:24 | Araq | 3. look for ".nimrod.cfg", if found use that |
| 13:43:52 | Araq | though perhaps we could get rid of 1 of them |
| 13:43:56 | Araq | speaking of which |
| 13:44:07 | Araq | why not merge .babel with .nimrod.cfg? |
| 13:46:22 | dom96 | I suppose I will in the long-run. |
| 13:52:24 | Nafai | so what are babel and aporia? |
| 13:53:02 | dom96 | aporia is a nimrod IDE written in Nimrod |
| 13:53:14 | dom96 | and babel is a package manager for nimrod also written in Nimrod (not yet finished) |
| 13:53:41 | Nafai | nice |
| 15:10:31 | * | shevy quit (Ping timeout: 246 seconds) |
| 15:22:24 | * | shevy joined #nimrod |
| 15:27:44 | dom96 | Araq: Why did you tell me to {.push: cdecl.} in Aporia again? |
| 15:43:18 | dom96 | Araq: The compiler still complains when I try to use large port numbers... |
| 16:08:00 | dom96 | huh, you got rid of those checks., |
| 16:08:15 | dom96 | odd |
| 16:11:16 | Araq | well? yeah |
| 16:11:25 | Araq | I made the compiler shut up for you |
| 16:13:03 | shevy | hehe |
| 16:13:58 | dom96 | Araq: Well it still complains... |
| 16:22:02 | * | Trix[a]r_za is now known as Trixar_za |
| 16:35:45 | Araq | fix your code then |
| 16:37:32 | Trixar_za | >.> |
| 16:37:38 | Trixar_za | What did I walk into? |
| 16:38:52 | Araq | hu? |
| 16:38:58 | Araq | what's wrong? |
| 16:39:22 | dom96 | Araq: how? |
| 16:39:24 | Trixar_za | Sorry, just saw the 'fix your code then' bit |
| 16:39:24 | Trixar_za | :P |
| 16:39:53 | Araq | dom96: convert to TPort with toU16()? |
| 16:40:04 | Araq | er, is TPort now unsigned? |
| 16:40:27 | Araq | no it's still signed ok |
| 16:40:35 | dom96 | TPort* = distinct int16 |
| 16:40:48 | Araq | yeah I know |
| 16:40:48 | dom96 | Should it be unsigned? |
| 16:40:59 | Araq | that could help |
| 16:41:08 | Araq | but it will also break code |
| 16:41:12 | Araq | again |
| 16:41:26 | Araq | so please don't |
| 16:44:24 | dom96 | toU16 works |
| 16:44:46 | Araq | he he he, good |
| 16:45:07 | dom96 | Doesn't seem ideal though D: |
| 16:45:16 | dom96 | oh well |
| 16:46:40 | dom96 | Well I implemented the "single instance" feature. |
| 16:46:46 | dom96 | Using sockets. |
| 16:46:52 | Trixar_za | Well, you can always blame Bertrum. It's always his fault even when he's not involved. |
| 16:46:57 | dom96 | Opening files from the file manager is super fast. |
| 16:47:04 | dom96 | I don't get how other applications manage to be slow... |
| 17:10:48 | dom96 | bbl |
| 17:11:27 | * | Trixar_za is now known as Trix[a]r_za |
| 17:21:46 | shevy | \o/ |
| 17:21:50 | shevy | aporia for the win! |
| 17:21:56 | shevy | Slogans: |
| 17:22:08 | shevy | "Aporia, teaching how to write proper Nimrod code since 1995." |
| 17:22:59 | Araq | *cough* aporia's code ain't that pretty ... |
| 17:23:17 | Araq | but it works |
| 17:23:27 | Araq | somehow working code is rarely beautiful |
| 17:23:46 | Araq | and beautiful code often does not work ... |
| 17:25:14 | Araq | but there is also lots of ugly broken code out there :P |
| 17:34:08 | Araq | "Aporia can now only be ran as a single instance." yay! |
| 17:34:20 | Araq | I wasn't aware this feature wasn't even on your todo list |
| 17:34:28 | Araq | but it surely is welcome |
| 17:53:08 | shevy | yeah it depends |
| 17:53:18 | shevy | I am rewriting old ruby code right now |
| 17:53:37 | shevy | I'd say the current state of my rewrite is more beautiful and especially more logical than the old version |
| 17:53:51 | shevy | but I have like only 40% of the features right now, and it is slow and tedious and boring :( |
| 17:54:04 | shevy | don't have any nimrod code I could rewrite yet :P |
| 17:54:49 | Araq | you're doing it wrong :P |
| 17:54:56 | Araq | you should rewrite it |
| 17:55:00 | Araq | *shouldn't |
| 17:55:08 | Araq | you should refactor it :P |
| 17:57:32 | Araq | shevy: how many lines of code? |
| 17:59:58 | shevy | hmm |
| 18:00:19 | shevy | in total I think about 12.000 lines of code (if you count comments and empty lines too) |
| 18:00:46 | Araq | well you shouldn't rewrite it |
| 18:01:48 | Araq | I'm a big believer of this: http://www.joelonsoftware.com/articles/fog0000000069.html |
| 18:02:39 | dom96 | "I wasn't aware this feature wasn't even on your todo list" That sounds like some kind of a double negative, and I'm confused :P |
| 18:02:55 | dom96 | Also, back. |
| 18:02:56 | Araq | ugh |
| 18:03:04 | Araq | my english gets worse and worse :P |
| 18:03:15 | dom96 | Nah. |
| 18:03:18 | Araq | it's called "careless writing" |
| 18:03:24 | Araq | I also program that way :P |
| 18:03:32 | dom96 | hah |
| 18:03:53 | Araq | but then adrianv comes along and reports bugs :DD |
| 18:11:16 | dom96 | So... |
| 18:11:25 | dom96 | Araq: How long before you fix suggest? |
| 18:12:10 | Araq | already testing it |
| 18:12:59 | Araq | what's missing for an aporia release? |
| 18:13:54 | dom96 | https://github.com/nimrod-code/Aporia/blob/master/todo.markdown |
| 18:14:28 | Araq | add please "find word" |
| 18:14:41 | Araq | a "find" that respects word boundaries |
| 18:14:56 | dom96 | "find word"? |
| 18:15:02 | dom96 | what would that do? |
| 18:15:21 | Araq | a "find" that respects word boundaries |
| 18:15:36 | Araq | if I search for "abc" |
| 18:15:50 | Araq | and in the text it says "abcdef" than it should not be found |
| 18:16:07 | Araq | if it says "abc(x, y)" |
| 18:16:12 | Araq | than that should be found |
| 18:16:35 | Araq | "Use threads when executing the compiler." hu? |
| 18:16:45 | Araq | you do that already, right? |
| 18:19:10 | dom96 | This is like the 3rd time you've asked me this lol |
| 18:19:18 | dom96 | I'm referring to suggest. |
| 18:19:28 | Araq | well? |
| 18:19:29 | dom96 | I don't use threads for that yet. |
| 18:20:27 | Araq | alright |
| 18:20:38 | Araq | suggest works better but still not good enough |
| 18:21:51 | Araq | [Suggest] Unknown module name for idgen |
| 18:21:53 | Araq | [Suggest] Unknown module name for options |
| 18:21:58 | Araq | what does that mean? |
| 18:24:51 | dom96 | Suggest didn't prefix the symbol with a module name |
| 18:25:16 | Araq | that means it is a module name ... |
| 18:25:30 | dom96 | well then the warning can be ignored. |
| 18:25:34 | dom96 | bbl, dinner. |
| 18:50:53 | dom96 | back |
| 18:51:30 | Araq | suggest may work well after I'm done with this ... |
| 18:51:50 | dom96 | good :) |
| 18:52:11 | Araq | it's actually not that hard |
| 18:52:22 | Araq | I wonder why I didn't do it properly in the first place |
| 18:53:48 | shevy | because you had no time to fix it properly back then |
| 18:53:49 | shevy | :> |
| 18:54:12 | Araq | unlikely |
| 18:54:30 | Araq | more likely: I didn't have the "fake objects" idea back then :P |
| 18:54:55 | Araq | to prevent cascading "nil access" bugs |
| 18:55:56 | dom96 | hrm, did you only start using the word "cascading" now, or did I never notice it before? |
| 18:56:15 | * | dom96 was only introduced to the word at work last week heh |
| 18:56:23 | dom96 | I'm guessing that's why I notice it now. |
| 18:56:24 | Araq | CSS? |
| 18:56:24 | shevy | cascading waterfalls |
| 18:58:48 | dom96 | Araq: NHibernate |
| 18:59:10 | Araq | never used that |
| 18:59:30 | Araq | ORMs sucks for big datasets |
| 18:59:48 | Araq | and if you have no big datasets, why do you use a DB in the first place? :P |
| 19:00:09 | Araq | (just kidding) |
| 19:00:17 | dom96 | Tell me about it. Someone got the cascading wrong and now I'm getting really strange errors. |
| 19:00:34 | Araq | er, what? |
| 19:01:26 | dom96 | http://ayende.com/blog/1890/nhibernate-cascades-the-different-between-all-all-delete-orphans-and-save-update |
| 19:01:57 | Araq | the DB should do the cascading deletes ... |
| 19:02:35 | Araq | if your ORM does it, you're doing it *wrong* :P |
| 19:02:55 | dom96 | I don't think it does. |
| 19:03:02 | dom96 | It just tells the DB how to do it. |
| 19:04:48 | dom96 | I don't really know how it works to be honest. |
| 19:04:53 | Araq | *you* should tell the DB how to do it :P |
| 19:05:21 | dom96 | All I know is that debugging it is a nightmare. |
| 19:05:26 | dom96 | In fact i'm quite it's impossible. |
| 19:05:29 | dom96 | All you can do is guess. |
| 19:05:49 | dom96 | *quite sure |
| 19:05:59 | Araq | that's why you shouldn't use an ORM |
| 19:06:06 | Araq | in theory they are cool |
| 19:06:17 | Araq | I never found one that works in practice though |
| 19:07:08 | dom96 | I suppose that depends on your definition of 'works' :P |
| 19:09:54 | Araq | yeah |
| 19:12:20 | dom96 | So Heroku now supports basically any language, I wonder if it's worth trying to get Nimrod working on it. |
| 19:14:12 | Araq | Heroku? |
| 19:14:42 | Araq | cloud application platform? |
| 19:15:36 | dom96 | yeah |
| 21:02:44 | Araq | suggest now works much better |
| 21:02:52 | Araq | should I push? :D |
| 21:04:31 | Araq | stupid question |
| 21:04:38 | dom96 | lol |
| 21:05:14 | Araq | though perhaps I should test it more ... |
| 21:05:20 | Araq | oh well it's already better |
| 21:05:35 | Araq | I'll let you find the issues :P |
| 21:06:24 | dom96 | oh how kind of you |
| 21:11:57 | Araq | btw --def should list all possible definitions |
| 21:12:05 | Araq | so it is 'goto definition' |
| 21:12:33 | Araq | except that it can be ambiguous for overloaded procs etc. |
| 21:13:53 | dom96 | hrm |
| 21:18:34 | dom96 | So yeah, you can safely now select Aporia as the default application for .nim files :D |
| 21:21:18 | dom96 | Well I just ran: nimrod idetools --track:aporia.nim,283,13 --def aporia.nim |
| 21:21:24 | dom96 | And it spit out a gazillion errors. |
| 21:21:53 | dom96 | Araq: ^ |
| 21:22:23 | Araq | well ... |
| 21:26:28 | dom96 | ... well? bug? |
| 21:29:02 | Araq | aporia is supposed to ignore these errors :P |
| 21:29:21 | fowl | i want a bool32 type |
| 21:29:57 | dom96 | Araq: Well... how am I suppose to figure this out when the compiler spams errors? |
| 21:30:19 | dom96 | fowl: what? :O |
| 21:32:08 | Araq | fowl: I know it's necessary for C interop |
| 21:32:15 | Araq | for now you can do: |
| 21:32:22 | Araq | type Bool32 = distinct int32 |
| 21:32:46 | Araq | converter toBool(b: bool32): bool {.inline.} = return int32(b) != 0 |
| 21:33:23 | Araq | but watch out, 'converter' are not as heavily tested as other features |
| 21:34:08 | fowl | oh interesting |
| 21:34:21 | fowl | i didnt know about converter |
| 21:34:55 | dom96 | Araq: I don't even see where it outputs the location of that proc. |
| 21:35:10 | fowl | this is what I want: type Bool32 = cint > bool which means treat as bool, store as cint |
| 21:35:16 | fowl | :> |
| 21:35:21 | Araq | fowl: I know |
| 21:35:59 | Araq | I happen to have created lots of C wrappers ;-) |
| 21:36:24 | Araq | dom96: I'll have a look |
| 21:37:24 | dom96 | thanks |
| 21:40:16 | fowl | how about type Bool32 {.size: sizeof(cint).} = enum false32 = 0, true32 = 1 |
| 21:40:38 | Araq | but then you need to write: |
| 21:40:41 | fowl | i dont have nimrod on windows so i cant test it |
| 21:40:53 | Araq | if abool32 == true32 |
| 21:41:01 | Araq | which sucks IMO ;-) |
| 21:41:25 | fowl | true |
| 21:43:06 | fowl | could you set false32 = false and true32= true? |
| 21:43:27 | Araq | yeah but only due to a bug in the compiler I think :-) |
| 21:43:34 | Araq | it'll still treat it as 0 and 1 |
| 21:43:55 | Araq | so the type problem remains the same |
| 21:44:22 | fowl | even with the {.size} pragma? |
| 21:44:55 | Araq | the 'if abool32 == true32' has nothing to do with size ... |
| 21:45:17 | Araq | the compiler treats enums and bool differently |
| 21:45:28 | Araq | you need: |
| 21:45:40 | Araq | type Bool32 {.size: sizeof(cint.} = bool |
| 21:45:52 | Araq | but I'm not sure the compiler supports that |
| 21:45:59 | Araq | you could test it though |
| 21:46:09 | Araq | may work by chance :-) |
| 21:50:57 | Araq | aporia.nim(577, 5) Error: undeclared field: 'setTabReorderable' |
| 21:51:12 | Araq | can't compile aporia :P |
| 21:52:21 | dom96 | oh yeah |
| 21:52:28 | dom96 | I added something to gtk2. |
| 21:52:31 | dom96 | let me commit that |
| 21:52:55 | Araq | yay, still 100% green |
| 21:53:02 | * | Trix[a]r_za is now known as Trixar_za |
| 21:53:15 | Araq | though the change was huge |
| 21:54:02 | Trixar_za | Oo |
| 21:54:18 | dom96 | oO |
| 21:54:24 | Araq | o.O |
| 21:56:35 | dom96 | Trixar_za: We attempted to fix Aporia in debug mode in SliTaz. |
| 21:56:43 | dom96 | And we failed heh :P |
| 21:56:46 | Trixar_za | lol |
| 21:56:49 | Trixar_za | Happens |
| 21:56:57 | Trixar_za | Does release mode work? |
| 21:57:03 | dom96 | I think so yes. |
| 21:57:06 | Araq | 'suggest' still sucks :-/ |
| 21:57:07 | Araq | ompiler/lexer.nim(507, 7) Error: internal error: SameValue |
| 21:57:16 | Araq | stupid internal errors |
| 21:57:27 | dom96 | :( |
| 21:57:52 | dom96 | Trixar_za: Check out the latest from git. I added some nice features, for example it runs as a single instance now :) |
| 21:58:34 | Trixar_za | And makes new tabs for everything you open? |
| 21:58:42 | dom96 | yep :D |
| 21:58:45 | Trixar_za | I probably have to update Nimrod too :P |
| 21:58:51 | dom96 | yes :P |
| 21:59:41 | Trixar_za | Hmmm, I just got offered a $9 per hour job on Odesk |
| 22:00:27 | dom96 | i'd take it. |
| 22:00:51 | Araq | hm 350 occurances of "internalError" |
| 22:01:05 | Araq | that's not good |
| 22:01:12 | dom96 | haha |
| 22:01:22 | Trixar_za | 75 ZAR per hour. Not bad. |
| 22:02:03 | Araq | oh wait I don't have to fix them if they're in the backend :-) |
| 22:02:51 | Trixar_za | Shit. That's like 600 bucks in my currency per day |
| 22:03:05 | Trixar_za | er, right, downloading nimrod and aporia |
| 22:03:05 | Trixar_za | :P |
| 22:03:11 | Araq | so it's only 178 occurances |
| 22:06:28 | * | Araq uses a quick hack instead |
| 22:07:18 | Trixar_za | ... it's bad that I know these links by memory |
| 22:07:54 | Trixar_za | https://github.com/Araq/Nimrod and https://github.com/nimrod-code/Aporia |
| 22:08:40 | dom96 | no no. It's good :) |
| 22:08:46 | Araq | by the time we wanted to move the compiler itself to 'nimrod-code' there were already packages pointing to Araq/Nimrod ... :P |
| 22:09:03 | Araq | plus I earn the fame :P |
| 22:09:51 | Trixar_za | Fame? They'll make movies about you. The person that made SkyNet possible :P |
| 22:09:55 | * | Trixar_za runs |
| 22:10:07 | fowl | i think i might bite the bullet and just install linux mint |
| 22:10:28 | Araq | fowl: ensure you get the xfce version then |
| 22:10:35 | Araq | the new gnome is unbearable |
| 22:10:55 | Araq | they think they're apple or something |
| 22:11:11 | fowl | ah i thoguht that mint was sticking with gnome2 |
| 22:11:24 | dom96 | Araq: Isn't that Ubuntu? i.e. unity? |
| 22:11:24 | Araq | hint: if I want macosx, I know where to find it ... seriously ... |
| 22:11:48 | Araq | hm maybe it was unity |
| 22:11:55 | Araq | I think it was gnome 3 though |
| 22:12:08 | Araq | they're both horrible |
| 22:12:17 | fowl | i think unity is a small addon to gnome-shell(3) |
| 22:12:29 | dom96 | IIRC linux mint forked gnome2 and started working on Cinnamon. |
| 22:12:32 | fowl | when i tried it i was so confused |
| 22:13:02 | dom96 | Actually i'm wrong, it's a fork of gnome3. |
| 22:13:20 | dom96 | Looks pretty nice though. |
| 22:13:31 | fowl | there's a fork of gnome2 called mate |
| 22:16:05 | dom96 | hrm, I think I will install Cinnamon to try it out |
| 22:18:12 | Trixar_za | Right, now just to leave it for a bit |
| 22:20:58 | dom96 | Cinnamon actually looks quite sexy :P |
| 22:22:24 | fowl | yea im going to try it too |
| 22:22:43 | shevy | Araq many years ago, a friend once saw gnome2 screenshots and said, hey looks like apple |
| 22:23:02 | shevy | gnome always has been without a vision on their own. no wonder they are falling apart now, egoism governs their developers |
| 22:24:32 | Araq | the real problem is: I don't like apple :-) |
| 22:24:36 | Nafai | anyone who thinks Gnome is like OS X isn't very observant |
| 22:24:52 | Nafai | even in its crappy state, it's infinitely more useable than OS X |
| 22:25:08 | Araq | that's true |
| 22:25:52 | shevy | the default gnome2 screenshots are much closer to os x than i.e. KDE 3 or KDE 4 ever was |
| 22:26:11 | Nafai | true |
| 22:26:29 | Nafai | but there really are only so many patterns of interaction |
| 22:26:54 | Nafai | then again, I've pretty much written my own desktop environment with xmonad and dzen and other tools |
| 22:27:24 | Trixar_za | shevy: Also don't forget that one of GNOME's developers wrote MONO |
| 22:27:40 | Trixar_za | Which is, surprise surprise, .NET C# for Linux |
| 22:27:47 | fowl | what's wrong with mono? when i had to run some c# stuff it was really handy |
| 22:30:22 | Trixar_za | It proves shevy's point |
| 22:33:59 | Trixar_za | lib/system.nim(1211, 17) Hint: conversion from TParserKind to itself is pointless [ConvFromXtoItselfNotNeeded] |
| 22:34:01 | Trixar_za | lol |
| 22:34:05 | Trixar_za | Love the new error |
| 22:34:44 | Araq | hm it's hardly new |
| 22:34:58 | Trixar_za | Well, it's popping up alot |
| 22:35:11 | Araq | what do you compile? |
| 22:35:22 | Trixar_za | Bootstrapping |
| 22:35:33 | Trixar_za | At the koch boot -d:release stage |
| 22:35:37 | Araq | should be gone after bootstrapping |
| 22:35:52 | Trixar_za | k |
| 22:39:03 | Araq | dom96: the new aporia often takes a while until it does syntax highlighting |
| 22:39:35 | dom96 | hrm. |
| 22:39:52 | dom96 | I know why. |
| 22:41:59 | dom96 | Actually. I don't get it. |
| 22:42:38 | dom96 | My guess it's because the socket is polled. |
| 22:43:00 | dom96 | I suppose the GtkSourceView uses idle time to highlight the code. |
| 22:43:06 | Araq | yeah |
| 22:43:18 | Araq | I can confirm this |
| 22:43:24 | Araq | it used to do that already |
| 22:43:37 | dom96 | huh? |
| 22:43:39 | Araq | but now it's worse |
| 22:43:51 | Trixar_za | parseopt always takes forever to do |
| 22:44:10 | dom96 | It only happens for me if I scroll really fast. |
| 22:44:20 | Araq | open a new file |
| 22:44:31 | Araq | and watch how long it takes until it's colored |
| 22:45:36 | Araq | Trixar_za: parseopt is not the problem |
| 22:45:45 | Araq | after parseopt the C compiler is invoked |
| 22:45:54 | Araq | that's what takes forever ;-) |
| 22:46:13 | Trixar_za | lol |
| 22:46:29 | Araq | I guess the compiler should output a message ... |
| 22:47:03 | dom96 | Araq: For me it's instantaneous. |
| 22:47:41 | Trixar_za | <--- slow computer |
| 22:47:59 | Trixar_za | Should be done in a minute though |
| 22:48:08 | Trixar_za | Normally takes about 10 minutes |
| 22:48:41 | dom96 | Trixar_za: You know nimbuild builds the compiler every commit. |
| 22:48:57 | dom96 | You could just grab the binaries from there ;) |
| 22:49:02 | Trixar_za | lol |
| 22:49:28 | Araq | dom96: csource generation failed |
| 22:49:31 | Araq | please |
| 22:49:43 | Araq | this needs to be on top of the page! |
| 22:49:57 | Araq | I have no idea when I broke that now |
| 22:49:58 | dom96 | it is! |
| 22:50:04 | dom96 | The C Sources button is orange! |
| 22:50:26 | dom96 | But don't worry I will redesign the page! |
| 22:50:30 | dom96 | when I get time |
| 22:50:57 | Araq | I see |
| 22:51:00 | Araq | lol |
| 22:51:12 | Araq | can't remember it ever being green ... |
| 22:51:20 | Trixar_za | Damn that Bertrum |
| 22:51:24 | dom96 | You don't pay attention :P |
| 22:51:34 | Araq | I'm a man :P |
| 22:51:35 | Trixar_za | Sorry, instant response when something breaks |
| 22:51:45 | dom96 | haha |
| 22:53:25 | dom96 | Araq: I will play around with gIdleAdd and gTimeoutAdd and the priorities to make it work faster. |
| 22:53:52 | dom96 | Seems I will have to compromise, and make opening files slower. i.e. make it poll the socket less often :P |
| 22:54:03 | dom96 | I guess that's why other applications are so slow at this. |
| 22:54:25 | Araq | polling also burns CPU time |
| 22:54:57 | Araq | and my battery life is already incredibly bad |
| 22:55:21 | Araq | when I run Linux on my notebook it lasts 1.5 hours |
| 22:55:36 | Araq | when I run windows it lasts 2.5 hours ... -.- |
| 22:55:39 | Trixar_za | Haven't you learn to use cpu stepping |
| 22:55:43 | * | Trixar_za shakes head |
| 22:55:53 | Araq | hu? |
| 22:56:28 | Araq | why should I have to tweak the settings? |
| 22:56:44 | Araq | oh alright, it's Linux after all |
| 22:57:05 | Trixar_za | Why should have have to install Codecs to play movies? |
| 22:57:17 | Trixar_za | To use a Windows reference :P |
| 22:57:43 | Trixar_za | As a tip, don't use SliTaz on some laptops |
| 22:57:55 | Trixar_za | It runs the CPU at a full power all the time |
| 22:57:56 | Trixar_za | lol |
| 22:58:04 | dom96 | :D |
| 22:58:05 | Trixar_za | See your Battery go quickly |
| 22:58:13 | dom96 | Editing files in Aporia is so awesome now :D |
| 22:58:23 | dom96 | Just double click, and straight into the editor. |
| 22:58:32 | Araq | let me try that |
| 22:58:38 | dom96 | I think I will make the polling interval configurable. |
| 22:59:06 | Araq | that's no excuse for a poor default value |
| 22:59:16 | Araq | you know |
| 22:59:16 | dom96 | yeah yeah |
| 22:59:18 | dom96 | I know |
| 22:59:24 | Araq | there are people out there |
| 22:59:27 | Trixar_za | Right now to make the new Aporia |
| 22:59:27 | Trixar_za | :p |
| 22:59:46 | Araq | that do not like to tweak aporia's polling interval to something sane :P |
| 23:00:01 | Araq | people unlike you and me |
| 23:00:08 | Araq | people that have a life :P |
| 23:00:31 | Trixar_za | Doesn't sound like anybody we know though |
| 23:00:38 | dom96 | lol |
| 23:01:09 | dom96 | I certainly do not know anyone that doesn't carefully inspect the preferences window of every single application they use. |
| 23:01:14 | dom96 | As well as their configuration files. |
| 23:01:36 | Trixar_za | But first, how do I make this polling sane? |
| 23:01:37 | Araq | ever carefully inspected firefox's options? :P |
| 23:01:37 | Trixar_za | :p |
| 23:01:49 | Araq | about:config |
| 23:01:55 | Araq | have fun |
| 23:02:22 | Trixar_za | Hell no, my firefox options are perfect |
| 23:02:34 | Trixar_za | I optimized the shit out of it |
| 23:02:35 | Trixar_za | :p |
| 23:02:53 | Trixar_za | ... ok, not making me sound like less of a geek |
| 23:04:05 | Trixar_za | lol |
| 23:04:09 | Trixar_za | Aporia doesn't compile |
| 23:04:10 | Trixar_za | :P |
| 23:04:12 | dom96 | Well Aporia doesn't seem to be using that much CPU. |
| 23:04:23 | dom96 | Trixar_za: What's the error? :O |
| 23:04:41 | Trixar_za | home/brenton/Aporia/aporia.nim(968, 5) Error: ambiguous identifier: 'DELETE' -- use a qualifier |
| 23:05:55 | dom96 | how does it compile for me then? 0_o |
| 23:06:22 | Araq | *cough* I'm afraid I know why ... |
| 23:06:33 | Araq | Trixar_za: 32 or 64bit? |
| 23:06:39 | Araq | dom96: same question |
| 23:06:43 | dom96 | 64 |
| 23:07:10 | Trixar_za | http://snipurl.com/24hguoy |
| 23:07:13 | Trixar_za | The whole error |
| 23:07:15 | Trixar_za | and 32bit |
| 23:07:53 | Araq | yummy compiler bug |
| 23:15:38 | Araq | well, dom96 fix aporia :P |
| 23:15:48 | dom96 | I am |
| 23:15:49 | Araq | use a qualifier for DELETE |
| 23:15:55 | dom96 | oh right |
| 23:16:09 | dom96 | well hey, why does it work on 64bit? |
| 23:16:11 | Araq | and I will fix the discrepancy in the compiler |
| 23:16:20 | Araq | you don't want to know |
| 23:17:23 | * | Trixar_za smells "It ignores it on 64bit, but not on 32bit" |
| 23:17:43 | Araq | it picks one symbol at random |
| 23:17:55 | Araq | happens to work on 64 bit |
| 23:18:00 | Araq | fails on 32 bit |
| 23:19:08 | Trixar_za | lol |
| 23:19:44 | Trixar_za | ... |
| 23:19:45 | Trixar_za | Weird |
| 23:19:49 | Trixar_za | This just came on: |
| 23:19:51 | * | Trixar_za is listening to: Everything You Know Is Wrong by Weird Al Yankovich |
| 23:25:16 | dom96 | There. |
| 23:25:54 | dom96 | Araq: That should get rid of that ambiguity and the slow highlighting bug. |
| 23:26:10 | Araq | there |
| 23:26:18 | Araq | it barely works |
| 23:26:23 | dom96 | However, opening files in the file manager has a bit of a delay now. |
| 23:26:26 | Araq | but I have to sleep now |
| 23:27:02 | dom96 | Yeah, i'll be going to sleep soon too. |
| 23:27:09 | dom96 | Trixar_za: Got it working now? |
| 23:27:34 | Araq | good night |
| 23:27:44 | dom96 | see ya |
| 23:29:02 | Trixar_za | I'll check now |
| 23:36:03 | * | dom96 needs to sleep soon too |
| 23:36:07 | dom96 | So please hurry :P |
| 23:38:27 | Trixar_za | lol |
| 23:40:45 | Trixar_za | Yeah, I'm going to wait until tomorrow to redo this |
| 23:40:48 | Trixar_za | Night dom96 |
| 23:40:48 | Trixar_za | :p |
| 23:44:16 | dom96 | Alright. |
| 23:44:18 | dom96 | Good night |
| 23:53:58 | * | Trixar_za is now known as Trix[a]r_za |