00:20:27 | * | Trixar_za is now known as Trix[a]r_za |
01:50:06 | * | q66 quit (Quit: Leaving..) |
04:04:06 | * | Bosc0p quit (Ping timeout: 268 seconds) |
04:05:27 | * | Boscop quit (Ping timeout: 240 seconds) |
07:43:39 | * | silven quit (*.net *.split) |
07:44:54 | * | silven joined #nimrod |
07:58:15 | * | dom96_ joined #nimrod |
08:33:19 | * | XAMPP quit (Ping timeout: 246 seconds) |
10:10:45 | * | q66 joined #nimrod |
10:22:21 | * | fowl is now known as fowlskdfjs |
10:37:53 | * | Araq_ joined #nimrod |
11:20:10 | * | Araq_ quit (Read error: Connection timed out) |
11:22:16 | * | Araq_ joined #nimrod |
11:33:07 | * | Araq_ quit (Quit: ChatZilla 0.9.88.2 [Firefox 14.0.1/20120713134347]) |
11:33:18 | * | dom96_ quit (Quit: ChatZilla 0.9.88.2 [Firefox 14.0.1/20120713134347]) |
13:54:07 | * | Araq_ joined #nimrod |
13:57:14 | * | Araq_ quit (Client Quit) |
14:03:17 | * | Trix[a]r_za is now known as Trixar_za |
14:16:10 | shevy | 478K Aug 7 16:17 DOCUMENTATION.tar.bz2 |
14:16:17 | shevy | this is all my local ruby docu |
14:16:37 | shevy | when extracted, it is total 1.3M |
14:16:50 | shevy | around 11500 lines |
15:19:19 | * | Boscop joined #nimrod |
15:26:28 | * | shevy quit (Ping timeout: 246 seconds) |
15:40:21 | * | shevy2 joined #nimrod |
15:49:19 | * | shevy2 is now known as shevy |
15:50:14 | * | XAMPP joined #nimrod |
16:04:12 | Araq | 11500 lines are 1.3M? o.O |
16:06:43 | * | Trixar_za shrugs |
16:06:58 | Trixar_za | Depends on the encoding I guess |
16:08:03 | Trixar_za | Example: Making a Unix utf-8 txt file a Unicode dos txt file bloated it by double |
16:34:12 | shevy | Araq hmm |
16:34:38 | shevy | aha |
16:34:43 | shevy | there was a .pdf file in that dir too |
16:34:49 | shevy | so it's a bit less than 1.0M |
16:40:17 | * | apriori__ joined #nimrod |
17:46:21 | dom96 | hello |
17:48:38 | apriori__ | hi dom96 |
17:51:01 | dom96 | hello apriori__ |
17:51:02 | dom96 | What's new? |
18:00:28 | apriori__ | hi dom96 |
18:00:44 | apriori__ | ohm, whatever. enough hi's ...:) |
18:09:12 | * | Trixar_za is now known as Trix[a]r_za |
18:25:59 | apriori__ | how would I define an unare minus operator for a vector type? (actually 2-elements tuple) |
18:26:10 | apriori__ | *unary minus |
18:27:06 | dom96 | proc `-`(v: TVector) = ? |
18:27:19 | * | dom96 isn't sure if that would work |
18:27:32 | apriori__ | proc `-` (a: var v2df) = |
18:27:34 | apriori__ | a.x *= -1.0 |
18:27:35 | apriori__ | a.y *= -1.0 |
18:27:39 | apriori__ | bla.nim(158, 14) Error: expression '- pxpy' has no type (or is ambiguous) |
18:27:54 | apriori__ | with pxpy of type v2df |
18:28:37 | dom96 | Are you trying to assign it to something? |
18:28:44 | apriori__ | yes |
18:28:51 | dom96 | Well your proc doesn't return anything |
18:29:05 | apriori__ | vxvy = - pxpy * some_float |
18:29:13 | apriori__ | oh o_o |
18:30:03 | dom96 | :P |
18:30:04 | apriori__ | k, compiling |
18:30:04 | apriori__ | thanks |
18:30:08 | dom96 | np |
18:37:30 | dom96 | Araq: You there? |
18:41:27 | Araq | yeah |
18:42:54 | dom96 | Araq: What's up? Working on anything? |
18:43:14 | shevy | good! |
18:43:15 | shevy | he isn't! |
18:43:37 | dom96 | hrm? |
18:44:00 | dom96 | shevy: Writing Nimrod yet? |
18:46:25 | shevy | haha |
18:46:32 | shevy | I am on level 0, with 12 XP |
18:46:35 | shevy | I need 88 more XP |
18:46:49 | Araq | dom96: working on closures and first class iterators |
18:46:57 | shevy | my grand plan is to solely use aporia when I write nimrod code |
18:47:01 | Araq | and once that's complete, I will hunt bugs ... |
18:47:07 | Araq | and then 0.9.0 is ready :-/ |
18:47:13 | dom96 | Araq: Cool |
18:47:19 | Araq | not really |
18:47:27 | dom96 | Not until Aporia is ready and babel :P |
18:47:27 | Araq | it always takes too long |
18:49:34 | dom96 | And I'm not doing a very good job at working on those. |
18:49:51 | dom96 | shevy: Yes. Do use Aporia :) |
18:50:13 | dom96 | Soon everyone will use it and I shall activate EVIL PLAN X DELTA ALPHA *cough* |
18:51:49 | shevy | better for my brain so I dont always stick to my old editor |
18:52:05 | Araq | aporia now has intellisense (TM) ;-) |
18:52:15 | Araq | no need to learn anything anymore |
18:52:26 | Araq | the IDE will tell you how to program ... |
18:52:33 | dom96 | Don't listen to him. It's not ready yet. |
18:52:46 | dom96 | Then I will get lots of bug reports... |
18:53:09 | shevy | "nimrod install aporia" |
18:53:20 | shevy | Error: invalid command: 'install' |
18:53:21 | shevy | :( |
18:53:52 | dom96 | heh |
18:55:49 | Araq | in fact ... I let aporia finish the compiler nowadays |
18:56:12 | Araq | and finally have the time for this: http://www.youtube.com/watch?v=fqs9DYisSsg |
18:56:18 | Araq | ;-9 |
18:56:44 | dom96 | you so silly |
18:58:34 | Araq | no, you're wrong |
19:47:08 | apriori__ | btw... |
19:47:33 | apriori__ | could you give me an example where it would actually make any sense not to use range (0, n) for array indices? |
19:47:39 | apriori__ | I really wondered about that feature |
19:47:57 | Araq | for x in myEnumA .. myEnumZ |
19:48:10 | Araq | for x in 'A' .. 'Z' |
19:48:11 | apriori__ | I meant for declarating arrays |
19:48:19 | apriori__ | like type bla = array[0..5, int] |
19:48:36 | Araq | a..b means [a..b] consistently in Nimrod |
19:48:45 | Araq | not [a..b) |
19:49:01 | Araq | as then you'd need myEnumLastValue + 1 which doesn't exist .. |
19:49:03 | apriori__ | good.. makes even more sense |
19:49:15 | apriori__ | I guess thats the reason for high() vs len() |
19:49:25 | apriori__ | yeah |
19:49:35 | Araq | there is also an unary < |
19:49:40 | Araq | for x in 0 .. <3 |
19:49:49 | apriori__ | yeah, but.. type bla = arrays[4..19, int] should also work |
19:49:56 | apriori__ | and I find that case a bit strange.. |
19:50:04 | Araq | why? |
19:50:09 | Araq | it's useful for enums |
19:50:12 | apriori__ | yeah, for enums |
19:50:29 | apriori__ | but never saw any use of it without enums.. like a shifted array or something |
19:56:05 | Araq | there are some algorithms that require array[-1 .. n] but I can't recall a concrete example ;-) |
19:56:24 | apriori__ | well |
19:56:26 | apriori__ | some integration stuff |
19:56:40 | Araq | anyway the language has the abstraction of an "ordinal" type |
19:56:58 | apriori__ | yeah, well.. it just takes a bit to get used to |
19:57:17 | Araq | I would have to special case 'int' in the compiler to forbid it ... |
19:57:33 | Araq | but I see no reason to do that |
19:58:41 | apriori__ | I'm actually quite impressed.. I'm currently porting a language shootout example (done in C) to nimrod.. although currently I got junk results, its already 7 secs faster (vs 27).. thats impressive |
19:58:52 | apriori__ | question is.. what causes the junk ;) |
19:59:01 | apriori__ | iteration count etc. is the same |
19:59:40 | apriori__ | might not be the "sanest use", but definetly suitable to get more used to nimrod |
19:59:47 | Araq | nice |
19:59:58 | Araq | does it involve floating point? |
20:00:03 | apriori__ | yes |
20:00:05 | apriori__ | heavily |
20:00:09 | apriori__ | the funny thing is... |
20:00:16 | apriori__ | the C version even uses sse3 instructions |
20:00:22 | apriori__ | while my nimrod version doesn't |
20:00:47 | apriori__ | well, ok, I'd need to disassemble to verify.. but at least I don't use them explicitly |
20:01:21 | Araq | yeah well |
20:01:35 | Araq | C compilers got good at these things |
20:01:52 | Araq | not "great", but good |
20:01:55 | apriori__ | yeah, I assume.. since I work on tuples, it might auto vectorize that stuff |
20:12:24 | * | reactormonk joined #nimrod |
20:12:43 | reactormonk | Araq: how would you solve the problem php has with the turkish locale - where E and i is the same vowel |
20:13:24 | Araq | hi reactormonk |
20:13:49 | Araq | glad to meet you |
20:14:06 | Araq | I spent some lonely nights thinking about PHP's turkish locale problems |
20:14:19 | Araq | and came to the conclusion: |
20:14:24 | Araq | I don't know ;-) |
20:16:23 | Araq | what's the problem? the comparison function needs to know the language to do its job properly |
20:17:18 | Araq | it's difficult for spanish too iirc |
20:17:41 | Araq | and for german Ü should act like UE |
20:18:02 | Araq | well it used to be that way, I think it's now often treated as U too |
20:35:12 | dom96 | interesting problems |
20:47:49 | apriori__ | Araq: no junk now and 21.1 vs 26.7 secs |
20:48:31 | Araq | what was the reason for the junk? |
20:48:43 | apriori__ | some errors in an operator |
20:48:57 | Araq | your bug or stdlib bug? |
20:49:15 | apriori__ | wait a sec |
20:49:17 | apriori__ | double checking |
20:49:48 | apriori__ | yeah, my bug |
20:55:07 | * | XAMPP quit (Quit: Leaving) |
20:56:23 | dom96 | Wait. Nimrod is faster than C? |
20:56:41 | apriori__ | http://shootout.alioth.debian.org/u64q/program.php?test=nbody&lang=gcc&id=5 |
20:57:15 | apriori__ | versus: http://pastebin.com/5eq9q7Kj |
20:57:28 | apriori__ | its pretty much an 1:1 translation |
20:58:16 | dom96 | And the Nimrod version is faster? |
20:58:21 | apriori__ | yes |
20:58:37 | dom96 | Impressive |
20:59:02 | dom96 | We should submit Nimrod to shootout :D |
20:59:26 | apriori__ | currently I try to squeeze out even more |
20:59:41 | apriori__ | the C version explicitly uses sse3.. I try to do the same in nimrod |
21:00:45 | dom96 | cool |
21:10:21 | apriori__ | Araq: happen to be here? |
21:10:42 | apriori__ | do I need to active anything in order to use sse3? or is it not possible, yet? |
21:10:48 | apriori__ | like, using inline assembler |
21:13:15 | Araq | apriori__: you can use "nimrod"s inline assembler |
21:13:20 | reactormonk | Araq: former Tasser ;-) |
21:13:33 | Araq | but I'd wrap the GCC intrinsics |
21:13:43 | Araq | and you them |
21:13:46 | Araq | *use |
21:13:57 | Araq | aww ... |
21:13:59 | apriori__ | yeah, currently its also a bit curiosity ;) |
21:14:09 | Araq | I thought it was someone new |
21:14:22 | dom96 | reactormonk: Hah! My suspicions were correct. That 'tass' as your username gave it away heh. |
21:14:35 | apriori__ | either I'm stupid.. or.. |
21:14:37 | apriori__ | http://pastebin.com/rpyE7hmY |
21:14:41 | apriori__ | that one doesn't want to work |
21:15:04 | apriori__ | bla.c:236:10: error: expected string literal before ‘movupd |
21:15:11 | reactormonk | dom96: ^^ |
21:15:28 | Araq | apriori__: get rid of 'noStackFrame' to get a 'result' variable |
21:15:50 | reactormonk | dom96: now with a new hostmask :-) |
21:16:02 | apriori__ | Araq: still same error |
21:16:10 | dom96 | reactormonk: Why the change in nickname? |
21:16:18 | Araq | oh and you need to do: |
21:16:22 | Araq | asm """ |
21:16:22 | apriori__ | also added --passc:-msse3 |
21:16:27 | reactormonk | dom96: unification n stuff - twitter is @reactormonk |
21:16:29 | Araq | "mov ..." |
21:16:39 | Araq | "next command \n" |
21:16:49 | Araq | you need additional quotes :-/ |
21:16:59 | apriori__ | your example tells otherwise: http://nimrod-code.org/manual.html#217 |
21:17:04 | apriori__ | and that even worked |
21:17:15 | dom96 | reactormonk: I see. |
21:17:23 | Araq | well the example uses visual C++ |
21:17:39 | apriori__ | maybe.. |
21:17:42 | Araq | which doesn't require it's asm to be in string literals |
21:17:44 | apriori__ | but I even copied that code over |
21:18:03 | Araq | strange |
21:18:24 | apriori__ | hrm |
21:18:35 | apriori__ | bla.c:238: Error: too many memory references for `movupd' |
21:18:50 | apriori__ | when adding additional quotes |
21:19:16 | Araq | btw please take a look at lib/system/arithm.nim |
21:19:22 | Araq | line 177 |
21:19:24 | apriori__ | on it |
21:19:38 | Araq | I never got that to work with GCC ... |
21:19:50 | Araq | in fact, I never got any assembler code to work with GCC |
21:20:15 | apriori__ | guess I need to search some old code... |
21:20:22 | Araq | there is a handy ".intel_syntax noprefix" for GCC |
21:21:13 | apriori__ | oh no.. |
21:21:25 | apriori__ | now I remember the pain with the inline gcc syntax.. |
21:21:31 | Araq | :P |
21:21:35 | Araq | indeed |
21:21:35 | apriori__ | like: __asm__ __volatile__ ("rol %0" : "=r" (RetChar) : "0" (chr)); |
21:22:00 | Araq | it's actually a very good idea to tell the code gen about clobbed registers and stuff |
21:22:20 | Araq | except that ther e is no reason the programmer should have to do that ... |
21:22:49 | apriori__ | what happens with the asm code actually? |
21:22:55 | apriori__ | is it just fed to the respective compilers asm? |
21:22:59 | Araq | yeah |
21:23:10 | apriori__ | so its compiler dependant :( |
21:23:15 | Araq | true |
21:23:37 | Araq | the `ident` stuff is processed however so that the mangled names are used |
21:24:17 | apriori__ | grr.. |
21:24:30 | Araq | the problem is that you can't really pass it to some external assembler and link |
21:24:34 | apriori__ | why the fuck didnt they orientate at nasm or somthing |
21:24:58 | Araq | as the inline assemblers always have some very nice features |
21:25:10 | Araq | like knowing about field offsets |
21:25:16 | apriori__ | yeah, maybe |
21:25:28 | apriori__ | doesn't excuse for horrible syntax for even simple use cases :( |
21:25:39 | Araq | well as I said, try |
21:25:41 | Araq | ".intel_syntax noprefix" |
21:26:04 | apriori__ | is that like a global flag? |
21:26:16 | apriori__ | because in that example you set intel syntax and then att syntax |
21:26:53 | apriori__ | anyway.. |
21:26:55 | apriori__ | I just gonna find out |
21:27:43 | Araq | er no ... |
21:27:59 | Araq | in that example I didn't use intel_syntax |
21:28:07 | apriori__ | yeah, noticed |
21:28:15 | Araq | it's in a comment as a reminder for myself to try that |
21:43:25 | reactormonk | Araq: http://sprunge.us/eUZf # output of a 'char' |
21:44:02 | reactormonk | looks like a good way to go for me |
21:44:20 | Araq | reactormonk: check the unidecode module |
21:46:52 | reactormonk | no unicode support built-in? :-) |
21:47:14 | Araq | there is a unicode module too |
21:47:24 | Araq | with a comparator |
21:47:31 | Araq | but it's not language specific |
21:51:38 | * | Trix[a]r_za is now known as Trixar_za |
21:53:20 | apriori__ | Araq: so you said, you didn't get any asm code running with gcc |
21:53:36 | Araq | yeah |
21:53:49 | apriori__ | did you also run into the issue with nimrod variables? http://pastebin.com/CgjwS9NA |
21:53:52 | apriori__ | error: http://pastebin.com/WG88hv4chttp://pastebin.com/WG88hv4c |
21:53:55 | apriori__ | oh damn |
21:53:56 | apriori__ | http://pastebin.com/WG88hv4c |
21:54:49 | Araq | hrm that's likely a new bug zahary introduced with his "no name mangling" patch ... |
21:55:17 | apriori__ | k, jumping back to latest release |
21:55:28 | Trixar_za | http://biebian.sourceforge.net/ |
21:56:15 | Araq | just what the world needs |
21:56:27 | Araq | another linux distribution |
21:56:32 | shevy | hehe |
21:56:37 | apriori__ | Araq: come on |
21:56:40 | apriori__ | we only have 500+ |
21:56:42 | apriori__ | we definetly need more |
21:56:45 | Trixar_za | A working joke Linux |
21:56:47 | Trixar_za | :P |
21:56:50 | Araq | yeah |
21:57:02 | dom96 | Trixar_za: I'm switching now! |
21:57:03 | Araq | we also need more programming languages ... |
21:57:16 | shevy | I'd never waste any second of my life wasting MAKING such a distribution, even if the whole idea is a joke. it's still a waste of time |
21:57:16 | dom96 | Arch Linux is not good enough when you can have Bieber on your desktop! |
21:57:37 | shevy | Araq, we need more good programming languages indeed :) |
21:57:49 | apriori__ | well, I worked for a distribution, once |
21:57:53 | apriori__ | called "yoper" |
21:57:53 | Araq | I disagree |
21:58:00 | shevy | we all have our dark secrets in the past apriori__ |
21:58:06 | Araq | we only need 1 programming language |
21:58:07 | Trixar_za | He has about 29 Million followers on Twitter. Most of them teenage girls |
21:58:09 | apriori__ | and while it definetly was in the end useless work... I learned a hell lot |
21:58:10 | Araq | :P |
21:58:10 | Trixar_za | They wouldn't care |
21:58:13 | Trixar_za | They'd use it |
21:58:13 | Trixar_za | lol |
21:58:28 | shevy | Araq, yeah but then it must be like C + UNIX. that was a big ecosystem boost |
21:58:52 | shevy | if scripting languages could just be as fast as C ... |
21:58:53 | Trixar_za | And I only know this because of the interview that made me google 'bieber linux' |
21:59:00 | apriori__ | Araq: in 0.8.14: http://pastebin.com/BfktrNma |
21:59:07 | Trixar_za | And it was instant hilarity |
21:59:44 | apriori__ | I mean.. If I knew it worked some day, I could just bisect the bug |
21:59:48 | Araq | oh don't give me that C+UNIX+ scripting language bullshit |
22:00:08 | Araq | Nimrod is already better at scripting than Python IMO |
22:00:18 | * | reactormonk quit (Ping timeout: 276 seconds) |
22:00:25 | Araq | as that's mostly an issue of API design |
22:00:41 | apriori__ | well, actually porting that C code was quite a satisfying experience... |
22:00:55 | apriori__ | (the language shootout thingy) |
22:01:21 | apriori__ | I mean.. it might sound ridiculous.. but I love the tuple support ;) |
22:01:22 | Araq | :-) |
22:01:34 | Araq | thanks |
22:02:00 | apriori__ | so, any idea about the last error, Araq? |
22:02:15 | apriori__ | or do I have to give up? :/ |
22:02:25 | Araq | pastebin your nimrod code too please |
22:02:26 | Trixar_za | Nimrod IS a Scripting Language in the purest/original sense of the description |
22:02:36 | Trixar_za | It's just not Interpreted |
22:02:43 | apriori__ | http://pastebin.com/CgjwS9NA |
22:02:56 | apriori__ | oh well, the complete code |
22:03:08 | apriori__ | http://pastebin.com/LKZHwaxD |
22:03:09 | Trixar_za | The Perl people have been convincing me to not use Scripting Language when I mean Interpretive Language |
22:03:42 | apriori__ | perl first convinced me never to use perl again for anything more complex than string generation stuff |
22:03:49 | shevy | hehe |
22:04:19 | shevy | I dunno. I never liked perl syntax |
22:04:23 | shevy | I was more productive with PHP :\ |
22:04:34 | Araq | I stopped learning perl when I discovered that it can't even get parameter passing right |
22:04:57 | Araq | @(x, y, z) = shift @_ |
22:05:02 | apriori__ | python on the other hand was quite an impressive experience.. in only 1 day without ever seeing that language before I finished an rpm .spec file parser, which recursively parsed an directly tree and created a cache of all the info in it |
22:05:30 | apriori__ | well, I really hate the damn cryptic perl syntax |
22:05:45 | Araq | I used to hate it too |
22:05:55 | Araq | nowadays I find it amusing |
22:06:06 | apriori__ | "amusing" is exact, yes... |
22:06:49 | apriori__ | that lead to several competitions.. of "code obfuscation" |
22:06:59 | apriori__ | and those are definetly funny to read |
22:07:35 | shevy | I dunno, I hate obfuscation |
22:07:42 | shevy | I think simplicity is a more noble goal than complexity |
22:08:12 | shevy | in ruby there are too many ways to convey the same idea, and many of these ways are ugly |
22:08:12 | apriori__ | shevy: its done just for fun |
22:08:21 | apriori__ | and to show how perl sucks :P |
22:08:29 | apriori__ | oh wait.. |
22:08:37 | Trixar_za | Hey, it's not a bug, it's an accidental feature! |
22:08:46 | Trixar_za | To Paraphrase Larry Wall |
22:09:08 | shevy | larry is cool |
22:09:32 | apriori__ | you definetly need to see that link..https://www.destroyallsoftware.com/talks/wat |
22:09:41 | apriori__ | grr... : https://www.destroyallsoftware.com/talks/wat |
22:10:32 | Araq | already know it |
22:10:41 | Trixar_za | ? |
22:10:43 | apriori__ | hehe |
22:10:43 | Araq | apriori__: the generated C code looks correct |
22:11:04 | apriori__ | yeah, but the question is, why do I get linker errors? |
22:11:09 | Araq | well I do too |
22:11:24 | Araq | I think you might need to do |
22:11:32 | Araq | "mov _c, %eax" |
22:13:19 | apriori__ | well, lets continue the hate series... |
22:13:22 | apriori__ | I definetly hate java script |
22:13:26 | apriori__ | and also java |
22:13:34 | apriori__ | Araq: no change |
22:13:43 | apriori__ | Araq: need to test with nimrod git, though |
22:13:52 | Araq | no |
22:13:55 | Araq | I did |
22:13:57 | Araq | same |
22:14:00 | apriori__ | k |
22:14:29 | Araq | obviously the inline assembler does refer to some 'c' that is treated like a global symbol |
22:14:30 | shevy | I'd like if we could use different languages than javascript |
22:14:44 | Araq | shevy: you can compile nimrod to javascript ... |
22:14:59 | shevy | cool |
22:15:11 | Araq | exceptions don't work yet but I tested it with some weird stuff and it worked suprisingly well already |
22:15:15 | apriori__ | at work I came into contact (yes, I put it that way for a reason) with WebGL and javascript |
22:15:20 | dom96 | This is quite interesting, have you guys seen this? http://lars-lab.jpl.nasa.gov/JPL_Coding_Standard_C.pdf |
22:15:24 | apriori__ | its beyond imagination how it sucks.. |
22:15:48 | Trixar_za | Hey Araq, weird question, but can Nimrod's compiler generate C code you can compile using a Makefile ? |
22:16:23 | dom96 | Trixar_za: A makefile is essentially a sh file, so of course. |
22:16:31 | dom96 | Just need to write the Makefile. |
22:17:06 | Araq | use niminst to generate a sh file instead |
22:17:18 | Araq | make is a bad joke that should have died decades ago |
22:17:24 | Araq | the tab vs space issue is a bug |
22:17:37 | Araq | that never got fixed as 'make' had 8 users back then already |
22:17:49 | Araq | I'm not kidding |
22:17:51 | apriori__ | you got to be kidding |
22:18:11 | apriori__ | thats like the c++ standard consortium times 1 million |
22:18:18 | apriori__ | and even that sucks big time |
22:19:52 | apriori__ | dom96: rule 7 - thread safety is funny |
22:22:15 | shevy | tabs are evil |
22:23:24 | dom96 | I love the use of the word 'havoc' heh. |
22:23:48 | dom96 | Yeah, i'm sure very bad things would happen if a deadlock occurred. $2.5 billion down the drain. |
22:24:22 | apriori__ | Araq: definetly not bad.. the nimrod code is auto vectorized by gcc, I just checked via objdump |
22:25:02 | apriori__ | even that kind of stupid variant of sqrtpd in my case (manually creating a tuple of sqrts) is |
22:26:18 | Araq | nice |
22:26:35 | Araq | dom96: deadlocks are easy to avoid |
22:26:52 | Araq | I know at least 3 ways to deal with them |
22:27:05 | Araq | the hard part of concurrency is races |
22:27:11 | apriori__ | oh hell, yeah.. |
22:27:22 | apriori__ | went into dozens of them the last year at university |
22:27:27 | Araq | and transactional memory doesn't help with these at all |
22:27:38 | apriori__ | sometimes stupid mistakes.. sometimes.. just really unpredictable stuff |
22:27:58 | Araq | which is why I lost interest in transactional memory completely |
22:33:50 | Araq | from the Unix hater's handbook: |
22:33:54 | Araq | "Way back in the early 1980s, |
22:33:56 | Araq | before each of the bugs in Unix had such a large cult following, a |
22:33:57 | Araq | programmer at BBN actually fixed the bug in Berkeley’s make that |
22:33:59 | Araq | requires starting rule lines with tab characters instead of any whitespace. It |
22:34:00 | Araq | wasn’t a hard fix—just a few lines of code. |
22:34:02 | Araq | Like any group of responsible citizens, the hackers at BBN sent the patch |
22:34:03 | Araq | back to Berkeley so the fix could be incorporated into the master Unix |
22:34:05 | Araq | sources. A year later, Berkeley released a new version of Unix with the |
22:34:06 | Araq | make bug still there." |
22:34:30 | Araq | "According to legend, Stu Feldman didn’t fix make’s syntax, after he real- |
22:34:32 | Araq | ized that the syntax was broken, because he already had 10 users" |
22:34:34 | Araq | ;-) |
22:34:39 | Araq | so I'm not entirely correct |
22:35:08 | apriori__ | 2 users off.. |
22:35:11 | apriori__ | shame on you |
22:35:12 | apriori__ | :P |
22:36:12 | dom96 | Good night guys |
22:36:14 | Araq | and it's just a legend ;-) |
22:36:22 | Araq | good night, dom96 |
22:36:22 | apriori__ | yeah |
22:36:29 | apriori__ | night, dom96 |
22:50:42 | Trixar_za | Where does Duck Typing come from? |
22:51:35 | Trixar_za | Oh |
22:51:41 | Trixar_za | It's a Dynamic Typing Model |
22:51:48 | Trixar_za | And I think I get the Analogy |
22:52:11 | Trixar_za | If it acts like a String and it looks like a String, it's Probably a String. |
22:54:30 | Araq | stringly typed code, hu? |
22:55:53 | Trixar_za | Been waiting long to use that pun? |
22:57:10 | * | Trixar_za shakes head |
22:57:31 | Trixar_za | I never knew what was defined as static or dynamic typing |
22:57:40 | Trixar_za | And it's just when you check the types |
22:57:48 | Trixar_za | compile-time or run-time |
22:58:11 | Trixar_za | So I call bullshit on Vala |
23:00:39 | Araq | what? |
23:00:53 | Araq | what's that to do with vala? |
23:01:23 | Trixar_za | If I remember correctly it says it said it was dynamically typed |
23:01:44 | Trixar_za | Does it really run the type checking at run-time? |
23:04:13 | Trixar_za | nevermind, it can use other language's dynamic typing |
23:04:22 | Trixar_za | but it's statically typed |
23:04:23 | Trixar_za | :P |
23:07:32 | Trixar_za | Also the first programmer was a woman? |
23:09:45 | Araq | Ada Lovelace |
23:10:07 | Araq | but back than computers didn't exist |
23:12:33 | Trixar_za | True |
23:12:39 | Trixar_za | Just read up on her |
23:14:15 | Trixar_za | Considering the person that wrote the handbook and taught my Pascal programming class was a woman, I'm surprised she didn't mention it |
23:14:24 | Trixar_za | Then again, she wasn't very forward thinking |
23:14:37 | Trixar_za | The teacher, not Ada |
23:14:37 | apriori__ | night guys |
23:14:45 | Trixar_za | Night apriori__ |
23:14:55 | * | apriori__ quit (Quit: Konversation terminated!) |
23:25:52 | Trixar_za | That reminds me |
23:27:00 | Trixar_za | Oh, you include gcc for Windows |
23:28:09 | * | fowlskdfjs is now known as fowl |
23:28:56 | Araq | good night |
23:30:15 | Trixar_za | Good Night Araq |
23:30:30 | * | Trixar_za downloads the Windows version |