<< 20-02-2014 >>

00:03:51*darkf joined #nimrod
00:04:56dom96good night
00:05:20*io2 quit ()
00:08:18*nequitans_ joined #nimrod
00:20:26Varriountxtagon: What are you working on currently?
00:21:48Skrylar78% done with sadness \o/
00:22:15vbttwat
00:24:02renesacError: ambiguous call; both math2.isEven(x: TReal): bool and math2.isEven(x: TInteger): bool match for: (int literal(2))
00:24:14xtagonVarriount, at work right now. I work for PhotoLynx (software development for the photography industry)
00:24:15renesac<-- we need to sort out this conversion precedence problems
00:24:23xtagonVarriount, what are you working on? Anything cool?
00:25:31Varriountxtagon: Well, I plan to stab myself this weekend with nimrod+opengl
00:25:48xtagonVarriount, not sure if you're a masochist, or a hero
00:26:07xtagonVarriount, in any case, good luck! :D
00:26:10vbttVarriount:are you still thinking about implementing coroutines?
00:26:34Varriountvbtt: Not without Araq's help
00:27:01vbttof course. he said he will mentor if it gets accepted in gsoc.
00:27:14Skrylarvbtt: oh, console wrappers
00:27:54VarriountI wish we had a Java to Nimrod converter :/
00:28:51VarriountThere's this one java library - libgdx - that I wish nimrod had. It was a game library that could run on android, mac, linux, and windows.
00:30:21xtagonVarriount, a cross-platform game library for Nimrod would be awesome. filwit is working on a game framework, but I don't know if it's cross platform or not.
00:31:14Varriountxtagon: I looked at a lot of cross platform game libs, and libgdx was arguably one of the best.
00:31:24Skrylarxtagon: so Godot bindings? :O
00:31:31VarriountThe only drawback was that it was written in Java.
00:31:47xtagonSkrylar, huh?
00:31:50Discolodaanything written in Java is a large drawback
00:31:57Skrylarxtagon: http://godotengine.com
00:32:35Skrylaralternatively, Allegro 5.x is still nice
00:32:39Skrylarthere's also Orx
00:33:19xtagonSkrylar, haven't had a chance to try Godot yet.
00:33:27reactormonkDiscoloda, unless you have scala and TACC
00:33:33xtagonSkrylar, is it written in C/C++ or something that could be wrapped in Nimrod?
00:33:45Skrylarxtagon: yeah, its done in C++ but uses a custom scripting language
00:33:56Skrylarto their credit they explained why
00:34:38Skrylarthey've been using it in-house for the past ~10 years, and the scripting system is basically the same 'scripts on nodes' system Unity uses
00:35:00Skrylarbut yeah, one could write modules for it using nimrod
00:36:09xtagonSkrylar, what is the benefit of using a scripting language in a game as opposed to just writing it native? Easier cross platformness?
00:36:21SkrylarWriting game code native in C++ sucks for one
00:36:37xtagonSkrylar, yes, but let's assume it would suck much less in Nimrod
00:36:45xtagonfor the sake of this conversation
00:37:05renesacfast iteration w/o having to recompile?
00:37:07renesacsandboxing?
00:37:19Skrylaryeah, sandboxing is one. Plus you can store scripts in a scene, which means you know
00:37:23SkrylarModders can make maps
00:37:29xtagonAh
00:37:31Skrylarand your triggers still work
00:37:34*nande left #nimrod (#nimrod)
00:37:52SkrylarUnity does stupid crap like tag "put script #48 on this node" which means modders can't actually put behavior in the scene without you writing your own anyway
00:38:02*nande joined #nimrod
00:38:04Skrylarwhereas Godot can actually put scripts INSIDE the map files, like Unreal does
00:39:05fowlwhat i am writing is turning into j-exprs
00:39:14Skrylarbut yeah its largely an issue of supporting mods, not having to recompile massive amounts of code for every minute change, and sometimes the scripting language is specialized differently (e.g. is specifically tuned for an actor model)
00:39:20Discolodayou can put QC scripts into maps in Quake 1
00:39:56fowl "logic": ["<", ["entities-alive", ["group", "asteroids"]], 100]
00:40:12Skrylarlooks like a painful lisp
00:40:33*Skrylar wonders about that quote where "every system will end up with a [poorly done] reimplementation of CLOS"
00:41:13Discolodasame can be said of erlang processes and message passing
00:41:25Skrylarerlang processes are kinda nice
00:41:57VarriountWhile I don't mind game engines, I tend to prefer frameworks/libraries that don't force you into a certain design.
00:42:05Skrylarnot really doable for most architectures though; i mean, they built the VM to specifically support hot reload and shipping live code between machines
00:42:45VarriountThe only thing I won't touch is Unity, mainly because of how... commercial it is.
00:42:53SkrylarVarriount: eh, its give or take
00:42:58DiscolodaVarriount: i think if you want a game engine like godot or Unity, it would be best to build it in three pieces. the framework, the engine, and the editor
00:43:01fowlSkrylar, im already using json to define entities and everything else in the "game", i think it works nicely
00:43:15SkrylarModular is nice because anyone can use Horde3D or OGRE in weird ways
00:43:19Skrylarbut
00:43:22SkrylarWasteful
00:43:25VarriountDiscoloda: I don't want a game engine, a library would be nice.
00:43:30Discolodaand allow the framework to be used seperatly
00:43:59SkrylarConsider OGRE basically has half of an asset manager as part of the core, and a game engine needs to track more than just the ones OGRE supports. So now you have two asset managers onboard you don't need
00:44:16SkrylarMost of the renderer's i know of work like this
00:46:14SkrylarDiscoloda: the editors *are* separate...
00:47:37Discolodadoesnt Unity compile a game, embedding the engine
00:48:08Discolodaand i dont think it has an exposed "engine library/framework"
00:54:56*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
00:56:01Skrylarno, its "scripted" using C#
00:56:28*ics joined #nimrod
01:05:21Skrylarokay, did a full bind for ncurses.h; i'll prod it in to compiling after dinnerfood
01:11:37filwitxtagon: my game engine is based off SDL2 and OpenGL. Will be fully cross-platform, sans Xbox/WP8 (at least initially)
01:12:28*psquid quit (Ping timeout: 265 seconds)
01:12:41filwitthough my personal motivations towards Linux and Steam OS will be a big focus
01:13:06filwiti have to take off, later folks
01:13:08*filwit quit (Quit: Leaving)
01:17:23*psquid joined #nimrod
01:59:16*carum joined #nimrod
02:02:09*vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
02:05:09*DAddYE quit (Remote host closed the connection)
02:08:00*carum quit (Read error: Connection reset by peer)
02:08:08*carum_ joined #nimrod
02:10:01*vbtt joined #nimrod
02:13:27vbttcan i do compile time type introspection? e.g. list all fields of an object type?
02:15:55vbtti found typeinfo/fields() - but i think that's runtime
02:16:24OrionPKwhy not try them at compile time
02:16:34vbttyeah i will.
02:16:37OrionPKyou can do a lot of stuff at compile time w/ compile time procs and macros
02:17:45vbttright. i'm trying to implement parseJsonAs(jsonString, MyObject)
02:18:07vbttit should create a new MyObject and fill in the fields, if they match the json.
02:20:14vbttgolang does something similar in its standard json lib and is very useful.
02:23:01fowlvbtt, the marshal module uses runtime type info
02:23:15fowlidk about compiletime
02:25:02vbttfowl:thx
02:25:11vbttcompiletime is not strictly necessary
02:26:23*zahary2 joined #nimrod
02:26:24*zahary1 quit (Read error: Connection reset by peer)
02:27:14*vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
02:30:04*carum_ quit (Remote host closed the connection)
02:36:49*carum joined #nimrod
02:49:18*zahary2 quit (Quit: Leaving.)
02:49:32*carum quit (Remote host closed the connection)
03:06:11*DAddYE joined #nimrod
03:10:53*DAddYE quit (Ping timeout: 265 seconds)
03:12:32*carum joined #nimrod
03:18:29*brson quit (Ping timeout: 240 seconds)
03:19:14*DAddYE joined #nimrod
03:20:20*carum quit (Read error: Connection reset by peer)
03:20:41*carum joined #nimrod
03:24:38*carum quit (Remote host closed the connection)
03:27:56*nequitans_ quit (Ping timeout: 246 seconds)
03:30:08*carum joined #nimrod
03:30:11*carum quit (Remote host closed the connection)
03:33:29*aftershave_ joined #nimrod
03:34:02*nequitans_ joined #nimrod
03:35:20Skrylareh, go uses rtti for that because they lack good compile time type information :)
03:49:05*aftershave_ quit (Quit: Computer has gone to sleep.)
04:07:32*carum joined #nimrod
04:23:19Skrylarhmmm
04:23:29SkrylarApparently I made the compiler lock up
04:34:08*carum quit (Remote host closed the connection)
04:50:08*nande left #nimrod (#nimrod)
05:14:08Skrylarinteresting
05:14:16Skrylarsemtypes.nim(695) liftParamType
05:32:46*BitPuffi1 quit (Ping timeout: 245 seconds)
05:41:18*xenagi quit (Quit: Leaving)
05:51:06*nequitans__ joined #nimrod
06:01:20*iNode001 joined #nimrod
06:04:21*nequitans__ quit (Ping timeout: 248 seconds)
06:23:42*ehaliewicz left #nimrod ("ERC Version 5.3 (IRC client for Emacs)")
06:28:00*xtagon quit (Quit: Leaving)
06:28:43*inahandizha joined #nimrod
06:32:25*inahandizha left #nimrod (#nimrod)
07:38:25*nequitans__ joined #nimrod
07:51:12*nequitans__ quit (Ping timeout: 252 seconds)
07:59:12SkrylarYou know what would be really strange for nimrod?
07:59:17SkrylarLADSPA support
08:40:10*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
08:50:56*oxful joined #nimrod
08:51:53*io2 joined #nimrod
09:03:31*zahary1 joined #nimrod
09:06:28*nequitans__ joined #nimrod
09:58:59*nequitans__ quit (Ping timeout: 240 seconds)
10:38:05*DAddYE quit (Remote host closed the connection)
10:38:33*DAddYE joined #nimrod
10:42:59*DAddYE quit (Ping timeout: 240 seconds)
10:52:51SkrylarAraq: okay, i made a source file that infinite loops the compiler somehow; poke me later and i'll post it, i also got that same file working but i can duplicate the compiler lockup with the unfixed .nim
10:59:51*sale4one joined #nimrod
11:01:34*nequitans__ joined #nimrod
11:01:42Araqskyfex: poke. make a bug report
11:03:36*psquid quit (Ping timeout: 245 seconds)
11:05:00*psquid joined #nimrod
11:06:05*sale4one quit (Remote host closed the connection)
11:08:44AraqSkrylar: poke. make a bug report
11:08:57Araqskyfex: ignore what I said to you
11:28:29*nequitans__ quit (Ping timeout: 246 seconds)
11:39:03*DAddYE joined #nimrod
11:43:29*DAddYE quit (Ping timeout: 240 seconds)
12:29:28*DAddYE joined #nimrod
12:33:10*darkf quit (Quit: Leaving)
12:33:59*DAddYE quit (Ping timeout: 265 seconds)
12:48:52*girvo joined #nimrod
12:49:38*girvo quit (Client Quit)
12:49:58*girvo joined #nimrod
12:51:52*sale4one joined #nimrod
12:53:13*joelmo left #nimrod (#nimrod)
13:00:15Araqhi girvo wb
13:00:41girvoHey Araq! Sorry I've been awol, just started a new contract so have been flat-out
13:01:05Araqbah, you said you would help with everything :P
13:01:36Araqnimrod needs you, please stay
13:03:24girvoAraq: I will I will :) it's only an 11 week contract anyway, I needed to get some money lol
13:04:11*BitPuffi1 joined #nimrod
13:14:07*BitPuffi1 is now known as BitPuffin
13:19:41*sale4one quit (Ping timeout: 260 seconds)
13:30:14*DAddYE joined #nimrod
13:34:29*DAddYE quit (Ping timeout: 248 seconds)
13:35:29*girvo quit (Quit: Textual IRC Client: www.textualapp.com)
13:54:50*Mordecai joined #nimrod
13:55:12*Mordecai is now known as Guest74457
13:59:42*psquid quit (*.net *.split)
13:59:43*zielmicha-cloud_ quit (*.net *.split)
13:59:44*JStoker quit (*.net *.split)
14:00:49*Guest74457 is now known as psquid
14:03:40*nequitans_ quit (Ping timeout: 252 seconds)
14:06:56*silven_ joined #nimrod
14:09:44*zielmicha-cloud_ joined #nimrod
14:09:44*JStoker joined #nimrod
14:10:41*cark quit (Write error: Connection reset by peer)
14:11:10*cark joined #nimrod
14:11:20*betawaffle quit (Ping timeout: 570 seconds)
14:15:19*betawaffle joined #nimrod
14:15:50*silven quit (Ping timeout: 367 seconds)
14:15:50*phI||Ip quit (Ping timeout: 367 seconds)
14:15:57*phI||Ip_ joined #nimrod
14:20:39*zielmicha-cloud_ quit (*.net *.split)
14:20:39*JStoker quit (*.net *.split)
14:26:09*sale4one joined #nimrod
14:27:03*sale4one quit (Client Quit)
14:27:54*sale4one joined #nimrod
14:29:03*nequitans_ joined #nimrod
14:29:31*alphawaffle joined #nimrod
14:29:59*io2_ joined #nimrod
14:30:59*DAddYE joined #nimrod
14:32:04*psquid_ joined #nimrod
14:33:51*zielmicha-cloud_ joined #nimrod
14:33:51*JStoker joined #nimrod
14:35:47*DAddYE quit (Ping timeout: 265 seconds)
14:38:10*betawaffle quit (Ping timeout: 245 seconds)
14:38:11*musicalchair quit (Ping timeout: 245 seconds)
14:38:15*psquid quit (Ping timeout: 245 seconds)
14:38:15*io2 quit (Ping timeout: 245 seconds)
14:38:18*alphawaffle is now known as betawaffle
14:38:20*EXetoC quit (*.net *.split)
14:40:09*musicalchair joined #nimrod
14:43:36*EXetoC joined #nimrod
14:49:53*sale4one quit (Ping timeout: 272 seconds)
14:50:23*sale4one joined #nimrod
14:51:32*silven_ is now known as silven
14:57:41*nequitans_ quit (Ping timeout: 248 seconds)
15:18:46*zahary1 quit (Quit: Leaving.)
15:31:43*DAddYE joined #nimrod
15:36:12*DAddYE quit (Ping timeout: 265 seconds)
15:37:19*aftershave_ joined #nimrod
15:55:10*zahary1 joined #nimrod
16:06:11*nande joined #nimrod
16:15:40*sale4one quit (Remote host closed the connection)
16:28:05dom96Seems namecheap is under attack so you guys may have some problems resolving nimrod-lang.org
16:28:21dom96http://status.namecheap.com/?p=14846
16:29:07EXetoCoh no
16:32:29*DAddYE joined #nimrod
16:33:25*aftershave_ quit (Quit: Computer has gone to sleep.)
16:36:05*psquid_ quit (Quit: work)
16:36:56*DAddYE quit (Ping timeout: 245 seconds)
16:38:46*aftershave_ joined #nimrod
16:40:31OrionPKfucking asshats
16:41:33OrionPKcant access the nim-lang forum
16:41:43OrionPKor some of my own domains
16:46:37*[1]Endy joined #nimrod
16:50:06*Matthias247 joined #nimrod
16:51:40*DAddYE joined #nimrod
16:56:03*DAddYE quit (Ping timeout: 260 seconds)
17:07:35*brson joined #nimrod
17:12:23*nande quit (Ping timeout: 260 seconds)
17:15:27*[2]Endy joined #nimrod
17:19:00*[1]Endy quit (Ping timeout: 265 seconds)
17:27:50*nequitans_ joined #nimrod
17:32:32*nequitans_ quit (Ping timeout: 265 seconds)
17:49:15*vendethiel joined #nimrod
17:56:32*carum joined #nimrod
18:01:26*EXetoC quit (Quit: WeeChat 0.4.2)
18:06:21*DAddYE joined #nimrod
18:11:17*BitPuffin quit (Ping timeout: 248 seconds)
18:12:09*q66 joined #nimrod
18:12:09*q66 quit (Changing host)
18:12:09*q66 joined #nimrod
18:18:23VarriountWhy do people ddos domains?
18:18:56dom96Why do people DDoS?
18:20:31OrionPKbecause they're fuckwits
18:22:22Matthias247:)
18:25:25carumis that what's happening right now? :(
18:27:11*nande joined #nimrod
18:27:26reactormonkdom96, now that would explain certain things
18:28:22Discolodareactormonk: everytime i see your name, i think of Ascension the card game
18:28:27reactormonkDiscoloda, indeed
18:30:12Discolodaah, you know of the game?
18:35:47*aftershave_ quit (Quit: Computer has gone to sleep.)
18:36:33*brson quit (Ping timeout: 252 seconds)
18:38:32*EXetoC joined #nimrod
18:41:30reactormonkexactly
18:48:30*filwit joined #nimrod
18:52:54filwitmacro blah(size:int) # 'size' is a PNimrodNode ? How to get it's value?.. Macros.intVal(size) seems to work, but then $ of the value gives me a "can't evaluate at compiletime" error
18:54:35reactormonkfilwit, that's because Macros.intVal only gives you a placeholder for the variable?
18:54:38Araqmacros.intVal is the thing, yeah
18:55:07filwithmm.. repr might work instead of $
18:55:35Araqtry size: static[int]
18:55:47Araqthen 'size' is an int in the marco's body
18:56:00Araqand then think about it why it makes perfect sense this way :P
18:56:04filwitAraq: awesome, thanks. will try
18:57:01*carum quit (Remote host closed the connection)
18:57:42filwitAraq: though this isn't the problem i'm having (since Macros.intVal worked), though i didn't know about the static[int] thing (and that's nice to know). What seems to be the problem is when i do "..." & $size
18:57:57filwitError: Can't evaluate at compile-time
18:58:19filwit(on the $size part)
18:59:09filwiti'm trying to answer this guys question on the forums (about generating matrices), and was going to use Macros.eval() to shorten the code, but maybe i'll just write it all out with nodes..
18:59:33Araqyeah the $ thing not working looks like a bug
18:59:54filwitokay. will use nodes then
18:59:59Araqthe guy's question makes no sense to me
19:00:02*sale4one joined #nimrod
19:00:17Araqthe manual has an example of how to define matrixes
19:00:34Araqand dependent types have nothing to do with it
19:01:15Araqwhat's up with dependent types recently anyway? it's not like *any* non accademic language has them
19:01:46filwithe probably is only using 'matrix' as an example. He wan't to know how to generate types with similar structure, but have fancy things (like size*size array length)
19:01:57*brson joined #nimrod
19:04:06*carum joined #nimrod
19:06:05dom96gah, namecheap is still screwed.
19:06:59filwitdamn.. there's no way i can answer this guys question without $(size) working since he wants the size part of the typename
19:07:09*felipejoys joined #nimrod
19:07:20Araqhi felipejoys welcome
19:07:22dom96Araq: Do this please: https://www.namecheap.com/support/knowledgebase/article.aspx/923/10/what-is-the-difference-between-your-dns-system-v-1-and-v-2
19:07:59Araqbrb
19:08:10felipejoysThanks, was that auto or did you type that out
19:08:28dom96Or we can just wait until they fix their DNS servers.
19:08:37dom96felipejoys: He typed it out. Welcome :)
19:08:51felipejoysThank you. Frst timer.
19:09:41felipejoys*FIrst
19:10:26filwitdom96: 68, for the record
19:10:32filwit:)
19:11:07filwitnevermind, zahary's logged in tree times...
19:11:09felipejoysI'm sort of a newbie, and I haven't used nimrod yet
19:11:15felipejoysI did just download it though
19:11:21felipejoysDOes it have networking libs?
19:11:50filwitfelipejoys: standard libs can be found here: http://nimrod-lang.org/lib.html
19:16:34felipejoysThanks, I'll check them out
19:18:13felipejoysThis all looks like fun :p
19:19:06filwit"fun and party all day" is Nimrod's official slogan
19:19:13filwit(just kidding, it really isn't)
19:19:23filwit(but it is fun, i agree)
19:19:30felipejoysXD
19:19:46felipejoysIs nimrod a good language for a beginner to learn? Most of my experience comse from game maker studio...........
19:21:25filwitI think Nimrod is a good language to learn for a beginner. Constructs in Nimrod are straight forward. You're not going to have to wrap your head around complex inheritance models any whatnot in the beginning... that said, Nimrod goes really deep with meta-programming, and that part will take you awhile (but it's really powerful!)
19:21:40filwitUltimately, you'll just have to try it out and see
19:22:14renesacthe problem for a beginner is the lack of tutorials aimed to beginners
19:22:23felipejoysI don't have a clue of what meta=programming is
19:22:29filwityes, that is unfortunately true
19:22:56renesacI would recommend learning python, then C, then nimrod
19:24:05Varriountrenesac: Or do like I did, and go from python, then being forced to write java, to nimrod
19:24:20renesacyeah
19:24:49VarriountThough, Java tends to restrict your programming to such an extent that it limits your thinking
19:24:55filwitwhy would you suggest somebody new learn C? Memory issues are the biggest challenge for a programmer to get grips with
19:25:07renesacwell: an scripting language (python, lua, ruby), then an "compiled language" that deals with native types (C, Java, etc)
19:25:27Varriountnimrod does deal with native types :3
19:25:54renesacyes, but we don't have tutorials aimed at beginners for that, that is why
19:26:28renesacfilwit, C shows you what the computer is doing (well, almost, but apart from assembly it is the best)
19:26:43renesacand why things are efficient or inefficient
19:26:49renesachow pointers work, etc
19:26:59felipejoysI never quite understood pointers
19:27:01filwitrenesac: yes.. thus my question "why would you suggest it for a new programmer?"
19:27:14VarriountIt's either learn C, or have an unholy passion for reading about it and the inner workings of a computer.
19:27:22Varriount(I did the latter)
19:27:23felipejoysI followed a book, but the last chapter was pointers. So I had to stop cuz I didn't get it when I tried
19:27:46renesacwell, after learning python, he isn't a totaly new programmer anymore
19:27:49Varriountfelipejoys: Pointers are pieces of data which point to a section of memory.
19:28:17filwithonestly, I would just learn a very basic language first, like Javascript.. It's easy to wrap your head around, and easy to play with (just drop a html file into a browser)
19:28:19VarriountLike writing down your address on a piece of paper
19:28:32VarriountJavascript is wierd.
19:28:40renesacyeah, python, javascript, lua, ruby...
19:28:48renesacwhat floats your boat as scripting language
19:29:00VarriountBut not bad-wierd, just wierd-wierd
19:29:20renesacI suggested python because it is the most similar to nimrod
19:29:24filwiti hate Javascript with a passion.. doesn't mean it's not a good starting place for newbs
19:29:25renesacIMHO
19:29:44felipejoysVarriount: okay so a pointer is a memory section filled with data that points to another section of memory
19:30:04felipejoysRight? But I don't know quite what to do with it
19:30:06Matthias247filwit: it's the same for me. But javascript is very trendy for beginners because it looks easy
19:30:09renesachttp://learncodethehardway.org/ <-- this course is good
19:30:17Matthias247but it has so many pitfalls
19:30:21*sale4one quit (Read error: Connection reset by peer)
19:30:37Varriountfelipejoys: You use it to tell other parts of the program where data is, without copying the data to new sections of memory.
19:30:51*nequitans_ joined #nimrod
19:31:12felipejoysLike a system path,, when windows know by just a string where something is located? something like that?
19:31:21felipejoyseven when it varies on different computers
19:31:39VarriountIt's much easier for me to hand you a piece of paper with my address on it, and have you give that to your friends, then for me to copy my house and give it to you.
19:31:43Matthias247Varriount: I also l did first understand pointers when I thought of them as memory adresses. I never liked the "pointer points to xyz" explanaitons from my first programming lessons :)
19:32:06Varriountfelipejoys: Not quite like the path variable
19:32:35VarriountMatthias247: My education in programming is very.. haphazard.
19:32:59felipejoysI meant one of those system paths like %indows or something, that everry windows computer will know where the program and files folder is... not just a regular pathing
19:33:01VarriountI enjoy reading a great deal, so I'll read about things that I have no actual experience in.
19:33:05Matthias247wow, I didn't know the word haphazard :)
19:33:10Varriountfelipejoys: Sorta
19:34:05Varriountfelipejoys: In lower level programming languages, data that is passed to functions is copied into the function
19:34:27VarriountWhich means memory must be allocated
19:35:08VarriountIf I pass a huge data structure to a function, the entire thing will be copied, which isn't very efficient
19:35:11renesacfelipejoys, http://www.ntu.edu.sg/home/ehchua/programming/cpp/images/MemoryAddressContent.png
19:35:21*nequitans_ quit (Ping timeout: 259 seconds)
19:35:40filwitbbl
19:35:41renesacthe 'content' column is your computer memory
19:36:10VarriountBut if I pass a pointer, which is ussually quite small (the size of an int) then I'm only copying a small amount of memory, while still allowing a function to access the actual data
19:36:20renesacit is full of bytes, and each byte has an adress (the address column)
19:37:00renesacFF is a byte with the value 255 in hexadecimal
19:37:30renesacsome datatypes are larger than one byte (the pointer itself (last item in that example) is 4 bytes)
19:38:03Varriountrenesac: Aren't memory regions split into 4 bytes? Or was it 4 bits?
19:38:32renesacit stores the number 90000000 that is the address of the first element in the example
19:38:41renesacVarriount, no, neither of those
19:39:07renesacit is adressable byte by byte, and you may think it is split by pages
19:39:21renesaca page is usually 4KB, unless it is a huge page
19:39:37renesacpage size is architecture dependent
19:39:59Matthias247though data structures will usually get aligned at 4 or 8 byte multiples
19:40:07renesacyes
19:40:17Varriount^^ That's what I was thinking
19:40:18Matthias247depending on 32bit or 64bit mode of your CPU
19:40:43renesacand some architectures, like some PPC, MIPS, ARM, etc, don't like to load unaligned values
19:40:44Matthias247reading is faster when data is aligned. But you can also do unaligned things
19:41:10renesacon modern x86, unaligned loads are almost as fast as aligned ones
19:41:34renesacexcept for SIMD, where you need more alignment
19:41:53renesacbut even there things are improving
19:42:37felipejoysSorry, reading now. I'm working atm
19:43:38renesacMatthias247, http://attractivechaos.wordpress.com/2013/05/02/does-packed-struct-hurt-performance-on-x86_64/
19:43:42felipejoysSo a pointer is like a variable that holds a reference?
19:43:48renesacyes
19:44:19felipejoysAnd I should use it instead of copying huge amount of stuff
19:44:22felipejoysRight?
19:44:30renesacusually, yes
19:44:39felipejoysOkay... that was through
19:44:55renesacin higher level languages it is many times done automatically for you
19:45:21felipejoysI heard I have to clean the memory in c and c++, which is why I avoid those
19:45:30felipejoysSounds.. really troublesome
19:45:47renesacmore or less
19:46:15felipejoysDo I have to clean the memory in nimrod?
19:46:23renesacyou can have memory leaks on GCed languages if you keep unused pointers around
19:46:29renesacfelipejoys, usually no
19:46:40Matthias247I you have the experience and good guidelines for it it's not that bad. But for the beginning a language with automatic memory management is easier,, because you don't have to learn everything at once
19:46:51renesacyes
19:47:10felipejoyswell that's a huge plus for picking nimrod then
19:47:24Matthias247I had to start with pascal :-)
19:47:43felipejoysI started with c++, but gave up on pointers cuz I didn't get them back then
19:48:00felipejoysThen moved to game engines like game maker... which to me are productive
19:48:27felipejoys(PAnd visual)
19:48:43Matthias247if you want to have fast success hat games then C# and Unity are for sure worth a look
19:49:15felipejoysI'm into 2d so I'll pass on unity, c# is really object oriented and I have to grasp that too
19:49:33felipejoysHaven't gotten much into it
19:50:17felipejoysI wanna do coding now though...
19:50:17reactormonkrenesac, I don't know C, and I'm still here ;-)
19:50:59reactormonkfelipejoys, one of the downsides of nimrod is there aren't too many fancy documentations on how to start programming the same time you start coding nimrod
19:51:02Matthias247objects are everywhere. Only the trendy functional guys seem to hate them :)
19:51:27reactormonkMatthias247, I prefer functional, but I use objects there too. They just shouldn't change state ;-)
19:51:33felipejoysNo I like objects, but there's so much stuff like inheritance and such
19:51:54reactormonkfelipejoys, you can't have too much inheritance in nimrod, because of value-based objects
19:52:15reactormonkfelipejoys, if you add a field in a subclass, the object just became bigger than the space allocated for the superclass
19:52:50reactormonkfor `true' inheritance, you need references.
19:53:05felipejoysI would probably follow better if I knew what value-based meant, and in comparison to what heh
19:53:32Matthias247inheritance is also not that difficult. multiple-inheritance is a real mess, but apart from C++ it's used nowhere
19:54:25*xtagon joined #nimrod
19:55:07felipejoysYOu guys know your code, heh, I'm just trying to make this specific app that doeosn't exist yet
19:55:18felipejoysThat I really really want lol
19:55:37Matthias247You might simply start with Nimrod and maybe SDL as a 2d graphics framework to play around with some basic stuff
19:55:47Discolodapython its used a lot, I know in particular it is used a lot in the Django framework
19:56:22Matthias247I used SDL many years ago (in c++) and remember it as quite easy
19:56:31felipejoysI know this a socially retarded question, but if you guys were hired (yes by me) to make something that (I think) is relatively kinda simple, how much would you ask for it
19:57:11felipejoysAnd yes I know how socially retarded thsi questoin is, but even any KIND of answer would help me :P
19:58:19EXetoCsure, anything that has to do with business is retarded :>
19:59:01felipejoyseven an "I wouldn't do it" or "i charge on a line basis" would help
19:59:45Matthias247I wouldn't do it unless you are a company with enough money to rip off :-)
19:59:52EXetoCseems like a normal question to me
20:00:02EXetoCper-line charge eh? interesting
20:00:23*Boscop quit (Quit: Boscop)
20:00:57felipejoysI don't have a compan and I'm not rich but yes I am willing to pay
20:01:02felipejoys*company
20:01:06filwitper-line charge? writes inline-asm everywhere..
20:01:34felipejoysWell your ethic would be in place and I would ask someone to review it probably. Or something.
20:01:42Matthias247unfortunatly lines-of-code metrics are still beloved
20:01:44felipejoys(directed to filwit )
20:02:03filwitlol, :P
20:02:06Matthias247there are a lot of good tutorials and books out there
20:02:20Matthias247don't think you need to pay someone especially for you
20:02:31*carum quit (Remote host closed the connection)
20:02:38felipejoysI would like to though, cuz I see coding as my hobby and not as my living
20:02:46*nande quit (Ping timeout: 245 seconds)
20:02:48felipejoysAlso I don't have that much spare time
20:02:58filwitfelipejoys, real question: what kind of app are you trying to make?
20:02:59felipejoysI don't know howo mnuch spare time it wouldl take, even
20:03:13felipejoysUhh, a collaborative pixel art app
20:03:19felipejoysFor windows
20:03:28felipejoysThink GraphicsGale but "multiplayer"
20:03:34*carum joined #nimrod
20:03:34filwitahh, cool. like iScribble or PaintChat?
20:03:41felipejoys"for windows" I mean not android other mobile
20:03:48felipejoys*nor
20:03:57*Varriount can do the network protocol
20:03:57felipejoysWell it could be but it's mostly for myself and friends so
20:04:14felipejoysThere is no website for pixel art
20:04:26felipejoysNor app
20:04:27filwitiScribble can do pixel art
20:04:29felipejoysLike collaborative
20:04:35filwitjust zoom-in
20:04:42*carum quit (Remote host closed the connection)
20:04:44felipejoysI don't think so, it doesn't have a grid and the tolls aren't pecific
20:04:57filwityou create a private board
20:05:10filwitand you can zoom really far in, though there's no grid, true
20:05:51filwitif it's just for a "amoung friends" thing, that's probably how you can do it right now without a custom-made app
20:06:27Varriountfilwit: But he also wants something to help him get deeper into programming.
20:06:43felipejoysIt's kinda the opposite
20:06:51felipejoysI'm into that kind of coding atm cuz of that app
20:07:10felipejoysUsually I would be fine playing with game maker and making pixel art :P
20:07:25*Varriount shudders at the thought of game maker
20:07:38VarriountSorry, I have.. bad memories
20:07:51felipejoysI used to compare it to pure codnig, but actually gm is okayish. it is only for 2d but it does a good job at it to me
20:07:52felipejoysnp
20:07:59felipejoysIt's just my opinion :)
20:08:13felipejoysit even has native networking nowadays
20:08:20felipejoysokay now im just avertising, sorry offtopic
20:08:38felipejoysDONT GET GM! ITLL TURN YOU INTO LAZY
20:08:40*carum joined #nimrod
20:09:10felipejoysBut yeah I would like to pay someone as a freelance job just for this app
20:09:36felipejoysa paint tool with online, but not as a central server
20:09:39felipejoysip connect, you know?
20:09:43felipejoys(of course you do .-.)
20:09:48reactormonkfelipejoys, beware that developing is kinda expensive, and it also requires maintenance etc.
20:10:39felipejoysI'm sure it's not that cheap but i don't want photshop multiplayer heh
20:10:58felipejoysmore like something with less tools than windows paint and more exclusive to pixel art
20:12:10reactormonkfelipejoys, collaboration sync is possible, there are algorithms for that, but it's not trivial.
20:12:34filwitit's not that hard either though...
20:13:02filwitif i had more time, i would take you up on that offer, felipejoys
20:13:18felipejoyshow much would you charge me to do it?
20:13:25felipejoysi would save until you do have the time
20:13:34*carum quit (Read error: Connection reset by peer)
20:14:15filwitdunno exactly, haven't charged anyone for this kind of thing before. would have to spend time thinking about each peice to give you a realistic quote
20:14:43felipejoysI see
20:15:15renesacfelipejoys, you could try asking iScribble for a grid and some extra tools
20:16:06Varriounthttp://blog.interfacevision.com/design/design-visual-progarmming-languages-snapshots/
20:16:20felipejoysThat is true, I'll give it a shot, maybe it'll work out
20:16:22VarriountThe good, the bad, and the... odd
20:16:49filwitnah, iScribble hasn't been updated in years. Doubt they'll add any more features to it
20:16:50OrionPKdom96 is namecheap back up
20:17:10dom96OrionPK: Still down for me.
20:17:24filwiti remember asking one of the upper-admins about it awhile back, said others have requested similar tools/updates to no avail
20:17:36OrionPKhrmm
20:17:44OrionPKwhere is that status?
20:18:00dom96I can't even load their status page now.
20:18:12dom96status.namecheap.com
20:18:21OrionPKi cant even load that
20:18:44reactormonkVarriount, lighttable in there? ^^
20:18:46felipejoysokay, just to make sure, I'm really serious about that freelance app I would pay someone for
20:19:02felipejoysIt could take you a couple months or more, i wouldn't mind, I want it :(
20:19:12VarriountI can load nimrod's website, but it appears to be an old version - the news is old
20:19:24reactormonkfelipejoys, best thing is if you split it into parts and check with people if your estimantes are realistic to build the parts
20:19:46felipejoysreactormonk: I kind of have no idea.
20:20:05felipejoysI would be saving and checking with a couple of people I do know that program i fit's reasonable
20:20:13felipejoysif it's*
20:20:16reactormonkfelipejoys, get one, then come back if you want to spend money. You can also pay someone to do that for you, but there aren't too many designers in this channel
20:21:10Varriountreactormonk: Yep, although the screenshot seems to be broken
20:21:16*shodan45 joined #nimrod
20:22:26filwitfelipejoys: i sent you a PM
20:22:38felipejoysoh so thats where that sound came from
20:22:41felipejoyssorry, reading it
20:22:45filwit;P
20:25:31VarriountAnybody here checked out micklat's nimborg?
20:28:19felipejoysG2g, thanks everyone
20:28:22*felipejoys quit (Quit: Page closed)
20:37:32*carum joined #nimrod
20:42:36xtagonOrionPK, do you mean Namecheap's website is back up, or their DNS service?
20:42:49xtagonOrionPK, because I'm still having DNS issues with them
20:43:48OrionPKxtagon i didnt say it was back up
20:44:16xtagonOrionPK, I misread "is namecheap back up" for "namecheap is back up" heh
20:51:06OrionPKim able to get to status.namecheap.com now though
20:51:53xtagonThe status page said to switch to DNS v1 as a workaround
20:52:00OrionPKah
20:52:17xtagonLuckily all my important domains were using CloudFlare DNS
20:54:33skyfexAraq: How was the semantics of this code decided? https://github.com/Araq/Nimrod/blob/devel/tests/exception/tfinally.nim
20:54:51skyfexAs far as I can see the code is quite ambigous, so I wouldn't have known how to resolve it
20:56:51*carum quit (Remote host closed the connection)
20:57:19*fowl quit (Ping timeout: 260 seconds)
20:59:46*BitPuffin joined #nimrod
21:01:03skyfexHmmm.. if it were me, I might have made return in a final-stmt a compiler error. Is there a use-case for that?
21:04:08*zielmicha-cloud_ quit (*.net *.split)
21:04:08*JStoker quit (*.net *.split)
21:04:32*carum joined #nimrod
21:05:15*shodan45 quit (*.net *.split)
21:05:16*vendethiel quit (*.net *.split)
21:05:16*Matthias247 quit (*.net *.split)
21:05:17*cark quit (*.net *.split)
21:05:17*iNode001 quit (*.net *.split)
21:05:18*DAddYE quit (*.net *.split)
21:05:19*betawaffle quit (*.net *.split)
21:05:19*dom96 quit (*.net *.split)
21:05:21*renesac quit (*.net *.split)
21:05:21*mietek quit (*.net *.split)
21:05:22*gsingh93_ quit (*.net *.split)
21:05:22*Discoloda quit (*.net *.split)
21:05:23*Amrykid quit (*.net *.split)
21:05:24*rndbit quit (*.net *.split)
21:05:24*krusipo quit (*.net *.split)
21:05:25*Araq quit (*.net *.split)
21:05:26*mal`` quit (*.net *.split)
21:05:27*noam_ quit (*.net *.split)
21:05:28*zahary_ quit (*.net *.split)
21:05:29*Ycros quit (*.net *.split)
21:05:30*bstrie quit (*.net *.split)
21:05:35*vendethiel joined #nimrod
21:05:54*noam_ joined #nimrod
21:05:54*zahary_ joined #nimrod
21:05:54*Ycros joined #nimrod
21:05:54*bstrie joined #nimrod
21:06:02*betawaffle joined #nimrod
21:06:02*dom96 joined #nimrod
21:06:02*renesac joined #nimrod
21:06:02*mietek joined #nimrod
21:06:02*Discoloda joined #nimrod
21:06:02*gsingh93_ joined #nimrod
21:06:27*Matthias247_ joined #nimrod
21:06:27*DAddYE joined #nimrod
21:06:33*shodan45 joined #nimrod
21:07:53*Amrykid joined #nimrod
21:07:53*rndbit joined #nimrod
21:07:53*krusipo joined #nimrod
21:07:53*Araq joined #nimrod
21:07:53*mal`` joined #nimrod
21:08:27*aftershave_ joined #nimrod
21:10:14*tinAndi joined #nimrod
21:11:05*fowl joined #nimrod
21:12:48*[2]Endy quit (Ping timeout: 252 seconds)
21:14:54*zielmicha-cloud_ joined #nimrod
21:14:54*JStoker joined #nimrod
21:16:53*skyfex quit (Quit: Computer has gone to sleep.)
21:17:32*tinAndi_ joined #nimrod
21:17:47*tinAndi quit (Read error: Connection reset by peer)
21:18:00*tinAndi_ is now known as tinAndi
21:19:09*nande joined #nimrod
21:21:18*Matthias247 joined #nimrod
21:21:21tinAndihi, i was able to create my first win32api program :) but if i start the .exe also a terminalwindow appears. Is there a commandline switch for the compiler to create gui prgrams?
21:22:19*fowlmouth joined #nimrod
21:23:15*betawaffle quit (Ping timeout: 245 seconds)
21:23:21EXetoCyou should be able to find it if you look
21:24:20EXetoCactually, I've never used --app, but I think it's of relevance
21:25:44*Matthias247_ quit (Ping timeout: 245 seconds)
21:28:30*shodan45_ joined #nimrod
21:28:46*shodan45_ quit (Client Quit)
21:28:46*mietek_ joined #nimrod
21:31:51*gsingh93__ joined #nimrod
21:32:01tinAndithank you, that was the hint i needed. i should have seen it. it's --app:gui
21:32:45EXetoCtinAndi: *highlight*
21:32:48*gsingh93__ quit (Changing host)
21:32:48*gsingh93__ joined #nimrod
21:33:25*io2_ is now known as io2
21:34:26NimBotAraq/Nimrod devel 20948c3 Zahary Karadjov [+0 ±2 -0]: fix #945
21:36:59*fowl quit (Ping timeout: 245 seconds)
21:39:58*Amrykid quit (*.net *.split)
21:39:59*rndbit quit (*.net *.split)
21:39:59*krusipo quit (*.net *.split)
21:40:00*Araq quit (*.net *.split)
21:40:01*mal`` quit (*.net *.split)
21:40:02*betawaffle joined #nimrod
21:40:02*betawaffle quit (Ping timeout: 245 seconds)
21:40:05*aftershave_ quit (Write error: Broken pipe)
21:40:34*shodan45 quit (*.net *.split)
21:40:34*dom96 quit (*.net *.split)
21:40:35*renesac quit (*.net *.split)
21:40:35*mietek quit (*.net *.split)
21:40:35*gsingh93_ quit (*.net *.split)
21:40:36*Discoloda quit (*.net *.split)
21:40:54*renesac joined #nimrod
21:42:34*Discoloda joined #nimrod
21:46:04*DAddYE_ joined #nimrod
21:46:32*DAddYE quit (Read error: Connection reset by peer)
21:46:45tinAndibtw: UINT = int32 is the only type that is not exported from windows.nim. i do not know why, but is there a reason? (i needed half an hour to find out ;)
21:52:30reactormonktinAndi, maybe because it's defined somewhere else?
21:54:24*renesac_ joined #nimrod
21:54:25*filwit_ joined #nimrod
21:56:19tinAndii don't know i startet with the wingui.nim example and uint is the only basic type missing. it's in windows.nim, and there it is the only ,so called 'basic type' that is not exported.
22:00:13*renesac quit (*.net *.split)
22:00:14*gsingh93__ quit (*.net *.split)
22:00:14*filwit quit (*.net *.split)
22:03:13*gsingh93__ joined #nimrod
22:06:26*iNode001 joined #nimrod
22:06:26*cark joined #nimrod
22:06:26*betawaffle joined #nimrod
22:06:26*dom96 joined #nimrod
22:06:26*Amrykid joined #nimrod
22:06:26*rndbit joined #nimrod
22:06:26*krusipo joined #nimrod
22:06:26*Araq joined #nimrod
22:06:26*mal`` joined #nimrod
22:06:40*dom96 quit (Changing host)
22:06:40*dom96 joined #nimrod
22:15:40*zahary1 quit (Quit: Leaving.)
22:23:44reactormonktinAndi, hm. open an issue.
22:27:02*betawaffle quit (*.net *.split)
22:27:02*cark quit (*.net *.split)
22:27:02*iNode001 quit (*.net *.split)
22:27:33*athaudia quit (Quit: WeeChat 0.4.1)
22:29:38EXetoCtinAndi: system.nim defines uint
22:31:48EXetoCso perhaps it should be renamed or something. anyway, just use int32 instead if you want
22:33:07*dom96 quit (*.net *.split)
22:33:07*Amrykid quit (*.net *.split)
22:33:07*rndbit quit (*.net *.split)
22:33:08*krusipo quit (*.net *.split)
22:33:08*Araq quit (*.net *.split)
22:33:09*mal`` quit (*.net *.split)
22:33:10*nequitans_ joined #nimrod
22:36:29*mal`` joined #nimrod
22:36:29*Araq joined #nimrod
22:36:29*krusipo joined #nimrod
22:36:29*rndbit joined #nimrod
22:36:29*Amrykid joined #nimrod
22:36:29*dom96 joined #nimrod
22:36:29*iNode001 joined #nimrod
22:36:29*cark joined #nimrod
22:36:29*betawaffle joined #nimrod
22:37:44*nequitans_ quit (Ping timeout: 252 seconds)
22:38:36*Amrykid quit (Changing host)
22:38:36*Amrykid joined #nimrod
22:48:14*NimBot joined #nimrod
22:49:27*Araq_bnc joined #nimrod
22:50:19*JStoker quit (Excess Flood)
22:50:57*dom96 joined #nimrod
22:53:23*JStoker joined #nimrod
22:54:18EXetoCtinAndi: a couple more at least
22:55:09fowlmouthtinAndi, that uint should probably be replaced with system.cuint
22:58:12EXetoCI was just assuming that there's a good reason why they're all signed
22:59:03*DAddYE_ quit (Remote host closed the connection)
23:00:38*DAddYE joined #nimrod
23:02:34*io2 quit ()
23:05:42*carum quit (Remote host closed the connection)
23:05:51*darkf joined #nimrod
23:06:53*carum joined #nimrod
23:11:06*carum quit (Remote host closed the connection)
23:11:27*carum joined #nimrod
23:13:29*Roin_ joined #nimrod
23:14:36tinAndiwin32api seems not very popular in new (and not so new) languages...
23:15:13tinAndimaybe that's why all the people stick with visual studio ...
23:15:26*carum quit (Remote host closed the connection)
23:20:59EXetoCusing the API directly really is that common?
23:21:53Matthias247using winapi directly is a mess :)
23:23:10Matthias247tinAndi: there's your question: http://stackoverflow.com/questions/17275710/console-opens-when-running-gui-c-application
23:23:11tinAndifor small programs, that you like to give away it's much better than using gtk+ or wxwindows there are not installed on a basic window machine
23:23:31tinAndi.net nowadays is on every windowmachine
23:24:13Matthias247I use c# apps for gui nowadays
23:24:28Matthias247it's so much more convenient :)
23:29:28tinAndihaha, i just program for fun :) as a hobby and i like my apps to be portable and small (focused to windows) but you are correct .net is the way to go nowadays. api programming is a mess
23:31:13tinAndibut api programs are really small and have no dependences
23:31:43EXetoC~1 dependency :>
23:32:10Matthias247there's also no real dependency for .net programs, because it also comes preinstalled :)
23:32:21Matthias247but just do what you like :-)
23:32:47Matthias247and of course interfacing nimrod with .net would be hard :)
23:34:05tinAndi:) sure becouse i do it for fun (and hey, try to setup a windows hook with .net ;) have fun)
23:35:03*filwit_ quit (Quit: Leaving)
23:35:23tinAndii just have to learn more about nimrod (sometimes it is easy but sometimes it is really weired) ...
23:37:23*carum joined #nimrod
23:39:10tinAndibye
23:39:21*tinAndi quit (Quit: ChatZilla 0.9.90.1 [Firefox 27.0.1/20140212131424])
23:49:16*psquid joined #nimrod
23:51:02*DAddYE quit (Remote host closed the connection)
23:51:35*DAddYE joined #nimrod
23:55:13reactormonkbtw, is there an org-mode babel for nimrod?
23:59:28*carum quit (Remote host closed the connection)