00:04:18 | * | mcc joined #nim |
00:07:59 | cheatfate | What is the problem can be if after call to windows api function i've got stack smash |
00:09:14 | * | Kim_Jung-un_ joined #nim |
00:09:33 | * | freezerburnV joined #nim |
00:09:49 | * | Jesin joined #nim |
00:09:54 | freezerburnV | Evening everyone |
00:10:13 | Kim_Jung-un_ | Good evening |
00:10:54 | Kim_Jung-un_ | But you should say good night to me, because it's 3:08 AM |
00:11:44 | freezerburnV | Hah, fair enough |
00:12:08 | Kim_Jung-un_ | I always write weird nicknames |
00:12:32 | Kim_Jung-un_ | As you may notice, I'm Kim Jung-un here. |
00:13:02 | freezerburnV | So I'm getting an error I have no idea how to approach: in an object I have a seq[otherObject]. I try to call firstObject.otherObjects.add(newOtherObject(...)) and get a type mismatch (it seems to be looking for a var and not getting one) |
00:13:06 | freezerburnV | Weird nicknames are always fun :) |
00:14:30 | Kim_Jung-un_ | freezerburnV: I'm sorry, I'm just a beginner. I'm 15 years old and I'm study at an IT diploma college. |
00:15:30 | freezerburnV | Kim_Jung-un_: Question wasn't specifically directed at you. Was directed at the channel at large :) |
00:16:25 | Kim_Jung-un_ | It's funny, you called me Kim Jung-un |
00:16:50 | freezerburnV | I just type Kim and let tab completion finish the rest of your username for me |
00:18:02 | Kim_Jung-un_ | You do know who is Kim Jung, right? |
00:18:34 | dom96 | freezerburnV: can you gist all your code? |
00:19:02 | freezerburnV | dom96: Yeah no problem, one sec |
00:19:08 | Kim_Jung-un_ | Hi dom! |
00:19:40 | freezerburnV | dom96: https://gist.github.com/anonymous/9ac47ad59d6b7e5186ffd7d034445705 |
00:20:41 | dom96 | freezerburnV: in the `addLongRule` proc the `parser` param is not mutable. |
00:21:09 | dom96 | Because it's type is not a 'ref' |
00:21:11 | dom96 | nor is it a 'var' |
00:21:43 | Kim_Jung-un_ | So what should we do? |
00:22:15 | freezerburnV | dom96: ...well that seems incredibly obvious now that you tell me |
00:22:41 | freezerburnV | dom96: I think I even remember reading about not being able to mutate non-ref/var types, but completely forgot |
00:23:30 | dom96 | freezerburnV: the error message could be clearer as usual :) |
00:24:44 | freezerburnV | dom96: Heh. Clear error messages apparently take a lot of work, according to the rust devs ;) Though this one technically would have been clear if I remembered the immutability of value types by default |
00:24:46 | mcc | if i have a ref object and i want to make a copy of it, what is the best way? all i can think so far is var x : ObjType; x.new; x[] = oldobject |
00:25:46 | dom96 | mcc: yeah, that likely is the best way |
00:26:51 | mcc | it's a *little* awkward because that can't work with subclasses |
00:27:42 | Kim_Jung-un_ | mcc: Do I look like Bjarne Stroustrup? |
00:31:35 | mcc | hm. is shallowCopy type-aware? |
00:32:51 | mcc | wait, it doesn't matter anyway |
00:35:42 | * | Kim_Jung-un_ quit (Ping timeout: 250 seconds) |
00:37:27 | * | TheMazeRunner joined #nim |
00:38:08 | * | Demon_Fox joined #nim |
00:39:22 | TheMazeRunner | Hi guys, I have a trouble with Aporia IDE, everytime when I hit the compile and run button, it just keep compiling, it never finish. |
00:39:24 | * | yglukhov joined #nim |
00:40:36 | TheMazeRunner | I'm ussing Windows 10 and I installed Nim compilers and tools by the binary distribution. |
00:41:52 | mcc | yeah... i've got a `proc dup(x: Player) : Player = return staticDup x` and i'm having to copypaste it for every individual class in my inheritance tree. that's a little awkward. |
00:42:42 | dom96 | TheMazeRunner: strange, what are you compiling? |
00:43:02 | TheMazeRunner | Ordiniary programs. |
00:44:15 | * | yglukhov quit (Ping timeout: 276 seconds) |
00:44:21 | TheMazeRunner | dom96: Should I try debugger for building and running Aporia IDE? |
00:44:51 | freezerburnV | mcc: If there's a copy proc that doesn't care what type it gets, can't you just write proc dup[T](t:T):T = dupProc t? (probably me misunderstanding something) |
00:46:19 | mcc | freezerburnV: So let's say I have type ref A and a type ref B of A, and I have a proc(a:A). inside this proc, I want to make a clone of `a`. Let's say `a`, despite the ref being typed A, in fact points to a B. |
00:46:35 | dom96 | TheMazeRunner: you can try diagnosing it that way |
00:46:46 | mcc | If I call dup[T], the [T] will be statically resolved to A, and then it will create an A object and not a B object. |
00:47:06 | TheMazeRunner | Okay, I'm interested to see. |
00:48:05 | TheMazeRunner | dom96: :) |
00:48:45 | michael_campbell | Any emacs guys here? Do you use nim-mode or nimrod-mode? |
00:49:09 | freezerburnV | mcc: Aah, I see |
00:49:25 | TheMazeRunner | michael: I think so. |
00:50:38 | TheMazeRunner | michael: here is the list, it also includes nim-mode https://github.com/nim-lang/Nim/wiki/editor-support |
00:51:06 | mcc | ack, this actually interacts really badly with bug #4319 i filed last night |
00:51:37 | TheMazeRunner | michael: there is also nim-mode and nimrod-mode. |
00:53:15 | TheMazeRunner | Ohh! sorry michael, I thought you were asking if there is an emacs mode. |
00:53:55 | michael_campbell | TheMazeRunner, yeah, those are the 2 I mentioned =D |
00:55:01 | TheMazeRunner | michael: I use Aporia IDE. I never use GPL-licensed softwares. |
00:56:04 | michael_campbell | I'm using nim-mode so far, and it's been fine. Just wondered if nimrod-mode was any better, given that it's named for an older version and might be more mature? |
00:57:08 | TheMazeRunner | michael: I hate GPL, GNU and Richard Stallman SO MUCH! |
00:57:52 | TheMazeRunner | michael: but I hate LGPL even more. |
00:58:33 | freezerburnV | TheMazeRunner: Weird, the more time I spend being a developer, the more I like the GPL and Stallman and the FSF |
00:58:39 | michael_campbell | s'ok, I've been an emacs person for.... 20+ years now. |
00:58:42 | freezerburnV | Also what's wrong with LGPL? I can understand not liking the GPL... |
00:59:20 | TheMazeRunner | I want a freedom like MIT, BSD etc.. |
01:01:24 | freezerburnV | TheMazeRunner: Pretty sure LGPL can be used in commercial software. Though honestly I'm not sure of the specifics of the LGPL, I just know some basics about GPL and MIT |
01:01:43 | TheMazeRunner | Which is more free, MIT or GPL? of course MIT is more friendly, free, and liberal. |
01:02:44 | TheMazeRunner | You agree with me, guys? |
01:02:47 | mcc | MIT is concerned with the freedom of the developer, GPL is concerned with the freedom of the software itself. |
01:02:54 | freezerburnV | TheMazeRunner: Depends on your definition of "freedom", at least. I can see the reasoning behind GPL, because it forces more software to be able to be scrutinized instead of being black boxed and, hence, inherently unfriendly in the worst way :) |
01:03:32 | freezerburnV | I grow to dislike that my "freedom" is being restricted further and further as time goes along due to software which I cannot modify or read its code |
01:03:32 | * | desophos quit (Remote host closed the connection) |
01:04:19 | freezerburnV | But that's not really a topic to delve into too deeply in an IRC channel about a specific programming language |
01:04:34 | TheMazeRunner | You are right, freezer. |
01:06:02 | TheMazeRunner | But freezer, if you were a businessman, you will know how much you hate GPL and how much you love MIT and BSD licneses. |
01:07:09 | TheMazeRunner | Alright guys, it's 4.00 AM, I got to sleep now. Good bye. |
01:07:16 | * | TheMazeRunner left #nim (#nim) |
01:07:17 | freezerburnV | TheMazeRunner: Depends on whether or not I want to have my code be open source, with assets that require purchase, etc. |
01:11:14 | freezerburnV | So I have "ParseException = ref object of Exception" and "raise newException(ParseException, ...)", but I'm getting an error that only a ref object can be raised |
01:13:00 | GangstaCat | TheMazeRunner was Kim Jung Un, again |
01:13:10 | GangstaCat | don't feed the troll |
01:20:40 | kier | freezerburnV: does it work if you make ParseException not a ref? (i.e. type ParseException = object of Exception) |
01:20:42 | * | desophos joined #nim |
01:21:02 | freezerburnV | kier: Indeed it does! |
01:21:23 | * | akaisora__ is now known as akaisora_ |
01:21:46 | freezerburnV | kier: Does newException automatically throw a ref in somewhere then? |
01:21:50 | kier | huh that's weird |
01:21:53 | kier | maybe it does |
01:22:08 | kier | i'm now inspired to look at the source of newException |
01:23:14 | kier | yes, it looks like newException(T, ...) actually creates and returns a value of type ref T |
01:23:40 | freezerburnV | Mystery solved, that was easy |
01:23:57 | kier | which fits in with the naming convention that most procs beginning with 'new' construct and return ref values |
01:25:10 | kier | so I guess the error was caused by trying to raise a 'ref ref' then |
01:25:59 | freezerburnV | Yep |
01:26:49 | * | yglukhov joined #nim |
01:27:30 | freezerburnV | so what does it mean for a proc to be GC-safe? Getting some extra warnings from my "linter" mentioning that some stuff isn't GC-safe (has to do with callbacks) |
01:28:22 | kier | freezerburnV: http://nim-lang.org/docs/manual.html#threads-gc-safety |
01:28:53 | kier | essentially, a proc is gc-safe if it doesn't access any garbage collected memory other than that reachable from its arguments or return value |
01:30:26 | freezerburnV | kier: Interesting |
01:31:15 | * | yglukhov quit (Ping timeout: 250 seconds) |
01:33:05 | * | saml_ quit (Quit: Leaving) |
01:57:30 | * | chemist69 quit (Ping timeout: 260 seconds) |
02:07:23 | * | der-landgraf quit (Quit: WeeChat 1.5) |
02:10:33 | * | chemist69 joined #nim |
02:11:07 | * | unsarcasm joined #nim |
02:13:39 | * | zodiak quit () |
02:15:13 | * | zodiak joined #nim |
02:43:41 | * | akaisora_ quit (Ping timeout: 240 seconds) |
02:47:40 | * | Jesin quit (Quit: Leaving) |
03:15:49 | * | desophos_ joined #nim |
03:20:01 | * | desophos_ quit (Ping timeout: 250 seconds) |
03:28:49 | * | girvo joined #nim |
03:29:19 | girvo | Hey all |
03:30:07 | girvo | has anyone used Nim to write a Pebble app yet? I'm giving a shot today, figured it'd be a fun challenge |
03:30:24 | * | Kingsquee quit (Excess Flood) |
03:30:50 | * | Kingsquee joined #nim |
03:31:23 | * | der-landgraf joined #nim |
03:32:01 | girvo | How do I include a C header file? I'm going to --compileOnly and rely on Pebble's build chain to compile/link/assemble |
03:35:11 | girvo | Pebble's tool-chain uses Waf under the hood to compile, anyone had any experience using Nim with Waf? |
03:36:02 | freezerburnV | girvo: Hacky solution: have a script that prepends the #includes before the source? Though you can interact with foreign C code without needing to do that, so I'm not sure it's necessary? |
03:36:05 | * | Kingsquee quit (Ping timeout: 260 seconds) |
03:37:41 | freezerburnV | I don't know how waf/pebble builds things, so I'm not sure how you could get Nim to play nice with Pebble. You might need to generate a library and do the steps required to get Nim to init properly in pure C as a scaffold |
03:37:50 | girvo | freezerburnV: Yeah, that could work! I'm basically trying to leverage Nim as "nicer C syntax" which is a bit different to my normal usage ;) |
03:38:00 | girvo | yeah thats basically the plan |
03:39:35 | freezerburnV | girvo: If you haven't seen it: http://nim-lang.org/docs/backends.html#backend-code-calling-nim-nim-invocation-example-from-c |
03:39:41 | girvo | the main issue I can see is that Waf picks the header file it gives you based on the compilation target |
03:40:06 | girvo | so the pebble "headers" get swapped out if you're building for the Time, or the Round, etc. |
03:41:10 | freezerburnV | girvo: I would say that you probably want to create some nim modules wrapping the different Pebble headers, and compile separate libraries based on your target. Then just call into the main part of your nim code |
03:41:16 | girvo | For my case I can prolly just c2nim the "chalk" headers, coz I'm only targeting the Round, but I'd love to work out how to do it generically |
03:41:25 | girvo | freezerburnV: that's a good idea, actually! |
03:42:32 | freezerburnV | girvo: You can probably even put some command line flags in that will swap out the implementation module at compile time |
03:42:38 | girvo | if it's done at compile-time with a "when" it could even wrap pebble's build tooling and handle all of it. I'll conver the Pebble headers for chalk now, but definitely going to give that a shot |
03:42:43 | freezerburnV | Assuming you have a base subset you can create, at least |
03:42:49 | girvo | freezerburnV: yeah! :) thanks for the help |
03:42:55 | freezerburnV | girvo: No problem :) |
03:45:19 | girvo | oh no, lol, c2nim can't handle the header files |
03:45:27 | girvo | chokes on: `typedef struct __attribute__((__packed__)) AccelData {` |
03:45:43 | freezerburnV | Probably the __attribute__? |
03:45:46 | girvo | Specifically the "__packed__" handle |
03:46:03 | freezerburnV | Maybe comment that out, and manually shove it back in? |
03:46:14 | girvo | yeah, once I work out what it's actually doing heh |
03:46:18 | freezerburnV | I have no idea what __packed__ does, so I can't comment on how to emulate it in Nim |
03:46:53 | girvo | interestingly, its the same as the {.packed.} pragma on an object |
03:46:56 | girvo | apparentyl |
03:47:00 | girvo | http://stackoverflow.com/questions/5473189/what-is-a-packed-structure-in-c |
03:47:34 | freezerburnV | Well... that'll be easy to replicate then! |
03:48:20 | girvo | Prolly going to write a dirty script to convert this for me hehe |
03:49:46 | freezerburnV | Dirty scripts are the best scripts |
03:50:06 | freezerburnV | Even better: Write a Nim program that does everything for you ;) |
03:51:16 | girvo | That's what I meant ;) `nim c --run`~! |
03:51:34 | freezerburnV | heh |
03:52:07 | freezerburnV | Nah man, just put a statically-linked binary in. Check it into git for each new version :P |
03:52:16 | freezerburnV | 'Cause that's totally a good practice. Yep |
03:52:30 | girvo | bwahahaha |
03:52:36 | * | girvo cries because i've had that before |
03:52:48 | freezerburnV | me too :'D |
03:52:58 | mcc | it's a perfectly good strategy with svn... |
03:53:25 | freezerburnV | My first job, once we converted everything from SVN to git, had a repo that was like 4GB to check out because it was a bunch of binaries |
03:53:49 | michael_campbell | at least they were gz'd... =\ |
03:53:59 | girvo | haha |
03:54:26 | * | michael_campbell did a CVS to git migration - the struggle is real. |
03:54:39 | * | der-landgraf quit (Quit: WeeChat 1.5) |
03:55:14 | freezerburnV | The night I was up to almost midnight working with a senior engineer to make sure the migration script was correct was super fun |
03:55:52 | freezerburnV | Took multiple hours to run each time because it was basically a huge regex being run over the entire history to make sure the correct history was included/excluded |
03:56:26 | michael_campbell | We currently have a tool that basically wraps some docker-compose commands (don't ask). It's written in go. (don't ask) I want to rewrite it, or at least duplicate it, in nim. I think it'll be a fun exercise. |
03:57:03 | freezerburnV | And now I want to ask... |
03:57:30 | freezerburnV | Man I would love to have Docker. We're still stuck in "Here's a text file with all the things you need to do/install" |
03:57:40 | freezerburnV | And we use Maven AND Ant :D |
03:57:45 | michael_campbell | oh, wow. |
03:58:04 | michael_campbell | One of my first things at the company I work for now was to migrate from ant to maven. |
03:58:32 | michael_campbell | And re: docker, I've found that it's sometimes best to disrupt by just putting it in there, using it yourself, and socializing the wins you get. |
03:58:49 | michael_campbell | Or, you get fired. Either way, your workflow has changed. |
03:58:52 | freezerburnV | lol |
03:59:10 | freezerburnV | I'll probably try at some point. I managed to sneak Kotlin in at one point without getting fired |
03:59:14 | michael_campbell | NICE. |
03:59:22 | michael_campbell | I did the same with Groovy. |
03:59:32 | michael_campbell | Starting with Spock, but rewriting some java in groovy as I went |
03:59:41 | freezerburnV | The hard part is: I'm one of four developers. And everyone is kind happy where they are. And nobody really redeploys anything, they just set up a box and stick with it for like 5+ years |
03:59:43 | michael_campbell | We're taking a Scala bent now so that might end, but <shrug> |
03:59:44 | girvo | michael_campbell: thats exactly how I introduced Docker, Nim and ES6 to where I work ;) |
04:00:01 | freezerburnV | Now if only I can convince the main Java dev that Kotlin is worthwhile... |
04:00:09 | girvo | Now, we're a software eng consulting company; when I started a year and a half ago, we were a web dev agency lol |
04:00:11 | michael_campbell | freezerburnV, is that "happy" or "comfortable"? |
04:00:12 | freezerburnV | he only wants me to convert straight beans to data classes |
04:00:19 | freezerburnV | michael_campbell: Both :D |
04:00:36 | michael_campbell | beans, data classes... man o man |
04:00:36 | freezerburnV | Basically the lead engineer of us doesn't see the point of Kotlin |
04:00:43 | michael_campbell | Then he needs the boot. |
04:00:49 | freezerburnV | Except to make POJOs super short |
04:01:13 | freezerburnV | Well he basically wrote the code from scratch, and has been around basically since the company was founded and when he was still using like JDK 3, so... |
04:01:17 | michael_campbell | If you don't see the point, that's grounds for dismissal. If you see the point and still don't change, then sure, give your reasons, but at least /look/. |
04:01:53 | michael_campbell | Tell me someone at your company also says they're Agile, because that's the icing on this cake. |
04:01:57 | freezerburnV | (and he was using JDK 3 because that was the latest at the time, not due to preference) |
04:02:05 | freezerburnV | I don't think so, actually |
04:02:12 | freezerburnV | We're not very buzzwordy, actually |
04:02:22 | freezerburnV | The devs are just super comfortable and happy where they are |
04:02:32 | michael_campbell | You need some more product people. I can send you some; we have too many. ;-) |
04:02:37 | freezerburnV | lol |
04:03:14 | michael_campbell | We have our own demons too; I don't mean to poke fun. We have a (wait for it) app written in Swing. |
04:03:40 | michael_campbell | Which we are deprecating, but sllllooooooowly. |
04:04:08 | freezerburnV | hey now, Swing can be great. IntelliJ is one of the best things I've used. All Swing |
04:04:11 | michael_campbell | girvo are you using Nim for in-production realzies? |
04:04:37 | michael_campbell | It *CAN* be (we're an IntelliJ shop mainly too), but god that code - it makes my eyes bleed. |
04:04:52 | freezerburnV | Yeah that's fair |
04:05:01 | freezerburnV | Oh gosh |
04:05:18 | freezerburnV | So the main dev I told you about? He uses VIM. On Java codebase. I'm not kidding |
04:06:01 | freezerburnV | The other two guys are Netbeans people |
04:06:02 | michael_campbell | I'm an emacs guy, so... |
04:06:18 | michael_campbell | But if you're doing anything in java of size, IntelliJ is the way to go (which I do) |
04:06:36 | freezerburnV | I just... I don't understand using something like VIM on Java codebase. (same goes for Emacs) |
04:07:17 | freezerburnV | I don't diss on either editor, I just advocate using an IDE for Java |
04:07:21 | michael_campbell | For navigation with etags/ctags, emacs is fine. Vim probably has something similar. But anything beyond that; refactoring mainly, and yeah - these tools don't cut it. |
04:07:37 | michael_campbell | Or auto-complete. I can just about face-roll on the keyboard and have IJ do the completion for me. |
04:07:44 | freezerburnV | lol |
04:07:49 | freezerburnV | Sounds about right |
04:08:09 | michael_campbell | auto-import, clean up imports, etc. Nothing comes close |
04:08:14 | girvo | http://hastebin.com/isinamofiq.h |
04:08:18 | girvo | c2nim also chokes on this line |
04:08:24 | girvo | Users/josh/Personal/pebble/translink/include/pebble.h(1250, 97) Error: identifier expected, but found '(' |
04:09:56 | girvo | I think maybe it's going to be easier to adapt existing bindings, lol. They're doing a shit-tonne of preproc magic it seems |
04:10:29 | michael_campbell | is it griping on the first paren of the expansion? |
04:10:38 | michael_campbell | ((Uuid) .... that first one? |
04:11:52 | * | GangstaCat quit (Quit: Leaving) |
04:13:04 | michael_campbell | Time for bed for me... it's old and I'm late. Or something. |
04:13:11 | michael_campbell | Night guys. |
04:13:13 | girvo | hehe thanks for your help too! night |
04:13:28 | * | michael_campbell waves |
04:14:27 | girvo | So, there's D bindings, and Ada bindings heh |
04:14:27 | girvo | http://blog.adacore.com/make-with-ada-formal-proof-on-my-wrist |
04:15:11 | girvo | I think I'll just write this by hand haha |
04:17:29 | freezerburnV | girvo: That'st he spirit! |
04:17:39 | freezerburnV | I find it oddly satisfying to do that personally |
04:19:40 | * | michael_campbell quit (Ping timeout: 264 seconds) |
04:20:01 | girvo | I've not done it yet, despite having written two production Nim projects lol |
04:20:19 | freezerburnV | girvo: Probably not a bad thing |
04:20:35 | freezerburnV | Out of curiosity: What stuff have you done with Nim? |
04:25:08 | * | astocko joined #nim |
04:26:10 | girvo | Dup (nee "docker-up"), a CLI tool for local web development environments via Docker |
04:26:36 | girvo | and Duploy, an extension of it for automated deployments and server management for Docker containers in production (specifically aimed at web agencies) |
04:27:11 | girvo | Dup was made because Docker Compose doesn't handled data-only volume containers properly, so you can't have DB persistence for local DB containers |
04:27:34 | girvo | and Duploy was made because all the other alternatives take over all of your infrastructure, and aren't made for the "agency" style |
04:27:55 | girvo | The alternatives are made for start-ups -- a single product made of disperate microservices |
04:28:11 | freezerburnV | Huh, interesting |
04:28:22 | freezerburnV | Sounds like an interesting project |
04:28:27 | girvo | Whereas we have completely different clients that are isolated from one another across different infrastrucutre (Digital Ocean and AWS) |
04:28:49 | girvo | I'm in the process of refactoring them at the moment to use Docker's remote API now that Unix socket support is in 0.14 :) |
04:29:14 | girvo | Currently in the process of implementing the TAR archive format in Nim as it's needed for Docker to run "build" for an image/context |
04:29:48 | * | endragor joined #nim |
04:30:35 | freezerburnV | Need another dev? :P |
04:31:26 | girvo | We actually do ;) I'm in australia though! I'm trying to convince my boss to let me manage some people remotely though |
04:32:02 | freezerburnV | ...you have no idea how much I would love to work for an Australian company so that my wife and I would have an excuse to visit there regularly |
04:32:26 | freezerburnV | We went there last year and loved it. Actually considering attempting to immigrate there someday |
04:32:27 | girvo | hah! send me an email :) josh at studionone dot com dot au |
04:32:50 | freezerburnV | Should I attach a CV or something? |
04:32:53 | girvo | its an awesome country. amazing weather, i've lived here for 18 years now! |
04:33:05 | girvo | yeah send it through :) will give me ammo to take to my boss ;) |
04:33:08 | freezerburnV | Nice! Born there or moved? |
04:34:16 | freezerburnV | ...though I would guess moved considering that an 18 year old isn't as likely to create two production apps in Nim that sound relatively complicated |
04:34:38 | freezerburnV | But I would never discount it, as I've met some people much younger than me who made me look stupid |
04:38:04 | girvo | moved :) |
04:38:22 | girvo | from New Zealand, originally |
04:38:41 | freezerburnV | Ooh, nice. Haven't had the pleasure of visiting there yet, but definitely want to at some point |
04:43:27 | girvo | should for sure, one of the most beautiful countries in the world |
04:43:31 | girvo | just don't live there, lol |
04:45:32 | freezerburnV | girvo: Oh? |
04:46:30 | freezerburnV | girvo: FYI my email is vincentk at unlocked-doors dot com, so you don't wonder who the random stranger is that's emailing you |
04:48:24 | girvo | thanks! |
04:48:34 | girvo | gotta to go to a doctors appt, be back later |
04:48:35 | * | girvo waves |
04:48:42 | freezerburnV | girvo: Talk to you later |
04:48:46 | freezerburnV | I'll probably be asleep when you get back |
04:48:49 | freezerburnV | I'm sending the CV over now though |
04:52:41 | * | girvo quit (Ping timeout: 240 seconds) |
04:53:21 | * | girvo joined #nim |
04:53:24 | freezerburnV | And speaking of being asleep, gonna go ahead and crash now. Night all |
04:53:49 | * | girvo quit (Client Quit) |
04:54:51 | * | renesac_ joined #nim |
04:57:45 | * | renesac quit (Ping timeout: 260 seconds) |
04:59:04 | * | freezerburnV quit (Ping timeout: 252 seconds) |
05:21:48 | * | s4 joined #nim |
05:49:18 | * | yglukhov joined #nim |
05:55:50 | Demos | is there a way to get nimsuggest to return suggestions for all scopes that are imported in a given file? |
05:56:04 | Demos | sorry all modules |
05:56:35 | Demos | so like being able to complete glDoGraphics without typing opengl.glDoGraphics |
05:56:43 | * | yglukhov quit (Remote host closed the connection) |
06:05:16 | * | der-landgraf joined #nim |
06:06:55 | * | GangstaCat joined #nim |
06:07:30 | * | der-landgraf quit (Client Quit) |
06:08:33 | * | yglukhov joined #nim |
06:13:02 | * | yglukhov quit (Ping timeout: 244 seconds) |
06:14:17 | * | der-landgraf joined #nim |
06:17:42 | * | endragor_ joined #nim |
06:21:07 | * | endragor quit (Ping timeout: 244 seconds) |
06:26:36 | * | mcc quit (Quit: Connection closed for inactivity) |
06:30:49 | * | endragor_ quit (Remote host closed the connection) |
06:31:18 | * | endragor joined #nim |
06:36:19 | * | gokr joined #nim |
06:44:06 | * | der-landgraf quit (Quit: WeeChat 1.5) |
06:45:14 | * | der-landgraf joined #nim |
07:32:46 | * | Trustable joined #nim |
07:33:01 | * | GangstaCat quit (Quit: Leaving) |
07:35:16 | * | yglukhov joined #nim |
07:36:55 | * | cheatfate_ joined #nim |
07:39:27 | * | cheatfate quit (Read error: Connection reset by peer) |
07:39:31 | * | bjz joined #nim |
07:49:24 | cheatfate_ | morning Araq! |
07:49:36 | Araq | hi |
07:49:59 | * | PMunch joined #nim |
07:50:41 | cheatfate_ | where i can see memory protection setup in nim executable |
07:51:54 | cheatfate_ | I mean i want to see code which protects `ref` memory? |
07:54:23 | Araq | you mean with 'protect'? |
07:54:36 | cheatfate_ | on windows VirtualProtect |
07:54:51 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
08:00:00 | Flox42 | hi, I want to present nim to our department. is there a bigger version of the nim logo with the nim writing? maybe a svg version? only found the crone alone as svg and a small crone with nim writing on github. |
08:01:00 | Flox42 | s/crone/crown |
08:03:05 | Araq | Flox42: look at web/assets in the git repo |
08:03:12 | * | heretobang joined #nim |
08:03:35 | Araq | er no, look here: https://github.com/nim-lang/assets |
08:03:59 | Araq | cheatfate_: nim does not call VirtualProtect |
08:05:24 | cheatfate_ | Araq, i have very strange bug with WSASendTo() (https://msdn.microsoft.com/en-us/library/windows/desktop/ms741693(v=vs.85).aspx), when i'm using `lpTo` parameter as a stack value, then i got SIGSEGV from ntdll.dll, but when i'm using `lpTo` parameter as a shared/refed memory value, everything is find |
08:05:43 | cheatfate_ | find = fine |
08:06:27 | cheatfate_ | so it was just a question does nim protecting stack somehow? |
08:08:34 | Araq | "For a Winsock application, once the WSASendTo function is called, the system owns these buffers and the application may not access them. This array must remain valid for the duration of the send operation." |
08:08:47 | Araq | I can imagine the same holds for lpTo. |
08:09:01 | * | bjz joined #nim |
08:09:09 | Araq | nim doesn't protect the stack but the OS might. |
08:22:01 | * | PMunch quit (Ping timeout: 244 seconds) |
08:25:58 | * | unsarcasm quit (*.net *.split) |
08:26:13 | * | PMunch joined #nim |
08:31:11 | * | xet7 joined #nim |
08:32:33 | * | xet7_ joined #nim |
08:33:11 | def- | https://hookrace.net/blog/writing-a-2d-platform-game-in-nim-with-sdl2/ |
08:35:49 | PMunch | OOoh, interesting |
08:39:07 | cheatfate_ | def-, very nice tutorial, thanks |
08:39:20 | cheatfate_ | Araq, can learn how to handle Font Rendering on his NimEdit :) |
08:40:52 | foosball | def- does so much for nim. i really enjoy that a lot! |
08:46:29 | Flox42 | Araq: thanks |
08:49:04 | * | Arrrr joined #nim |
08:50:29 | cheatfate_ | Araq, is it possible in generator to name `closures` not as `HEX3Aanonymous___` but with something like `Closure_`Parent Proc Name`_XXXX_XXX`? |
08:52:28 | cheatfate_ | I think it will be easier to debug |
08:55:14 | * | elrood joined #nim |
08:58:50 | Araq | ok |
09:02:34 | cheatfate_ | Araq, also there environment variables named with `HEX3Aenv`, it would be nice to have something like `Proc Name`env_XXX_XXXXX |
09:10:40 | * | yglukhov quit (Ping timeout: 264 seconds) |
09:11:11 | * | yglukhov joined #nim |
09:22:26 | vktec | What's the style guide around function names? Should it be fooBar or foo_bar? |
09:22:39 | vktec | s/guide/convention/ |
09:25:02 | vktec | In the documentation examples and standard libraries it seems to be fooBar, so I'll go with that for now. |
09:25:07 | def- | vktec: https://github.com/nim-lang/Nim/wiki/Style-Guide-for-Nim-Code |
09:25:14 | vktec | Ah, thanks |
09:26:06 | * | yglukhov quit (Remote host closed the connection) |
09:26:41 | * | yglukhov joined #nim |
09:28:30 | * | vktec quickly changes his indentation to 2 spaces in stead of 4 |
09:42:58 | cheatfate_ | Araq, i have made an issue on names https://github.com/nim-lang/Nim/issues/4332 |
09:43:17 | cheatfate_ | dom96, please take a look on https://github.com/nim-lang/Nim/issues/4333 |
09:45:47 | * | desophos quit (Read error: Connection reset by peer) |
09:48:44 | * | brson joined #nim |
09:56:51 | * | heretobang quit (Read error: Connection reset by peer) |
09:58:39 | * | nicanaca0 joined #nim |
10:00:28 | * | deavmi joined #nim |
10:00:33 | deavmi | Ello all |
10:00:36 | deavmi | Been a while :) |
10:01:52 | deavmi | compiling Nim on the Pi. Takes a while but you know. It works. I recently built Nim on GNU Root for Android. Programs didn't seem to work. But I think that might have to |
10:02:04 | deavmi | qqwith lack of support for android. idk? |
10:02:14 | deavmi | * qq = " " |
10:02:20 | * | deavmi quit (Client Quit) |
10:02:53 | * | deavmi joined #nim |
10:03:03 | deavmi | dom96: Ello o/ |
10:03:09 | deavmi | Araq: hi :) |
10:07:16 | Araq | hi |
10:07:24 | deavmi | anyone know fo a way to write documents that are stylish and can be exported as html |
10:07:25 | deavmi | Latex? |
10:07:33 | deavmi | Araq: How do you do? |
10:08:25 | flyx | deavmi: I am currently developing a tool for that |
10:08:34 | deavmi | flyx: Really? |
10:08:56 | flyx | deavmi: yes. you may also want to have a look at http://docs.racket-lang.org/pollen/ |
10:09:06 | deavmi | I need something. Like I want to write stuff with a text source an then have it made beautiful. I don't like static generators of the modern stuff. |
10:09:11 | deavmi | flyx: Will do thanks :) |
10:10:08 | deavmi | Okay. Will save this in bookmarks |
10:10:16 | flyx | if you do not want to style your stuff yourself, css libs like bootstrap are probably what you are looking for. |
10:10:39 | PMunch | deavmi, this depends very much on what you want/need |
10:10:48 | * | chemist69 quit (Ping timeout: 250 seconds) |
10:10:58 | deavmi | I do need something though that can just generate an HTML |
10:11:03 | PMunch | You could try out markdown which is what GitHub uses. If you like that style |
10:11:10 | deavmi | like feed in a simple syntax and voila something that looks nice |
10:11:18 | deavmi | Yeah. I like markdown. |
10:11:22 | PMunch | Then Markdown might be for you |
10:11:28 | deavmi | But in terms of using document compilers |
10:11:30 | deavmi | on the CLI |
10:11:45 | deavmi | Because there are really good flavours of MD |
10:11:57 | PMunch | github.com/chjj/marked |
10:12:01 | dom96 | You might also like AsciiDoc |
10:12:03 | deavmi | The only one I really now is GitHub's |
10:12:04 | PMunch | That might be of interest |
10:12:07 | deavmi | AsciiDoc heard of it. |
10:12:12 | deavmi | I will check it out. |
10:12:14 | * | bjz_ joined #nim |
10:13:22 | flyx | where Pollen stands out is programmability. defining macros and the likes. afaik, Markdown, AsciiDoc, restructuredText and the likes cannot do that |
10:13:50 | deavmi | I'm not into that I guess. |
10:13:58 | deavmi | But this AsciiDoc looks promising |
10:14:14 | deavmi | I'm apt-getting it right now ! |
10:14:46 | * | bjz quit (Ping timeout: 252 seconds) |
10:15:56 | * | chemist69 joined #nim |
10:16:05 | deavmi | what is cgmeth (I saw it whilst compiling) |
10:16:17 | deavmi | And I wanted to know meth? Why? |
10:18:00 | * | Kingsquee joined #nim |
10:18:24 | dom96 | deavmi: It stands for C generation method |
10:18:26 | deavmi | I'm assuming a library |
10:18:28 | dom96 | or something like that |
10:18:29 | deavmi | I see |
10:18:42 | deavmi | K thanks dom96 |
10:20:19 | * | Kingsquee quit (Client Quit) |
10:22:32 | Araq | "code generation for methods" |
10:23:06 | * | brson quit (Ping timeout: 272 seconds) |
10:23:08 | deavmi | Okay |
10:23:18 | deavmi | I really like the look of the Perl docs |
10:23:19 | deavmi | https://doc.perl6.org/language/5to6-perlfunc#break |
10:23:24 | deavmi | Nice colouring. |
10:23:37 | * | abbat joined #nim |
10:25:44 | Araq | yeah but it's different from Rust's and thus wrong. |
10:27:11 | deavmi | Araq: ? |
10:27:28 | Araq | I'm kidding. |
10:27:31 | deavmi | oh |
10:27:32 | deavmi | lol |
10:27:50 | deavmi | I must say though the Nim's docs look nice. The colours on Perl's might make me sleepy |
10:28:03 | deavmi | I need something non-distrcting and non-sleep-inducing XD |
10:28:07 | deavmi | * distracting |
10:28:54 | deavmi | Is the only dependancy for building Nim on say now Linux gcc? |
10:32:34 | deavmi | Anyone here tested Nim on Haiku OS? |
10:32:39 | deavmi | I should try this holidays. |
10:32:49 | deavmi | * these |
10:33:31 | * | dom69 joined #nim |
10:34:43 | deavmi | imgur.com/z0VgkBI |
10:34:52 | dom69 | What's up, guys? |
10:34:53 | deavmi | that is Nim running on GNU root on android |
10:34:59 | deavmi | dom69: Ey :) o/// |
10:37:04 | dom69 | deavmi: the does not work. |
10:37:12 | deavmi | link doesn't work? |
10:37:13 | deavmi | Let me check |
10:38:03 | deavmi | http://imgur.com/z0VgkBl |
10:38:04 | deavmi | soz |
10:38:52 | Arrrr | Have you programmed anything for android? |
10:39:18 | deavmi | Arrrr: No. |
10:39:44 | deavmi | Not in that sense. I was just trying to get Nim compiler to run on Android through GNU rppt |
10:39:46 | deavmi | * root |
10:40:09 | deavmi | Pretty cool for being productive (found it on imgur) - https://getcoldturkey.com/ |
10:43:22 | * | TheLemonMan joined #nim |
10:44:26 | * | TheLemonMan quit (Client Quit) |
10:45:30 | * | Polar_Bear_ joined #nim |
10:45:47 | Polar_Bear_ | So, where can I get the app. |
10:46:51 | Polar_Bear_ | Is it available for downloading? |
10:47:35 | PMunch | What app? |
10:48:34 | Polar_Bear_ | Punck: I'm not talking to you. |
10:48:43 | PMunch | Uhm, okay.. |
10:49:00 | deavmi | oh |
10:49:06 | deavmi | GNU Root |
10:49:09 | deavmi | On Google Play |
10:49:14 | deavmi | This is GNU Root Debian |
10:49:26 | PMunch | dom96, I've fixed the link icons now. Apparently the after tag supports a url as content :) |
10:50:29 | deavmi | Gotta go guys. Chat later. |
10:51:24 | gokr | Polar_Bear_: You might want to indicate who you are asking then. |
10:51:44 | Araq | gokr: pretty sure that's our new IRC troll |
10:51:55 | PMunch | Hooray.. |
10:51:59 | Araq | don't feed him. |
10:52:05 | Polar_Bear_ | Araq: I'm the guy |
10:52:22 | Polar_Bear_ | Araq: I'm Nimian, EEE, Kim Jung-un ...etc. |
10:52:33 | deavmi | troll |
10:52:41 | deavmi | can we kick? |
10:52:51 | Polar_Bear_ | No we can't. |
10:52:55 | deavmi | Unless he/she is not troll |
10:53:04 | deavmi | My word. |
10:55:23 | dom96 | Yes we can |
10:55:24 | deavmi | justice has been served. |
10:55:33 | deavmi | dom96: Yeah (HIGHFIVE) |
10:55:46 | dom96 | Nice that he's in our timezone |
10:55:51 | Arrrr | Is this a new troll? I don't recall him |
10:56:08 | PMunch | He as in here yesterday at least |
10:56:14 | PMunch | s/as/was |
10:56:30 | deavmi | oh |
10:56:55 | gokr | Nice that he told us that he is the same as Nimian etc. |
10:57:12 | PMunch | Certainly practical :P |
10:58:03 | gokr | I wonder if ... one could use a whitelist for a channel. And have a bot that just kicks everyone else ;) |
10:58:12 | gokr | Of course not that practical, just wondering. |
10:58:33 | PMunch | There are channels you have to register for so I would say yes |
10:58:38 | deavmi | Anyone know if there is a project providing a distributed irc type software? |
10:58:38 | gokr | Ah |
11:16:56 | flyx | you can also set +m on the channel, so that only users with +v can chat. and then enable +v automatically for all users that are registered with freenode (nickserv) |
11:17:55 | flyx | that *can* help against trolls with varying nicknames, I have seen quite some channels do it |
11:19:06 | deavmi | My word asciidoc makes beautiful html by default |
11:19:11 | deavmi | thanks peopls |
11:19:14 | deavmi | * peoples |
11:19:30 | deavmi | Also, I'd like to know. Is the only requirement for building Nim on Linux GCC? |
11:21:58 | cheatfate_ | deavmi, i think you will also need some kind of c library |
11:22:21 | deavmi | I will test this soon |
11:22:34 | deavmi | I will start a fresh install of Linux |
11:22:37 | deavmi | and try compile |
11:22:56 | deavmi | and then install each package one after the other of attempting to build Nim |
11:22:58 | deavmi | thanks tho :) |
11:25:04 | Araq | deavmi: only a posix shell and GCC is required, yes |
11:25:14 | deavmi | thanjs |
11:25:22 | deavmi | * Thanks Araq and cheatfate_ |
11:28:24 | federico3 | https://hookrace.net/blog/writing-a-2d-platform-game-in-nim-with-sdl2/ |
11:28:29 | gokr | deavmi: I have used Asciidoc earlier and it's quite nice for manuals etc. For sprylang.org I opted to use mkdocs though. |
11:28:41 | deavmi | mkdocs is great |
11:28:43 | deavmi | Ofc |
11:29:04 | deavmi | But I wanted something to just put one file in and give another out on the other side |
11:29:10 | gokr | yeah |
11:32:42 | gokr | Araq: FWIW got spry running/compiling fine in latest Nim. Also got the Vagrantfile working. |
11:34:46 | gokr | Vagrant sure is pretty neat. If you put this file (https://github.com/gokr/spry/blob/master/Vagrantfile) into a directory and run "vagrant up" - then you can do "vagrant ssh" and get into a brand new Ubuntu with latest Nim (and spry). Just replace spry with whatever else you want to test. |
11:37:06 | gokr | Araq: You should use it to be able to try on various OSes :) Seriously. |
11:37:25 | flyx | well apart from vagrant being a hobbling piece of Ruby that tends to be slower than the actual virtual machine, it's quite nice. I wonder if docker would be a better tool for that usecase |
11:37:43 | gokr | IIRC vagrant is written in Go? |
11:38:11 | flyx | no, it's Ruby |
11:38:18 | flyx | just look at the syntax of the Vagrantfile |
11:38:22 | gokr | No idea what you mean with "slower than" ... vagrant is not in effect when you are actually running. It's just scripted VirtualBox. |
11:39:12 | flyx | yeah, and I have used it for quite some projects, and if you use it often, you notice it tends to take longer for some tasks than if you just boot up the VM with the VirtualBox GUI |
11:40:08 | flyx | this might be something you only notice as power user. |
11:40:19 | gokr | You are correct - I had confused vagrant with something else. Ruby it is. |
11:41:06 | gokr | I still think its pretty neat. Docker... (sorry ldleworker) doesn't make me feel good. |
11:41:16 | gokr | In fact, docker mainly pisses me off :) |
11:41:41 | flyx | yeah, I didn't say vagrant is awful. it fulfills its promises. |
11:42:02 | gokr | But that's another story of course (docker). I just don't buy into the whole thing for most of us. |
11:42:07 | flyx | with docker, you usually need to have luck that some tool works with it (or not) |
11:42:55 | gokr | I can see the appeal of docker for very large cloud based ... companies. But for me? Don't see it. I don't have a fleet of containers running on 100s of servers. |
11:42:57 | * | bjz joined #nim |
11:43:07 | gokr | Sorry for the off topic rant. |
11:43:07 | flyx | well docker is basically a monkey patch for dependency hell on Linux systems. for the proper fix, you can use NixOS. |
11:43:10 | * | bjz_ quit (Ping timeout: 260 seconds) |
11:43:20 | federico3 | what? no |
11:45:25 | * | BitPuffin joined #nim |
11:49:37 | * | WYSIWYG joined #nim |
11:50:37 | WYSIWYG | In the book Nim in Action, says that Nim has the most extensive metaprogramming features, but I just want to sure if that is 100% right? |
11:53:11 | WYSIWYG | I mean how is Nim's metaprogramming features are flagship? |
11:54:58 | PMunch | WYSIWYG, check this out: https://hookrace.net/blog/introduction-to-metaprogramming-in-nim/ |
11:54:58 | WYSIWYG | Hello? |
11:55:09 | elrood | why don't you do something useful with your life instead of trying so hard to be nag and waste everybody's time here? |
11:55:17 | WYSIWYG | Thanks Punck |
11:55:26 | * | brson joined #nim |
11:55:38 | PMunch | God damn it, is that you Mr. Troll? |
11:55:52 | PMunch | elrood, I figured out how to do the link icons properly :) |
11:56:12 | PMunch | Apparently ::after supports a url as content |
11:56:38 | PMunch | So now devlog.peterme.net should render all icons on all devices (that supports svgs) |
11:56:38 | * | cheatfate_ is now known as cheatfate |
11:56:52 | WYSIWYG | What? I'm not troll. |
11:57:10 | PMunch | You misspelled my name in the same way as the troll that was banned earlier.. |
11:57:25 | WYSIWYG | I don't know what you are talking about. |
11:57:31 | PMunch | Anyways, with macros in Nim you can essentially rewrite the abstract syntax tree |
11:57:51 | PMunch | Which allows you to program things like DSIs |
11:58:16 | PMunch | s/DSI/DSL |
11:58:43 | PMunch | hookrace.net/blog/introduction-to-metaprogramming-in-nim/#html-dsl |
11:58:46 | PMunch | Like that for example |
11:59:51 | WYSIWYG | ce |
11:59:56 | WYSIWYG | dvc |
11:59:57 | elrood | PMunch, great. yep, looks fine now. using a unicode rune would probably be more economical, but that shouldn't make a difference in your case anyways |
11:59:58 | WYSIWYG | ew |
11:59:58 | WYSIWYG | fv |
11:59:58 | WYSIWYG | tgtb |
11:59:58 | WYSIWYG | t |
12:00:00 | WYSIWYG | b |
12:00:01 | WYSIWYG | te |
12:00:02 | WYSIWYG | b |
12:00:04 | WYSIWYG | yn53 |
12:00:04 | WYSIWYG | 6 |
12:00:04 | WYSIWYG | hn |
12:00:05 | WYSIWYG | 5 |
12:00:05 | WYSIWYG | b |
12:00:07 | WYSIWYG | e |
12:00:07 | WYSIWYG | h |
12:00:08 | WYSIWYG | tge |
12:00:08 | WYSIWYG | th |
12:00:08 | WYSIWYG | 5 |
12:00:08 | WYSIWYG | hreg |
12:00:10 | WYSIWYG | tg |
12:00:11 | WYSIWYG | etg |
12:00:11 | WYSIWYG | ethgre |
12:00:11 | WYSIWYG | bte |
12:00:23 | WYSIWYG | r |
12:00:23 | WYSIWYG | eh |
12:00:26 | WYSIWYG | retr |
12:00:26 | WYSIWYG | y |
12:00:26 | WYSIWYG | hrey |
12:00:26 | WYSIWYG | th |
12:00:26 | WYSIWYG | rte |
12:00:29 | WYSIWYG | hre |
12:00:30 | WYSIWYG | yh |
12:00:30 | WYSIWYG | tre |
12:00:30 | WYSIWYG | hb |
12:00:30 | WYSIWYG | r |
12:00:34 | WYSIWYG | hbr |
12:00:34 | WYSIWYG | h |
12:00:34 | WYSIWYG | re |
12:00:34 | WYSIWYG | hy |
12:00:34 | WYSIWYG | hge |
12:00:34 | WYSIWYG | r |
12:00:38 | WYSIWYG | hbh |
12:00:38 | WYSIWYG | ry |
12:00:38 | WYSIWYG | he |
12:00:38 | WYSIWYG | r |
12:00:38 | WYSIWYG | hrt |
12:00:38 | WYSIWYG | bhr |
12:00:42 | WYSIWYG | t |
12:00:42 | WYSIWYG | t |
12:00:42 | WYSIWYG | br |
12:00:43 | WYSIWYG | gbr |
12:00:43 | WYSIWYG | eh |
12:00:46 | WYSIWYG | thtr |
12:00:46 | WYSIWYG | eh |
12:00:46 | WYSIWYG | ry |
12:00:47 | WYSIWYG | h |
12:00:58 | WYSIWYG | et |
12:00:59 | WYSIWYG | g |
12:00:59 | WYSIWYG | g |
12:00:59 | WYSIWYG | trh |
12:00:59 | WYSIWYG | er |
12:00:59 | WYSIWYG | t |
12:01:02 | WYSIWYG | htr |
12:01:03 | WYSIWYG | het |
12:01:03 | WYSIWYG | h |
12:01:03 | WYSIWYG | te |
12:01:03 | WYSIWYG | he |
12:01:03 | WYSIWYG | ghet |
12:01:07 | WYSIWYG | g |
12:01:07 | WYSIWYG | et |
12:01:08 | WYSIWYG | rt |
12:01:08 | WYSIWYG | gh |
12:01:08 | WYSIWYG | rethhte |
12:01:08 | flyx | FINISH HIM |
12:01:08 | WYSIWYG | tr |
12:01:16 | PMunch | God damn it.. |
12:01:42 | elrood | we could teach a bot to do that ;) |
12:01:59 | PMunch | To quiet flooders? |
12:02:00 | elrood | it really doesn't deserve spending any human attention and time on |
12:02:21 | PMunch | What if someone by accident pastes a bunch of text thinking it was something else.. |
12:03:05 | cheatfate | PMunch, already made that, you will got excessive flood kick from freenode itself :) |
12:03:21 | * | heinrich5991 quit (Ping timeout: 246 seconds) |
12:03:27 | flyx | a good client will ask you if you really want to send all that |
12:03:43 | PMunch | elrood, about the rune stuff. Using a standard one would definitely be easier and use less resources, but it has to look good as well. Plus, a tiny svg image isn't too bad |
12:04:10 | * | mnemonikk quit (Ping timeout: 260 seconds) |
12:06:52 | * | WYSIWYG quit (Ping timeout: 250 seconds) |
12:09:01 | elrood | PMunch, sure, and one can easily give it a more personal touch this way too |
12:09:19 | PMunch | Definitely |
12:11:40 | dom96 | PMunch: link icons are looking good now :) |
12:11:56 | PMunch | dom96, nice |
12:12:04 | * | fredrik92 joined #nim |
12:12:12 | elrood | regarding the spammer, it'd probably not be that difficult to differentiate, one could be extra sensitive for a certain range of user masks, and after all, even a little improbable collateral damage wouldn't hurt too badly ;) |
12:12:28 | * | brson quit (Ping timeout: 252 seconds) |
12:14:17 | * | hendi joined #nim |
12:14:36 | elrood | after all, as programmers, automating tasks is our natural area of operation |
12:14:41 | elrood | and there we go again.. |
12:14:54 | hendi | hi guys! |
12:15:01 | fredrik92 | Hi there! :-) |
12:15:26 | hendi | quick question: how can I get the length of a set? foo.len doesn't work |
12:16:28 | dom96 | hendi: card(set) |
12:16:47 | hendi | thanks! |
12:16:50 | fredrik92 | that short for... what? ... cardinality? |
12:16:54 | dom96 | yep |
12:17:22 | hendi | fuck, I just found it in the docs... sorry, I overread that :/ |
12:17:31 | fredrik92 | huh... someone appearently has studied mathematics there... :O |
12:18:01 | * | mnemonikk joined #nim |
12:18:01 | * | mnemonikk quit (Changing host) |
12:18:01 | * | mnemonikk joined #nim |
12:19:22 | * | Arrrr quit (Quit: WeeChat 1.4) |
12:23:16 | * | abbat quit (Ping timeout: 264 seconds) |
12:27:54 | * | abbat joined #nim |
12:35:05 | * | Demon_Fox quit (Quit: Leaving) |
12:37:23 | * | brson joined #nim |
12:38:35 | * | heinrich5991 joined #nim |
12:39:16 | PMunch | Oh hi fredrik92 |
12:39:19 | PMunch | What's up? |
12:41:35 | fredrik92 | PMunch, I'm looking a little bit closer into Language Integration in Visual Studio... I currently looking at a very simle Game Scripting Language, but when that works out, I could seriously think about continuing the NimStudio project to integrate Nim into Visual Studio (with project model, compilation, ItelliSense, the whole package)... |
12:41:54 | * | brson quit (Ping timeout: 244 seconds) |
12:42:07 | PMunch | Oh cool |
12:42:12 | fredrik92 | (Luckily the `nim idetools` command actually solves a great deal of problems there... :-) |
12:42:33 | PMunch | I was thinking about using some of the Nim/Vim integration tools to create a Nim pseudo-repl |
12:42:35 | * | freezerburnV joined #nim |
12:43:00 | PMunch | Add a command to run the currently open file as a Nim program and a small alias to open a new file in /tmp |
12:43:04 | fredrik92 | Araq, real great work there btw! Am I to understand, that nim idetools actually deprecates (or at least replaces) nimsuggest? |
12:43:24 | PMunch | That way I could use vim in terminal to try simple things while writing stuff :) |
12:44:06 | hendi | yay, I just made me an += operator vor sets :) |
12:47:20 | Araq | fredrik92: no, the other way round. idetools is obsolete, use nimsuggest instead |
12:47:57 | fredrik92 | ah... ok, that works... :P |
12:48:48 | PMunch | Oh by the way fredrik92, I ported a WM to Nim: devlog.peterme.net/index.php?p=23 |
12:55:30 | * | chemist69 quit (Ping timeout: 260 seconds) |
13:01:40 | * | akaisora_ joined #nim |
13:02:14 | * | chemist69 joined #nim |
13:04:44 | cheatfate | Araq, is system.protect()/dispose() must be used everywhere where earlier we used (GC_ref/GC_unref)? |
13:05:29 | fredrik92 | PMunch, as always Your Website does still not cooperate with my Browser... I can a blank white page... :P |
13:05:37 | Araq | only if you pass the pointer to a different thread |
13:06:05 | PMunch | fredrik92, what? That's not the same page as the other one you had trouble with :S |
13:06:12 | PMunch | Any errors in the log? |
13:06:41 | cheatfate | Araq, so until i'm in same thread i can use (GC_ref and GC_unref)? |
13:07:23 | fredrik92 | yes... I'll msg it to you (to prevent the #nim channel from being cluttered) |
13:07:43 | Araq | cheatfate: yes |
13:07:43 | PMunch | Thanks |
13:09:12 | * | akaisora_ quit (Ping timeout: 258 seconds) |
13:09:18 | * | akaisora_ joined #nim |
13:09:46 | * | nsf quit (Quit: WeeChat 1.4) |
13:10:01 | * | gernest joined #nim |
13:10:06 | cheatfate | Araq, is it possible to make GC_ref()/GC_unref() for pointers? |
13:11:11 | cheatfate | because i want to protect callback's environment, but rawEnv() returns a pointer |
13:13:26 | * | s4 quit (Quit: Konversation terminated!) |
13:13:33 | Araq | just 'cast' it to RootRef |
13:16:09 | * | freezerburnV quit (Ping timeout: 246 seconds) |
13:16:26 | flyx | I just got approval for a postgraduate position at university. if I'm in luck, I'll find a Nim-related topic for my dissertation. perhaps I'll eventually find the time to dive into the compiler's sources |
13:17:18 | dom96 | flyx: Awesome! Congrats! |
13:18:26 | flyx | thx |
13:18:40 | cheatfate | Araq, thanks |
13:19:00 | cheatfate | flyx, congratulations |
13:20:42 | gernest | flyx: Congrats |
13:21:28 | * | kingofoz quit (Ping timeout: 258 seconds) |
13:22:11 | * | kingofoz joined #nim |
13:22:36 | * | gernest quit (Quit: gernest) |
13:22:51 | flyx | thanks folks. I don't think Nim has been a subject of academic research yet, does it? |
13:24:22 | dom96 | AFAIK no |
13:25:05 | gokr | flyx: neat! |
13:25:24 | gokr | What University is that? |
13:25:31 | flyx | Stuttgart, Germany |
13:25:37 | gokr | Ah |
13:26:11 | fredrik92 | Pmunch and I actully did a university project using Nim this semester :) |
13:26:15 | fredrik92 | that was fun! :D |
13:27:34 | * | akaisora_ quit (Read error: No route to host) |
13:27:52 | flyx | good thing that's possible. in my time as a student, we could never choose the target language for any projects |
13:28:10 | dom96 | same |
13:28:14 | PMunch | It was a fun project :) |
13:28:27 | PMunch | We have pretty much free reign over what language we use for most projects |
13:29:01 | PMunch | It's pretty neat. Allows you to try out all kinds of things |
13:29:06 | fredrik92 | Well, we are in our 4th year (1 left to our M.Sc.) so we are mostly allowed to do what we want |
13:29:29 | PMunch | That's true, the first couple of years we were pretty forced |
13:29:34 | fredrik92 | in the first two years (at Bachelor's level) we were pretty much forces to use C and Python though... |
13:29:38 | flyx | I still wonder how we got stereoscopic cluster rendering working with C# |
13:29:52 | fredrik92 | flyx! Nice! |
13:30:03 | fredrik92 | (love C# ;-) ) |
13:30:53 | dom96 | It's all Java so far at my university :\ |
13:31:06 | PMunch | Didn't we have so Go thrown in there for parallelism? Or was that year three? |
13:31:22 | PMunch | dom96, Java is pretty nice though. Not the worst to be stuck with |
13:31:39 | * | freezerburnV joined #nim |
13:31:43 | dom96 | I suppose |
13:31:52 | PMunch | Are you allowed to use Scala/Clojure/other JVM languages? |
13:31:58 | dom96 | nope |
13:32:14 | dom96 | Well, maybe I am, I never asked. |
13:32:16 | * | abbat quit (Ping timeout: 264 seconds) |
13:32:18 | fredrik92 | PMunch, right... We had Go in INF-2202 that was in year... 3, fall semester |
13:32:38 | flyx | well, C# was not all that bad (I also used it for my diploma thesis), but it is definitely not the language of choice when you want to process the database of known stars in the galaxy in realtime. |
13:32:53 | dom96 | I have asked multiple times whether I can use anything other than Java though. |
13:33:44 | dom96 | The reply was always "no". |
13:34:13 | PMunch | That's a shame |
13:34:26 | PMunch | What year are you? Or are you already done? |
13:34:51 | fredrik92 | Hmm... we usually got the reply: Do whatever you want, but please be sensible, and don't expect the TAs to able to help you much with languages they don't understand |
13:34:57 | * | elrood quit (Quit: Leaving) |
13:36:28 | * | abbat joined #nim |
13:36:33 | * | PowerBook joined #nim |
13:36:34 | PMunch | Yeah, when I did my project in Clojure I got a reply saying that I could have included more comments in the code so that the TA's (who didn't know Clojure) would have any idea what was going on :P |
13:36:39 | dom96 | PMunch: just finished second year |
13:37:15 | PMunch | Okay, so it's possible that you'll get some choices down the line |
13:37:42 | dom96 | Their current reasoning is that the examiners wouldn't be able to mark it. |
13:38:28 | PowerBook | It's very clear and obvious that Nim is not a real compiler, Nim is a source-to-source compiler (Nim source --> C source), one good example for a source-to-source compiler is Rose Compiler. Why don't you understand?!WHY?! |
13:39:35 | PMunch | Was that the troll again? |
13:39:42 | dom96 | yep |
13:40:10 | fredrik92 | dom96, Hmm... that sounds... lame... I work at UiT as a TA and I usuallt put much more emphasis on the student being able to explain his solution in his report... Usually I only look over the code to see for obvious mistakes... |
13:40:11 | gokr | What a fruit |
13:40:50 | * | PowerBook left #nim (#nim) |
13:41:12 | PMunch | fredrik92, same here. Looking over the code for obvious mistakes, race conditions, that kind of jazz. And of course check that not everyone have copied one guys code :P |
13:41:50 | fredrik92 | And since reports should be code and language agnostic, the programming language does not actullay matter |
13:41:52 | dom96 | Perhaps my university is just lame. |
13:42:26 | dom96 | I'm starting to consider moving somewhere else for my last year. |
13:42:50 | fredrik92 | Tromsø really is quite awesome as a CS uni I have to say... (especially on the Bachelors level) |
13:43:38 | fredrik92 | some say the best in Norway... At least equal to the others here and that quite good since it's very small... |
13:44:29 | flyx | I have worked as tutor while studying, which placed me at the end that grades the student's submissions. I do not think it is feasible to allow students in early years to choose a language for their tasks, because it is more difficult to help them understand concepts and point out the mistakes they make. but it should be allowed for larger projects in later years. |
13:45:22 | dom96 | This is my University in case anybody is curious: http://www.qub.ac.uk/ |
13:46:03 | fredrik92 | flyx, true, I'd say about midway in your Bachelor, you should mostly know about the basics... |
13:48:10 | dom96 | I would agree for students who have no prior programming experience. But for someone like me it just feels like an unnecessary restriction. |
13:48:54 | flyx | dom96: yeah, having to deal with vastly different experience of students has always been a pressing issue |
13:49:02 | dom96 | That said, for my most recent project (An Android game) Java was a good choice. |
13:49:44 | fredrik92 | right... I my experience, most people will follow recommendations if they do not feel they know what they are doing... So, that way it probably would be possible at the eralier levels as well |
13:49:53 | flyx | unfortunately, there isn't really a good solution for that. you cannot start giving some students less restrictions than others |
13:50:08 | PMunch | dom96, Java and Android go hand in hand |
13:50:31 | PMunch | Been using it for various apps and games and it's really easy when working with Android |
13:51:28 | dom96 | Something that concerns me more regarding my course is what appears to be some sort of grade cap. |
13:53:36 | PMunch | Grade cap? |
13:54:40 | dom96 | For my Android project, I am pretty sure they ensured that no one got above 90%. Whereas for the people that would normally fail the project, they raised their percentage above 40% so that they could pass. |
13:55:54 | dom96 | There were also a number of times where projects were marked by a mix of senior undergraduate students and our lecturers. So the grades seemed inconsistent. |
13:58:07 | flyx | dom96: well you can always dispute marks |
14:00:41 | flyx | students working as tutors are mostly selected by their marks, not by their ability to grade or teach. I experienced this more than once |
14:00:55 | dom96 | flyx: True, but I fear that I would end up with worse marks than I started with if I did that. |
14:01:02 | flyx | well I can of course only speak for the university I graduated at |
14:01:03 | * | mcc joined #nim |
14:01:05 | dom96 | Plus hatred from lecturers. |
14:01:58 | dom96 | And officially they only recognise a "1st" as the highest grade, which is 70% |
14:02:15 | mcc | So it's being suggested in https://github.com/nim-lang/Nim/issues/4319#issuecomment-225777214 that if i need to make a copy of a ref object without knowing its type in advance, i need to "forget what i know about programming and learn nim" |
14:04:10 | fredrik92 | mcc, that sound right, doesn't it?! :P |
14:04:24 | mcc | I'm wondering what the "nim" way to do what I am doing would be, then? I have an array of objects which are "actors" in a game scene. I want to be able to loop over the array and do operations like "update" or "draw". I also want to be able to make a copy of the array. |
14:04:37 | fredrik92 | Always nice with helpful advise to get through life! :D |
14:06:30 | dom96 | mcc: why do you need to copy the array? |
14:07:21 | mcc | (Actually, what I *really* want is to be able to take an array representing the objects at time T, and without mutating create a second array that represents the objects at time T2. I initially started by using non-ref objects, never mutating them, and just making a second array. I liked this because it meant the objects would be allocated contiguously. But |
14:07:21 | mcc | then I ran into fairly bad problems with the fact that breaks subtyping completely, a la issue #4318) |
14:07:37 | mcc | dom96: because i need to be able to checkpoint the state of the actors in the scene and remove to them at a later time. |
14:07:49 | * | flyx does not get how making a clone of an object is `one of the most basic things of object inheritance` |
14:08:09 | mcc | making a copy of a value is one of the most basic things you can do with a value in a programming language? |
14:08:25 | mcc | if you cannot make a copy of an object-inherited object it's suddenly become something that is not actually a value? |
14:08:49 | dom96 | wouldn't creating copies be incredibly inefficient? |
14:08:57 | dom96 | Why do you want to avoid mutating them? |
14:09:18 | mcc | it also means it's impossible to immutably work with an object which has used inheritance (which, again, due to what I'm trying to do, i would like) |
14:09:48 | mcc | in this particular piece of software, I am actually checkpointing on every single timestep. |
14:09:55 | PMunch | Are there any packages supplying persistent data structures like in functional languages? |
14:09:59 | freezerburnV | dom96: Depends on how you make the copy, i would imagine. If you already have the memory allocated in a huge chunk, and just copy individual values (with some change to values before writing the new value into the new copy) it wouldn't be too much more expensive than just mutating an object in place I would imagine |
14:10:48 | dom96 | IMO it should be possible to clone() objects in Nim. |
14:10:54 | mcc | once a timestep is calculated, it is never altered. so in this particular piece of software, i will need to pay to allocate new objects regardless. |
14:11:24 | mcc | dom96: it seems like something that could practically speaking be a primitive operation. or something that a library could be created which adds it to a type. |
14:11:46 | dom96 | Agreed |
14:12:03 | * | PMunch quit (Quit: leaving) |
14:12:31 | kier | http://nim-lang.org/docs/system.html#deepCopy,T,T |
14:12:34 | mcc | freezerburnV: I would actually prefer to allocate the memory in a huge chunk. however that's a little bit tricky since the objects are potentially of different sizes. |
14:12:36 | dom96 | In any case, it seems Araq agrees that it's a bug since he didn't close it. |
14:13:08 | * | NanoPC joined #nim |
14:13:14 | mcc | well, it appears he agrees that the refinement thing is a bug, he does not seem to consider the clone thing a significant use case. |
14:13:25 | NanoPC | Hello guys! |
14:13:36 | freezerburnV | mcc: Could you theoretically keep pools of the different objects around, where each pool has two arrays/seqs, and every time you mutate an object it gets copied over to the new array/seq, then it can flip which one is the active set, akin to double buffering? |
14:14:31 | mcc | kier: so, deepcopy makes a clone of a T, right? so if i have a var A, but var A points to an object of type `B of A`, then when I clone the object it will be transformed from a B into an A, because statically speaking I have asked for a deepcopy of an A. |
14:15:04 | dom96 | hello NanoPC, welcome to #nim! |
14:15:08 | * | hendi quit (Ping timeout: 250 seconds) |
14:15:18 | Araq | he is the troll. |
14:15:18 | NanoPC | dom96: Thanks very much! |
14:15:27 | Araq | why is that so hard to see for you? |
14:15:37 | NanoPC | Araq: excuse me?? |
14:16:04 | mcc | kier: this is why it would possibly make sense for something like a clone, or a dynamicCopy or whatever, to be a primitive operation, because it requires knowledge of the *size* of the object. the language has access to the size information for the object, but i do not. |
14:16:07 | dom96 | Araq: what makes you so sure? |
14:16:08 | mcc | at runtime, i mean. |
14:16:21 | dom96 | not everyone that connects via webchat is the troll |
14:16:27 | dom96 | For example, deavmi |
14:16:28 | Araq | mcc: deepcopy takes the dynamic type into account |
14:16:35 | NanoPC | dom96: It's okay. |
14:16:42 | mcc | araq: oh! |
14:16:45 | NanoPC | dom96: Everyone mistakes. |
14:17:11 | mcc | araq: well then this solves my problem completely and i apparently don't need a java-style clone operation :P |
14:17:56 | * | nsf joined #nim |
14:18:21 | mcc | araq: how does it do this exactly? does it leverage anything else in the language or is it just able to do it because it is a core operation? |
14:18:33 | * | xet7_ quit (Ping timeout: 240 seconds) |
14:18:35 | Araq | it uses RTTI |
14:19:28 | * | coffeepot joined #nim |
14:20:00 | Araq | NanoPC: we'll see soon enough if I'm right. |
14:20:25 | NanoPC | I don't know what is going on? |
14:20:31 | fredrik92 | Araq, the docs should probably be updated, since they talk about `nim idetools` and not `nimsuggest`... How do you do `nim serve` with nimsuggest? |
14:20:59 | mcc | araq: OK. Another way of asking this is, is the RTTI exposed to end-user software in such a way that I could have myself implemented deepCopy? Or is this something only a language primitive would be able to do?? |
14:21:09 | mcc | I don't know why there were two question marks at the end there. |
14:21:15 | NanoPC | Araq: I think you are confusing me with another person. |
14:22:37 | Araq | NanoPC: maybe. but I don't have to wait for long if you are the troll. |
14:23:00 | Araq | it's the troll's nature, he can't help it. |
14:23:10 | Araq | burning under your finger nails. |
14:23:31 | Araq | argh, must resist ... no ... real ... compiler ... *cough* |
14:24:06 | * | gernest joined #nim |
14:24:18 | NanoPC | dom96: I need to translate Nim in Action to Arabic and send it to some team friends, but am I allowed? |
14:24:19 | fredrik92 | Araq, wasn't that PowerBook? |
14:24:32 | Araq | ta-da. |
14:24:36 | fredrik92 | :D |
14:25:55 | mcc | Also, it might be helpful if the documentation mentioned that (about deepCopy). Is the documentation on the website the same as the documentation under doc/ in the github? Are pull requests containing documentation fixes welcome? I seem to have filed several issues concerning what I would consider documentation bugs. |
14:26:03 | Araq | mcc: deepCopy can implemented in pure Nim |
14:26:19 | Araq | and yes we accept documentation fixes. |
14:26:28 | Araq | fredrik92: sure, update the docs. |
14:26:46 | mcc | Maybe I will file some then. |
14:26:57 | * | gernest quit (Client Quit) |
14:28:10 | mcc | How would one implement deepCopy in pure Nim? The only thing I can think involves copying the memory, but this requires knowing the size. Does sizeof() use RTTI or is it static? |
14:29:30 | mcc | Also when you say RTTI-- I think I read in the docs that Nim does not use vtables. So I assume this is not C++ RTTI? Is the way the RTTI works described somewhere? |
14:29:40 | mcc | Maybe I should just read dom96's book. Is this sort of thing described in detail in there? |
14:30:16 | Araq | mcc: https://github.com/nim-lang/Nim/blob/devel/lib/system/deepcopy.nim |
14:30:44 | * | NanoPC quit (Ping timeout: 250 seconds) |
14:30:58 | saml | is there play.nim-lang.org ? |
14:31:03 | mcc | araq: Cool. Thank you for the explanations! |
14:36:22 | fredrik92 | Araq, the use of : in the commands to nimsuggest (filename:line:col) is VERY unfornunate with Windows absolute paths... |
14:37:35 | reactormonk | fredrik92, use the sexp API ;-) |
14:38:10 | fredrik92 | reactormonk, sexp API? |
14:38:30 | reactormonk | You can invoke nimsuggest with a few different ways to connect to it |
14:38:47 | Araq | fredrik92: why? just put the filename in quotes |
14:38:54 | reactormonk | Oops. |
14:39:46 | fredrik92 | Araq, oh, my bad... I did that, but of course I did it wrongly without noticing before complaining... :-/ |
14:42:41 | Araq | saml: occiasionally people come up with something like that but I don't know the current state of affairs |
14:44:50 | dom96 | saml: afraid not |
14:45:48 | dom96 | saml: if you want a project to do in Nim then that would be a great one :) |
14:46:37 | * | pregressive joined #nim |
14:55:24 | saml | how can I compile regex and match a string against it? http://nim-lang.org/docs/re.html I tried if mystringinput =~ re"myregex" but it's seems to give me false positive |
14:55:45 | saml | if "ab" =~ re"a+$" is true |
14:57:24 | * | _stowa joined #nim |
14:59:43 | * | Hope joined #nim |
14:59:52 | Araq | saml: for me it's false |
15:00:03 | Hope | Hello Nim developers! |
15:00:07 | * | Hope is now known as Guest84453 |
15:01:01 | Araq | make your move. |
15:01:03 | saml | https://gist.github.com/saml/23648c218a83edf3257a75e03a013c25 this prints bad for me |
15:01:13 | saml | which is expected |
15:01:25 | saml | i mean, this prints good. which is not expected |
15:01:35 | saml | input string does not end with a |
15:01:48 | saml | i did nim c main.nim; ./main |
15:02:12 | Guest84453 | I have an important question, is Nim a full object-oriented language like C++? |
15:03:02 | namnguyen | Guest56550, it is as full as a Turing language can be. |
15:03:09 | Araq | saml: re("a+$") produces a correct result |
15:03:20 | namnguyen | it is not OO, however. |
15:03:26 | saml | yeah. but not ((a)+)+$ |
15:03:35 | Araq | not sure about the +nesting, might be a pcre issue |
15:03:37 | saml | was trying evil regex ddos |
15:03:55 | Guest84453 | namnguyen: So it isn't pure OO like C++? |
15:03:59 | saml | new RegExp("((a+)+)$").exec("aaaaaaaaaaaaaaaaaaaaaaaaaab") // javascript |
15:04:31 | Araq | namnguyen: my troll detector peeps |
15:04:47 | namnguyen | Araq, i know it when he pronounced "hello Nim developers" |
15:05:02 | Araq | ha, indeed. |
15:05:44 | Araq | why let him have all the fun |
15:06:37 | namnguyen | guess i believe in free speech :-/ |
15:06:59 | namnguyen | as long as it's civilized and respectful, i think |
15:07:32 | deavmi | lol |
15:07:40 | deavmi | teh spam |
15:07:52 | Araq | so do I, but I'm also very unforgiving |
15:08:23 | deavmi | What does the @ next to a username mean? |
15:08:36 | deavmi | such as @Arar compared to Araq |
15:08:37 | deavmi | ? |
15:08:41 | deavmi | * @Araq |
15:09:04 | Araq | it means I'm an operator |
15:09:10 | namnguyen | deavmi, in IRC context ^ |
15:09:12 | deavmi | Oh |
15:09:17 | deavmi | yeah |
15:09:18 | namnguyen | in Twitter context, a mention :-D |
15:09:29 | deavmi | No he is a methematical operator |
15:09:44 | * | Ahmad_ joined #nim |
15:10:04 | Ahmad_ | Araq: I won't spam anymore I SWEAR. |
15:10:38 | * | gokr quit (Ping timeout: 272 seconds) |
15:10:40 | namnguyen | E3 this year is a little disappointing |
15:11:02 | * | Guest84453 quit (Ping timeout: 250 seconds) |
15:11:21 | * | endragor quit (Ping timeout: 240 seconds) |
15:12:00 | * | _stowa quit (K-Lined) |
15:13:06 | * | Chill joined #nim |
15:13:46 | Chill | Araq: Give me the last chance. I SWEAR I WON'T SPAM EVER. |
15:14:03 | Chill | Beside, I can do that forever. |
15:14:36 | Chill | I can change my IP address with one-click |
15:14:50 | Araq | the imbalance in power annoys you. |
15:15:00 | Araq | and hence you cannot do it forever. |
15:15:08 | Chill | Yes, I can |
15:15:22 | * | Ahmad_ quit (Ping timeout: 250 seconds) |
15:17:52 | * | WiiU joined #nim |
15:18:00 | WiiU | 2 |
15:18:01 | WiiU | 2 |
15:18:01 | WiiU | 2 |
15:18:01 | WiiU | 3 |
15:18:01 | WiiU | 3 |
15:18:01 | WiiU | 3 |
15:18:01 | WiiU | 3 |
15:18:01 | WiiU | 3 |
15:18:02 | WiiU | 3 |
15:18:02 | WiiU | 3 |
15:18:03 | WiiU | 3 |
15:18:03 | WiiU | 3 |
15:18:04 | WiiU | 3 |
15:18:04 | WiiU | 3 |
15:18:06 | * | WiiU quit (Excess Flood) |
15:19:42 | * | Chill quit (Ping timeout: 250 seconds) |
15:20:03 | * | SolarisD joined #nim |
15:20:38 | namnguyen | can you just sit quiet? |
15:20:38 | SolarisD | I have a problem with d:release |
15:21:40 | SolarisD | e |
15:21:42 | SolarisD | e |
15:21:42 | SolarisD | ev |
15:21:42 | SolarisD | wv |
15:21:42 | SolarisD | re |
15:21:42 | SolarisD | v |
15:21:43 | SolarisD | re |
15:21:43 | SolarisD | e |
15:21:43 | SolarisD | rvr |
15:21:43 | SolarisD | r |
15:21:44 | SolarisD | rv |
15:21:44 | SolarisD | r |
15:21:45 | SolarisD | r |
15:21:47 | * | SolarisD quit (Excess Flood) |
15:23:02 | fredrik92 | Now it really got annoying as hell with him... Don't people have sth. more productive to do with their lives? :-/ |
15:23:16 | * | GNOMEdev joined #nim |
15:23:27 | kier | you are, without a doubt, the worst troll I have ever seen |
15:23:33 | kier | are you even trying? |
15:25:22 | GNOMEdev | It all began when Mr. dom96 told me (in Nim forum) "you are very arrogant". |
15:25:34 | deavmi | my world |
15:25:40 | * | Jesin joined #nim |
15:25:49 | deavmi | Atleast the troll uses Solaris |
15:25:51 | GNOMEdev | e |
15:25:51 | GNOMEdev | e |
15:25:52 | GNOMEdev | we |
15:25:52 | GNOMEdev | vr |
15:25:52 | GNOMEdev | er |
15:25:53 | GNOMEdev | vcre |
15:25:53 | GNOMEdev | f3 |
15:25:53 | GNOMEdev | f |
15:25:53 | GNOMEdev | 3e |
15:25:53 | GNOMEdev | c |
15:25:54 | deavmi | Itcould be MacD |
15:25:54 | GNOMEdev | e3 |
15:25:59 | * | GNOMEdev quit (Excess Flood) |
15:26:01 | fredrik92 | right.... |
15:26:08 | deavmi | XD |
15:26:20 | deavmi | gnomedev xd |
15:26:26 | deavmi | such generic |
15:26:30 | deavmi | much popular |
15:26:33 | deavmi | so vala |
15:28:20 | * | DosX joined #nim |
15:28:58 | vktec | How can I log a char so that I get the representation that I would type in? (ie. for '\n' I would see \n or '\n' in my terminal) |
15:28:58 | DosX | Guys, when will Aporia IDE 64 bit version be available? |
15:29:29 | DosX | Ohh! Hi vktec! |
15:29:43 | vktec | Um. Hi? |
15:29:44 | vktec | :D |
15:29:52 | DosX | :) |
15:30:49 | Araq | DosX: fine, here is your chance. |
15:31:12 | DosX | Thank you! I WON! |
15:31:28 | * | gernest joined #nim |
15:31:47 | fredrik92 | vktec, I guess you'd have to write a small switch-case block for all valid escape sequences... Or a string replace... |
15:31:55 | vktec | fredrik92: :( |
15:32:04 | vktec | Ah well |
15:32:38 | fredrik92 | there aren't many escape sequences... and even less that are commonly used... ^^ |
15:32:44 | vktec | No debugger that'll do it? |
15:32:48 | vktec | fredrik92: Fair enough |
15:33:46 | fredrik92 | btw, anyone of you know that \? is an escape in C? Or why we need it (or more acurately why we needed it)? |
15:34:12 | Araq | because of trigraphs |
15:34:34 | vktec | Hmmm... why am I getting this error and how do I fix it? Error: \n not allowed in character literal |
15:35:00 | Araq | use \L |
15:35:05 | vktec | Okay |
15:35:14 | vktec | What's the reason for that, out of interest? |
15:35:44 | * | DosX quit (Ping timeout: 250 seconds) |
15:36:08 | fredrik92 | dom96, flyx, if you ever need to hand-in C code at uni and are angry at the TAs, Find-and-Replace everything in your C code with their respective Trigraph-sequences! No one could technically give you any grief for that, but it would be annoying as hell to read |
15:36:41 | namnguyen | the real question is why was trigraph needed. |
15:36:49 | fredrik92 | Pre-ASCII |
15:37:14 | namnguyen | so? |
15:37:21 | namnguyen | what wasn't available then? |
15:38:37 | fredrik92 | from https://msdn.microsoft.com/en-us/library/bt0y4awe.aspx "The source character set of C source programs is contained within the 7-bit ASCII character set but is a superset of the ISO 646-1983 Invariant Code Set. Trigraph sequences allow C programs to be written using only the ISO (International Standards Organization) Invariant Code Set. [...] You can use trigraphs in C source files with a character set that does not contain convenient |
15:38:37 | fredrik92 | graphic representations for some punctuation characters." |
15:39:10 | namnguyen | interesting! |
15:39:18 | namnguyen | , . ; ? ... |
15:40:07 | fredrik92 | No, there are 9 Trigraph sequences that replace # [ \ ] ^ { | } ~ |
15:40:53 | namnguyen | cool |
15:41:33 | fredrik92 | And Hashtag, braces, Pipe and Backslash are pretty common punctuation tokes in C... Would not be fun to read at all!!!! |
15:43:44 | vktec | How can I match an empty char? Or do they exist at all? (Basically, what is the initial value for the variable 'x' in the code `var x: char`?) |
15:44:06 | fredrik92 | \0 probably? |
15:44:10 | vktec | Okay, thanks |
15:44:36 | fredrik92 | shouldn't that actually be use of unassigned variable? |
15:45:25 | fredrik92 | but \0 is the escape sequence for the NULL-character (the character value that is treated as the character with value 0) |
15:45:32 | vktec | fredrik92: I wrote a quick test program, and `var x: char` gives \0 |
15:47:31 | * | lazypenguin joined #nim |
15:49:31 | * | coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
15:56:09 | fredrik92 | vktec, http://nim-lang.org/docs/tut1.html#internal-type-representation maybe you can also do sth. with `repr` |
15:57:01 | vktec | fredrik92: I figured it out, but thanks |
15:59:14 | fredrik92 | vktec, I tries that one... and repr('\L') -> '\10' (which is right... but you wouldn't want the hex-code, right?) |
16:00:11 | vktec | fredrik92: It was only for debugging something. I fixed the issue |
16:00:20 | vktec | Thanks for the help though :) |
16:01:32 | * | gokr joined #nim |
16:06:30 | * | freezerburnV quit (Ping timeout: 244 seconds) |
16:09:36 | * | yglukhov_ joined #nim |
16:10:28 | * | arnetheduck quit (Ping timeout: 250 seconds) |
16:11:13 | * | deavmi_mobile joined #nim |
16:13:03 | * | yglukhov quit (Ping timeout: 240 seconds) |
16:13:54 | * | yglukhov_ quit (Ping timeout: 244 seconds) |
16:15:56 | * | akaisora joined #nim |
16:19:05 | * | deavmi_mobile quit (Quit: Cheers all. Be good and don't do drugs.) |
16:19:11 | gokr | It would be fun to make a bot that has some descent recognition of FAQs and just have it answer them. |
16:19:19 | deavmi | yeah |
16:19:27 | deavmi | But then again |
16:19:31 | deavmi | I like a person describing it |
16:19:45 | * | deavmi_mobile joined #nim |
16:19:52 | namnguyen | a FAQ-bot |
16:20:11 | namnguyen | that reads like faggot |
16:20:11 | gokr | Sure, but ... it could at least make a first shot at it. Especially in certain timezones it can be quiet. |
16:20:40 | gokr | Of course someone has already done this, somewhere. |
16:20:48 | namnguyen | i think for stuffs in the FAQ, a bot is sufficient. after all, this is "too frequently asked questions" |
16:21:06 | namnguyen | even the Teaching Assistant is a bot nowadays |
16:24:18 | fredrik92 | Hey namnguyen, I'm not a bot! :P |
16:24:39 | namnguyen | fredrik92, tell me more about it. i haven't got a clue. |
16:24:51 | Demos | how can I force lexbase to give me the safe version, as if I was using nim js? |
16:24:52 | gokr | So anyone claiming he is not a bot - is for sure a bot. |
16:25:03 | fredrik92 | oops... |
16:25:24 | * | gokr thinks of a scene of Life of Brian... |
16:34:24 | * | akaisora quit (Quit: No Ping reply in 180 seconds.) |
16:35:38 | * | akaisora_ joined #nim |
16:35:43 | deavmi | Well just did that |
16:35:44 | deavmi | https://deavmi.carteronline.net/nim/using-nim-on-the-command-line/ |
16:37:25 | * | fredrik92 quit (Read error: Connection reset by peer) |
16:38:30 | dom96 | gokr: that would be brilliant, implement it in NimBot :) |
16:38:59 | dom96 | It would be cool to scan the IRC logs and maybe use some markov chains to match old questions and answers to new questions. |
16:39:04 | gokr | Hehe, perhaps I could take NimBot, make a Spry library of it - and write it with Spry. Could be a fun example. |
16:39:53 | gokr | Yeah, and then ... it could pick up the reaction to the answer - and use that to evaluate if the answer is a good one :) |
16:40:04 | * | gokr and there goes my free time... |
16:41:26 | * | jjido joined #nim |
16:48:51 | * | elrood joined #nim |
16:53:01 | * | gernest quit (Ping timeout: 240 seconds) |
16:53:30 | * | gokr quit (Ping timeout: 260 seconds) |
16:54:42 | * | BitPuffin quit (Read error: Connection reset by peer) |
17:01:54 | * | gernest joined #nim |
17:13:50 | * | yglukhov joined #nim |
17:14:30 | * | jjido quit (Ping timeout: 246 seconds) |
17:14:47 | * | jjido joined #nim |
17:15:10 | * | brson joined #nim |
17:18:34 | * | yglukhov quit (Ping timeout: 272 seconds) |
17:39:48 | * | yglukhov joined #nim |
17:43:34 | * | Jesin quit (Quit: Leaving) |
17:46:03 | * | Jesin joined #nim |
17:56:37 | * | mcc quit (Quit: Connection closed for inactivity) |
18:00:32 | * | chemist69 quit (Ping timeout: 250 seconds) |
18:01:04 | * | gernest quit (Quit: gernest) |
18:01:37 | * | chemist69 joined #nim |
18:02:34 | * | freezerburnV joined #nim |
18:02:51 | * | Matthias247 joined #nim |
18:08:05 | * | Matthias247 quit (Read error: Connection reset by peer) |
18:08:14 | * | Ainieco joined #nim |
18:08:18 | Ainieco | hello |
18:08:42 | Ainieco | does anybody know what's theme is used in code snippets? https://hookrace.net/blog/writing-a-2d-platform-game-in-nim-with-sdl2/# |
18:08:58 | Ainieco | code highlighting theme that is |
18:09:12 | * | Matthias247 joined #nim |
18:09:21 | def- | Ainieco: Monokai |
18:09:44 | def- | Ainieco: I even wrote it as a comment in the css but no one seems to read that |
18:11:29 | Ainieco | def-: thanks! hm, monokai theme in my emacs looks different |
18:11:41 | def- | Ainieco: using the pygments renderer |
18:13:13 | Ainieco | sigh, it doesn't look like there is such theme for emacs |
18:15:11 | * | gokr joined #nim |
18:18:52 | * | vendethiel joined #nim |
18:20:59 | * | Jesin quit (Quit: Leaving) |
18:21:25 | * | GangstaCat joined #nim |
18:23:06 | * | Jesin joined #nim |
18:25:46 | * | Ainieco quit (Quit: Leaving) |
18:29:16 | namnguyen | what does it mean for a string to be null-terminated, yet to have a length? |
18:29:50 | namnguyen | what is this length? is this before termination, or the whole underneath storage? |
18:30:14 | cheatfate | cstring is null terminated, but string is not null terminated |
18:31:42 | * | brson quit (Quit: leaving) |
18:38:00 | * | abbat quit (Remote host closed the connection) |
18:53:04 | * | akaisora_ quit (Remote host closed the connection) |
18:54:07 | * | themagician_z joined #nim |
18:54:22 | * | themagician quit (Ping timeout: 260 seconds) |
19:02:03 | * | akaisora joined #nim |
19:10:20 | * | pregressive quit (Remote host closed the connection) |
19:19:26 | * | pregressive joined #nim |
19:21:07 | * | shodan45 joined #nim |
19:26:47 | fowl | It isn't? |
19:27:33 | * | heinrich5991 quit (Ping timeout: 240 seconds) |
19:27:53 | namnguyen | cheatfate, that's not what i read from the docs. |
19:28:40 | namnguyen | A string in Nim is very similar to a sequence of characters. However, strings in Nim are both zero-terminated and have a length field. |
19:29:39 | * | heinrich5991 joined #nim |
19:30:08 | shodan45 | trying to install nimble, I get: https://gist.github.com/anonymous/541a21750601ef40784ecbfcf265c184 |
19:30:25 | Araq | namnguyen: what does it mean? well it has both. no idea what you mean. |
19:30:37 | shodan45 | from "nim -d:release c -r src/nimble install" |
19:31:22 | Araq | shodan45: dunno, use teh install_nimble.nims script |
19:31:24 | namnguyen | Araq, like, when i call len(s), what is this length? |
19:31:44 | Araq | it returns what the internal length field says |
19:31:50 | namnguyen | is this the null-terminated string length, like strlen(), or is it like c++ string length |
19:32:44 | namnguyen | okay. so it's c++ string length. |
19:33:16 | namnguyen | but then, the next sentence is "the length never counts the terminating zero." |
19:33:41 | * | jjido quit (Ping timeout: 244 seconds) |
19:33:50 | namnguyen | so if you have a\0b\0c, what is this length. |
19:35:26 | * | pregressive quit (Remote host closed the connection) |
19:35:55 | namnguyen | imo, the null termination thing is an annoying mistake from the past. |
19:36:36 | Araq | I like it and it means we can pass strings to C with no copy whatsoever |
19:37:12 | Araq | which is nice when you have a program that runs regexes over the wikipedia XML ... :P |
19:38:02 | shodan45 | lol |
19:38:23 | shodan45 | Araq: where is that install_nimble script? can't find it... |
19:38:59 | Araq | it's in the $nim root dir |
19:39:46 | Araq | so what if you have a\0b\0c ? that's 3 bytes. |
19:39:58 | shodan45 | doh. I'm using 0.14.2 |
19:40:20 | namnguyen | er, hmm, that's a bad example |
19:40:27 | namnguyen | i mean \0 as one character. |
19:40:59 | namnguyen | in fact, it should be parsed as one character, right? because there's no "x", so it should not be considered hexa-numeral. |
19:41:33 | Araq | shodan45: get it from github then |
19:41:37 | fowl | "\0\x00" is 2 bytes both 0 |
19:41:57 | * | Johnny_Depp joined #nim |
19:42:08 | Araq | namnguyen: it doesn't matter if your string literal has a zero in it or not |
19:42:42 | namnguyen | right, so why is a\0b\0c 3 byte again? |
19:43:26 | Araq | because I assumed you mean a\x0b\x0c |
19:43:47 | Araq | you don't have to think. |
19:44:10 | Araq | "a\0c" is a string literal with 3 chars in it. |
19:44:41 | Araq | the 2nd char is the binary zero which will cause some problems when echo'ing it (bugfix in the works) |
19:44:49 | * | TheLemonMan joined #nim |
19:44:54 | Araq | but apart from that there is nothing special about it |
19:45:16 | Araq | when you pass it to C, C thinks it stops after the 'a' |
19:45:22 | shodan45 | fwiw, I was following https://hookrace.net/blog/writing-a-2d-platform-game-in-nim-with-sdl2/ |
19:45:33 | * | heinrich5991 quit (Ping timeout: 250 seconds) |
19:46:51 | namnguyen | so then what does the doc mean when it says that nim string is null terminated? |
19:46:59 | namnguyen | it clearly does not "terminate" |
19:47:04 | fowl | Oy |
19:47:21 | namnguyen | do you mean that the cstring (vs string) is null terminated? |
19:47:34 | namnguyen | hello fowl |
19:47:53 | fowl | In c when you say const char x* = "hi"; the ending \0 is magically inserted for you, nim does the same thing |
19:47:57 | Araq | internally the "a\0c" string is stored as "a\0c\0" |
19:48:24 | * | Johnny_Depp left #nim (#nim) |
19:48:40 | namnguyen | ok, got it. thanks! |
19:49:20 | * | heinrich5991 joined #nim |
19:49:26 | namnguyen | does that apply to all strings, not just string literals? |
19:52:20 | fowl | Yes |
19:53:14 | * | brson joined #nim |
19:56:03 | namnguyen | i like this automatic appending of null at the end. |
20:00:37 | * | akaisora__ joined #nim |
20:00:54 | * | akaisora quit (Ping timeout: 258 seconds) |
20:24:49 | * | michael_campbell joined #nim |
20:26:12 | * | PMunch joined #nim |
20:32:08 | * | deavmi quit (Ping timeout: 250 seconds) |
20:32:47 | dom96 | shodan45: that should work, how did you install Nim? |
20:48:26 | * | Trustable quit (Remote host closed the connection) |
20:48:56 | * | pregressive joined #nim |
20:50:04 | namnguyen | is there any reason why the open array is indexed with an int, and not the largest integral type? |
20:54:57 | Araq | int is the largest integral type |
20:55:36 | namnguyen | oh? how about int64? |
20:57:00 | Araq | int is 64bits on a 64bit machine |
20:57:55 | * | chemist69 quit (Ping timeout: 250 seconds) |
20:59:38 | * | \u quit (Ping timeout: 244 seconds) |
20:59:46 | def- | namnguyen: on 32bit you can access all of your memory with an int32, on 64bit with an int64, so that's fine |
21:00:03 | def- | (well, or half) |
21:01:25 | * | dyce_ quit (Ping timeout: 260 seconds) |
21:01:41 | namnguyen | yea, that's fine. it leaves the door open for 128-bit system too. |
21:02:00 | * | ray joined #nim |
21:02:13 | * | chemist69 joined #nim |
21:02:23 | * | ray is now known as Guest3694 |
21:03:31 | * | dyce_ joined #nim |
21:05:33 | PMunch | The idea is just to not assume that an int is 64 bits and use it for something like a 64 bit bitmask. That's why there is a specific int64 type (I think), which would (assumption) create a 64bit integer even on 32bit systems and do the expensive operations (comparatively) to maintain it. |
21:05:59 | * | TheLemonMan quit (Quit: Changing server) |
21:13:01 | * | akaisora__ quit (Ping timeout: 240 seconds) |
21:14:29 | * | brson quit (Quit: leaving) |
21:24:03 | * | andi___ joined #nim |
21:25:09 | shodan45 | dom96: I think I finally figured out what I did wrong - instead of adding Nim/bin to my path, I symlinked Nim/bin/nim to ~/bin/nim |
21:26:06 | dom96 | shodan45: that should still work, can you file an issue about this in the Nimble repo? |
21:26:06 | shodan45 | nim is then failing to find system.nim (specifically ~/lib/system.nim) |
21:26:19 | dom96 | Does Nim fail as well, or is it just Nimble? |
21:26:33 | shodan45 | dom96: I think this might be nim, not nimble |
21:27:07 | namnguyen | so something interesting happened. i created a huge sequence and echo'd out its high(). it takes a long time to do that. |
21:27:15 | shodan45 | it's just failing to find "lib" - it's assuming it's "../lib/", relative to the location of the nim binary |
21:27:17 | dom96 | shodan45: were you able to compile source code using your installed Nim compiler? |
21:27:18 | shodan45 | (I think) |
21:28:29 | dom96 | ooh, we just got $200 from mikra, awesome https://salt.bountysource.com/teams/nim |
21:28:38 | namnguyen | \o/ |
21:29:04 | dom96 | namnguyen: that is interesting, create an issue about it :) |
21:29:18 | shodan45 | dom96: oooooor I could be completely wrong :) hallo.nim works just fine |
21:29:31 | vktec | Anybody ever tried embedding Ruby into Nim? |
21:29:47 | reactormonk | vktec, yup, gave up. too many macros in the API. |
21:30:06 | dom96 | shodan45: then it's a problem with Nimble |
21:30:20 | vktec | reactormonk: Oh, okay |
21:30:32 | vktec | reactormonk: What about this? http://code.macournoyer.com/tinyrb/ |
21:30:37 | shodan45 | dom96: seems so... weird. why would it not be able to find lib/system.nim? |
21:30:38 | dom96 | shodan45: Although IIRC I tested symlink installations and it worked fine, might just be because of where you symlinked it to though. |
21:31:31 | dom96 | shodan45: because Nimble embeds the Nim compiler for nimscript support, the Nim compiler source code makes some assumptions about where the standard library is located. |
21:31:45 | * | xet7 quit (Ping timeout: 258 seconds) |
21:31:54 | * | akaisora joined #nim |
21:32:30 | shodan45 | dom96: ahh |
21:34:27 | * | Kingsquee joined #nim |
21:35:18 | * | andi___ quit (Quit: ChatZilla 0.9.92 [Firefox 47.0/20160604131506]) |
21:37:20 | * | desophos joined #nim |
21:38:30 | * | fredrik92 joined #nim |
21:45:19 | * | ALGOL_ joined #nim |
21:45:21 | cheatfate | dom96, could you please accept my first usage of new Araq's functions? https://github.com/nim-lang/Nim/pull/4336 |
21:46:33 | vktec | What's the most DSL-ish language that can be easily embedded into Nim? |
21:47:01 | * | pregressive quit (Remote host closed the connection) |
21:55:41 | ALGOL_ | Why did Mr. dom96 release Nimble under BSD, not MIT? |
21:56:40 | Demos | vktec, I'm working on a macro that would let you say: |
21:57:17 | Demos | type dbresult = linq select(name: string, values: seq[int]) `from` some_table |
21:57:37 | Demos | followed by var val = db.load(dbresult) |
21:57:43 | Demos | that's kinda dsl |
21:57:56 | Demos | and ultimately you can do literally whatever you want in user defined strings |
21:58:16 | Demos | (which work wonderfuly with editors that can highlight regions) |
22:03:08 | ALGOL_ | OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO |
22:04:06 | PMunch | The fuck ALGOL_ ? |
22:04:14 | ALGOL_ | I'm felling very bored here. |
22:04:16 | PMunch | Wait, is swearing ok here? |
22:04:31 | PMunch | So you decided to spam to have fun? |
22:04:45 | Demos | I think it depends on the nature of the swearing. |
22:04:59 | ALGOL_ | The spam is looping |
22:05:07 | ALGOL_ | I'm not looping |
22:05:33 | fowl | ALGOL_: go troll #rust and #ruby just use gendered pronouns at them it's easy and fun |
22:06:00 | PMunch | Fair enough.. |
22:06:48 | ALGOL_ | The truth is, I'm alone. |
22:07:28 | ALGOL_ | No one in Kurdistan interested in programming. |
22:08:17 | ALGOL_ | Can you please fowl & PMunch, find me a solution? |
22:08:21 | PMunch | No one in the entire country of Kurdistan? |
22:08:41 | ALGOL_ | Everyone just wants $$$ |
22:08:57 | fredrik92 | ALGOL_, that really sucks... |
22:09:25 | PMunch | Oh hi fredrik92, did you see that I fixed the site? :) |
22:10:26 | fredrik92 | yeah I did... So now even fools like me, who use IE as their browser can read your Devlog! Great, the world is a better place now! |
22:10:59 | PMunch | Woo :P |
22:11:18 | fredrik92 | ALGOL_, I usually tell myself: Patience dear Padawan, your time will come eventually... |
22:11:44 | ALGOL_ | Thanks fredrik92. |
22:12:24 | fredrik92 | But then again... I stopped believing what I say several years back, so you might be out of luck... But you're in good company (even though I'm in Norway) :P |
22:13:02 | PMunch | You don't think people here care about programming fredrik92? |
22:13:11 | ALGOL_ | My dream is not $$$$ |
22:13:35 | ALGOL_ | My dream is an OS (Operating System) in Nim. |
22:14:40 | fredrik92 | ALGOL_, that actually sound like a good (and doable) idea... :-P |
22:15:48 | GangstaCat | ALGOL_, you know even in your country you should find a therapist for your problem |
22:16:07 | ALGOL_ | This loneliness is killing me. |
22:17:15 | fredrik92 | PMuch, you know, I was going to be mean and find a way to make fun of you writing a DevLog, and now while reading it and being lonely with ALGOL_ I actually got inspired to write my own... :P |
22:17:54 | GangstaCat | maybe you should accept Nim the way it is, I don't see any problem to the fact that Nim produces C code, at least that's C code better coded than we could, and C is certainly the most efficient somewhat high level programming language out there |
22:18:15 | GangstaCat | so if you prefer Java, stay with Java and leave us alone |
22:18:55 | ALGOL_ | Gangstar: Who are you talking to? |
22:19:08 | GangstaCat | you are EEE/Nimian etc |
22:19:17 | ALGOL_ | Yes I'm. |
22:19:36 | GangstaCat | so stop trolling us and leave us alone |
22:19:57 | ALGOL_ | But what about my loneliness? |
22:20:16 | GangstaCat | I don't see the point to troll Nim except if you can produce better C code than the Nim "translator" (as you call it) |
22:20:46 | PMunch | It's actually a nice way to structure your thoughts, and remember all the weird things you end up doing to get stuff to work |
22:20:50 | GangstaCat | you can go on #Java if you want friends |
22:21:03 | ALGOL_ | I'm a student of IT diploma (first year). I was just sharing opinion |
22:21:11 | PMunch | How many times haven't I benefited from people logging their projects when doing similar stuff |
22:21:22 | PMunch | fredrik92, you should really write your own |
22:22:16 | ALGOL_ | Write my what, PMunck? |
22:22:19 | GangstaCat | ALGOL_, there is no point to criticize Nim, what is better? create a compiler from A to Z which would be less optimized or converting to C optimized code and let gcc to produce even better code? |
22:22:48 | fredrik92 | what, and tell people how to write code that completely works around Windows UAC and just promotes you to Admin rights without any warnings? Yeah, that would be fun... :D |
22:23:15 | ALGOL_ | I have just told you that I'm just a baby programmer (if, else, loop, array etc... |
22:23:44 | GangstaCat | so accept Nim the way it is and stop trolling the languages, the tools and the community |
22:24:17 | ALGOL_ | Nim is the best language I have ever seen, but I'm here because I'm alone. |
22:24:17 | PMunch | fredrik92, that would actually be fun :) |
22:24:45 | PMunch | Maybe you could write about how you got the Nim stuff to work with VS as well? |
22:25:39 | PMunch | Or even some of our school projects, especially if we end up doing something cool this semester :) |
22:25:55 | fredrik92 | Hmmm... that IF though... :P |
22:25:58 | ALGOL_ | Guys I'm just a very beginner. |
22:26:20 | ALGOL_ | But I'm the first and best student of my diploma college. |
22:27:49 | ALGOL_ | I know you guys want me to leave, alright, goodbye the, but please wish me all the best. Farewell. |
22:28:05 | fredrik92 | Guys, PMunch and I are thinking about doing a University project next year, and we thought to get the CS department to sponsor some VR equipment for us to do sth cool... PMunch, we could use Nim with VR, couldn't we? :P |
22:28:20 | PMunch | ALGOL_, we don't have any trouble with you as long as you stay civilized. |
22:28:36 | PMunch | fredrik92, don't see why not |
22:29:03 | PMunch | Should definitely be possible. We just have to figure out what to do our project on :P |
22:30:05 | ALGOL_ | My project for my IT diploma college was a scientific calculator in Nim. |
22:32:01 | PMunch | Oh cool |
22:32:19 | PMunch | What input syntax did you use? |
22:32:42 | * | Matthias247 quit (Read error: Connection reset by peer) |
22:32:43 | ALGOL_ | cin>> of course. |
22:32:56 | ALGOL_ | Ohh! sorry I mean in C++. |
22:33:18 | ALGOL_ | Our college won't accept external languages. we study C++. |
22:33:45 | PMunch | That's silly |
22:33:53 | ALGOL_ | Why? |
22:33:56 | renesac_ | stop feeding the troll... |
22:34:13 | ALGOL_ | I'm telling ya the truth. |
22:34:28 | ALGOL_ | I can give you me project, I can proof that. |
22:34:45 | ALGOL_ | ***..my... |
22:34:56 | fredrik92 | But, flyx and dom96 said similar things about their schools not acceptings other languages either... PMunch, I agree, it's silly! |
22:35:53 | ALGOL_ | What certification does Mr. dom have? |
22:36:01 | * | Demon_Fox joined #nim |
22:36:10 | fredrik92 | Back in high school in Germany I was forced to do everything in Delphi!!!! THAT sucked! |
22:36:52 | PMunch | In Delphi? Where did you go to school, the eighties? |
22:37:03 | fredrik92 | Yeah, right! |
22:37:11 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
22:37:17 | PMunch | ALGOL_, what do you mean by certification? |
22:37:23 | fredrik92 | degree |
22:37:27 | ALGOL_ | like Master degree. |
22:37:27 | PMunch | And renesac_, as long as he behaves it's fine |
22:37:39 | PMunch | Oh, I think he's second or third year |
22:37:49 | renesac_ | PMunch: : he didn't behave, he is flooding this channel since yesterday |
22:38:18 | fredrik92 | PMunch wasn't here so he missed out on the episode earlier today... |
22:38:25 | renesac_ | a quite persistent no-life |
22:38:28 | ALGOL_ | I'm the smallest person here. I'm just 15. |
22:38:33 | PMunch | But he's not flooding now renesac_ |
22:38:51 | renesac_ | i'm out |
22:39:14 | PMunch | fredrik92, I was here earlier when he started doing single/double letter characters.. |
22:39:22 | PMunch | Filling the chat |
22:39:35 | fredrik92 | Oh yeah, that was annoying as hell! |
22:39:52 | GangstaCat | you should check the ban list you will understand |
22:40:00 | ALGOL_ | VPN, that is all I'm saying. |
22:40:29 | GangstaCat | "Araq2" "NimIsNotRealComp" |
22:40:37 | ALGOL_ | Yes |
22:40:57 | ALGOL_ | Those were me. |
22:41:25 | PMunch | GangstaCat, I know who he is. And that he's been banned multiple times |
22:41:59 | GangstaCat | so why you keep feeding him? ALGOL_, show us a link to your project, we are very interested |
22:41:59 | ALGOL_ | Wow! I did not notice that I'm that popular here. |
22:42:21 | PMunch | And if he starts spamming the ban-hammer will swing again. But as long as he behaves and comes with interesting chat then he can stay |
22:42:32 | ALGOL_ | Okay, GangstaCat, give me your e-mail address\ |
22:42:48 | fredrik92 | I think he said: LINK! |
22:42:49 | Demos | idea: module that implements a subset of xpath on the AST |
22:42:55 | Demos | dumb or not dumb |
22:43:09 | GangstaCat | "interesting chat", I think we haven't the same definition of this expression |
22:43:23 | GangstaCat | just lies and trolling |
22:43:33 | fredrik92 | Demos, didn't I read yesterday that XML lost its fight to JSON? |
22:43:37 | ALGOL_ | Am gonna proof it to you. |
22:44:02 | GangstaCat | ALGOL_, you upload your project on Github |
22:44:03 | ALGOL_ | Gangstar: My project isn't hosted. |
22:44:05 | Demos | well then JsonPath |
22:44:23 | Demos | I really don't like xml, but xpath is a really wonderful way to manipulate big trees |
22:44:27 | ALGOL_ | Am gonna choose BitBucket, because it's free. |
22:44:32 | GangstaCat | if you want |
22:44:46 | Demos | github just opened up unlimited free private repos I think |
22:45:06 | GangstaCat | let's see this masterpiece of software you produced |
22:45:11 | ALGOL_ | I don't like to use something that Linus created it. |
22:45:17 | PMunch | Demos, they did? |
22:45:22 | Demos | I think so |
22:45:27 | ALGOL_ | Linus Torvalds created Git. |
22:45:32 | PMunch | ALGOL_, why not? |
22:45:33 | fredrik92 | True, and being a lover of C#, a Microsoft-inspired language, I would certainly have use for XML manipulation done easy |
22:45:45 | Demos | and yeah I like Hg better, I would really like it if bitbucket implemented largefiles on their repos tho |
22:45:50 | Demos | they have git-lfs on their git repos |
22:46:17 | dom96 | Demos: Sounds like a cool idea. A nicer "language" for manipulating ASTs in Nim would also be cool. |
22:46:25 | GangstaCat | ALGOL_, you should disconnect, this IRC server is certainly hosted on Linux, you are feeding the evil, omg omg |
22:46:59 | dom96 | I find it funny how a troll gets so many people talking here. |
22:47:07 | fredrik92 | ALGOL_, enroll on dreamspark.com and set up a Windows Server with Team Foundation Server 2015, upload your project there (you may use TFS) and then share us the link! |
22:47:20 | GangstaCat | dom96, don't ban him yet, we want to see his masterpiece of school project |
22:47:23 | dom96 | I don't remember the last time we had this many people talking at the same time |
22:47:47 | Demos | it could enable some really crazy transformations |
22:48:00 | ALGOL_ | I'm gonna upload the link as soon as I register a BitBucket account. |
22:48:25 | dom96 | FYI I started using Nim when I was ~14 |
22:48:43 | fredrik92 | dom96, awesome! :D |
22:49:07 | ALGOL_ | dom96: WOW!!! |
22:49:39 | fredrik92 | At the age of 14 I was irrevocably corrupted by Microsoft to love C#... |
22:49:44 | PMunch | dom96, I only recently learned about Nim. I would've loved to use for longer :P |
22:50:03 | GangstaCat | at this age I was doing Delphi because that's more funnier to learn to code while making a GUI |
22:50:04 | dom96 | Now i'm a bit sad because of how long ago that was... |
22:50:29 | ALGOL_ | dom96: I'm 15 years old. |
22:50:41 | dom96 | ... and because I feel old :) |
22:50:53 | fredrik92 | GangstaCat, yes, that's why we did that in our high school as well... |
22:50:57 | ALGOL_ | You old are you, dom? |
22:51:04 | dom96 | ALGOL_: Cool! I'm 20. |
22:51:23 | GangstaCat | fredrik92, I beginned with Turbo Pascal though.. yeah I'm feeling old now too, ._. |
22:51:28 | ALGOL_ | dom96: You are a very versatile programmer. |
22:51:37 | GangstaCat | began* |
22:51:54 | dom96 | I began with VB.NET :D |
22:52:02 | PMunch | 24 here, you guys talking about being old makes me feel old.. |
22:52:08 | dom96 | well, technically C, but that didn't go so well. |
22:52:13 | ALGOL_ | hahah, Me was C++ |
22:52:19 | fredrik92 | :D oh... crap, PMunch, you have a point there |
22:52:29 | PMunch | Haha :P |
22:52:32 | ALGOL_ | It's harder than VB .NET |
22:52:45 | PMunch | But I should probably get to bed. Have to get up for work tomorrow.. |
22:52:47 | ALGOL_ | And definitely harder than Pascal |
22:53:11 | ALGOL_ | Good night, PMunch. |
22:53:14 | dom96 | It's strange to think just how old all this stuff is. Linux, Windows, OS X, Apple, Microsoft. It's actually not that old. |
22:53:56 | ALGOL_ | dom96: why don't we create an IRC channel and name it #historychannel |
22:54:14 | fredrik92 | GangstaCat, appearently I was too young for TurboPascal (and ALGOL for that sake), even Borland didn't exist anymore when I started learning Delphi |
22:54:28 | dom96 | ALGOL_: what would be the topic of this channel? |
22:54:38 | ALGOL_ | But Free Pascal and Lazarus are live\ |
22:54:53 | ALGOL_ | dom96: JK (Just Kidding) |
22:55:13 | dom96 | In case you guys wanna see some 6 year old Nim code: https://github.com/dom96/AELC |
22:55:14 | GangstaCat | fredrik92, no big deal, at least you certainly discovered Python or Nim, not so bad too |
22:55:53 | * | bjz joined #nim |
22:56:20 | ALGOL_ | Good night guys (and good morning to those who are in south-west) |
22:56:29 | * | ALGOL_ left #nim (#nim) |
22:57:12 | GangstaCat | "Mad Dog Software", I see you dreamed to have your company like all of us when we began as kids.. ah, memories |
22:57:14 | PMunch | See, he didn't behave too bad this time |
22:57:38 | dom96 | GangstaCat: haha yes |
22:58:03 | dom96 | I had a website for it as well. |
22:58:16 | dom96 | And you can likely find some of my VB.NET software via that name |
22:58:28 | dom96 | because I uploaded it to every download site I could find :D |
22:59:08 | dom96 | Yeah... having so much time as a kid sure was great... |
22:59:38 | fredrik92 | But I actually feel that it's quite awesome being in in Computer Science in our age... Most of these fundamental basic problems have been solved now... I mean like Task scheduling OS, writing code on punch cards and so on... |
23:00:11 | renesac_ | P = NP... |
23:00:56 | * | PMunch quit (Quit: leaving) |
23:01:01 | fredrik92 | We have sort come to this stage where we can do really great things in software without having to.. reinvent the wheel as it were... |
23:02:03 | Guest56550 | but reinventing the wheel is half the fun |
23:02:42 | * | lazypenguin is now known as Guest88360 |
23:02:42 | * | Guest56550 is now known as lazypenguin |
23:02:59 | fredrik92 | True, I mean solving punch-card-like problems sounds cool, but I think on the larger scale thinking, learning and solving problems in big Google-like distributed systems is much more interesting (and hard) |
23:03:00 | * | akaisora quit (Read error: Connection reset by peer) |
23:03:11 | dom96 | That's true. But I miss the days when the internet was still young, when millions of teenagers didn't use it to send silly emojis to each other every second, where being a part of the internet felt a lot more hip :) |
23:03:57 | renesac_ | this happened at least since ICQ |
23:04:23 | fredrik92 | Tom Scott had a video where he mentioned that he had to restructure his tech talk because he presenting to a post-Google generation! |
23:04:50 | fredrik92 | And soon the post-smartphone generation is growing up! |
23:05:05 | lazypenguin | fredrik92, i don't think scale == hard. Maybe increases complexity but not difficulty...not to downplay people's achievements |
23:05:38 | dom96 | renesac_: yeah, but it was still far less popular than it is now. |
23:05:53 | elrood | you young whippersnappers would be surprised how widely and safety-critically in use punchcards and punchtape still are ;) |
23:06:02 | fredrik92 | lazypenguin, well, people like Leslie Lamport certainly got their Turing-Award for a reason... |
23:06:11 | dom96 | Especially before smartphones became popular. |
23:08:01 | renesac_ | dom96: : ICQ had 100 million users in 2001, now it has only 16 million |
23:08:03 | renesac_ | XD |
23:08:19 | fredrik92 | dom96, I see back in your day, Nim was still called Nimrod :) |
23:08:20 | renesac_ | and I know what you ment |
23:08:42 | dom96 | hehe |
23:08:48 | dom96 | I personally never used ICQ :P |
23:09:07 | dom96 | MSN Messenger ftw |
23:09:09 | fredrik92 | Oh, I remember that annoying ah-oh! |
23:09:31 | GangstaCat | wizz wizz |
23:09:32 | lazypenguin | fredrik92 -- guess that wasn't the line of thought i had, what i was suggesting was that whether you're message passing among process on 1 machine, or message passing across 1,000 machines...fundamentally it's the same, you've just introduce scale |
23:09:36 | dom96 | fredrik92: yep, it took a while to get used to the name change. |
23:10:08 | * | deavmi_mobile quit (Read error: Connection reset by peer) |
23:10:37 | GangstaCat | Nimrod became Nim for the good, but MSN Messenger became Windows Live Messenger for the bad.. |
23:11:40 | GangstaCat | I still would prefer to use it than Skype but that's a matter of taste I guess |
23:12:00 | lazypenguin | microsoft killed skype |
23:12:04 | fredrik92 | lazypenguin, yeah well... that's not always true either... |
23:12:17 | fredrik92 | lazypenguin, the message passing, I mean |
23:13:38 | fredrik92 | Yeah, I actually replaced Skype with HexChat as my main messaging application (being the one stuck on my taskbar) |
23:14:33 | fredrik92 | Much more fun talking to you guys, than being lonely on Skype because everyone is offline due to Skype-Hate... :D |
23:14:39 | * | yglukhov quit (Remote host closed the connection) |
23:17:25 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
23:19:52 | fredrik92 | Well, I think I will try to get some sleep, too... Got a reception to attend to tomorrow... Good night everyone (or whatever daytime it is, up here, north of the polar circle, day and night have no real difference)! |
23:21:07 | * | fredrik92 quit (Quit: Shutting down...) |
23:21:10 | dom96 | same here. Good night guys! |
23:23:02 | pigmej | xb |
23:23:04 | pigmej | sry |
23:30:07 | * | elrood quit (Quit: Leaving) |
23:32:04 | * | yglukhov joined #nim |
23:33:20 | * | akaisora_ joined #nim |
23:36:21 | * | yglukhov quit (Ping timeout: 240 seconds) |
23:52:11 | * | gokr quit (Ping timeout: 244 seconds) |
23:55:28 | * | deavmi_mobile joined #nim |
23:58:53 | * | yglukhov joined #nim |