<<23-04-2013>>

00:06:20*q66 quit (Remote host closed the connection)
00:51:20fowlAraq: heres an example of how it would work, in ruby with metaprogramming https://gist.github.com/fowlmouth/5439848
01:29:26OrionPKAraq: is that new constructor syntax in the last stable?
01:56:31fowlOrionPK: not in 0.9.0
01:57:06fowlmost people run from HEAD
02:31:50*fowl quit (Read error: Connection reset by peer)
03:41:58*fowl joined #nimrod
03:42:03*Madison left #nimrod ("Leaving")
04:37:45*OrionPK quit (Quit: Leaving)
05:25:29*Trix[a]r_za is now known as Trixar_za
06:57:32*Trixar_za is now known as Trix[a]r_za
07:18:53*fowl quit (Ping timeout: 240 seconds)
07:19:20*fowl joined #nimrod
07:57:46*xcombelle joined #nimrod
11:44:10*q66 joined #nimrod
11:44:56NimBotAraq/Nimrod 2c8fe3e Araq [+0 ±2 -0]: fixes #395
15:06:47dom96hi
15:07:44Araqhi dom96
15:10:37dom96sup?
15:12:46Araqnot much, I'm fixing bugs
15:18:07dom96great
15:19:52NimBotAraq/Nimrod defe341 Araq [+1 ±0 -1]: added distinct array test
15:19:52NimBotAraq/Nimrod 7aa2b3e Araq [+0 ±1 -0]: fixes #394
15:30:41*xcombelle_ joined #nimrod
15:32:15NimBotAraq/Nimrod ce9809c Araq [+0 ±1 -0]: fixes #393; now works with backticks
15:33:21*xcombelle quit (Ping timeout: 245 seconds)
16:36:36fowllove nimrod
16:36:49fowllove that bugs are always getting fixed
16:37:00fowland I love the attention to detail
16:42:57Araqfowl: thank you :-)
16:43:07Araqtested the new parser? ;-)
16:43:26fowlnah ill try it now
16:48:22reactormonkAraq, what does it offer?
16:49:02Araqreactormonk: come on, I told you twice already
16:49:18Araqit fixes the 'do' parsing bug for a start
16:49:43Araqand I think it uses a much cleaner approach to indentation parsing
16:50:06reactormonkAraq, yeah, I got the indentation part
16:54:23Araqwell ... it has to parse nimrod so there are not many new things
16:54:43Araqwe could allow things like:
16:54:55Araqecho "ha"
16:55:00Araq & "hu"
16:55:17reactormonkthat's where tabs vs. spaces comes in...
16:55:27reactormonkehh, tabs n spaces
16:55:41fowlAraq: new parser runs on all the code i tried
16:55:53Araqfowl: yay :-)
16:56:04fowlyou said that it should be easy to add a new grammar, how would I go about doing that
16:58:04Araqhmm I don't know if the mechanism still works, fowl, but it's in compiler/syntaxes.nim
16:58:30Araqthe idea is that the first line of a file can contain a #! overriding the default parser
17:00:01fowlcool thanks
17:01:07Araqskimming the code it might still work :-)
17:01:42Araqyou need to register your parser and add it to the 'case' statement dispatchers
17:01:56Araqbut I think only syntaxes.nim needs to be edited
17:02:27Araqreactormonk: what tabs n spaces to do with it?
17:22:30reactormonkAraq, in a tab-based indentation env, that would be a space.
17:23:13Araqyeah great, "make" for the win
17:23:20dom96Araq: Should this really work? https://gist.github.com/dom96/c5a9dd77092410748bfc
17:23:25dom96because it does.
17:24:05Araqugh
17:24:23Araqit shouldn't
17:24:43Araqdoes it work with the old parser?
17:24:59*dom96 checks
17:29:21dom96It doesn't work with the old parser.
17:41:36*benedek joined #nimrod
17:43:23*gradha joined #nimrod
17:44:45fowldom96: here's what i was trying to accomplish (in ruby though) https://gist.github.com/fowlmouth/5439848
17:44:46reactormonkdom96brokeit
17:46:49dom96Araq: Also the old parser doesn't require you to indent the body of the proc.
17:47:06dom96Araq: It does require the body of that if statement to be indented though.
17:47:49Araqdom96: yeah the old parser has its bugs too :-/
17:48:14Araqhowever I already fixed it for the new parser :P
17:49:13dom96hrm, I like zahary's idea: https://github.com/Araq/Nimrod/issues/393#issuecomment-16866410
17:50:03fowli like that
17:50:11fowlill help with the macros/templates if you need
17:51:01Araqmeh, NIH
17:51:27Araqsure it's nice, but what does the 'html' macro actually do?
17:51:54Araqdoes it produce a proc that can be called? does it produce a string literal?
17:52:10Araqthe later doesn't work unforutnately then:
17:52:17Araqconst myhtml = html:
17:52:20Araq ...
17:53:29dom96fowl: if only I could understand Ruby better...
17:53:51reactormonkdom96, just ask
17:57:27fowldom96: in this design the components store the field they're accessed under and what methods they implement then that info is used when an entity type is created to generate dispatching methods
17:58:57fowlso if you have two components that need update() the entity's update() ends up looking like update(*args) field1.update self, *args; field2.update self, *args; end
18:02:39dom96right
18:03:02Araqfowl: please go ahead and implement the html macro
18:03:07Araqhowever I think it should do:
18:03:13Araqhtml myConstName: ...
18:03:27Araqand produce a 'const myConstName = ...'
18:03:56dom96what, why a const?
18:04:02Araqugh
18:04:11AraqI dunno
18:04:31dom96Wouldn't that make it pretty much useless since you will not be able to dynamically generate the html?
18:04:41Araqyeah ... good point lol
18:05:09fowlcurrently does it just produce strings? gotta admit i didnt even see this module before lol
18:05:21fowlshame because it looks 99% macros:/
18:06:15Araqit produces pretty optimal string concatenation code though
18:08:14fowli can throw macro_dsl.quoted2ident() into htmlgen and add a clause for infix '-' to fix gradha 's problem
18:08:39fowloh there's already getIdent()
18:09:08*xcombelle_ quit (Ping timeout: 258 seconds)
18:09:40AraqI guess it should be:
18:10:03Araqhtml do (input: string) -> string: ...
18:10:15Araqbut then I can't name the resulting proc ... lol
18:10:34fowllet generator = that
18:11:30Araqproc genHtml(input: string): string {.html.} ftw
18:12:19Araqah and then I can use body and p like it were some macros that produce the html ... oh wait
18:12:29Araqthat's what htmlgen actually already provides :P
18:13:22dom96html varname: ?
18:13:58fowlI'm in favor of it returning a closure
18:14:06Araqand how do you pass input to a var, dom96?
18:14:35dom96what input do you need to pass?
18:14:54Araqthe Title of the webpage? I don't know
18:15:15Araqobviously it's pretty bad to have no parametrization
18:15:22dom96That doesn't need to be passed to a var.
18:15:32dom96html var, attr="blah"?
18:15:32fowli'd say
18:15:39fowllet gen = html: ...
18:15:57fowlpass a tuple to html to use it as arguments if you want
18:16:30dom96how about:
18:16:37dom96html: generates a special object
18:16:57dom96Then we can define operators which perform an action on that object.
18:17:47dom96Perhaps something like this would then be possible: gen <- html:
18:18:17Araqyeah, lets do: obj.param = value; obj.param = value2; obj.generate()
18:18:24fowleh i think thats beyond the scope of htmlgen
18:18:32Araqwho wants generate(value, value2) anyway ...
18:18:41Araqstateful programming ftw
18:19:12dom96huh?
18:19:15fowlyou should be able to do a simple echo(p("sometext")) or use html() to generate a closure you can use later imo
18:19:42Araqwell htmlgen is perfectly fine the way it is
18:19:59Araqan additional "html" macro could be added
18:20:17Araqbut then we can't agree how to do that :P
18:20:36dom96The reason we can't assign this html macro to a string is because it may contain side effects right?
18:20:43fowlwhoever writes it first then? ;)
18:21:08dom96(well if statements)
18:21:21Araqand 'html:' is not that needed, use a .tmpl file instead to get control flow within an html code section
18:21:51Araqdom96: I can't follow, what have side effect to do with it?
18:22:17dom96i'm confused too :P
18:22:28dom96why is this not possible:
18:22:35dom96var resp = html: ...
18:22:53fowldom96: because currently the body isnt used at all
18:23:44dom96yeah, why I included the ellipsis...
18:39:51gradhadoes nimrod have the concept of static vars inside procs for runtime pseudo-globals?
18:40:29Araqgradha: {.global.} pragma should work for that
18:42:37*xcombelle_ joined #nimrod
18:43:25*xcombelle_ quit (Read error: Connection reset by peer)
18:49:00benedekAraq: Do you think it would be possible to make strings more of an array (or seq) subtype? I mean so that procecures working on arrays could also work on strings automatically.
18:50:06gradhabenedek: if you want to process strings you may want to convert string to unicode TRunes, and store them in a seq anyway
18:52:10benedekYeah, that's kind of the reason I'm asking
18:53:51benedekI see that there are some procedures in strutils and unicode, and they don't seem to be very consistent...
18:54:30benedekThere's "toUpper", "align" and "editDistance", for example, working on strings, but there are no corresponding ones for TRune sequences.
18:56:02Araqthat's because I never work with seq[TRune]
18:56:14benedekI think it might be a little bit more consistent if both UTF-8 and UTF-32 strings would be simple arrays/seqs of the respective characters, like in D...
18:56:41AraqNimrod's strings are 0 terminated for C interop
18:56:56benedekWhy can't that be done just for cstring objects?
18:57:29Araqbecause then converting to cstring would require a concatenation?
18:58:01Araqand then the other half of all programmers would complain about that ...
18:58:41fowlAraq: if the TRune is a wchar then the address of item 0 should work for *wchar right
18:58:51fowlin a seq[TRune]
18:59:03benedekIf those people were worried about efficiency, they could stick to cstrings for their C-heavy code.
19:00:17Araqfowl: wchar is 16 bits on some OSes, so no
19:00:51benedekAnd even if there have to be many conversions, I can't imagine adding a single character would become a bottleneck...
19:02:24benedekI might be wrong about the efficiency, but I'm pretty sure consistent string types and thorough Unicode support are a big plus.
19:05:54Araqit's not adding a single character
19:06:07Araqyou have to copy the whole string buffer to append 0
19:06:37Araqotherwise you'd modify the old string but that's not safe to do in general
19:06:44benedekOh right, forgot about that
19:07:09benedekBut you could still do an in-place modification where it would be safe, right?
19:07:45benedekAnd doesn't adding a zero at the end in every situation have an overhead, too?
19:08:14reactormonkbenedek, often you modify the string, doing a little more isn't as expensive.
19:08:45reactormonkAraq, and doesn't relying on \0 as string terminator in nimrod lead to unpredictable results given \0 inside a string?
19:09:39Araqyou have to know which operation supports \0 inside strings
19:10:08reactormonkwelcome to ugly bugs
19:10:48Araq336 closed bugs
19:11:02Araqbugs that are about the \0 in strings: 0
19:11:45reactormonkit's not a bug because it works as specified, and it's a bug in your code, not the nimrod compiler. And a possible security issue.
19:12:01Araqoh come on
19:12:11Araqas if people wouldn't report it anyway
19:12:18benedekYou could still keep using cstring in most places for efficiency, but also have a cleaner string object... or do you think that would imply making duplicate functions for both types?
19:12:20reactormonkyou have a point there
19:12:38reactormonkbenedek, cstring == native string - say JS
19:13:36reactormonkbenedek, do we wrap ICU in nimrod btw?
19:14:23benedekreactormonk: Sorry, what's ICU?
19:14:30fowlreactormonk: there are places where \0 is ok, streams for example no problem with it coming up there
19:15:16Araqyou could also use seq[byte] for the low level stuff ...
19:15:53reactormonkbenedek, http://site.icu-project.org/
19:17:03benedekreactormonk: I don't know whether that's wrapped in Nimrod.
19:17:17Araqimho UTF-32 strings are an abomination, they take up 4x more memory and yet hardly solve anything
19:17:27reactormonkAraq, I think I brought this up already
19:17:55Araqthe proper toUpper("ß") used to be "SS" in german
19:18:18Araqhow does utf-32 solve anything here?
19:18:27benedekAraq: That's a good point.
19:19:19benedekAraq: Still, toUpper from the unicode package seems to have TRune as a return type...
19:20:14reactormonkAraq, python does that, ruby does not.
19:20:36reactormonkand according to the ICU webpage python uses it
19:20:46Araqbenedek: yeah and I don't know what it does :-)
19:20:55benedekAraq: Aren't UTF-32 arrays more efficient to work with in some situations, where random access and such is needed?
19:23:16Araqthat depends
19:23:38reactormonkAraq, are nimrod strings unicode-aware?
19:23:43reactormonklet's say UTF8-aware
19:23:52Araqfor fast string searching "octets" are fine too, no need to convert to utf-32 just to skip over some characters
19:24:47benedekAraq: Of course, but for more involved operations I'd think it's justified in some cases to handle UTF-32.
19:25:32Araqreactormonk: for windows we convert to utf-8 from ansi for filenames etc. ... for Linux it's utf-8 everywhere anyway
19:25:41Araqnot sure if that answers your question ;-)
19:26:17Araqit's not like most procs check it's valid utf-8 or something
19:26:45benedekThe string functions in strutils don't appear to be unicode-aware, though.
19:27:43AraqtoUpper's docs explicitly say it only handles a-z iirc
19:28:34reactormonkAraq, say does len() handle utf8 correctly
19:28:51benedekMaybe "align" and "editDistance" should mention that, too.
19:28:58Araqthere is no such thing as "handling len correctly"
19:28:59benedekreactormonk: I think it doesn't
19:29:17benedekreactormonk: If you mean if it returns the "correct" unicode character count
19:29:58Araqlen = number of bytes? or number of unicode character? or number of actually displayed characters?
19:30:38reactormonkAraq, python-style? unicode and string?
19:30:54Araqlook, I did use Python, I really did
19:31:00*fowl quit (Ping timeout: 252 seconds)
19:31:03AraqPython's handling of unicode is crap
19:31:13Araqit tries to abstract over it
19:31:17reactormonkor ruby-style? add an encoding field to string?
19:31:24Araqhowever Unicode is too hard to abstact over
19:32:14reactormonkor use the typing and create a bunch of types, each one for its own encoding
19:32:29Araqyeah that would work
19:32:38Araqbut then I only use utf-8 encoding anyway
19:33:25reactormonkthen we have ascii (speed), utf8, binary?
19:33:45reactormonkThe problem with 'binary' is that it may contain \0
19:33:48Araqthere is no difference between ascii and utf-8 and binary
19:34:03Araqok binary could contain \0 but that's about it
19:35:11reactormonkyou have bytesize == charsize in ascii
19:35:26reactormonklen == charsize with utf-8, len == bytesize in binary
19:35:36Araqlen == bytesize in nimrod
19:36:29reactormonkso string is binary, subtype stuff and redefine string-only stuff like toUpper to only work on ascii/utf8
19:36:55reactormonkMaybe add utf16 so I don't have to convert too much in JS ;-)
19:37:23reactormonkI'm fine with strings having \0, but imho you shouldn't be allowed to rely on it in nimrod code
19:37:56Araqwhy not deal with real problems instead?
19:38:11gradhaanybody got any luck with nimrod serve? I can type commands but never get any reply
19:38:13reactormonklike #347?
19:38:44Araqlike "nimrod serve" being broken yeah, or like #347
19:38:47reactormonkgradha, see https://github.com/Araq/Nimrod/issues/345
19:39:06gradhareactormonk: the first suggestion is because you are passing the command on the commandline, which works
19:39:14gradhayou don't get any more answers because they never echo
19:39:23gradhaif you start the server without parameters it stays there, silently, waiting
19:39:26reactormonkgradha, am I?
19:39:46gradhaoh, that's two lines there?
19:39:47reactormonkgradha, that's a newline there
19:39:57gradhaI don't get answer even for the first command
19:40:27reactormonkAraq, I'll pastie the IRC log here as issue
19:40:45reactormonkAraq, some of it that, is.
19:40:50Araqif it makes you happy ...
19:41:26gradhaoh, so it answers if you pass the project file, but doesn't if you don't and pass it as command
19:41:41gradhayes, only first reply is echoed
19:42:16gradhacould it be that the normal output closes stdout? the quit command still works, as well as parsing errors
19:48:45Araqbenedek: I agree that editDistance should become a generic though
19:49:42reactormonkhttp://sprunge.us/LOeZ
19:50:15*fowl joined #nimrod
19:51:57reactormonkgradha, nope, it doesn't
19:52:00gradhait's not the echoing
19:52:07gradhaI've done now another test
19:52:27gradhaI've added a simple "echo you typed blah" in the server loop
19:52:39gradhathe first time I run the idetools command it answers
19:52:43reactormonkI don't see any close call on the stdout
19:52:51gradhathe second time, it doesn't answer, but the echo still goes
19:53:04gradhanow the interesting part: if you start up the server and type the wrong command, it fails
19:53:12gradhafor instance, start it up and type "idex"
19:53:21gradhait will say "invalid command"
19:53:34reactormonkaaand it quits
19:53:36reactormonkthat's ugly
19:53:47gradhabut if you type a "good" command, then "idex", it doesn't fail
19:53:54reactormonknope, it doesn't react anymore
19:53:56gradhaso it means it's not runnint the same code the second time
19:54:04gradhathe echo in the runloop still works though
19:54:07*gradha quit (Quit: bbl, have youtube videos to watch)
19:58:28reactormonkblub
19:58:50Araqhttps://github.com/Araq/Nimrod/issues/400 seriously?
20:01:25reactormonkhm?
20:02:02Araqwell what is it you suggest? MOAR string types for the fun of it?
20:02:17reactormonkexactly.
20:02:47Araqwe have runeLen and len already
20:04:02Araqand we do have unicode and encodings modules
20:04:35Araqadmittedly string handling still requires you to use your brain
20:05:28Araqhowever, the "no brainer" string handling solutions somehow all got it wrong; C# and Java use utf-16 internally
20:06:13reactormonkencoding is not a no-brainer
20:06:44Araqhuh?
20:07:35reactormonkRuby uses no specific interally, people just tend to set it to utf8
20:08:00Araq(this means broken surrogate handling everywhere for Java and c#)
20:08:24reactormonkAraq, let's just set it aside and fix other stuff first...
20:08:31AraqNimrod's strings are utf-8 ...
20:08:49Araqunless you decide to store something else instead but then that's your problem
20:09:14Araqit's not the job of stdlib to check everywhere for broken utf-8 sequences
20:09:37reactormonkimho it is
20:10:05fowldont penalize ascii lovers plz
20:10:27Araqit's more important to be efficient if correctness has become impossible to achieve :P
20:19:24Araqbtw what do you do when the string is a concatenation of 2 different encodings?
20:19:48Araqyou'd be suprised how many websites actually do this ;-)
20:21:23*fowl quit (Ping timeout: 258 seconds)
20:41:02*benedek quit (Quit: Leaving)
20:52:13*fowl joined #nimrod
21:11:49NimBotAraq/Nimrod c1de322 Araq [+0 ±1 -0]: new parser: diallow more things
21:17:56reactormonkAraq, some will work (e.g. ascii + utf8) some will throw an error (e.g. binary + anything)
21:19:30Araqreactormonk: I'm pretty sure that python's httpclient doesn't accept mixed encoding websites; it'll throw some nice unicode exception instead
21:19:40Araqthanks for that
21:19:56reactormonkAraq, mixed encoding websites? O.o? like?
21:20:04Araqthe web is full of it
21:20:29reactormonkgimme one
21:21:02Araqcan't remember :P
21:21:19AraqI'd need to dig through some logs for that
21:22:30reactormonkAraq, then you get a binary and have to sort out the mess yourself
21:23:07Araqindeed and that's what I always do anyway
21:23:29reactormonkhow costly is a method vs. a proc?
21:24:17reactormonkargh, let's stop it. First issues first...
21:24:42Araqmethods are quite slow currently but I hope we can get it do 5ns overhead
21:24:55Araqhowever, methods for strings suck
21:26:55reactormonkhow would you handle if you don't know which encoding you get (e.g. FS)? in the type system?
21:27:33Araqhow do you handle string comparisons for sorting?
21:27:45Araqby knowing the input language, that's how
21:28:02Araqturkish has special rules for I or something like that
21:28:18reactormonklocale != encoding, that's kinda orthogonal
21:28:28reactormonkit has some correlation
21:29:18Araqthat's true
21:29:27Araqand the correlation is highly relevant
21:29:37Araqand it's a mistake to pretend it doesn't exist
21:29:57reactormonkso you say a turkish encoding implies turkish sorting?
21:30:43AraqI say you'd better ask the locale to determine how to sort
21:31:22reactormonkimo you should have the option to ask the locale how to sort
21:31:43reactormonkit's still a fucking mess...
21:51:42*Boscop quit (Read error: Connection reset by peer)
21:52:13*Boscop joined #nimrod
22:15:20*OrionPK joined #nimrod
22:16:13Araqreactormonk: that's why the stdlib doesn't deal with it
22:24:57fowlAraq: i dont like how `somefunc` doesnt call it
22:25:07fowlproc foo =
22:25:09fowl echo 42
22:25:11fowlfoo
22:25:20fowl^ Error: value returned by statement has to be discarded
22:26:30Araqit's ambiguous to do otherwise
22:29:48fowlwhen would you use a function as a statement without calling it? its not useful
22:31:23Araqmeh alright
22:31:51Araqonce the stmt/expr unification is complete, I can tell you more ;-)
22:32:03Araqcould turn out to be trivial to special case
22:32:12Araqcould turn out to cause problems
22:32:40fowlcan you see if it should be discardable but refers to a no-argument function
22:33:18fowler should be discarded
22:33:45Araqyeah well, 'discardable' already has its problems
22:33:49fowlhmm but what if that function returns another function, should it be called?
22:35:23OrionPKfowl, re: yesterday, Im running 0.9.1
22:36:03OrionPKdont have that new constructor syntax as far as I can tell
22:36:18Araq0.9.1 has the new constructor syntax
22:36:26Araqif you mean git HEAD that is
22:36:50Araqthere is no 0.9.1, it's a moving target, it's 0.9.2 when it's released
22:36:58fowlOrionPK: update and recompile
22:37:08OrionPKAraq, I mean latest as of last night
22:37:11OrionPKfrom git
22:40:52fowlOrionPK: the syntax is like this: type TFoo = object x: int ; var some = TFoo(x: 42)
22:41:27OrionPKError: ')' expected
22:41:38fowlyea that wont work on one line
22:41:48OrionPKno, I didnt do that :P
22:42:55fowlcan you paste it
22:43:08OrionPK type TFoo object
22:43:08OrionPK x: int
22:43:08OrionPK var some = TFoo(x: 42)
22:43:20OrionPKoop
22:43:30OrionPK type TFoo = object
22:43:30OrionPK x: int
22:43:30OrionPK var some = TFoo(x: 42)
22:43:41dom96https://gist.github.com/dom96/1d3eb546b87ef5b27e4f
22:43:43dom96Try that.
22:44:25OrionPKError: ')' expected
22:44:33OrionPKI'm typing it the right way guys, i"m just doing something else wrong :P
22:44:50dom96What line/char is that error on?
22:45:17OrionPKvar some = TFoo(x: 42), on the :
22:45:27dom96You're on the master branch right?
22:46:00OrionPKI assume so, since I just got latest and rebuilt
22:46:04OrionPKNimrod Compiler Version 0.9.1 (2013-01-31) [Windows: i386]
22:46:14fowlthats from january
22:46:21OrionPKyeah, I see that
22:46:25fowl:p
22:46:27OrionPKI assume it just wasnt updated
22:46:34dom96lol
22:46:49OrionPKwhat do you guys get when you run --version
22:46:53fowlOrionPK: nimbuild hasnt been ran in a while i guess
22:47:14dom96Nimrod Compiler Version 0.9.1 (2013-04-23) [Linux: amd64]
22:47:24Araqspeaking of which ... we still need a windows server for nimbuild
22:47:27dom96fowl: What makes you think that?
22:47:58fowldom96: the date on it is Aug 24
22:48:22fowlfor windows at least
22:48:59dom96Yeah, for Windows: what you said is correct.
22:50:17OrionPKso, am I a 2nd class or 3rd class citizen? :P
22:51:09OrionPKnimrod.exe was built 4/23, but the version is from january
22:51:19fowlOrionPK: you said you just pulled from the repo and rebuilt, do you have another one on your PATH thats interfering?
22:51:29AraqOrionPK: you need to bootstrap
22:51:31OrionPKI uninstd
22:51:36OrionPK.9.0
22:51:41Araqcompiling the C sources is not enough
22:52:07dom96yeah, you need to compile koch.nim and then execute `koch boot`
22:54:09OrionPKsee, this is what happens when you dont read instructions
22:54:39OrionPKNimrod Compiler Version 0.9.1 (2013-04-23) [Windows: i386]
22:54:52OrionPKthanks for being patient guys ;)
22:55:14Araqyou're welcome; I hardly read anything either :P
22:55:31OrionPKhaha
22:56:00OrionPKI'm terrible actually, it's only gotten worse. I always try to skip to the good stuff. Haven't read a "company-wide" email in over a year I think
22:58:04fowllol
23:33:53*q66 quit (Remote host closed the connection)