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 |