<< 14-06-2016 >>

00:04:18*mcc joined #nim
00:07:59cheatfateWhat 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:54freezerburnVEvening everyone
00:10:13Kim_Jung-un_Good evening
00:10:54Kim_Jung-un_But you should say good night to me, because it's 3:08 AM
00:11:44freezerburnVHah, fair enough
00:12:08Kim_Jung-un_I always write weird nicknames
00:12:32Kim_Jung-un_As you may notice, I'm Kim Jung-un here.
00:13:02freezerburnVSo 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:06freezerburnVWeird nicknames are always fun :)
00:14:30Kim_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:30freezerburnVKim_Jung-un_: Question wasn't specifically directed at you. Was directed at the channel at large :)
00:16:25Kim_Jung-un_It's funny, you called me Kim Jung-un
00:16:50freezerburnVI just type Kim and let tab completion finish the rest of your username for me
00:18:02Kim_Jung-un_You do know who is Kim Jung, right?
00:18:34dom96freezerburnV: can you gist all your code?
00:19:02freezerburnVdom96: Yeah no problem, one sec
00:19:08Kim_Jung-un_Hi dom!
00:19:40freezerburnVdom96: https://gist.github.com/anonymous/9ac47ad59d6b7e5186ffd7d034445705
00:20:41dom96freezerburnV: in the `addLongRule` proc the `parser` param is not mutable.
00:21:09dom96Because it's type is not a 'ref'
00:21:11dom96nor is it a 'var'
00:21:43Kim_Jung-un_So what should we do?
00:22:15freezerburnVdom96: ...well that seems incredibly obvious now that you tell me
00:22:41freezerburnVdom96: I think I even remember reading about not being able to mutate non-ref/var types, but completely forgot
00:23:30dom96freezerburnV: the error message could be clearer as usual :)
00:24:44freezerburnVdom96: 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:46mccif 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:46dom96mcc: yeah, that likely is the best way
00:26:51mccit's a *little* awkward because that can't work with subclasses
00:27:42Kim_Jung-un_mcc: Do I look like Bjarne Stroustrup?
00:31:35mcchm. is shallowCopy type-aware?
00:32:51mccwait, 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:22TheMazeRunnerHi 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:36TheMazeRunnerI'm ussing Windows 10 and I installed Nim compilers and tools by the binary distribution.
00:41:52mccyeah... 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:42dom96TheMazeRunner: strange, what are you compiling?
00:43:02TheMazeRunnerOrdiniary programs.
00:44:15*yglukhov quit (Ping timeout: 276 seconds)
00:44:21TheMazeRunnerdom96: Should I try debugger for building and running Aporia IDE?
00:44:51freezerburnVmcc: 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:19mccfreezerburnV: 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:35dom96TheMazeRunner: you can try diagnosing it that way
00:46:46mccIf 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:06TheMazeRunnerOkay, I'm interested to see.
00:48:05TheMazeRunnerdom96: :)
00:48:45michael_campbellAny emacs guys here? Do you use nim-mode or nimrod-mode?
00:49:09freezerburnVmcc: Aah, I see
00:49:25TheMazeRunnermichael: I think so.
00:50:38TheMazeRunnermichael: here is the list, it also includes nim-mode https://github.com/nim-lang/Nim/wiki/editor-support
00:51:06mccack, this actually interacts really badly with bug #4319 i filed last night
00:51:37TheMazeRunnermichael: there is also nim-mode and nimrod-mode.
00:53:15TheMazeRunnerOhh! sorry michael, I thought you were asking if there is an emacs mode.
00:53:55michael_campbellTheMazeRunner, yeah, those are the 2 I mentioned =D
00:55:01TheMazeRunnermichael: I use Aporia IDE. I never use GPL-licensed softwares.
00:56:04michael_campbellI'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:08TheMazeRunnermichael: I hate GPL, GNU and Richard Stallman SO MUCH!
00:57:52TheMazeRunnermichael: but I hate LGPL even more.
00:58:33freezerburnVTheMazeRunner: Weird, the more time I spend being a developer, the more I like the GPL and Stallman and the FSF
00:58:39michael_campbells'ok, I've been an emacs person for.... 20+ years now.
00:58:42freezerburnVAlso what's wrong with LGPL? I can understand not liking the GPL...
00:59:20TheMazeRunnerI want a freedom like MIT, BSD etc..
01:01:24freezerburnVTheMazeRunner: 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:43TheMazeRunnerWhich is more free, MIT or GPL? of course MIT is more friendly, free, and liberal.
01:02:44TheMazeRunnerYou agree with me, guys?
01:02:47mccMIT is concerned with the freedom of the developer, GPL is concerned with the freedom of the software itself.
01:02:54freezerburnVTheMazeRunner: 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:32freezerburnVI 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:19freezerburnVBut that's not really a topic to delve into too deeply in an IRC channel about a specific programming language
01:04:34TheMazeRunnerYou are right, freezer.
01:06:02TheMazeRunnerBut 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:09TheMazeRunnerAlright guys, it's 4.00 AM, I got to sleep now. Good bye.
01:07:16*TheMazeRunner left #nim (#nim)
01:07:17freezerburnVTheMazeRunner: Depends on whether or not I want to have my code be open source, with assets that require purchase, etc.
01:11:14freezerburnVSo 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:00GangstaCatTheMazeRunner was Kim Jung Un, again
01:13:10GangstaCatdon't feed the troll
01:20:40kierfreezerburnV: 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:02freezerburnVkier: Indeed it does!
01:21:23*akaisora__ is now known as akaisora_
01:21:46freezerburnVkier: Does newException automatically throw a ref in somewhere then?
01:21:50kierhuh that's weird
01:21:53kiermaybe it does
01:22:08kieri'm now inspired to look at the source of newException
01:23:14kieryes, it looks like newException(T, ...) actually creates and returns a value of type ref T
01:23:40freezerburnVMystery solved, that was easy
01:23:57kierwhich fits in with the naming convention that most procs beginning with 'new' construct and return ref values
01:25:10kierso I guess the error was caused by trying to raise a 'ref ref' then
01:25:59freezerburnVYep
01:26:49*yglukhov joined #nim
01:27:30freezerburnVso 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:22kierfreezerburnV: http://nim-lang.org/docs/manual.html#threads-gc-safety
01:28:53kieressentially, 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:26freezerburnVkier: 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:19girvoHey all
03:30:07girvohas 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:01girvoHow 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:11girvoPebble's tool-chain uses Waf under the hood to compile, anyone had any experience using Nim with Waf?
03:36:02freezerburnVgirvo: 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:41freezerburnVI 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:50girvofreezerburnV: 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:00girvoyeah thats basically the plan
03:39:35freezerburnVgirvo: If you haven't seen it: http://nim-lang.org/docs/backends.html#backend-code-calling-nim-nim-invocation-example-from-c
03:39:41girvothe main issue I can see is that Waf picks the header file it gives you based on the compilation target
03:40:06girvoso the pebble "headers" get swapped out if you're building for the Time, or the Round, etc.
03:41:10freezerburnVgirvo: 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:16girvoFor 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:25girvofreezerburnV: that's a good idea, actually!
03:42:32freezerburnVgirvo: You can probably even put some command line flags in that will swap out the implementation module at compile time
03:42:38girvoif 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:43freezerburnVAssuming you have a base subset you can create, at least
03:42:49girvofreezerburnV: yeah! :) thanks for the help
03:42:55freezerburnVgirvo: No problem :)
03:45:19girvooh no, lol, c2nim can't handle the header files
03:45:27girvochokes on: `typedef struct __attribute__((__packed__)) AccelData {`
03:45:43freezerburnVProbably the __attribute__?
03:45:46girvoSpecifically the "__packed__" handle
03:46:03freezerburnVMaybe comment that out, and manually shove it back in?
03:46:14girvoyeah, once I work out what it's actually doing heh
03:46:18freezerburnVI have no idea what __packed__ does, so I can't comment on how to emulate it in Nim
03:46:53girvointerestingly, its the same as the {.packed.} pragma on an object
03:46:56girvoapparentyl
03:47:00girvohttp://stackoverflow.com/questions/5473189/what-is-a-packed-structure-in-c
03:47:34freezerburnVWell... that'll be easy to replicate then!
03:48:20girvoProlly going to write a dirty script to convert this for me hehe
03:49:46freezerburnVDirty scripts are the best scripts
03:50:06freezerburnVEven better: Write a Nim program that does everything for you ;)
03:51:16girvoThat's what I meant ;) `nim c --run`~!
03:51:34freezerburnVheh
03:52:07freezerburnVNah man, just put a statically-linked binary in. Check it into git for each new version :P
03:52:16freezerburnV'Cause that's totally a good practice. Yep
03:52:30girvobwahahaha
03:52:36*girvo cries because i've had that before
03:52:48freezerburnVme too :'D
03:52:58mccit's a perfectly good strategy with svn...
03:53:25freezerburnVMy 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:49michael_campbell at least they were gz'd... =\
03:53:59girvohaha
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:14freezerburnVThe 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:52freezerburnVTook 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:26michael_campbellWe 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:03freezerburnVAnd now I want to ask...
03:57:30freezerburnVMan 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:40freezerburnVAnd we use Maven AND Ant :D
03:57:45michael_campbelloh, wow.
03:58:04michael_campbellOne of my first things at the company I work for now was to migrate from ant to maven.
03:58:32michael_campbellAnd 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:49michael_campbellOr, you get fired. Either way, your workflow has changed.
03:58:52freezerburnVlol
03:59:10freezerburnVI'll probably try at some point. I managed to sneak Kotlin in at one point without getting fired
03:59:14michael_campbellNICE.
03:59:22michael_campbellI did the same with Groovy.
03:59:32michael_campbellStarting with Spock, but rewriting some java in groovy as I went
03:59:41freezerburnVThe 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:43michael_campbellWe're taking a Scala bent now so that might end, but <shrug>
03:59:44girvomichael_campbell: thats exactly how I introduced Docker, Nim and ES6 to where I work ;)
04:00:01freezerburnVNow if only I can convince the main Java dev that Kotlin is worthwhile...
04:00:09girvoNow, 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:11michael_campbellfreezerburnV, is that "happy" or "comfortable"?
04:00:12freezerburnVhe only wants me to convert straight beans to data classes
04:00:19freezerburnVmichael_campbell: Both :D
04:00:36michael_campbellbeans, data classes... man o man
04:00:36freezerburnVBasically the lead engineer of us doesn't see the point of Kotlin
04:00:43michael_campbellThen he needs the boot.
04:00:49freezerburnVExcept to make POJOs super short
04:01:13freezerburnVWell 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:17michael_campbellIf 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:53michael_campbellTell me someone at your company also says they're Agile, because that's the icing on this cake.
04:01:57freezerburnV(and he was using JDK 3 because that was the latest at the time, not due to preference)
04:02:05freezerburnVI don't think so, actually
04:02:12freezerburnVWe're not very buzzwordy, actually
04:02:22freezerburnVThe devs are just super comfortable and happy where they are
04:02:32michael_campbellYou need some more product people. I can send you some; we have too many. ;-)
04:02:37freezerburnVlol
04:03:14michael_campbellWe have our own demons too; I don't mean to poke fun. We have a (wait for it) app written in Swing.
04:03:40michael_campbellWhich we are deprecating, but sllllooooooowly.
04:04:08freezerburnVhey now, Swing can be great. IntelliJ is one of the best things I've used. All Swing
04:04:11michael_campbellgirvo are you using Nim for in-production realzies?
04:04:37michael_campbellIt *CAN* be (we're an IntelliJ shop mainly too), but god that code - it makes my eyes bleed.
04:04:52freezerburnVYeah that's fair
04:05:01freezerburnVOh gosh
04:05:18freezerburnVSo the main dev I told you about? He uses VIM. On Java codebase. I'm not kidding
04:06:01freezerburnVThe other two guys are Netbeans people
04:06:02michael_campbellI'm an emacs guy, so...
04:06:18michael_campbellBut if you're doing anything in java of size, IntelliJ is the way to go (which I do)
04:06:36freezerburnVI just... I don't understand using something like VIM on Java codebase. (same goes for Emacs)
04:07:17freezerburnVI don't diss on either editor, I just advocate using an IDE for Java
04:07:21michael_campbellFor 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:37michael_campbellOr auto-complete. I can just about face-roll on the keyboard and have IJ do the completion for me.
04:07:44freezerburnVlol
04:07:49freezerburnVSounds about right
04:08:09michael_campbellauto-import, clean up imports, etc. Nothing comes close
04:08:14girvohttp://hastebin.com/isinamofiq.h
04:08:18girvoc2nim also chokes on this line
04:08:24girvoUsers/josh/Personal/pebble/translink/include/pebble.h(1250, 97) Error: identifier expected, but found '('
04:09:56girvoI 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:29michael_campbellis it griping on the first paren of the expansion?
04:10:38michael_campbell((Uuid) .... that first one?
04:11:52*GangstaCat quit (Quit: Leaving)
04:13:04michael_campbellTime for bed for me... it's old and I'm late. Or something.
04:13:11michael_campbellNight guys.
04:13:13girvohehe thanks for your help too! night
04:13:28*michael_campbell waves
04:14:27girvoSo, there's D bindings, and Ada bindings heh
04:14:27girvohttp://blog.adacore.com/make-with-ada-formal-proof-on-my-wrist
04:15:11girvoI think I'll just write this by hand haha
04:17:29freezerburnVgirvo: That'st he spirit!
04:17:39freezerburnVI find it oddly satisfying to do that personally
04:19:40*michael_campbell quit (Ping timeout: 264 seconds)
04:20:01girvoI've not done it yet, despite having written two production Nim projects lol
04:20:19freezerburnVgirvo: Probably not a bad thing
04:20:35freezerburnVOut of curiosity: What stuff have you done with Nim?
04:25:08*astocko joined #nim
04:26:10girvoDup (nee "docker-up"), a CLI tool for local web development environments via Docker
04:26:36girvoand Duploy, an extension of it for automated deployments and server management for Docker containers in production (specifically aimed at web agencies)
04:27:11girvoDup 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:34girvoand Duploy was made because all the other alternatives take over all of your infrastructure, and aren't made for the "agency" style
04:27:55girvoThe alternatives are made for start-ups -- a single product made of disperate microservices
04:28:11freezerburnVHuh, interesting
04:28:22freezerburnVSounds like an interesting project
04:28:27girvoWhereas we have completely different clients that are isolated from one another across different infrastrucutre (Digital Ocean and AWS)
04:28:49girvoI'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:14girvoCurrently 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:35freezerburnVNeed another dev? :P
04:31:26girvoWe actually do ;) I'm in australia though! I'm trying to convince my boss to let me manage some people remotely though
04:32:02freezerburnV...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:26freezerburnVWe went there last year and loved it. Actually considering attempting to immigrate there someday
04:32:27girvohah! send me an email :) josh at studionone dot com dot au
04:32:50freezerburnVShould I attach a CV or something?
04:32:53girvoits an awesome country. amazing weather, i've lived here for 18 years now!
04:33:05girvoyeah send it through :) will give me ammo to take to my boss ;)
04:33:08freezerburnVNice! Born there or moved?
04:34:16freezerburnV...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:38freezerburnVBut I would never discount it, as I've met some people much younger than me who made me look stupid
04:38:04girvomoved :)
04:38:22girvofrom New Zealand, originally
04:38:41freezerburnVOoh, nice. Haven't had the pleasure of visiting there yet, but definitely want to at some point
04:43:27girvoshould for sure, one of the most beautiful countries in the world
04:43:31girvojust don't live there, lol
04:45:32freezerburnVgirvo: Oh?
04:46:30freezerburnVgirvo: 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:24girvothanks!
04:48:34girvogotta to go to a doctors appt, be back later
04:48:35*girvo waves
04:48:42freezerburnVgirvo: Talk to you later
04:48:46freezerburnVI'll probably be asleep when you get back
04:48:49freezerburnVI'm sending the CV over now though
04:52:41*girvo quit (Ping timeout: 240 seconds)
04:53:21*girvo joined #nim
04:53:24freezerburnVAnd 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:50Demosis there a way to get nimsuggest to return suggestions for all scopes that are imported in a given file?
05:56:04Demossorry all modules
05:56:35Demosso 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:24cheatfate_morning Araq!
07:49:36Araqhi
07:49:59*PMunch joined #nim
07:50:41cheatfate_where i can see memory protection setup in nim executable
07:51:54cheatfate_I mean i want to see code which protects `ref` memory?
07:54:23Araqyou mean with 'protect'?
07:54:36cheatfate_on windows VirtualProtect
07:54:51*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
08:00:00Flox42hi, 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:00Flox42s/crone/crown
08:03:05AraqFlox42: look at web/assets in the git repo
08:03:12*heretobang joined #nim
08:03:35Araqer no, look here: https://github.com/nim-lang/assets
08:03:59Araqcheatfate_: nim does not call VirtualProtect
08:05:24cheatfate_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:43cheatfate_find = fine
08:06:27cheatfate_so it was just a question does nim protecting stack somehow?
08:08:34Araq"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:47AraqI can imagine the same holds for lpTo.
08:09:01*bjz joined #nim
08:09:09Araqnim 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:11def-https://hookrace.net/blog/writing-a-2d-platform-game-in-nim-with-sdl2/
08:35:49PMunchOOoh, interesting
08:39:07cheatfate_def-, very nice tutorial, thanks
08:39:20cheatfate_Araq, can learn how to handle Font Rendering on his NimEdit :)
08:40:52foosballdef- does so much for nim. i really enjoy that a lot!
08:46:29Flox42Araq: thanks
08:49:04*Arrrr joined #nim
08:50:29cheatfate_Araq, is it possible in generator to name `closures` not as `HEX3Aanonymous___` but with something like `Closure_`Parent Proc Name`_XXXX_XXX`?
08:52:28cheatfate_I think it will be easier to debug
08:55:14*elrood joined #nim
08:58:50Araqok
09:02:34cheatfate_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:26vktecWhat's the style guide around function names? Should it be fooBar or foo_bar?
09:22:39vktecs/guide/convention/
09:25:02vktecIn the documentation examples and standard libraries it seems to be fooBar, so I'll go with that for now.
09:25:07def-vktec: https://github.com/nim-lang/Nim/wiki/Style-Guide-for-Nim-Code
09:25:14vktecAh, 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:58cheatfate_Araq, i have made an issue on names https://github.com/nim-lang/Nim/issues/4332
09:43:17cheatfate_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:33deavmiEllo all
10:00:36deavmiBeen a while :)
10:01:52deavmicompiling 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:04deavmiqqwith lack of support for android. idk?
10:02:14deavmi* qq = " "
10:02:20*deavmi quit (Client Quit)
10:02:53*deavmi joined #nim
10:03:03deavmidom96: Ello o/
10:03:09deavmiAraq: hi :)
10:07:16Araqhi
10:07:24deavmianyone know fo a way to write documents that are stylish and can be exported as html
10:07:25deavmiLatex?
10:07:33deavmiAraq: How do you do?
10:08:25flyxdeavmi: I am currently developing a tool for that
10:08:34deavmiflyx: Really?
10:08:56flyxdeavmi: yes. you may also want to have a look at http://docs.racket-lang.org/pollen/
10:09:06deavmiI 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:11deavmiflyx: Will do thanks :)
10:10:08deavmiOkay. Will save this in bookmarks
10:10:16flyxif you do not want to style your stuff yourself, css libs like bootstrap are probably what you are looking for.
10:10:39PMunchdeavmi, this depends very much on what you want/need
10:10:48*chemist69 quit (Ping timeout: 250 seconds)
10:10:58deavmiI do need something though that can just generate an HTML
10:11:03PMunchYou could try out markdown which is what GitHub uses. If you like that style
10:11:10deavmilike feed in a simple syntax and voila something that looks nice
10:11:18deavmiYeah. I like markdown.
10:11:22PMunchThen Markdown might be for you
10:11:28deavmiBut in terms of using document compilers
10:11:30deavmion the CLI
10:11:45deavmiBecause there are really good flavours of MD
10:11:57PMunchgithub.com/chjj/marked
10:12:01dom96You might also like AsciiDoc
10:12:03deavmiThe only one I really now is GitHub's
10:12:04PMunchThat might be of interest
10:12:07deavmiAsciiDoc heard of it.
10:12:12deavmiI will check it out.
10:12:14*bjz_ joined #nim
10:13:22flyxwhere Pollen stands out is programmability. defining macros and the likes. afaik, Markdown, AsciiDoc, restructuredText and the likes cannot do that
10:13:50deavmiI'm not into that I guess.
10:13:58deavmiBut this AsciiDoc looks promising
10:14:14deavmiI'm apt-getting it right now !
10:14:46*bjz quit (Ping timeout: 252 seconds)
10:15:56*chemist69 joined #nim
10:16:05deavmiwhat is cgmeth (I saw it whilst compiling)
10:16:17deavmiAnd I wanted to know meth? Why?
10:18:00*Kingsquee joined #nim
10:18:24dom96deavmi: It stands for C generation method
10:18:26deavmiI'm assuming a library
10:18:28dom96or something like that
10:18:29deavmiI see
10:18:42deavmiK thanks dom96
10:20:19*Kingsquee quit (Client Quit)
10:22:32Araq"code generation for methods"
10:23:06*brson quit (Ping timeout: 272 seconds)
10:23:08deavmiOkay
10:23:18deavmiI really like the look of the Perl docs
10:23:19deavmihttps://doc.perl6.org/language/5to6-perlfunc#break
10:23:24deavmiNice colouring.
10:23:37*abbat joined #nim
10:25:44Araqyeah but it's different from Rust's and thus wrong.
10:27:11deavmiAraq: ?
10:27:28AraqI'm kidding.
10:27:31deavmioh
10:27:32deavmilol
10:27:50deavmiI must say though the Nim's docs look nice. The colours on Perl's might make me sleepy
10:28:03deavmiI need something non-distrcting and non-sleep-inducing XD
10:28:07deavmi* distracting
10:28:54deavmiIs the only dependancy for building Nim on say now Linux gcc?
10:32:34deavmiAnyone here tested Nim on Haiku OS?
10:32:39deavmiI should try this holidays.
10:32:49deavmi* these
10:33:31*dom69 joined #nim
10:34:43deavmiimgur.com/z0VgkBI
10:34:52dom69What's up, guys?
10:34:53deavmithat is Nim running on GNU root on android
10:34:59deavmidom69: Ey :) o///
10:37:04dom69deavmi: the does not work.
10:37:12deavmilink doesn't work?
10:37:13deavmiLet me check
10:38:03deavmihttp://imgur.com/z0VgkBl
10:38:04deavmisoz
10:38:52ArrrrHave you programmed anything for android?
10:39:18deavmiArrrr: No.
10:39:44deavmiNot in that sense. I was just trying to get Nim compiler to run on Android through GNU rppt
10:39:46deavmi* root
10:40:09deavmiPretty 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:47Polar_Bear_So, where can I get the app.
10:46:51Polar_Bear_Is it available for downloading?
10:47:35PMunchWhat app?
10:48:34Polar_Bear_Punck: I'm not talking to you.
10:48:43PMunchUhm, okay..
10:49:00deavmioh
10:49:06deavmiGNU Root
10:49:09deavmiOn Google Play
10:49:14deavmiThis is GNU Root Debian
10:49:26PMunchdom96, I've fixed the link icons now. Apparently the after tag supports a url as content :)
10:50:29deavmiGotta go guys. Chat later.
10:51:24gokrPolar_Bear_: You might want to indicate who you are asking then.
10:51:44Araqgokr: pretty sure that's our new IRC troll
10:51:55PMunchHooray..
10:51:59Araqdon't feed him.
10:52:05Polar_Bear_Araq: I'm the guy
10:52:22Polar_Bear_Araq: I'm Nimian, EEE, Kim Jung-un ...etc.
10:52:33deavmitroll
10:52:41deavmican we kick?
10:52:51Polar_Bear_No we can't.
10:52:55deavmiUnless he/she is not troll
10:53:04deavmiMy word.
10:55:23dom96Yes we can
10:55:24deavmijustice has been served.
10:55:33deavmidom96: Yeah (HIGHFIVE)
10:55:46dom96Nice that he's in our timezone
10:55:51ArrrrIs this a new troll? I don't recall him
10:56:08PMunchHe as in here yesterday at least
10:56:14PMunchs/as/was
10:56:30deavmioh
10:56:55gokrNice that he told us that he is the same as Nimian etc.
10:57:12PMunchCertainly practical :P
10:58:03gokrI wonder if ... one could use a whitelist for a channel. And have a bot that just kicks everyone else ;)
10:58:12gokrOf course not that practical, just wondering.
10:58:33PMunchThere are channels you have to register for so I would say yes
10:58:38deavmiAnyone know if there is a project providing a distributed irc type software?
10:58:38gokrAh
11:16:56flyxyou 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:55flyxthat *can* help against trolls with varying nicknames, I have seen quite some channels do it
11:19:06deavmiMy word asciidoc makes beautiful html by default
11:19:11deavmithanks peopls
11:19:14deavmi* peoples
11:19:30deavmiAlso, I'd like to know. Is the only requirement for building Nim on Linux GCC?
11:21:58cheatfate_deavmi, i think you will also need some kind of c library
11:22:21deavmiI will test this soon
11:22:34deavmiI will start a fresh install of Linux
11:22:37deavmiand try compile
11:22:56deavmiand then install each package one after the other of attempting to build Nim
11:22:58deavmithanks tho :)
11:25:04Araqdeavmi: only a posix shell and GCC is required, yes
11:25:14deavmithanjs
11:25:22deavmi* Thanks Araq and cheatfate_
11:28:24federico3https://hookrace.net/blog/writing-a-2d-platform-game-in-nim-with-sdl2/
11:28:29gokrdeavmi: I have used Asciidoc earlier and it's quite nice for manuals etc. For sprylang.org I opted to use mkdocs though.
11:28:41deavmimkdocs is great
11:28:43deavmiOfc
11:29:04deavmiBut I wanted something to just put one file in and give another out on the other side
11:29:10gokryeah
11:32:42gokrAraq: FWIW got spry running/compiling fine in latest Nim. Also got the Vagrantfile working.
11:34:46gokrVagrant 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:06gokrAraq: You should use it to be able to try on various OSes :) Seriously.
11:37:25flyxwell 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:43gokrIIRC vagrant is written in Go?
11:38:11flyxno, it's Ruby
11:38:18flyxjust look at the syntax of the Vagrantfile
11:38:22gokrNo idea what you mean with "slower than" ... vagrant is not in effect when you are actually running. It's just scripted VirtualBox.
11:39:12flyxyeah, 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:08flyxthis might be something you only notice as power user.
11:40:19gokrYou are correct - I had confused vagrant with something else. Ruby it is.
11:41:06gokrI still think its pretty neat. Docker... (sorry ldleworker) doesn't make me feel good.
11:41:16gokrIn fact, docker mainly pisses me off :)
11:41:41flyxyeah, I didn't say vagrant is awful. it fulfills its promises.
11:42:02gokrBut that's another story of course (docker). I just don't buy into the whole thing for most of us.
11:42:07flyxwith docker, you usually need to have luck that some tool works with it (or not)
11:42:55gokrI 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:07gokrSorry for the off topic rant.
11:43:07flyxwell 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:20federico3what? no
11:45:25*BitPuffin joined #nim
11:49:37*WYSIWYG joined #nim
11:50:37WYSIWYGIn 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:11WYSIWYGI mean how is Nim's metaprogramming features are flagship?
11:54:58PMunchWYSIWYG, check this out: https://hookrace.net/blog/introduction-to-metaprogramming-in-nim/
11:54:58WYSIWYGHello?
11:55:09elroodwhy 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:17WYSIWYGThanks Punck
11:55:26*brson joined #nim
11:55:38PMunchGod damn it, is that you Mr. Troll?
11:55:52PMunchelrood, I figured out how to do the link icons properly :)
11:56:12PMunchApparently ::after supports a url as content
11:56:38PMunchSo 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:52WYSIWYGWhat? I'm not troll.
11:57:10PMunchYou misspelled my name in the same way as the troll that was banned earlier..
11:57:25WYSIWYGI don't know what you are talking about.
11:57:31PMunchAnyways, with macros in Nim you can essentially rewrite the abstract syntax tree
11:57:51PMunchWhich allows you to program things like DSIs
11:58:16PMunchs/DSI/DSL
11:58:43PMunchhookrace.net/blog/introduction-to-metaprogramming-in-nim/#html-dsl
11:58:46PMunchLike that for example
11:59:51WYSIWYGce
11:59:56WYSIWYGdvc
11:59:57elroodPMunch, 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:58WYSIWYGew
11:59:58WYSIWYGfv
11:59:58WYSIWYGtgtb
11:59:58WYSIWYGt
12:00:00WYSIWYGb
12:00:01WYSIWYGte
12:00:02WYSIWYGb
12:00:04WYSIWYGyn53
12:00:04WYSIWYG6
12:00:04WYSIWYGhn
12:00:05WYSIWYG5
12:00:05WYSIWYGb
12:00:07WYSIWYGe
12:00:07WYSIWYGh
12:00:08WYSIWYGtge
12:00:08WYSIWYGth
12:00:08WYSIWYG5
12:00:08WYSIWYGhreg
12:00:10WYSIWYGtg
12:00:11WYSIWYGetg
12:00:11WYSIWYGethgre
12:00:11WYSIWYGbte
12:00:23WYSIWYGr
12:00:23WYSIWYGeh
12:00:26WYSIWYGretr
12:00:26WYSIWYGy
12:00:26WYSIWYGhrey
12:00:26WYSIWYGth
12:00:26WYSIWYGrte
12:00:29WYSIWYGhre
12:00:30WYSIWYGyh
12:00:30WYSIWYGtre
12:00:30WYSIWYGhb
12:00:30WYSIWYGr
12:00:34WYSIWYGhbr
12:00:34WYSIWYGh
12:00:34WYSIWYGre
12:00:34WYSIWYGhy
12:00:34WYSIWYGhge
12:00:34WYSIWYGr
12:00:38WYSIWYGhbh
12:00:38WYSIWYGry
12:00:38WYSIWYGhe
12:00:38WYSIWYGr
12:00:38WYSIWYGhrt
12:00:38WYSIWYGbhr
12:00:42WYSIWYGt
12:00:42WYSIWYGt
12:00:42WYSIWYGbr
12:00:43WYSIWYGgbr
12:00:43WYSIWYGeh
12:00:46WYSIWYGthtr
12:00:46WYSIWYGeh
12:00:46WYSIWYGry
12:00:47WYSIWYGh
12:00:58WYSIWYGet
12:00:59WYSIWYGg
12:00:59WYSIWYGg
12:00:59WYSIWYGtrh
12:00:59WYSIWYGer
12:00:59WYSIWYGt
12:01:02WYSIWYGhtr
12:01:03WYSIWYGhet
12:01:03WYSIWYGh
12:01:03WYSIWYGte
12:01:03WYSIWYGhe
12:01:03WYSIWYGghet
12:01:07WYSIWYGg
12:01:07WYSIWYGet
12:01:08WYSIWYGrt
12:01:08WYSIWYGgh
12:01:08WYSIWYGrethhte
12:01:08flyxFINISH HIM
12:01:08WYSIWYGtr
12:01:16PMunchGod damn it..
12:01:42elroodwe could teach a bot to do that ;)
12:01:59PMunchTo quiet flooders?
12:02:00elroodit really doesn't deserve spending any human attention and time on
12:02:21PMunchWhat if someone by accident pastes a bunch of text thinking it was something else..
12:03:05cheatfatePMunch, already made that, you will got excessive flood kick from freenode itself :)
12:03:21*heinrich5991 quit (Ping timeout: 246 seconds)
12:03:27flyxa good client will ask you if you really want to send all that
12:03:43PMunchelrood, 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:01elroodPMunch, sure, and one can easily give it a more personal touch this way too
12:09:19PMunchDefinitely
12:11:40dom96PMunch: link icons are looking good now :)
12:11:56PMunchdom96, nice
12:12:04*fredrik92 joined #nim
12:12:12elroodregarding 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:36elroodafter all, as programmers, automating tasks is our natural area of operation
12:14:41elroodand there we go again..
12:14:54hendihi guys!
12:15:01fredrik92Hi there! :-)
12:15:26hendiquick question: how can I get the length of a set? foo.len doesn't work
12:16:28dom96hendi: card(set)
12:16:47hendithanks!
12:16:50fredrik92that short for... what? ... cardinality?
12:16:54dom96yep
12:17:22hendifuck, I just found it in the docs... sorry, I overread that :/
12:17:31fredrik92huh... 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:16PMunchOh hi fredrik92
12:39:19PMunchWhat's up?
12:41:35fredrik92PMunch, 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:07PMunchOh cool
12:42:12fredrik92(Luckily the `nim idetools` command actually solves a great deal of problems there... :-)
12:42:33PMunchI 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:00PMunchAdd 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:04fredrik92Araq, real great work there btw! Am I to understand, that nim idetools actually deprecates (or at least replaces) nimsuggest?
12:43:24PMunchThat way I could use vim in terminal to try simple things while writing stuff :)
12:44:06hendiyay, I just made me an += operator vor sets :)
12:47:20Araqfredrik92: no, the other way round. idetools is obsolete, use nimsuggest instead
12:47:57fredrik92ah... ok, that works... :P
12:48:48PMunchOh 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:44cheatfateAraq, is system.protect()/dispose() must be used everywhere where earlier we used (GC_ref/GC_unref)?
13:05:29fredrik92PMunch, as always Your Website does still not cooperate with my Browser... I can a blank white page... :P
13:05:37Araqonly if you pass the pointer to a different thread
13:06:05PMunchfredrik92, what? That's not the same page as the other one you had trouble with :S
13:06:12PMunchAny errors in the log?
13:06:41cheatfateAraq, so until i'm in same thread i can use (GC_ref and GC_unref)?
13:07:23fredrik92yes... I'll msg it to you (to prevent the #nim channel from being cluttered)
13:07:43Araqcheatfate: yes
13:07:43PMunchThanks
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:06cheatfateAraq, is it possible to make GC_ref()/GC_unref() for pointers?
13:11:11cheatfatebecause i want to protect callback's environment, but rawEnv() returns a pointer
13:13:26*s4 quit (Quit: Konversation terminated!)
13:13:33Araqjust 'cast' it to RootRef
13:16:09*freezerburnV quit (Ping timeout: 246 seconds)
13:16:26flyxI 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:18dom96flyx: Awesome! Congrats!
13:18:26flyxthx
13:18:40cheatfateAraq, thanks
13:19:00cheatfateflyx, congratulations
13:20:42gernestflyx: 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:51flyxthanks folks. I don't think Nim has been a subject of academic research yet, does it?
13:24:22dom96AFAIK no
13:25:05gokrflyx: neat!
13:25:24gokrWhat University is that?
13:25:31flyxStuttgart, Germany
13:25:37gokrAh
13:26:11fredrik92Pmunch and I actully did a university project using Nim this semester :)
13:26:15fredrik92that was fun! :D
13:27:34*akaisora_ quit (Read error: No route to host)
13:27:52flyxgood thing that's possible. in my time as a student, we could never choose the target language for any projects
13:28:10dom96same
13:28:14PMunchIt was a fun project :)
13:28:27PMunchWe have pretty much free reign over what language we use for most projects
13:29:01PMunchIt's pretty neat. Allows you to try out all kinds of things
13:29:06fredrik92Well, we are in our 4th year (1 left to our M.Sc.) so we are mostly allowed to do what we want
13:29:29PMunchThat's true, the first couple of years we were pretty forced
13:29:34fredrik92in the first two years (at Bachelor's level) we were pretty much forces to use C and Python though...
13:29:38flyxI still wonder how we got stereoscopic cluster rendering working with C#
13:29:52fredrik92flyx! Nice!
13:30:03fredrik92(love C# ;-) )
13:30:53dom96It's all Java so far at my university :\
13:31:06PMunchDidn't we have so Go thrown in there for parallelism? Or was that year three?
13:31:22PMunchdom96, Java is pretty nice though. Not the worst to be stuck with
13:31:39*freezerburnV joined #nim
13:31:43dom96I suppose
13:31:52PMunchAre you allowed to use Scala/Clojure/other JVM languages?
13:31:58dom96nope
13:32:14dom96Well, maybe I am, I never asked.
13:32:16*abbat quit (Ping timeout: 264 seconds)
13:32:18fredrik92PMunch, right... We had Go in INF-2202 that was in year... 3, fall semester
13:32:38flyxwell, 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:53dom96I have asked multiple times whether I can use anything other than Java though.
13:33:44dom96The reply was always "no".
13:34:13PMunchThat's a shame
13:34:26PMunchWhat year are you? Or are you already done?
13:34:51fredrik92Hmm... 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:34PMunchYeah, 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:39dom96PMunch: just finished second year
13:37:15PMunchOkay, so it's possible that you'll get some choices down the line
13:37:42dom96Their current reasoning is that the examiners wouldn't be able to mark it.
13:38:28PowerBookIt'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:35PMunchWas that the troll again?
13:39:42dom96yep
13:40:10fredrik92dom96, 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:11gokrWhat a fruit
13:40:50*PowerBook left #nim (#nim)
13:41:12PMunchfredrik92, 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:50fredrik92And since reports should be code and language agnostic, the programming language does not actullay matter
13:41:52dom96Perhaps my university is just lame.
13:42:26dom96I'm starting to consider moving somewhere else for my last year.
13:42:50fredrik92Tromsø really is quite awesome as a CS uni I have to say... (especially on the Bachelors level)
13:43:38fredrik92some say the best in Norway... At least equal to the others here and that quite good since it's very small...
13:44:29flyxI 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:22dom96This is my University in case anybody is curious: http://www.qub.ac.uk/
13:46:03fredrik92flyx, true, I'd say about midway in your Bachelor, you should mostly know about the basics...
13:48:10dom96I would agree for students who have no prior programming experience. But for someone like me it just feels like an unnecessary restriction.
13:48:54flyxdom96: yeah, having to deal with vastly different experience of students has always been a pressing issue
13:49:02dom96That said, for my most recent project (An Android game) Java was a good choice.
13:49:44fredrik92right... 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:53flyxunfortunately, there isn't really a good solution for that. you cannot start giving some students less restrictions than others
13:50:08PMunchdom96, Java and Android go hand in hand
13:50:31PMunchBeen using it for various apps and games and it's really easy when working with Android
13:51:28dom96Something that concerns me more regarding my course is what appears to be some sort of grade cap.
13:53:36PMunchGrade cap?
13:54:40dom96For 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:54dom96There 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:07flyxdom96: well you can always dispute marks
14:00:41flyxstudents 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:55dom96flyx: True, but I fear that I would end up with worse marks than I started with if I did that.
14:01:02flyxwell I can of course only speak for the university I graduated at
14:01:03*mcc joined #nim
14:01:05dom96Plus hatred from lecturers.
14:01:58dom96And officially they only recognise a "1st" as the highest grade, which is 70%
14:02:15mccSo 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:10fredrik92mcc, that sound right, doesn't it?! :P
14:04:24mccI'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:37fredrik92Always nice with helpful advise to get through life! :D
14:06:30dom96mcc: why do you need to copy the array?
14:07:21mcc(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:21mccthen I ran into fairly bad problems with the fact that breaks subtyping completely, a la issue #4318)
14:07:37mccdom96: 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:09mccmaking a copy of a value is one of the most basic things you can do with a value in a programming language?
14:08:25mccif you cannot make a copy of an object-inherited object it's suddenly become something that is not actually a value?
14:08:49dom96wouldn't creating copies be incredibly inefficient?
14:08:57dom96Why do you want to avoid mutating them?
14:09:18mccit 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:48mccin this particular piece of software, I am actually checkpointing on every single timestep.
14:09:55PMunchAre there any packages supplying persistent data structures like in functional languages?
14:09:59freezerburnVdom96: 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:48dom96IMO it should be possible to clone() objects in Nim.
14:10:54mcconce 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:24mccdom96: 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:46dom96Agreed
14:12:03*PMunch quit (Quit: leaving)
14:12:31kierhttp://nim-lang.org/docs/system.html#deepCopy,T,T
14:12:34mccfreezerburnV: 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:36dom96In 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:14mccwell, 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:25NanoPCHello guys!
14:13:36freezerburnVmcc: 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:31mcckier: 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:04dom96hello NanoPC, welcome to #nim!
14:15:08*hendi quit (Ping timeout: 250 seconds)
14:15:18Araqhe is the troll.
14:15:18NanoPCdom96: Thanks very much!
14:15:27Araqwhy is that so hard to see for you?
14:15:37NanoPCAraq: excuse me??
14:16:04mcckier: 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:07dom96Araq: what makes you so sure?
14:16:08mccat runtime, i mean.
14:16:21dom96not everyone that connects via webchat is the troll
14:16:27dom96For example, deavmi
14:16:28Araqmcc: deepcopy takes the dynamic type into account
14:16:35NanoPCdom96: It's okay.
14:16:42mccaraq: oh!
14:16:45NanoPCdom96: Everyone mistakes.
14:17:11mccaraq: 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:21mccaraq: 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:35Araqit uses RTTI
14:19:28*coffeepot joined #nim
14:20:00AraqNanoPC: we'll see soon enough if I'm right.
14:20:25NanoPCI don't know what is going on?
14:20:31fredrik92Araq, 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:59mccaraq: 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:09mccI don't know why there were two question marks at the end there.
14:21:15NanoPCAraq: I think you are confusing me with another person.
14:22:37AraqNanoPC: maybe. but I don't have to wait for long if you are the troll.
14:23:00Araqit's the troll's nature, he can't help it.
14:23:10Araqburning under your finger nails.
14:23:31Araqargh, must resist ... no ... real ... compiler ... *cough*
14:24:06*gernest joined #nim
14:24:18NanoPCdom96: I need to translate Nim in Action to Arabic and send it to some team friends, but am I allowed?
14:24:19fredrik92Araq, wasn't that PowerBook?
14:24:32Araqta-da.
14:24:36fredrik92:D
14:25:55mccAlso, 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:03Araqmcc: deepCopy can implemented in pure Nim
14:26:19Araqand yes we accept documentation fixes.
14:26:28Araqfredrik92: sure, update the docs.
14:26:46mccMaybe I will file some then.
14:26:57*gernest quit (Client Quit)
14:28:10mccHow 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:30mccAlso 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:40mccMaybe I should just read dom96's book. Is this sort of thing described in detail in there?
14:30:16Araqmcc: https://github.com/nim-lang/Nim/blob/devel/lib/system/deepcopy.nim
14:30:44*NanoPC quit (Ping timeout: 250 seconds)
14:30:58samlis there play.nim-lang.org ?
14:31:03mccaraq: Cool. Thank you for the explanations!
14:36:22fredrik92Araq, the use of : in the commands to nimsuggest (filename:line:col) is VERY unfornunate with Windows absolute paths...
14:37:35reactormonkfredrik92, use the sexp API ;-)
14:38:10fredrik92reactormonk, sexp API?
14:38:30reactormonkYou can invoke nimsuggest with a few different ways to connect to it
14:38:47Araqfredrik92: why? just put the filename in quotes
14:38:54reactormonkOops.
14:39:46fredrik92Araq, oh, my bad... I did that, but of course I did it wrongly without noticing before complaining... :-/
14:42:41Araqsaml: occiasionally people come up with something like that but I don't know the current state of affairs
14:44:50dom96saml: afraid not
14:45:48dom96saml: if you want a project to do in Nim then that would be a great one :)
14:46:37*pregressive joined #nim
14:55:24samlhow 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:45samlif "ab" =~ re"a+$" is true
14:57:24*_stowa joined #nim
14:59:43*Hope joined #nim
14:59:52Araqsaml: for me it's false
15:00:03HopeHello Nim developers!
15:00:07*Hope is now known as Guest84453
15:01:01Araqmake your move.
15:01:03samlhttps://gist.github.com/saml/23648c218a83edf3257a75e03a013c25 this prints bad for me
15:01:13samlwhich is expected
15:01:25samli mean, this prints good. which is not expected
15:01:35samlinput string does not end with a
15:01:48samli did nim c main.nim; ./main
15:02:12Guest84453I have an important question, is Nim a full object-oriented language like C++?
15:03:02namnguyenGuest56550, it is as full as a Turing language can be.
15:03:09Araqsaml: re("a+$") produces a correct result
15:03:20namnguyenit is not OO, however.
15:03:26samlyeah. but not ((a)+)+$
15:03:35Araqnot sure about the +nesting, might be a pcre issue
15:03:37samlwas trying evil regex ddos
15:03:55Guest84453namnguyen: So it isn't pure OO like C++?
15:03:59samlnew RegExp("((a+)+)$").exec("aaaaaaaaaaaaaaaaaaaaaaaaaab") // javascript
15:04:31Araqnamnguyen: my troll detector peeps
15:04:47namnguyenAraq, i know it when he pronounced "hello Nim developers"
15:05:02Araqha, indeed.
15:05:44Araqwhy let him have all the fun
15:06:37namnguyenguess i believe in free speech :-/
15:06:59namnguyenas long as it's civilized and respectful, i think
15:07:32deavmilol
15:07:40deavmiteh spam
15:07:52Araqso do I, but I'm also very unforgiving
15:08:23deavmiWhat does the @ next to a username mean?
15:08:36deavmisuch as @Arar compared to Araq
15:08:37deavmi?
15:08:41deavmi* @Araq
15:09:04Araqit means I'm an operator
15:09:10namnguyendeavmi, in IRC context ^
15:09:12deavmiOh
15:09:17deavmiyeah
15:09:18namnguyenin Twitter context, a mention :-D
15:09:29deavmiNo he is a methematical operator
15:09:44*Ahmad_ joined #nim
15:10:04Ahmad_Araq: I won't spam anymore I SWEAR.
15:10:38*gokr quit (Ping timeout: 272 seconds)
15:10:40namnguyenE3 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:46ChillAraq: Give me the last chance. I SWEAR I WON'T SPAM EVER.
15:14:03ChillBeside, I can do that forever.
15:14:36ChillI can change my IP address with one-click
15:14:50Araqthe imbalance in power annoys you.
15:15:00Araqand hence you cannot do it forever.
15:15:08ChillYes, I can
15:15:22*Ahmad_ quit (Ping timeout: 250 seconds)
15:17:52*WiiU joined #nim
15:18:00WiiU2
15:18:01WiiU2
15:18:01WiiU2
15:18:01WiiU3
15:18:01WiiU3
15:18:01WiiU3
15:18:01WiiU3
15:18:01WiiU3
15:18:02WiiU3
15:18:02WiiU3
15:18:03WiiU3
15:18:03WiiU3
15:18:04WiiU3
15:18:04WiiU3
15:18:06*WiiU quit (Excess Flood)
15:19:42*Chill quit (Ping timeout: 250 seconds)
15:20:03*SolarisD joined #nim
15:20:38namnguyencan you just sit quiet?
15:20:38SolarisDI have a problem with d:release
15:21:40SolarisDe
15:21:42SolarisDe
15:21:42SolarisDev
15:21:42SolarisDwv
15:21:42SolarisDre
15:21:42SolarisDv
15:21:43SolarisDre
15:21:43SolarisDe
15:21:43SolarisDrvr
15:21:43SolarisDr
15:21:44SolarisDrv
15:21:44SolarisDr
15:21:45SolarisDr
15:21:47*SolarisD quit (Excess Flood)
15:23:02fredrik92Now 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:27kieryou are, without a doubt, the worst troll I have ever seen
15:23:33kierare you even trying?
15:25:22GNOMEdevIt all began when Mr. dom96 told me (in Nim forum) "you are very arrogant".
15:25:34deavmimy world
15:25:40*Jesin joined #nim
15:25:49deavmiAtleast the troll uses Solaris
15:25:51GNOMEdeve
15:25:51GNOMEdeve
15:25:52GNOMEdevwe
15:25:52GNOMEdevvr
15:25:52GNOMEdever
15:25:53GNOMEdevvcre
15:25:53GNOMEdevf3
15:25:53GNOMEdevf
15:25:53GNOMEdev3e
15:25:53GNOMEdevc
15:25:54deavmiItcould be MacD
15:25:54GNOMEdeve3
15:25:59*GNOMEdev quit (Excess Flood)
15:26:01fredrik92right....
15:26:08deavmiXD
15:26:20deavmignomedev xd
15:26:26deavmisuch generic
15:26:30deavmimuch popular
15:26:33deavmiso vala
15:28:20*DosX joined #nim
15:28:58vktecHow 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:58DosXGuys, when will Aporia IDE 64 bit version be available?
15:29:29DosXOhh! Hi vktec!
15:29:43vktecUm. Hi?
15:29:44vktec:D
15:29:52DosX:)
15:30:49AraqDosX: fine, here is your chance.
15:31:12DosXThank you! I WON!
15:31:28*gernest joined #nim
15:31:47fredrik92vktec, I guess you'd have to write a small switch-case block for all valid escape sequences... Or a string replace...
15:31:55vktecfredrik92: :(
15:32:04vktecAh well
15:32:38fredrik92there aren't many escape sequences... and even less that are commonly used... ^^
15:32:44vktecNo debugger that'll do it?
15:32:48vktecfredrik92: Fair enough
15:33:46fredrik92btw, anyone of you know that \? is an escape in C? Or why we need it (or more acurately why we needed it)?
15:34:12Araqbecause of trigraphs
15:34:34vktecHmmm... why am I getting this error and how do I fix it? Error: \n not allowed in character literal
15:35:00Araquse \L
15:35:05vktecOkay
15:35:14vktecWhat's the reason for that, out of interest?
15:35:44*DosX quit (Ping timeout: 250 seconds)
15:36:08fredrik92dom96, 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:41namnguyenthe real question is why was trigraph needed.
15:36:49fredrik92Pre-ASCII
15:37:14namnguyenso?
15:37:21namnguyenwhat wasn't available then?
15:38:37fredrik92from 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:37fredrik92graphic representations for some punctuation characters."
15:39:10namnguyeninteresting!
15:39:18namnguyen, . ; ? ...
15:40:07fredrik92No, there are 9 Trigraph sequences that replace # [ \ ] ^ { | } ~
15:40:53namnguyencool
15:41:33fredrik92And Hashtag, braces, Pipe and Backslash are pretty common punctuation tokes in C... Would not be fun to read at all!!!!
15:43:44vktecHow 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:06fredrik92\0 probably?
15:44:10vktecOkay, thanks
15:44:36fredrik92shouldn't that actually be use of unassigned variable?
15:45:25fredrik92but \0 is the escape sequence for the NULL-character (the character value that is treated as the character with value 0)
15:45:32vktecfredrik92: 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:09fredrik92vktec, http://nim-lang.org/docs/tut1.html#internal-type-representation maybe you can also do sth. with `repr`
15:57:01vktecfredrik92: I figured it out, but thanks
15:59:14fredrik92vktec, I tries that one... and repr('\L') -> '\10' (which is right... but you wouldn't want the hex-code, right?)
16:00:11vktecfredrik92: It was only for debugging something. I fixed the issue
16:00:20vktecThanks 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:11gokrIt would be fun to make a bot that has some descent recognition of FAQs and just have it answer them.
16:19:19deavmiyeah
16:19:27deavmiBut then again
16:19:31deavmiI like a person describing it
16:19:45*deavmi_mobile joined #nim
16:19:52namnguyena FAQ-bot
16:20:11namnguyenthat reads like faggot
16:20:11gokrSure, but ... it could at least make a first shot at it. Especially in certain timezones it can be quiet.
16:20:40gokrOf course someone has already done this, somewhere.
16:20:48namnguyeni think for stuffs in the FAQ, a bot is sufficient. after all, this is "too frequently asked questions"
16:21:06namnguyeneven the Teaching Assistant is a bot nowadays
16:24:18fredrik92Hey namnguyen, I'm not a bot! :P
16:24:39namnguyenfredrik92, tell me more about it. i haven't got a clue.
16:24:51Demoshow can I force lexbase to give me the safe version, as if I was using nim js?
16:24:52gokrSo anyone claiming he is not a bot - is for sure a bot.
16:25:03fredrik92oops...
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:43deavmiWell just did that
16:35:44deavmihttps://deavmi.carteronline.net/nim/using-nim-on-the-command-line/
16:37:25*fredrik92 quit (Read error: Connection reset by peer)
16:38:30dom96gokr: that would be brilliant, implement it in NimBot :)
16:38:59dom96It 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:04gokrHehe, perhaps I could take NimBot, make a Spry library of it - and write it with Spry. Could be a fun example.
16:39:53gokrYeah, 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:18Ainiecohello
18:08:42Ainiecodoes 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:58Ainiecocode highlighting theme that is
18:09:12*Matthias247 joined #nim
18:09:21def-Ainieco: Monokai
18:09:44def-Ainieco: I even wrote it as a comment in the css but no one seems to read that
18:11:29Ainiecodef-: thanks! hm, monokai theme in my emacs looks different
18:11:41def-Ainieco: using the pygments renderer
18:13:13Ainiecosigh, 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:16namnguyenwhat does it mean for a string to be null-terminated, yet to have a length?
18:29:50namnguyenwhat is this length? is this before termination, or the whole underneath storage?
18:30:14cheatfatecstring 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:47fowlIt isn't?
19:27:33*heinrich5991 quit (Ping timeout: 240 seconds)
19:27:53namnguyencheatfate, that's not what i read from the docs.
19:28:40namnguyenA 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:08shodan45trying to install nimble, I get: https://gist.github.com/anonymous/541a21750601ef40784ecbfcf265c184
19:30:25Araqnamnguyen: what does it mean? well it has both. no idea what you mean.
19:30:37shodan45from "nim -d:release c -r src/nimble install"
19:31:22Araqshodan45: dunno, use teh install_nimble.nims script
19:31:24namnguyenAraq, like, when i call len(s), what is this length?
19:31:44Araqit returns what the internal length field says
19:31:50namnguyenis this the null-terminated string length, like strlen(), or is it like c++ string length
19:32:44namnguyenokay. so it's c++ string length.
19:33:16namnguyenbut then, the next sentence is "the length never counts the terminating zero."
19:33:41*jjido quit (Ping timeout: 244 seconds)
19:33:50namnguyenso if you have a\0b\0c, what is this length.
19:35:26*pregressive quit (Remote host closed the connection)
19:35:55namnguyenimo, the null termination thing is an annoying mistake from the past.
19:36:36AraqI like it and it means we can pass strings to C with no copy whatsoever
19:37:12Araqwhich is nice when you have a program that runs regexes over the wikipedia XML ... :P
19:38:02shodan45lol
19:38:23shodan45Araq: where is that install_nimble script? can't find it...
19:38:59Araqit's in the $nim root dir
19:39:46Araqso what if you have a\0b\0c ? that's 3 bytes.
19:39:58shodan45doh. I'm using 0.14.2
19:40:20namnguyener, hmm, that's a bad example
19:40:27namnguyeni mean \0 as one character.
19:40:59namnguyenin fact, it should be parsed as one character, right? because there's no "x", so it should not be considered hexa-numeral.
19:41:33Araqshodan45: get it from github then
19:41:37fowl"\0\x00" is 2 bytes both 0
19:41:57*Johnny_Depp joined #nim
19:42:08Araqnamnguyen: it doesn't matter if your string literal has a zero in it or not
19:42:42namnguyenright, so why is a\0b\0c 3 byte again?
19:43:26Araqbecause I assumed you mean a\x0b\x0c
19:43:47Araqyou don't have to think.
19:44:10Araq"a\0c" is a string literal with 3 chars in it.
19:44:41Araqthe 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:54Araqbut apart from that there is nothing special about it
19:45:16Araqwhen you pass it to C, C thinks it stops after the 'a'
19:45:22shodan45fwiw, 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:51namnguyenso then what does the doc mean when it says that nim string is null terminated?
19:46:59namnguyenit clearly does not "terminate"
19:47:04fowlOy
19:47:21namnguyendo you mean that the cstring (vs string) is null terminated?
19:47:34namnguyenhello fowl
19:47:53fowlIn c when you say const char x* = "hi"; the ending \0 is magically inserted for you, nim does the same thing
19:47:57Araqinternally the "a\0c" string is stored as "a\0c\0"
19:48:24*Johnny_Depp left #nim (#nim)
19:48:40namnguyenok, got it. thanks!
19:49:20*heinrich5991 joined #nim
19:49:26namnguyendoes that apply to all strings, not just string literals?
19:52:20fowlYes
19:53:14*brson joined #nim
19:56:03namnguyeni 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:47dom96shodan45: 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:04namnguyenis there any reason why the open array is indexed with an int, and not the largest integral type?
20:54:57Araqint is the largest integral type
20:55:36namnguyenoh? how about int64?
20:57:00Araqint 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:46def-namnguyen: on 32bit you can access all of your memory with an int32, on 64bit with an int64, so that's fine
21:00:03def-(well, or half)
21:01:25*dyce_ quit (Ping timeout: 260 seconds)
21:01:41namnguyenyea, 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:33PMunchThe 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:09shodan45dom96: 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:06dom96shodan45: that should still work, can you file an issue about this in the Nimble repo?
21:26:06shodan45nim is then failing to find system.nim (specifically ~/lib/system.nim)
21:26:19dom96Does Nim fail as well, or is it just Nimble?
21:26:33shodan45dom96: I think this might be nim, not nimble
21:27:07namnguyenso something interesting happened. i created a huge sequence and echo'd out its high(). it takes a long time to do that.
21:27:15shodan45it's just failing to find "lib" - it's assuming it's "../lib/", relative to the location of the nim binary
21:27:17dom96shodan45: were you able to compile source code using your installed Nim compiler?
21:27:18shodan45(I think)
21:28:29dom96ooh, we just got $200 from mikra, awesome https://salt.bountysource.com/teams/nim
21:28:38namnguyen\o/
21:29:04dom96namnguyen: that is interesting, create an issue about it :)
21:29:18shodan45dom96: oooooor I could be completely wrong :) hallo.nim works just fine
21:29:31vktecAnybody ever tried embedding Ruby into Nim?
21:29:47reactormonkvktec, yup, gave up. too many macros in the API.
21:30:06dom96shodan45: then it's a problem with Nimble
21:30:20vktecreactormonk: Oh, okay
21:30:32vktecreactormonk: What about this? http://code.macournoyer.com/tinyrb/
21:30:37shodan45dom96: seems so... weird. why would it not be able to find lib/system.nim?
21:30:38dom96shodan45: Although IIRC I tested symlink installations and it worked fine, might just be because of where you symlinked it to though.
21:31:31dom96shodan45: 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:30shodan45dom96: 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:21cheatfatedom96, could you please accept my first usage of new Araq's functions? https://github.com/nim-lang/Nim/pull/4336
21:46:33vktecWhat'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:41ALGOL_Why did Mr. dom96 release Nimble under BSD, not MIT?
21:56:40Demosvktec, I'm working on a macro that would let you say:
21:57:17Demostype dbresult = linq select(name: string, values: seq[int]) `from` some_table
21:57:37Demosfollowed by var val = db.load(dbresult)
21:57:43Demosthat's kinda dsl
21:57:56Demosand ultimately you can do literally whatever you want in user defined strings
21:58:16Demos(which work wonderfuly with editors that can highlight regions)
22:03:08ALGOL_OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
22:04:06PMunchThe fuck ALGOL_ ?
22:04:14ALGOL_I'm felling very bored here.
22:04:16PMunchWait, is swearing ok here?
22:04:31PMunchSo you decided to spam to have fun?
22:04:45DemosI think it depends on the nature of the swearing.
22:04:59ALGOL_The spam is looping
22:05:07ALGOL_I'm not looping
22:05:33fowlALGOL_: go troll #rust and #ruby just use gendered pronouns at them it's easy and fun
22:06:00PMunchFair enough..
22:06:48ALGOL_The truth is, I'm alone.
22:07:28ALGOL_No one in Kurdistan interested in programming.
22:08:17ALGOL_Can you please fowl & PMunch, find me a solution?
22:08:21PMunchNo one in the entire country of Kurdistan?
22:08:41ALGOL_Everyone just wants $$$
22:08:57fredrik92ALGOL_, that really sucks...
22:09:25PMunchOh hi fredrik92, did you see that I fixed the site? :)
22:10:26fredrik92yeah 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:59PMunchWoo :P
22:11:18fredrik92ALGOL_, I usually tell myself: Patience dear Padawan, your time will come eventually...
22:11:44ALGOL_Thanks fredrik92.
22:12:24fredrik92But 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:02PMunchYou don't think people here care about programming fredrik92?
22:13:11ALGOL_My dream is not $$$$
22:13:35ALGOL_My dream is an OS (Operating System) in Nim.
22:14:40fredrik92ALGOL_, that actually sound like a good (and doable) idea... :-P
22:15:48GangstaCatALGOL_, you know even in your country you should find a therapist for your problem
22:16:07ALGOL_This loneliness is killing me.
22:17:15fredrik92PMuch, 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:54GangstaCatmaybe 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:15GangstaCatso if you prefer Java, stay with Java and leave us alone
22:18:55ALGOL_Gangstar: Who are you talking to?
22:19:08GangstaCatyou are EEE/Nimian etc
22:19:17ALGOL_Yes I'm.
22:19:36GangstaCatso stop trolling us and leave us alone
22:19:57ALGOL_But what about my loneliness?
22:20:16GangstaCatI 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:46PMunchIt'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:50GangstaCatyou can go on #Java if you want friends
22:21:03ALGOL_I'm a student of IT diploma (first year). I was just sharing opinion
22:21:11PMunchHow many times haven't I benefited from people logging their projects when doing similar stuff
22:21:22PMunchfredrik92, you should really write your own
22:22:16ALGOL_Write my what, PMunck?
22:22:19GangstaCatALGOL_, 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:48fredrik92what, 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:15ALGOL_I have just told you that I'm just a baby programmer (if, else, loop, array etc...
22:23:44GangstaCatso accept Nim the way it is and stop trolling the languages, the tools and the community
22:24:17ALGOL_Nim is the best language I have ever seen, but I'm here because I'm alone.
22:24:17PMunchfredrik92, that would actually be fun :)
22:24:45PMunchMaybe you could write about how you got the Nim stuff to work with VS as well?
22:25:39PMunchOr even some of our school projects, especially if we end up doing something cool this semester :)
22:25:55fredrik92Hmmm... that IF though... :P
22:25:58ALGOL_Guys I'm just a very beginner.
22:26:20ALGOL_But I'm the first and best student of my diploma college.
22:27:49ALGOL_I know you guys want me to leave, alright, goodbye the, but please wish me all the best. Farewell.
22:28:05fredrik92Guys, 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:20PMunchALGOL_, we don't have any trouble with you as long as you stay civilized.
22:28:36PMunchfredrik92, don't see why not
22:29:03PMunchShould definitely be possible. We just have to figure out what to do our project on :P
22:30:05ALGOL_My project for my IT diploma college was a scientific calculator in Nim.
22:32:01PMunchOh cool
22:32:19PMunchWhat input syntax did you use?
22:32:42*Matthias247 quit (Read error: Connection reset by peer)
22:32:43ALGOL_cin>> of course.
22:32:56ALGOL_Ohh! sorry I mean in C++.
22:33:18ALGOL_Our college won't accept external languages. we study C++.
22:33:45PMunchThat's silly
22:33:53ALGOL_Why?
22:33:56renesac_stop feeding the troll...
22:34:13ALGOL_I'm telling ya the truth.
22:34:28ALGOL_I can give you me project, I can proof that.
22:34:45ALGOL_***..my...
22:34:56fredrik92But, flyx and dom96 said similar things about their schools not acceptings other languages either... PMunch, I agree, it's silly!
22:35:53ALGOL_What certification does Mr. dom have?
22:36:01*Demon_Fox joined #nim
22:36:10fredrik92Back in high school in Germany I was forced to do everything in Delphi!!!! THAT sucked!
22:36:52PMunchIn Delphi? Where did you go to school, the eighties?
22:37:03fredrik92Yeah, right!
22:37:11*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:37:17PMunchALGOL_, what do you mean by certification?
22:37:23fredrik92degree
22:37:27ALGOL_like Master degree.
22:37:27PMunchAnd renesac_, as long as he behaves it's fine
22:37:39PMunchOh, I think he's second or third year
22:37:49renesac_PMunch: : he didn't behave, he is flooding this channel since yesterday
22:38:18fredrik92PMunch wasn't here so he missed out on the episode earlier today...
22:38:25renesac_a quite persistent no-life
22:38:28ALGOL_I'm the smallest person here. I'm just 15.
22:38:33PMunchBut he's not flooding now renesac_
22:38:51renesac_i'm out
22:39:14PMunchfredrik92, I was here earlier when he started doing single/double letter characters..
22:39:22PMunchFilling the chat
22:39:35fredrik92Oh yeah, that was annoying as hell!
22:39:52GangstaCatyou should check the ban list you will understand
22:40:00ALGOL_VPN, that is all I'm saying.
22:40:29GangstaCat"Araq2" "NimIsNotRealComp"
22:40:37ALGOL_Yes
22:40:57ALGOL_Those were me.
22:41:25PMunchGangstaCat, I know who he is. And that he's been banned multiple times
22:41:59GangstaCatso why you keep feeding him? ALGOL_, show us a link to your project, we are very interested
22:41:59ALGOL_Wow! I did not notice that I'm that popular here.
22:42:21PMunchAnd 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:32ALGOL_Okay, GangstaCat, give me your e-mail address\
22:42:48fredrik92I think he said: LINK!
22:42:49Demosidea: module that implements a subset of xpath on the AST
22:42:55Demosdumb or not dumb
22:43:09GangstaCat"interesting chat", I think we haven't the same definition of this expression
22:43:23GangstaCatjust lies and trolling
22:43:33fredrik92Demos, didn't I read yesterday that XML lost its fight to JSON?
22:43:37ALGOL_Am gonna proof it to you.
22:44:02GangstaCatALGOL_, you upload your project on Github
22:44:03ALGOL_Gangstar: My project isn't hosted.
22:44:05Demoswell then JsonPath
22:44:23DemosI really don't like xml, but xpath is a really wonderful way to manipulate big trees
22:44:27ALGOL_Am gonna choose BitBucket, because it's free.
22:44:32GangstaCatif you want
22:44:46Demosgithub just opened up unlimited free private repos I think
22:45:06GangstaCatlet's see this masterpiece of software you produced
22:45:11ALGOL_I don't like to use something that Linus created it.
22:45:17PMunchDemos, they did?
22:45:22DemosI think so
22:45:27ALGOL_Linus Torvalds created Git.
22:45:32PMunchALGOL_, why not?
22:45:33fredrik92True, and being a lover of C#, a Microsoft-inspired language, I would certainly have use for XML manipulation done easy
22:45:45Demosand yeah I like Hg better, I would really like it if bitbucket implemented largefiles on their repos tho
22:45:50Demosthey have git-lfs on their git repos
22:46:17dom96Demos: Sounds like a cool idea. A nicer "language" for manipulating ASTs in Nim would also be cool.
22:46:25GangstaCatALGOL_, you should disconnect, this IRC server is certainly hosted on Linux, you are feeding the evil, omg omg
22:46:59dom96I find it funny how a troll gets so many people talking here.
22:47:07fredrik92ALGOL_, 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:20GangstaCatdom96, don't ban him yet, we want to see his masterpiece of school project
22:47:23dom96I don't remember the last time we had this many people talking at the same time
22:47:47Demosit could enable some really crazy transformations
22:48:00ALGOL_I'm gonna upload the link as soon as I register a BitBucket account.
22:48:25dom96FYI I started using Nim when I was ~14
22:48:43fredrik92dom96, awesome! :D
22:49:07ALGOL_dom96: WOW!!!
22:49:39fredrik92At the age of 14 I was irrevocably corrupted by Microsoft to love C#...
22:49:44PMunchdom96, I only recently learned about Nim. I would've loved to use for longer :P
22:50:03GangstaCatat this age I was doing Delphi because that's more funnier to learn to code while making a GUI
22:50:04dom96Now i'm a bit sad because of how long ago that was...
22:50:29ALGOL_dom96: I'm 15 years old.
22:50:41dom96... and because I feel old :)
22:50:53fredrik92GangstaCat, yes, that's why we did that in our high school as well...
22:50:57ALGOL_You old are you, dom?
22:51:04dom96ALGOL_: Cool! I'm 20.
22:51:23GangstaCatfredrik92, I beginned with Turbo Pascal though.. yeah I'm feeling old now too, ._.
22:51:28ALGOL_dom96: You are a very versatile programmer.
22:51:37GangstaCatbegan*
22:51:54dom96I began with VB.NET :D
22:52:02PMunch24 here, you guys talking about being old makes me feel old..
22:52:08dom96well, technically C, but that didn't go so well.
22:52:13ALGOL_hahah, Me was C++
22:52:19fredrik92:D oh... crap, PMunch, you have a point there
22:52:29PMunchHaha :P
22:52:32ALGOL_It's harder than VB .NET
22:52:45PMunchBut I should probably get to bed. Have to get up for work tomorrow..
22:52:47ALGOL_And definitely harder than Pascal
22:53:11ALGOL_Good night, PMunch.
22:53:14dom96It'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:56ALGOL_dom96: why don't we create an IRC channel and name it #historychannel
22:54:14fredrik92GangstaCat, 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:28dom96ALGOL_: what would be the topic of this channel?
22:54:38ALGOL_But Free Pascal and Lazarus are live\
22:54:53ALGOL_dom96: JK (Just Kidding)
22:55:13dom96In case you guys wanna see some 6 year old Nim code: https://github.com/dom96/AELC
22:55:14GangstaCatfredrik92, no big deal, at least you certainly discovered Python or Nim, not so bad too
22:55:53*bjz joined #nim
22:56:20ALGOL_Good night guys (and good morning to those who are in south-west)
22:56:29*ALGOL_ left #nim (#nim)
22:57:12GangstaCat"Mad Dog Software", I see you dreamed to have your company like all of us when we began as kids.. ah, memories
22:57:14PMunchSee, he didn't behave too bad this time
22:57:38dom96GangstaCat: haha yes
22:58:03dom96I had a website for it as well.
22:58:16dom96And you can likely find some of my VB.NET software via that name
22:58:28dom96because I uploaded it to every download site I could find :D
22:59:08dom96Yeah... having so much time as a kid sure was great...
22:59:38fredrik92But 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:11renesac_P = NP...
23:00:56*PMunch quit (Quit: leaving)
23:01:01fredrik92We 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:03Guest56550but 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:59fredrik92True, 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:11dom96That'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:57renesac_this happened at least since ICQ
23:04:23fredrik92Tom 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:50fredrik92And soon the post-smartphone generation is growing up!
23:05:05lazypenguinfredrik92, i don't think scale == hard. Maybe increases complexity but not difficulty...not to downplay people's achievements
23:05:38dom96renesac_: yeah, but it was still far less popular than it is now.
23:05:53elroodyou young whippersnappers would be surprised how widely and safety-critically in use punchcards and punchtape still are ;)
23:06:02fredrik92lazypenguin, well, people like Leslie Lamport certainly got their Turing-Award for a reason...
23:06:11dom96Especially before smartphones became popular.
23:08:01renesac_dom96: : ICQ had 100 million users in 2001, now it has only 16 million
23:08:03renesac_XD
23:08:19fredrik92dom96, I see back in your day, Nim was still called Nimrod :)
23:08:20renesac_and I know what you ment
23:08:42dom96hehe
23:08:48dom96I personally never used ICQ :P
23:09:07dom96MSN Messenger ftw
23:09:09fredrik92Oh, I remember that annoying ah-oh!
23:09:31GangstaCatwizz wizz
23:09:32lazypenguinfredrik92 -- 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:36dom96fredrik92: 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:37GangstaCatNimrod became Nim for the good, but MSN Messenger became Windows Live Messenger for the bad..
23:11:40GangstaCatI still would prefer to use it than Skype but that's a matter of taste I guess
23:12:00lazypenguinmicrosoft killed skype
23:12:04fredrik92lazypenguin, yeah well... that's not always true either...
23:12:17fredrik92lazypenguin, the message passing, I mean
23:13:38fredrik92Yeah, I actually replaced Skype with HexChat as my main messaging application (being the one stuck on my taskbar)
23:14:33fredrik92Much 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:52fredrik92Well, 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:10dom96same here. Good night guys!
23:23:02pigmejxb
23:23:04pigmejsry
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