<< 21-06-2013 >>

01:32:44dom96OrionPK: Any luck?
01:33:59*DAddYE quit (Remote host closed the connection)
01:36:24OrionPKdom96: nope, had to do real world shit for a couple hours
01:36:58OrionPKit's having troubles with these "cd && git" commands i think
01:37:24OrionPKnot that the cd or the && is the issue, but the git clone works fine
01:40:33dom96hrm. ok. Let me know if you figure anything else out. I will look into it once I get all the wanted functionality into babel for a 0.1 release.
01:41:06OrionPKk, will do
01:42:41EXetoCstupid real world!
01:56:31OrionPKI know right
02:03:59*Trixar_za is now known as Trix[a]r_za
02:12:15dom96good night
02:18:01*Trix[a]r_za is now known as Trixar_za
02:22:16*Trixar_za is now known as Trix[a]r_za
02:24:01OrionPKdom96 can we switch to using "setCurrentDir" instead of "cd &&"s?
02:27:10OrionPKI think I have it working
02:35:16*DAddYE joined #nimrod
02:41:47*DAddYE quit (Ping timeout: 252 seconds)
02:49:49*EXetoC quit (Quit: WeeChat 0.4.1)
03:08:07*DAddYE joined #nimrod
03:43:51*DAddYE quit (Read error: Connection reset by peer)
03:46:32reactormonkOrionPK, it compiles?
03:46:41*OrionPK quit (Quit: Leaving)
03:47:52*DAddYE joined #nimrod
04:52:53*DAddYE_ joined #nimrod
04:52:53*DAddYE quit (Read error: Connection reset by peer)
04:54:41*DAddYE joined #nimrod
04:54:41*DAddYE_ quit (Read error: Connection reset by peer)
05:17:44*fowl quit (Quit: EliteBNC free bnc service - http://elitebnc.org)
05:26:26*fowl joined #nimrod
05:30:30*fowl quit (Client Quit)
05:45:59*fowl joined #nimrod
06:23:57*DAddYE quit (Remote host closed the connection)
07:07:49*Araq_ joined #nimrod
07:47:13*fowl quit (Quit: EliteBNC free bnc service - http://elitebnc.org)
07:50:53*Araq_ quit (Quit: ChatZilla 0.9.90 [Firefox 21.0/20130511120803])
08:11:51*gradha joined #nimrod
08:35:30*fowl joined #nimrod
10:25:02*Araq_ joined #nimrod
10:50:29*Araq_ quit (Quit: ChatZilla 0.9.90 [Firefox 21.0/20130511120803])
10:52:57*q66 joined #nimrod
11:38:09*EXetoC joined #nimrod
12:04:20*Araq_ joined #nimrod
12:11:49*Araq_ quit (Quit: ChatZilla 0.9.90 [Firefox 21.0/20130511120803])
12:45:08*Araq_ joined #nimrod
12:47:50*Araq_ quit (Client Quit)
13:29:29*bmp joined #nimrod
13:30:14dom96hello bmp
13:30:44bmpHi dom96
13:31:45EXetoCHALLO
13:35:39EXetoCdom96: using Jester for anything practical?
13:35:52dom96EXetoC: yep. The forum and nimbuild use it.
13:36:11EXetoCoh ok
13:37:48EXetoCit's nice when people actually use what they have developed *looks at Walter Bright* :-P
13:38:33EXetoCdom96: using the templating engine as well?
13:38:33dom96yep.
13:38:58dom96Damn
13:39:53EXetoCaight cool. will mess about with both later
13:40:23dom96great.
13:40:33*dom96 is currently trying to fix something in it
13:43:58EXetoCgood luck my friend
13:44:43dom96thank you :P
13:48:33EXetoCc(:)-<
13:51:23*Araq_ joined #nimrod
13:51:33dom96hrm, what should I name the proc which determines whether a socket has data in its send buffer?
13:52:23Araq_no irclogs!
13:52:33dom96I am aware.
13:52:33Araq_and the logs of yesterday have been cut off again!
13:52:43Araq_welcome bmp btw
13:52:53dom96I am fixing that right now.
13:52:53Araq_good.
13:53:03Araq_I was about to complain about it
13:53:13Araq_;-)
13:53:23dom96now, answer my question :P
13:53:38EXetoC(is)?dataAvailable
13:53:48Araq_hasData
13:53:48EXetoChasData?
13:53:48EXetoC:p
13:53:58dom96I was thinking: isSendDataBuffered
13:54:08EXetoChm
13:54:18Araq_or maybe canSend?
13:54:43Araq_"available" is too hard to type, EXetoC ;-)
13:54:43dom96no, because you can still send regardless of whether data is buffered.
13:55:58Araq_see you later
13:55:58*Araq_ quit (Client Quit)
13:57:43dom96meh, i'll go with isSendDataBuffered
14:07:38EXetoCis that the same thing? what if it is buffered but currently has no data in it?
14:08:03EXetoCthere are no generic container interfaces yet, right?
14:08:13dom96is what the same thing?
14:08:38EXetoCdom96: buffered and has data
14:09:18dom96yep, it's not. There are two buffers as well...
14:11:03EXetoCnot sure what you mean, but nevermind. I've barely written any network code
14:11:58dom96there is a buffer for received data (which is waiting to be processed) and a buffer for sent data (which is waiting to be sent)
14:12:23EXetoCright
14:12:53dom96Asking whether a socket "hasData" is a bit vague.
14:13:23EXetoCok
14:17:43bmpThis is a dumb question, but what actually is the status with implicit paraentheses? The example on the home page uses them, but the rules for them aren't mentioned (or I can't find them) in the official docs, which also don't use them.
14:18:23bmpWith the exception that the manual does say they're optional for parameterless methods, which wouldn't apply to the "echo" example on the home page.
14:18:43dom96That's actually a good question.
14:19:43bmpIn general, I like Nimrod syntax, incidentally; you did a good job merging Delphi, Python, Oberon, and a kind of Dylanesque thing into a langauge that still feels cohesive.
14:19:53dom96Sadly, i'm not sure where this is documented.
14:20:38gradhabmp: I think the rule of thumb is to always use parenthesis, and then, from time to time, see if some code compiles after removing some
14:21:43bmpgradha: If that's the "rule of thumb," it seems like it'd be better to just mandate them. By saying you're not sure when they can be dropped, you're also tacitly admitting you wouldn't know where to put them if they were left off successfully by a previous developer.
14:22:03bmpKind of like Common LIsp's LOOP construct, where most devs seem to just keep writing code until the thing compiles. :-/
14:23:03gradhathe language certainly knows where they are mandatory, but I don't, so I use that rule to explore what the language accepts as valid source code
14:23:23EXetoCeh, wasn't it in the manual just a couple of days ago?
14:24:58EXetoCthe only limitation might very well be that the "command" syntax can't be nested for obvious reasons
14:32:24fowlbmp: u can leave off parens from a statement function call
14:32:44fowlEcho 1. For example
14:33:24fowlIf u need to pass named args, a stmt list or do stmt they are required though
14:34:39fowlEven something like `someseq[2] f,y` is OK. Someseq holds functions
14:37:04*zahary_ left #nimrod (#nimrod)
14:37:04*zahary_ joined #nimrod
14:38:14fowl`func` will not call it, because afunction is a value, but `foo.func` will because this is actually `func foo`
14:38:24fowlHope that clears things up
14:45:19EXetoCso, there's really no need for explicit member functions. proc f(x: int) ... f(1) ... 1.f() ... 1.f
14:46:34gradhacorrect
14:47:14gradhanote how procs/methods are not bound to an object, the syntax makes it look so
14:48:04fowlYea EXetoC though if f were a field on int, u would have to use f 1 to call it
14:49:04fowlIts really nice though, makes the flow of data much easier to read IMO
14:49:39gradhathe language doesn't use this neither self as keywords, so you can emulate the look of C++ or python by naming the first parameter of a proc that way
14:52:14fowlThat's a standard API to use, even a lot of c libraries follow that form
14:52:54EXetoCthe only issue I've had with this kind of flexibility is giving something the same name as a keyword. I just ended up duplicating the last character
14:53:24EXetoCsince underscores aren't significant. very minor issue, I know :>
14:53:24EXetoCa small price to pay
14:54:19fowlU can actuallyuse a keyword as an ide
14:54:34fowlIdentifier but its painful to use
14:54:34dom96you can wrap keywords in ``
14:55:04EXetoCright
14:56:24bmpI hate having to do that in C#; I'd definitely hope people avoid that in Nimrod, too, except where absolutely necessary.
14:57:24gradhasome conventions mandate that procs/methods should use verb like names, so they don't conflict with variables which are more like nouns or adjectives
14:58:44EXetoCso plenty of 'get' prefixes then? :>
14:59:24fowlNah u hardly ever need to do that
15:00:04fowlOne use that comes to mind is luas lua_type func which is one of 2 lua functions left with the lua prefix on it
15:00:24gradhaEXetoC: "get*" sounds more like a public accessor to a variable, maybe just name it like a variable then?
15:03:30dom96!lag
15:03:30NimBot1ms between me and the server.
15:58:56gradhahmm... php framework http://laravel.com beating ruby on rails? fascinating
15:59:20gradhadom96: how did the jester benchmark end up?
16:02:04dom96gradha: They delayed the benchmarks until Tuesday :\
16:08:07fowlgradha: that shouldn't surprise you, rails is notoriously slow
16:41:07*DAddYE joined #nimrod
16:47:15EXetoCdom96: have you had to written any platform-specific network code yet?
16:51:02EXetoCwrite even
16:52:07dom96well, I wrote most of the network-related modules in the stdlib. But I guess that's not what you mean.
16:53:38dom96The sockets and asyncio modules should work on all platforms.
16:55:06EXetoCyeah it's kinda necessary in library code
17:22:22reactormonkdom96, about #490: it tried to give you a longline warning and then broke upon int16
17:23:56dom96Right. I was in a hurry to fix nimbuild so I didn't look into the cause.
17:56:46*Sergio965 joined #nimrod
18:02:36EXetoCSergio965: hello there, my good friend
18:02:44Sergio965Hello! :)
18:02:54EXetoCnot in #rust anymore? eeexcellent :>
18:03:19Sergio965Lol.
18:04:02Sergio965For now, at least.
18:04:03Sergio965:)
18:04:29EXetoChuehue
18:04:41dom96he's in #go-nuts though :P
18:05:21Sergio965Thanks for keeping an eye out for me! :)
18:11:32fowlShould add a plugin to nimbot to sit in competitive channels and see who the traitors are
18:11:53gradhaalso perform IP matching to avoid renames confuse it
18:12:30dom96haha
18:12:35EXetoCinteresting
18:15:29Sergio965Does anyone virtualize Linux on OS X in here?
18:15:36Sergio965I'm having a lot of issues with VMWare's Unity.
18:15:46Sergio965(And wondering if there's a better alternative_
18:15:47Sergio965)
18:16:03fowlOnly a couple os xers in here
18:16:51bmpI virtualize Linux on OS X with Parallels as my main dev environment.
18:16:54bmpHave had no issues.
18:17:21bmpOne of the fun things that comes from being a Machead who works on a Windows/Linux hybrid product. :-/
18:17:35Sergio965Yeah, I can imagine.
18:17:57Sergio965I use OS X for almost all of my development work. But when it comes to OS development, GNU's toolchain simply works much, much better on Linux.
18:19:13Sergio965Perhaps I'll try Parallels.
18:19:36Sergio965I tried it once. But Parallels loads up all of these Kexts at boot and I didn't like that.
18:26:49Sergio965I'll give it a shot.
18:28:54gradhayou might want to try virtualbox since you are at it
18:29:59Sergio965Yeah, I've heard good things about Virtualbox. Does it have a Unity/Ubiquity like feature?
18:30:29gradhano idea, I don't like oses spilling onto other ones anyway
18:30:53Sergio965I do too, but it takes up too much screen real estate.
18:34:29*q66 quit (Ping timeout: 240 seconds)
18:37:42Araq"Hey there, would you like to enable our new repository design?"
18:37:48*shafire joined #nimrod
18:37:51shafirehi
18:37:57dom96hello shafire
18:37:57AraqI dunno ... would I like that?
18:38:01Araqhi shafire
18:38:11shafirehow are you?
18:38:15gradhaAraq: of course you would, are you from the past?
18:38:21dom96Araq: They will force it on you eventually anyway.
18:38:24Araqchances are slim they improved anything
18:38:41Araqis it more osx like now?
18:38:57gradhathey have a nice sidebar which takes out width for the whole height of the page forcing you to have a bigger window/screen
18:39:01shafireany plans to feature contracts?
18:39:05Araqdid they finally find a way to implement a broken task bar in a webapp?
18:39:29dom96Araq: Are the platform names documented anywhere?
18:39:43AraqI think system.nim lists the valid cpus and oses, dom96
18:40:20gradhashafire: can you ellaborate on contracts? is it just like public preconditions instead of internal asserts at the beginning of a proc?
18:40:45Araqshafire: I've been working on making the compiler prove simple properties of the code, the feature may be advanced to provide pre- and postconditions
18:40:56dom96Araq: argh, sometimes it's annoying that this stuff is all over the place.
18:41:10Araqhowever they work at compiletime
18:41:27Araqand if the compiler can't prove it correct, you have to write it in a style so that it can
18:43:34shafireI thought something like Ada 2012 provides "Preconditions and postconditions define the expectations and obligations of a subprogram. Type invariants specify boundary constraints for objects of an encapsulated (private) type. Subtype predicates capture general constraints on data objects."
18:45:15*gradha wonders if it would be feasible to force such expectations not only at boundaries
18:45:50Araqafaik Ada simply provides some sugar for assertions and you still have to use Spark to prove things
18:47:15Araqpre- and postconditions don't have to be put in comments anymore but that's all there is to it
18:50:28Araqgradha: it is feasible but not very interesting
18:54:40dom96Araq: I think we need dedicated docs for this somewhere. This is very useful when writing platform-dependent code. system.nim does not mention the fact that you can use defined(unix) for example.
18:55:26Araqbut I don't like the 'defined' feature for that ...
18:55:33dom96And it's nice to be reassured about what 'unix' actually includes.
18:55:46Araqwhen defined(unx) # typo remains uncaught
18:56:09dom96what's the alternative?
18:56:15Araqunfortunately hostOs has the same problem ...
18:56:32Araqthe alternative is to introduce an OS enum
18:57:06*q66 joined #nimrod
18:57:08Araqwhen hostOS == osLinux ...
18:57:23shafireI like it, that I can use subtypes
18:57:35dom96ok then. But that's a whole other issue.
18:57:56Araqconst osUnix = {osLinux, osMacosX, ...}
18:58:02Araqwhen hostOs in osUnix
18:58:52Araqbut alright lets document it somewhere
19:01:14Araqthe "compare branch" feature is new right? I love it :D
19:01:49dom96it's not
19:02:07dom96The new interface just gives you easier access to it.
19:02:11Araqoh ...
19:02:17fowlSergio965: what are unity features? Virtualbox has nothing to do with a gui or desktop environment..
19:02:27shafireWhere can I find Nimrod example code?
19:02:42shafiresry found it
19:03:00fowlGithub/fowlmout
19:03:01fowlH
19:03:04fowl;)
19:05:09Sergio965fowl: Unity basically takes the Window manager of the guest OS and makes it look like the host's Window manager. So windows in your guest OS are windows in your host OS.
19:05:24Sergio965Turns it Virtualbox has it and is called "Seamless mode".
19:05:35EXetoCplenty in the official distribution as well
19:05:44EXetoCshafire
19:07:07EXetoCmaybe that's what you found
19:07:33fowlSergio965: seamless in vbox means it doesn't capture ur mouse
19:07:43shafireEXetoC: yeah, you're right
19:07:44fowlAlso vbox guest additions, check them out
19:08:08EXetoCand some real world code on github. just install everything using babel :>
19:08:09Sergio965No.
19:08:16Sergio965Guest additions allow that.
19:08:18Sergio965Seamless mode is what I said.
19:08:25Sergio965http://www.makeuseof.com/tag/virtualboxs-seamless-mode-combine-operating-systems-desktop/
19:09:15fowlPretty sure seamless isn't going to make windows guest os look like your ubuntu desktop
19:09:40Sergio965Did you check out the article?
19:10:17fowlNo I'm not at a computer and dnt really care anyways
19:10:28Sergio965Alright...
19:10:31fowlTo be blunt
19:10:34fowlSry
19:10:45gradhaSergio965: fowl uses telepathy to communicate on irc
19:10:48Sergio965I was just pointing out what it was. It seemed like you were simply trying to contradict whatever it was I said.
19:11:01Sergio965(Even after I provided proof.)
19:12:22shafireI found out about Nimrode at this blog article: http://sebastiansylvan.com/2013/05/25/language-design-deal-breakers/ <- He don't like Nimrod because of null-pointer exceptions
19:12:28shafire-e
19:12:33shafireNimrod, sry
19:12:54Sergio965Ah yeah, I rea that article as well.
19:12:55fowlSergio965: sry not my intention
19:12:56Sergio965read*
19:13:02Sergio965Hacker News? How'd you come across it?
19:13:09Sergio965(Although that's not how I found out about Nimrod)
19:13:14dom96A blog article mentioning Nimrod, how the hell did I miss this?
19:13:29Araqlatest github version checks for "not nil" pointers ...
19:13:48fowlshafire: there no null exception, u get segfault with a backtrace
19:14:05dom96oh, it's quite old, and mentions Nimrod at the bottom. Meh.
19:14:23fowlNull exception implies checking is done on every access which would be l4me
19:15:07Araqfowl: you can transform the segfault into an exception which is what the JVM does
19:15:33Araqit doesn't require any overhead unless your offsets start getting to large
19:16:30dom96why aren't we doing this then?
19:16:34Araqit's just that I didn't bother to do that as catching a NPE is braindead anyway, so you can't
19:17:11Sergio965ls
19:17:15Sergio965Fuck. This is not my shell.
19:17:20dom96hrm, good point. People would start catching the exception instead of properly fixing their silly NPE bugs.
19:17:57Sergio965Parallels Coherence is not as good as VMWare's Unity. In fact, I don't think it works...
19:18:57gradhadon't know what the deal is with null pointer when we still haven't figured out a way for processes to cooperatively share memory and request/free them at runtime properly, meaning each works isolated and the OS requires virtual memory
19:19:42gradhathere's just so many great problems waiting to be solved for the end user and we still focus on null pointers
19:20:55gradhaI'm sure js on browsers will fix this
19:21:05Araqas I said, the null pointer problem is already solved with the latest version
19:21:26Araqit even is less annoying than Rust's solution afaict
19:21:39fowlWhat's that
19:21:55AraqRust uses a sum type for "nullable"
19:22:19AraqNimrod uses a static analysis that's based on the control flow
19:22:36shafireAraq: Can I read about this somewhere?
19:22:51Araqshafire: I haven't documented it yet, sorry
19:25:01fowlWhat of calling c functions that may or may not initialize a ptr
19:25:09fowlHow could u know or disable it
19:25:43Araqfowl: ptr T stays as it is, 'ptr T not nil' is enforced at compile time
19:26:38Araqso yeah you need to add "not nil" and that's an impertinence and it's the wrong default to start with, bla bla, bla ...
19:27:52fowlBtw in fowlgrammar its goingto be "pointy T ain't nothin" just for the lulz
19:28:02Araqit doesn't solve anything in the compiler itself btw; it would force me to write: if isNil(n.typ): InternalError(n.info, "type is nil") everywhere
19:28:41Araqthat's a tiny bit nicer for the users of the compiler at the expense of my productivity
19:29:11dom96hrm, existsFile returns false when given a path to a symlink
19:29:40*dom96 wonders how he's suppose to check that it exists
19:30:06gradhaa symlink is not a file, you have to dereference it, like a pointer, since it can point to a missing file
19:30:22gradhaor it could point to a directory
19:30:44dom96yeah, that makes sense.
19:30:51gradhabut yeah, usually you have a proc which is "raw" and nother which "follows symlinks" for user convenience
19:31:30dom96no wait.
19:31:35dom96I'm wrong, it does return true.
19:31:56EXetoCAraq: I guess you can just make it a function
19:32:10dom96But only if the file it points to exists.
19:32:36EXetoCif you're going to check for that several times anyway
19:32:52gradhadom96: it seems the os module is short on symlink features, only through walkDirRec you would be able to detect them
19:33:05dom96indeed
19:33:19AraqEXetoC: it's not for "several times". It's EVERYWHERE and it needlessly implements a check that the hardware does for free
19:33:35dom96perhaps I should just add some symlink functions to the os module?
19:34:14gradhadom96: typically you would have a "stat" like proc which returns information on a path, like type, permissions, dates, etc
19:34:39Araqdom96: yeah but there is also walkDirRec which claims to support pcLinkToFile, pcLinkToDir but doesn't
19:35:25gradhaanother advantage of the stat-like proc is you get all the info at once, otherwise calls to getFileSize or getLastModificationTime each incur a IO trip
19:35:34Araqer make that 'walkDir' on windows
19:35:42Araqfor posix it is supported
19:36:46dom96I suppose a general stats proc would be nice.
19:36:52dom96Araq: Thoughts?
19:37:15Araqmeh, I don't like it but go ahead
19:37:16gradhadom96: that would be nice, and usually highly platform specific
19:37:48shafiremh, I can't find it, are regex case statements allowed?
19:38:03shafirelike in scala?
19:38:05dom96but maybe we should also provide a existsSymlink for consistency?
19:38:07Araqshafire: no, but you can write a macro that supports it
19:38:17shafireok
19:39:05gradhadom96: the existsWhatever procs are usually a wrapper around the stat like proc for convenience, and usually nobody bothers for symlinks because they are platform specific
19:39:38gradhadom96: how does a symlink look to windows mounting an ext2 partition? a file?
19:39:57dom96no idea
19:39:57EXetoCshafire: http://nimrod-code.org/manual.html#statement-macros_toc that's a start :>
19:41:06fowlgradha: u can't mount ext2 without some proprietary drivers iirc
19:41:28Araqdom96: I suggest you implement it for babel first and then extract it and put it into os.nim later
19:41:34fowlSo who knows, prob diff each driver
19:41:49dom96Araq: good idea
19:42:40fowldom96: windows vista+ also has symlinks
19:42:58gradhadom96: yeah, macosx stupid resource forks FTW!
19:43:00shafireEXetoC: thanks
19:43:22dom96gradha: what?
19:43:37Sergio965Yo.
19:43:40Sergio965OS X is da bomb.
19:43:50shafirewith homebrew, yeah
19:43:58gradhadom96: older macosx have resource forks, which are just something nobody wants to touch
19:44:27gradhahttps://en.wikipedia.org/wiki/Resource_fork
19:44:40dom96I see.
19:45:01gradhapeople like to think of macosx as unix, try to use rsync to backup (a version without resource fork support) and fail to restore
19:45:35Araqor try to use 'fork' with Cocoa, gradha
19:45:48Araqthat was an issue you encountered, right?
19:46:03gradhaAraq: it's another kind of fork
19:46:12Araqyeah I know
19:46:35gradhathe Cocoa fork issue reminded me of MFC dll hell, with single threaded and multithreaded versions
19:46:50EXetoCregular forks are fine
19:46:51gradhaah, good times, VC6 crashing on input, long compile times...
19:47:00EXetoCactually, I prefer spoons. spoons are underrated imo
19:47:22Araqspoons are unprofessional
19:47:29Araqyou can barely hurt anybody with them
19:47:53Sergio965gradha: Mac OS X is BSD.
19:48:22fowlWas some kind of bsd..what happened to it?
19:48:28EXetoCc(:)
19:48:40Sergio965OS X is based on the Mach kernel developed at CMU.
19:48:44dom96Spooning is *the* best way to code: https://bitbucket.org/spooning/
19:48:45Sergio965What was based on BSD.
19:48:50Sergio965Which*
19:48:58fowlO ok
19:49:05Araqan old version of BSD; you can simply go through the list of BSD's security fixes to see how to attack Mac OS X ...
19:49:18EXetoCshafire: I wonder if any of the regular expression functions work at compile-time though. if not then good luck :>
19:49:28Sergio965I doubt most of those attacks work anymore.
19:49:36gradhamacosx is starting to be too mainstream, I'm going to virtualbox myself into hurd for maximum hipster points and port nimrod to it
19:49:37EXetoCno wait, it doesn't even have to run then. duh
19:49:43Sergio965The OS X architecture has deviated substantially from BSD since then.
19:49:59AraqI wouldn't wonder at all if they still worked
19:50:00EXetoCso that won't exactly be rocket science I guess
19:51:17dom96gradha: I shall be using RISC OS on my RPI.
19:51:38fowlSounds riscy
19:51:53fowlSea wut aye deed thurr
19:52:08AraqEXetoC: they don't work at compile time but it doesn't matter the macro can simply transform into an 'if'
19:52:33dom96fowl: ermahgerd thets soo funneh
19:52:59fowlHrr hrr hrr
19:53:30EXetoCjejejejejeje
19:53:46Araqstop it.
19:54:25Araqmany people read the logs and we're not #funzone :P
19:54:39gradhawhat logs?
19:54:44EXetoC:>
19:54:58gradhathe NSA is filtering them anyway
19:55:02fowlIs that a real chan I'm gonna check it out
19:55:13dom96Araq: Liar, there is no such thing as #funzone :(
19:55:33Sergio965Hooray for the NSA! Keeping us all safe at the expense of privacy. :D
19:56:12shafirethanks for the information guys
19:56:21gradhadom96: so what happened with NimBot, did you interrogate it?
19:56:24fowlWe'd be just as safe if we all agreed to stop using words like terrorism
19:56:34gradhadom96: it has not been behaving very well lately
19:57:06dom96gradha: I did. But it has used its right to remain silent.
19:57:34gradhatry to put him in conflict with the second law of robotics
19:57:56gradhahmm... or maybe not, we wouldn't get logs at all then!
19:58:58dom96NimBot don't care about no robotics laws.
20:00:02fowlWho wantsto start working on some projects like games or something, anyting we can monetize
20:00:18dom96omg why is the remainder app on my iPad so crap
20:00:38fowlI'm poor
20:00:42gradhadom96: haha, the reminder app on ios is the most crap software I've seen, crashes every time I use it
20:00:44dom96It keeps reminding me, even though I told it that I've already done that thing!
20:01:07dom96seriously. I tick it, and it stays there!
20:01:10gradhafowl: I have many ideas, but I suck on the monetizing front
20:01:35dom96haha, I turned off the alarm remainder and the text turned to "(null)"
20:01:36dom96nice
20:01:37fowlI'm a fan of the shareware model
20:01:40fowlOr nagware
20:01:58dom96fowl: I'm always down.
20:02:05shafireI am looking forward to see 1.0, going to bed now. bye!
20:02:08dom96I have too many open source projects...
20:02:19fowlNight shafire
20:02:27dom96shafire: good night, thanks for stopping by!
20:04:06gradhafowl: one of my ideas is taking http://www.tursiops.cc/drops, rewriting it in nimrod, create tutorials on it to run on desktop, mobile and js, then give it for free away
20:04:15gradhaas you can see, not much monetization there
20:05:10*shafire quit (Quit: Page closed)
20:05:11dom96The most successful indie games are always ones which allow you to be creative, i.e. Minecraft and Kerbal Space Program IMO
20:06:11Araqjust build a half decent RTS, I would buy it ;-)
20:06:32EXetoCyeah. no macro-management plz
20:06:35gradhaI enjoy the creativity of torture and death I exert in xcom or masters of orion
20:06:49EXetoCI mean pls. srsly, who came up with "plz"?
20:06:53Araqdunno what happened ... there used to be lots of them ... now there is only Starcraft 2
20:07:10gradhaAraq: what? I'm backing one right now
20:07:21gradhait's called... I can't remember
20:07:23dom96Age of Empires 2 HD!
20:07:36dom96There is also a pretty good open source RTS: 0 A.D.
20:07:57gradhaAraq: there you go http://www.kickstarter.com/projects/659943965/planetary-annihilation-a-next-generation-rts
20:08:11dom96I was considering rewriting Frets on Fire in Nimrod.
20:08:18dom96But it looks like a lot of work.
20:08:38Araqgradha: meh ... already know it, looks boring
20:08:38dom96gradha: Doesn't that cost like 70 dollars?
20:09:00dom96I recall people complaining on steam that it's so expensive for an alpha
20:09:13gradhadom96: it's still not out yet, so no idea
20:09:35gradhadom96: oh, you have to pledge a lot to get to the internal alpha builds, but who wants to play an alpha version anyway?
20:10:17dom96I bought Minecraft and KSP at alpha :P
20:10:51fowldom96: u should register a channel, make it private for us and gradha so we can start brainstormimg cuz I'm serious about this I need $ lol
20:11:12fowlOr we could use #fancyfeast I own that channel
20:11:15EXetoCwon't range support floats?
20:11:17gradhafowl: and I'm serious about being bad on the money part
20:11:45fowlThat's OK gradha well figure it out
20:11:55fowlWe'll
20:12:01AraqEXetoC: yes. I never tested that feature though tbh
20:12:04gradhafowl: in fact, I'm sort of the unoriginal person easily swayed towards grandiose projects, if you make the decissions I could follow
20:12:05*dom96 joined #fancyfeast
20:13:18EXetoCAraq: it said something about ordinal types IIRC. I'll try again directly with some float type rather than "type RT = float64"
20:14:47*fowl quit (Changing host)
20:14:47*fowl joined #nimrod
20:20:53Sergio965Virtualbox is brilliant.
20:21:08gradhaas in it glows?
20:21:16Sergio965Yes.
20:22:41Sergio965Like fire.
20:23:11gradhamaybe keep those folders away to avoid catching any of that
20:25:05Sergio965But it's contained! That's what virtualization is all about. :)
20:25:24Sergio965I'm quite impressed by VirtualBox.
20:25:52gradhahmm... how can a virtual machine impress?
20:26:01Araqmy vitualbox doesn't support seamless mode ... :-(
20:26:10Sergio965I'm impressed by how well Seamless mode works.
20:26:37Sergio965Considering Parallel's doesn't support it's similar feature, Crystal mode, on Linux guests.
20:28:52dom96Araq: I think it's a Mac OS X only thing?
20:29:11Sergio965I don't think it is.
20:29:21EXetoCmeow
20:29:28Sergio965moo
20:29:49gradhaanimal farm, now on ebook
20:33:01EXetoCjust tell us when the logs are working properly again :>
20:33:49AraqThe creatures outside looked from pig to man, and from man to pig, and from pig to man again; but already it was impossible to say which was which.
20:33:53Sergio965Okay, I'm not so impressed anymore. It's quite slow.
20:34:15AraqEXetoC: they work for me
20:34:44dom96it took quite a while to fix actually
20:34:49EXetoCok let's be serious from now on then. gotta make a good impression
20:45:29dom96But it's so quiet when we are serious :(
20:45:49Araqbbl
20:46:10gradhamaybe we should introduce EXetoC to the amazing work of kpop with nimrod?
20:46:11EXetoCAraq: it seems to fail only when I define a new type that has some range
20:46:26EXetoCand that's another thing I shuold write a test case for :>
20:46:30fowlEXetoC, there is an infinite range of numbers between 0.0 and 1.0
20:46:47EXetoCyes, but it's still a range
20:46:59EXetoCand it worked with a var just now
20:46:59dom96gradha: Yes, in fact it's mandatory!
20:47:05Araqfowl: that doesn't mean you can't have sugar for a >= 0.0 and a <= 1.0
20:47:13EXetoCand then I tried to give it a value outside the range and the compiler complained
20:47:13Araqit means it's no ordinal type though
20:47:25fowlah ok
20:47:28EXetoCyeah
20:47:53gradhaEXetoC: I started implementing https://github.com/gradha/genieos which is an awesome nimrod module
20:48:14gradhait's awesome not because it does something awesome, but because the docs are filled with references to a kpop group
20:48:34EXetoChow many seconds fewer will I have left if I eat this sugary ice cream?
20:48:39EXetoCgradha: saw that before. awesome
20:49:04EXetoCit doesn't take long before you've seen most open source Nimrod projects out there :>
20:49:13gradhatrue
20:49:27fowlwe are hipsters
20:49:42Araqbmp: http://nimrod-code.org/manual.html#procedures explains briefly it's possible for a "command statement"
20:50:21Araqso it only works for statements
20:50:37Sergio965Now I want ice cream.
20:54:27NimBotnimrod-code/babel master b562620 Dominik Picheta [+0 ±3 -0]: Implements binary package symlinking to $babelDir/bin.... 3 more lines
20:54:27NimBotnimrod-code/babel master 266ef67 Dominik Picheta [+0 ±1 -0]: Merge branch 'master' of github.com:nimrod-code/babel... 3 more lines
20:54:53dom96gradha: Could you test babel on Mac OS X please?
20:56:26EXetoCjust make sure there's no rootkit code in there!
20:56:29EXetoCit might be a trap
21:01:02dom96yes, NimBot is hiding in there.
21:09:21reactormonkdo we have a somewhat fast XML lib?
21:09:55dom96xmltree
21:10:00reactormonkpreferably SAX
21:10:06reactormonkthe files are ~ 200MB each
21:10:22EXetoCuh oh, method bug
21:11:02dom96reactormonk: I would trust Araq's brilliant XML parser engineering.
21:11:27reactormonkdom96, let's put it to the test
21:11:39dom96EXetoC: hehe, I've been using Nimrod for a long time now, and I still have not used methods anywhere.
21:14:26gradhadom96: what's the stuff you need testing with babel?
21:14:45dom96binary packages
21:14:49dom96the symlinking
21:15:12dom96just create some dummy binary package and check if it can be ran when you add ~/.babel/bin to your PATH
21:15:24EXetoCok
21:20:09EXetoCnested method
21:20:18reactormonkdom96, that's not a parser, but a generator
21:20:24EXetoCoops
21:20:54dom96reactormonk: oh sorry, there is a xmlparser module too
21:20:55EXetoChitting the right key on tiny keyboards is hard
21:21:02EXetoCnested method calls is the problem
21:21:58gradhaoh, I'm connected to moorcock.freenode.net
21:23:18reactormonkcould anyone check if longhorn.tacc.utexas.edu resolves for you?
21:24:02gradhaping: cannot resolve longhorn.tacc.utexas.edu: Unknown host
21:24:39reactormonkdamnit
21:24:43gradhaPING utexas.edu (128.83.40.147), anything else fails
21:29:40*Sergio965 quit (Ping timeout: 276 seconds)
21:33:43*Sergio965 joined #nimrod
21:49:09*Trix[a]r_za is now known as Trixar_za
22:22:27gradhadom96: wasn't babel meant to work if a local babel file is present? can't get it to run
22:22:47dom96how are you trying to run it?
22:23:03gradhathis is the file http://pastebin.com/X84pFUPS named genieos-trash
22:23:14gradhaI try "babel install genieos-trash"
22:23:33dom96that's the problem, run "babel install" instead.
22:23:44gradhaInvalid field: bin
22:23:47gradhaneeds a section?
22:24:01gradhaah, wait, forgot to install, maybe
22:26:57gradhait works fine, but the babel install should log to stdout the linkage, it doesn't at the moment
22:27:47gradhathe output of the install command was http://pastebin.com/y0SsVexy
22:28:41dom96ok, will add that.
22:29:29gradhait correctly overwrites the link on the next babel install command
22:30:41gradhaso I updated the version number and renamed the binary, it is installed, but the previous one is not erased
22:31:20gradhakeeping track of them would be a pain, but maybe the installation could simply check the validity of symlinks and remove those which are dead
22:31:48gradhathough maybe that doesn't work so well, as the previous version would still remain
22:31:57dom96Do you mean you renamed the binary which the symlink points to and the symlink wasn't deleted when you tried to reinstall the package?
22:32:29gradhawhat I did was change the package number, rename trash.nim to newtrash.nim and change the name of the bin setting
22:32:47gradhathen I installed and it created a new directory, of course the previous one was not removed, so both exist now
22:33:02gradhathere's no babel uninstall
22:33:22dom96indeed, a 'babel remove' would be able to remove it properly.
22:33:32dom96Since the .babel file specifies the bin name.
22:33:45dom96But I think the user can manage to remove it for now :P
22:35:37NimBotnimrod-code/babel master 468e11e Dominik Picheta [+0 ±1 -0]: Information about what symlinks are created is now printed to stdout.
22:36:50dom96gradha: Can you test to make sure the binary can find its AppDir properly and by extension can read the files it depends on?
22:36:56*OrionPK joined #nimrod
22:37:03*Sergio965 quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:39:23gradhadom96: I would need a binary which has dependant files for that
22:40:03dom96import os; echo readFile(getAppDir() / "blah.txt")
22:40:19dom96create a "blah.txt" file in your packages dir
22:40:25dom96it will get automatically installed
22:41:29AraqEXetoC: nested methods shouldn't be allowed by the compiler
22:41:29OrionPKhey dom96 did you see my message last night about babel
22:43:21dom96OrionPK: just read it. setCurrentDir sounds like a great idea.
22:43:35OrionPKcool
22:44:19EXetoCAraq: I'm not sure why, but ok. I'll just add another method
22:44:51gradhadom96: http://pastebin.com/LpWrrhhJ
22:45:28dom96I don't think babel relies on its current working dir much, except for 'babel install'. But maybe I should switch the cwd back once the command runs, just to play safe.
22:45:29EXetoCmaybe this will force my code to be less crap, who knows :>
22:45:45OrionPKyeah
22:45:50OrionPKthats what I was expermenting with
22:45:58OrionPKsetCurrentDir before and after to restore it
22:46:04OrionPKwasnt sure if it was necessary
22:46:56gradhadom96: shouldn't you add a getBabelAppDir() and people use that?
22:46:59dom96OrionPK: The only reason I simply used 'cd' in the command I was executing is because I wasn't actually aware of setCurrentDir.
22:47:11dom96gradha: argh
22:47:16OrionPKah, i wasnt either ;)
22:47:23dom96Why must Mac OS X be difficult.
22:47:25OrionPKI went through the os module to find it
22:47:38dom96OrionPK: thank you :)
22:47:41gradharather than difficult, it's doing what you are telling it to do
22:48:27dom96it works the way I want it to on Linux :\
22:48:31Araqthat's bad, add something like this to the docs: "In the shell this command is commonly spelt as `cd`:idx:."
22:48:59Araqwhenever you don't find something in the index, the index should be improved
22:49:03dom96Araq: I think a better idea is to say that in the docs of execCmd
22:49:35dom96"You can use setCurrentDir to specify the working directory for the execution using this proc"
22:49:42AraqexecCmd lists common shell commands and that you don't need them? ok
22:49:49gradhadom96: maybe nimrod under linux has magic to resolve the symlink of getAppDir which macosx lacks?
22:50:07fowl
22:50:07fowl
22:50:08fowl test
22:50:11fowlomg what
22:50:18gradhayes
22:50:20OrionPKthanks for that fowl
22:50:21*dom96 readies the ban hammer
22:50:23fowlsorry
22:50:25Araqnope, linux is simply smarter than macosx when it comes to /proc
22:50:26OrionPK;D
22:50:34fowli saw my cursor was on the right and wanted to see what the hell was happening
22:50:41fowlguess i had a ton of spaces there..
22:50:53gradhaAraq: I expected the getAppDir would just read the first argument of the process
22:51:17Araqthat's the generic fallback
22:51:29Araqit got special code for lots of OSes
22:51:33OrionPKthat's a convention, but not required, no
22:53:11dom96The Mac OS X implementation of getAppFilename looks rather desperate.
22:53:14gradhamaybe http://stackoverflow.com/questions/799679/programatically-retrieving-the-absolute-path-of-an-os-x-command-line-app/1024933#1024933
22:53:49gradhahuh, they changed the shade of green used for ticks on stackoverflow
22:55:02gradhathe more generic answer that got me there was http://stackoverflow.com/a/1024937/172690
22:56:21dom96gradha: Could you try it out?
22:56:39gradhait seems to be using that
22:56:56gradhait calls getExecPath1 which is a wrapper around _NSGetExecutablePath
22:57:09gradhawhat is missing is the realpath to resolve symbolic links
22:57:22dom96It doesn't use realpath which the answer mentions though
22:57:41gradha"The path may contain symbolic links, "..", etc. but the realpath function can be used to clean those up if needed. See man 3 dyld for more information."
22:57:56gradhamaybe there's a problem adding that?
23:00:21dom96what makes you think that?
23:00:25gradhawell, expandFilename already does call realpath, with a hack for macosx 10.5 too
23:00:36gradhaso it would be a matter of adding expandFilename at the end on result
23:01:34dom96ok, add it then
23:01:56Araqsupporting macosx is more work than supporting windows ... yet one of these 2 claims to be posix compatible. interesting, hmm?
23:02:00gradhanow it works
23:02:54Araqgradha: maybe we need to add that for the BSDs too
23:02:55dom96Might be worth mentioning in the docs for getAppFilename/dir that it expands symlinks.
23:03:11dom96yo apotheon
23:03:21dom96Any luck with that freebsd machine?
23:04:01apotheonsorry
23:04:08apotheonThings are *really* busy this month.
23:04:10gradhathe code I've used is http://pastebin.com/873FDMfH if you want it
23:04:14apotheonMuch more so than I expected.
23:04:21apotheon. . . so no, no luck yet.
23:04:25dom96apotheon: No worries. Just a friendly reminder.
23:04:38apotheonThanks. Keep up the reminders -- they'll shame me into getting things done eventually.
23:05:03fowlif you want a bsd to test on put pc-bsd in a VM
23:05:18dom96fowl: I want a BSD for nimbuild.
23:05:32fowlah
23:06:22gradhaI can actually see the value in getAppDir returning the path vs the realpath, especially if you want to print it to the user in a help dump of arguments on the command line, like "use /path/to/bin -switches"
23:06:41gradhathe symlinked version might surprise the user
23:07:11gradhabut maybe there the program should just query the first param and avoid getAppDir?
23:08:10dom96I don't know. I think getAppDir should be consistent on all platforms, and it just so happens that the real path is more useful I would say.
23:08:36gradhait will be worth mentioning that in the docs too, to avoid surprises
23:09:30dom96Mention what?
23:09:48gradhathe usage of realpath to resolve symlinks
23:10:10dom96Isn't saying that symlinks are resolved enough?
23:10:35gradhayes
23:10:53dom96Also I presume you don't want to create a pull request, so I will commit it myself.
23:15:58NimBotAraq/Nimrod master dfbb7b3 Dominik Picheta [+0 ±1 -0]: Symlinks are now expanded in os.getAppFilename on Mac OS X.
23:23:16NimBotnimrod-code/packages master 6016300 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Adds hyperlinks FTW.
23:23:16NimBotnimrod-code/packages master 8394965 Dominik Picheta [+0 ±1 -0]: Merge pull request #16 from gradha/pr_hyperlinks... 2 more lines
23:28:04*DAddYE_ joined #nimrod
23:31:35*DAddYE quit (Ping timeout: 255 seconds)
23:45:09*DAddYE_ quit (Remote host closed the connection)
23:45:42*DAddYE joined #nimrod
23:47:32*DAddYE_ joined #nimrod
23:48:12*DAddYE quit (Read error: Connection reset by peer)