ul 17 18:59:33 I have 1 minute till meeting time Jul 17 19:00:19 I was at work later than normal so I haven't had a chance to finish up the C style guide proposal, but I think we can still get some useful discussion in about it. Jul 17 19:00:24 * Suner (~Sun@unaffiliated/suner) has joined #rpcdesktop Jul 17 19:00:34 * ArexBawrin (~chatzilla@97.103.19.131) has joined #rpcdesktop Jul 17 19:00:43 no problem Jul 17 19:00:47 hey everyone Jul 17 19:00:53 hi Jul 17 19:00:58 hello Jul 17 19:01:06 *** The 2nd Desktop Group Meeting is starting now. Topics: Coding Style Guide; Documentation; Requirements; Anything else anyone wants to bring up *** Jul 17 19:01:24 https://manual.cs50.net/Style_Guide Jul 17 19:01:28 Title: Style Guide - CS50 Manual (at manual.cs50.net) Jul 17 19:01:28 remember to not post >10 lines in under 20s or you will be kickbanned Jul 17 19:03:01 Okay, I'll get this kicked off. The first thing that is up for discussion is the topic of defining coding style guidelines. What should they be? How strictly should they be enforced? How much should be left up to user preference? Other thoughts? Jul 17 19:03:26 I always do if (cond) { Jul 17 19:03:29 :| Jul 17 19:03:41 I think we could just follow that guide Jul 17 19:03:50 and I think that we should all do the same thing no matter what we decide Jul 17 19:03:55 yeah Jul 17 19:04:01 I think that we need to find a good balance. We don't want to be offputting by being excessively beurocratic, but Jul 17 19:04:06 int main(void) { } Jul 17 19:04:17 I think that having some well defined style guidelines should make things easier for people who are trying to learn the languages Jul 17 19:04:22 Enforcement wise I think it should be pretty firm so the each others code is easier to read Jul 17 19:04:27 the functuions section looks a bit weird Jul 17 19:04:31 does everyone do that? Jul 17 19:04:47 i don't like the two line thing Jul 17 19:04:51 that is really weird Jul 17 19:04:52 no its something he (the person that wrote it) does so its easier to search for functions in an editor Jul 17 19:04:53 I never do that Jul 17 19:04:56 neither I Jul 17 19:04:58 the yellow box is good Jul 17 19:04:59 * Fast_Absorbing (~chatzilla@host-92-24-12-185.static.as13285.net) has joined #rpcdesktop Jul 17 19:05:01 ok Jul 17 19:05:08 I do int main(void) { Jul 17 19:05:21 to me either way is fine Jul 17 19:05:26 its all the same information Jul 17 19:05:30 i think the beginners (like me) should be strictly enforced Jul 17 19:05:31 Hi there Jul 17 19:05:38 Okay, let's vote: Patches that are submitted with incorrect style formatting should be rejected Jul 17 19:05:43 +1 Jul 17 19:05:48 +1 Jul 17 19:05:49 +1 Jul 17 19:05:50 +1 Jul 17 19:05:50 +1 Jul 17 19:05:51 +1 Jul 17 19:05:52 +1 Jul 17 19:05:52 +1 Jul 17 19:05:59 Yesssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss Jul 17 19:06:04 EUREKA Jul 17 19:06:10 lol Jul 17 19:06:36 is anyone not in the trello? Jul 17 19:06:40 i'm not Jul 17 19:06:41 yes Jul 17 19:06:42 me Jul 17 19:06:47 Reading reading reading some stuff and finnally have it working Jul 17 19:06:48 * calzone21 (63ec3162@gateway/web/freenode/ip.99.236.49.98) has joined #rpcdesktop Jul 17 19:06:50 im not i will be in a minute Jul 17 19:06:52 * timg (~timg@pool-72-64-215-90.tampfl.fios.verizon.net) has joined #rpcdesktop Jul 17 19:06:53 * ChanServ gives channel operator status to timg Jul 17 19:06:59 trello? Jul 17 19:07:01 if you're not in the trello organization pm me your email Jul 17 19:07:07 it's a project management app Jul 17 19:07:21 Okay, next vote: Anyone who is interested can create a proposal for a style guide and submit it for review/comments on the subreddit, and we can have a final vote on Friday for the style guide? Jul 17 19:07:28 i just accepted the invite im in Jul 17 19:07:36 Yeah Jul 17 19:07:37 +1 Jul 17 19:07:41 +! Jul 17 19:07:43 1 Jul 17 19:07:50 +1 Jul 17 19:08:10 +1 Jul 17 19:08:13 +1, sounds good Jul 17 19:08:14 +1 Jul 17 19:08:15 definitely a good idea Jul 17 19:08:18 +1 Jul 17 19:08:27 +1 Jul 17 19:08:46 Okay, I'll create a post on the subreddit, and we can keep submissions in that thread so we don't choke out other posts on the sub Jul 17 19:08:58 * apollocre (~apollocre@c-76-26-191-104.hsd1.tn.comcast.net) has joined #rpcdesktop Jul 17 19:09:03 cool Jul 17 19:09:03 erm, how do you send pms again? Jul 17 19:09:13 type /msg name [message] Jul 17 19:09:17 centigrade233: /msg Jul 17 19:09:18 centigrade233: /msg [message] Jul 17 19:09:21 thanks Jul 17 19:09:41 you can use tab for the names Jul 17 19:09:45 ya Jul 17 19:09:49 good feature Jul 17 19:09:55 okay, anything else anyone wants to bring up on the subject of coding style before we move on to the topic of documentation? Jul 17 19:10:32 I don't agree with overly strict styling Jul 17 19:10:43 this would be a good opportunity to talk about style related things that you think should go into the final style guide before people start working on drafts Jul 17 19:11:10 Suner: do you disagree with being overly strict on enforcement, or just on having the rules being overly specific? Jul 17 19:11:31 how do we feel about commenting out whole functions? Jul 17 19:11:31 I think that ultimately when it comes to style, the defining guidelines should be the code itself Jul 17 19:11:40 I'm in trello now Jul 17 19:11:43 what does that mean though Jul 17 19:11:47 the code itself Jul 17 19:12:08 thearrowflies: I strongly feel that commented out code should never be commited. That's what git history is for. Jul 17 19:12:17 ok Jul 17 19:12:27 for example, some people would be okay with not using braces when you have a single line control structure (e.g. if (cond) statement; ) Jul 17 19:12:44 and others not, and this is one of those areas I'd say, are overly strict Jul 17 19:12:50 thats a corner case lol Jul 17 19:13:11 and that it would make more sense if you have one line that follows one rule, and you're adding another line, you should follow the previous Jul 17 19:13:18 i think all control structures should be multi lined Jul 17 19:13:21 even if it is one statement Jul 17 19:13:24 to keep conformity Jul 17 19:13:37 with braces Jul 17 19:13:42 that's my opinion Jul 17 19:13:43 TheDuceCat: But it doesn't always make the code easier to read, indentation looks much nicer Jul 17 19:13:47 Suner: While typically I would be inclined to agree with you, I think that having a more consistant style might be easier on the less experienced developers Jul 17 19:13:55 And remains clear about what's going on Jul 17 19:13:59 TheDuceCat: agreed Jul 17 19:14:05 miyako +1 Jul 17 19:14:19 what if someone adds a statement to an if control with only 1 line, and no braces, and breaks the code Jul 17 19:14:23 and they dont know why Jul 17 19:14:29 itll be our fault then Jul 17 19:14:54 There seems to be a lot of people comming from Python, so omitting the braces anywhere in our code seems like it could be asking for confusion Jul 17 19:15:11 Filter_: if the code is broken it shouldn't be commited Jul 17 19:15:21 I agree with miyako for beginners if their is a bunch of different styles being thrown around it could get confusing. Jul 17 19:15:34 ^ Jul 17 19:15:39 consistency Jul 17 19:15:44 +1 Accipiter Jul 17 19:15:52 * brotherga2_ (~brotherga@151.66.189.38) has joined #rpcdesktop Jul 17 19:15:56 Especially with python people and no {} Jul 17 19:15:59 Welp, I'll cede to consistency Jul 17 19:16:01 The cs50 style guide looks fine to me Jul 17 19:16:10 some of it is weird Jul 17 19:16:13 * Desu (~Desu@c-50-135-49-116.hsd1.wa.comcast.net) has joined #rpcdesktop Jul 17 19:16:17 the part with functions as someone pointed out Jul 17 19:16:27 like the int // main LOL Jul 17 19:16:34 I think some things need to change with the cs50 most is fine though. Jul 17 19:16:36 yea some is i just threw it up really quick because miyako didnt have time to write one he said. its just a discussion starter Jul 17 19:16:39 I've generally had the rule that readability should trump rules lawyering with respect to code style, but we need to be mindful of making the code easy to work with for beginners in this project Jul 17 19:16:39 not an end all be all Jul 17 19:16:44 should we make our own? Jul 17 19:16:48 custom to our likes? Jul 17 19:16:53 or would that be worse Jul 17 19:16:56 miyako: +1 Jul 17 19:16:58 with different opinions Jul 17 19:17:12 We should make our own Jul 17 19:17:20 if we can all agree :P Jul 17 19:17:27 * loocorez (~stefan@208.43.144.32) has left #rpcdesktop Jul 17 19:17:49 Well maybe not all agree but I think we should do our own with a majority rules on votes Jul 17 19:17:52 cs50 rules don't have naming guidelines? Jul 17 19:18:11 I do think we should have separate guidelines for C and C++ Jul 17 19:18:13 its only for c i think Jul 17 19:18:23 * brotherga2_ has quit (Remote host closed the connection) Jul 17 19:18:25 * DrosophiliaMaxim has quit (Ping timeout: 245 seconds) Jul 17 19:18:39 functions in camelCase Jul 17 19:18:47 miyako +1 Jul 17 19:18:57 varnames with underscores? Jul 17 19:19:06 wait Jul 17 19:19:07 i usually use camelCase for those too Jul 17 19:19:11 ahh Jul 17 19:19:41 I could never understand using camelCase for functions and variables Jul 17 19:19:59 camelCase is big in java only Jul 17 19:20:02 I typically use 4 spaces for indentation, underscores for function and variable names, braces on the next line for functions, and braces on the same line for loops and conditionals Jul 17 19:20:11 I have no problem with camelCase Jul 17 19:20:19 miyako +1 Jul 17 19:20:20 miyako, yes, 4 spaces for tab Jul 17 19:20:26 4 spaces is catching on everywhere Jul 17 19:20:27 i always do brace next line Jul 17 19:20:28 I'm okay with camel case, but strongly opposed to hungarian notation Jul 17 19:20:37 same as miyako except for the function braces Jul 17 19:20:44 but not that big a deal for me Jul 17 19:20:47 and I don't have strong feelings about braces being on the same or next line for loops/conditionals Jul 17 19:21:07 hungarian notation is ugly Jul 17 19:21:08 no like Jul 17 19:21:10 yep Jul 17 19:21:14 agreed Jul 17 19:21:21 i always do next line braces seems better spaced to me Jul 17 19:21:40 * DrosoptiliaMaxim (45d6f796@gateway/web/freenode/ip.69.214.247.150) has joined #rpcdesktop Jul 17 19:21:52 although not strictly style, I think all code should compile without warnings, and with the compilter flags -Wall -Wextra -Werr -pedantic (or the equivilents for whatever compiler you are using) enabled Jul 17 19:22:14 ^ Jul 17 19:22:29 +1 Jul 17 19:22:35 I find this really important, especially if we'll have beginners Jul 17 19:22:36 +1 Jul 17 19:22:37 +1 Jul 17 19:22:57 +1 Jul 17 19:22:59 +1 Jul 17 19:23:32 We should decide on the versions of C and C++ that we'll be using as well Jul 17 19:24:53 I'm inclined to say C++11 for C++ since VC and GCC both support it pretty well Jul 17 19:25:10 well does QT support all types? Jul 17 19:25:10 c99 Jul 17 19:25:11 ? Jul 17 19:25:12 version Jul 17 19:25:16 somehwat, VC++ supports some Jul 17 19:25:31 can QT support all c++ versions? Jul 17 19:25:40 TheDuceCat: I'm not sure, I thought so but I haven't researched that- I'll leave that up to you to find out and make a recommendation? Jul 17 19:25:48 ok Jul 17 19:25:52 I'd say limit C++11 features to the ones VC++ supports (as GCC also supports them and more) Jul 17 19:25:59 * orion__ (~orion@bl22-169-38.dsl.telepac.pt) has joined #rpcdesktop Jul 17 19:26:33 do we need c++11? Jul 17 19:26:34 C is trickier, VC doesn't support C99, so we need to decide if we want to go with C89 for VC compatibility, or just use C99 and require that the windows version be built with a reasonable C compiler Jul 17 19:27:14 qt doesn't have syntax checking for c++11 Jul 17 19:27:18 i always used c99 Jul 17 19:27:18 TheDuceCat: I don't know, it seems to me that unless there is a reason not to we might as well go with the latest standard, but I'm open to alternate recommendations Jul 17 19:27:59 I think c99, I don't know anything about the differences but it would seem like a good idea to use the latest standard. Jul 17 19:28:01 i think is better to not use C++2011 because QT Jul 17 19:28:15 Do we have a bunch of people using VC? Jul 17 19:28:18 c99 i think we can use // for comments Jul 17 19:28:25 in c89 we cant Jul 17 19:28:25 personally, most of my development is done with gnu99, and I'm okay with requiring gcc to build the C code, but if anyone things we should go with pure c99 I'm okay with that Jul 17 19:28:45 im sorry, is VC visual C? if so, i havent used it Jul 17 19:28:52 I'm okay with C99, mingw is available and decent enough Jul 17 19:29:05 yeah, VC is Microsofts C compiler, and it's absolutely abysmal Jul 17 19:29:13 abysmal? Jul 17 19:29:22 FRodrigues: terrible, horrible, awful Jul 17 19:29:24 oh i thought we were referring to the ide Jul 17 19:29:47 ArexBawrin: nah, you can set up Visual Studio to use GCC or other compilers if you want Jul 17 19:29:52 * orion__ (~orion@bl22-169-38.dsl.telepac.pt) has left #rpcdesktop ("Saindo") Jul 17 19:29:55 http://pastebin.com/djBywN6D Jul 17 19:29:57 Title: My Code Conventions - Pastebin.com (at pastebin.com) Jul 17 19:29:58 that's my coding style Jul 17 19:30:03 it's all opinion obviously Jul 17 19:30:22 8 space tabs? Jul 17 19:30:30 * bimo has quit (Ping timeout: 245 seconds) Jul 17 19:30:34 that is pastebin Jul 17 19:30:37 i should have just put spaces in Jul 17 19:30:43 i think we were posting to a reddit thread TheDuceCat? Jul 17 19:31:00 * SlimTim10 (~SlimTim10@24-52-223-189.cable.teksavvy.com) has left #rpcdesktop ("Leaving") Jul 17 19:31:01 https://github.com/timskinner/c_monads/blob/master/maybe.c That's my style, if anyone is curious Jul 17 19:31:01 ? Jul 17 19:31:04 (at github.com) Jul 17 19:31:21 Accipiter: we're going to post actual draft proposals, but we can discuss ideas for what should go into them here Jul 17 19:31:32 OK Jul 17 19:32:02 looks fine] Jul 17 19:33:15 I definitely prefer 4 space tabs to 8 :S Jul 17 19:33:23 that's pastebin's tab size Jul 17 19:33:27 i edited it to 4 Jul 17 19:33:31 I definitely prefer 2 to 4 Jul 17 19:33:32 * DrosoptiliaMaxim (45d6f796@gateway/web/freenode/ip.69.214.247.150) has left #rpcdesktop Jul 17 19:33:40 Okay, let's do a quick vote on the C version: C89 with VC support, C99 with support for GCC, LLVM, and ICC, or Gnu99 support for GCC only Jul 17 19:33:52 gnu99 > c99 > c89 Jul 17 19:33:59 C99 Jul 17 19:34:08 hmm Jul 17 19:34:13 undecided Jul 17 19:34:16 what are the advantages of 99 over 89 Jul 17 19:34:32 89 is honestly, outdated Jul 17 19:34:37 idk the difference between C99 and Gnu99 Jul 17 19:34:49 TheDuceCat: Numerous, but it boils down to C99 makes you NOT want to smash your own face in with a hammer when you use it Jul 17 19:35:18 gnu99 is just C99 with some GCC extensions that make it a bit nicer; most of them are supported by clang and icc, but not all of them Jul 17 19:35:30 i guess C99 Jul 17 19:35:37 i'm no c expert here Jul 17 19:35:55 I wouldn't know enough about them to vote in this Jul 17 19:36:00 http://gcc.gnu.org/onlinedocs/gcc/C-Extensions.html Jul 17 19:36:01 (at gcc.gnu.org) Jul 17 19:36:07 neither am I, all the C I do is embedded work Jul 17 19:36:09 Fast_Absorbing: +1 Jul 17 19:36:27 either way, I'm a big proponent of portability, so I would say C99 Jul 17 19:36:29 * smashitup has quit (Quit: Leaving) Jul 17 19:36:29 I don't know enough about them to vote either Jul 17 19:36:56 Is the VC support important? Jul 17 19:37:16 Suner: Me too, I find GCC behaves a bit strangely in Windows under Cygwin Jul 17 19:37:35 should we all program in a virtual machine? Jul 17 19:37:37 Well this is suppose to be cross-platform (Linux, OSX, and Windows). Do all of the choices fall under these OS's natively? Jul 17 19:37:38 Filter_: Honestly, given the stat of C support in VC, I think using it is insane Jul 17 19:37:55 miyako, id have to vote c99 then Jul 17 19:37:58 gcc is widely available Jul 17 19:38:09 mingw is gcc Jul 17 19:38:11 let's not forget people, GCC is available on windows Jul 17 19:38:25 Suner: cygwin? Jul 17 19:38:37 ArexBawrin: mingw Jul 17 19:38:51 ArexBawrin: gcc is available through cygwin, but can be a little flakey, mingw is preferable IMHO Jul 17 19:39:00 ah, thank you Jul 17 19:39:12 http://www.mingw.org/ Jul 17 19:39:13 Title: MinGW | Minimalist GNU for Windows (at www.mingw.org) Jul 17 19:39:16 mingw is the preferred option I'd say Jul 17 19:39:28 I've had good experiences with it, Jul 17 19:39:44 OS X uses clang by default now, but GCC is still available Jul 17 19:40:02 will this matter for end user at all? Jul 17 19:40:13 TheDuceCat: not for the end user, just for the people contributing Jul 17 19:40:18 alright Jul 17 19:40:47 How about a vote: C99 and C++03 Jul 17 19:41:02 +1 Jul 17 19:41:03 +1 Jul 17 19:41:08 I don't agree with C++03 Jul 17 19:41:12 why 03? Jul 17 19:41:21 that's the latest non c++11 version, no? Jul 17 19:41:22 because qt Jul 17 19:41:42 yes Jul 17 19:42:02 ok Jul 17 19:42:07 I'd also like to point out that c++11 is new enough that many books people have might not cover it Jul 17 19:42:30 I'd also like to point out that C++11 is backwards compatible Jul 17 19:42:31 and doenst change anything Jul 17 19:42:33 i don't think c++11 has any killer features that we absolutely need Jul 17 19:42:41 I would disagree Jul 17 19:42:45 threading Jul 17 19:42:51 but boost has threading too Jul 17 19:43:25 standard threading, standard smart pointers, lambdas Jul 17 19:43:34 well, Qt provides it's own implementation of large swaths of the standard library anyway AFAIK Jul 17 19:43:46 but we are going to use c++ only for the gui Jul 17 19:44:59 im more interested in working with the newer sexier tech Jul 17 19:45:07 but i could work with either Jul 17 19:45:20 ^ but id rather have function than tech Jul 17 19:45:27 qt is sexy! Jul 17 19:45:44 if qt takes care of everything then we could use the older version since its better covered Jul 17 19:46:19 and the python version? Jul 17 19:46:35 2.7 probably Jul 17 19:46:43 +1 Jul 17 19:47:00 it's very well supported at this point Jul 17 19:47:02 +1 for 2.7 Jul 17 19:47:22 Any particular reason for not going with python 3? Jul 17 19:47:26 honestly, python3 Jul 17 19:47:29 2.7 is old Jul 17 19:47:34 and becoming outdated Jul 17 19:47:50 python3 is what is intended to be used for future applications Jul 17 19:48:09 2.7 is better supported. Although it would really depend on the libraries we use. 2.7 is just what I know. Jul 17 19:48:52 There's a few downsides, such as comparatively limited library support and the fact that most current Linux distributions and Macs are still using 2.x as default Jul 17 19:49:00 ^ Jul 17 19:49:14 2.7 has a bigger install base Jul 17 19:49:18 but we can always install python 3 Jul 17 19:49:25 Also, if the web team is using django then they'll be using 2.x since it doesn't support python 3 Jul 17 19:49:27 i agree 2.7 Jul 17 19:49:38 django doesn't support python3? well that's a bummer Jul 17 19:49:44 i think we should used whatever the web team is using then Jul 17 19:49:47 and yes, it looks like we are going with django, with no uncertainty Jul 17 19:49:49 I don't know much about python, but is it possible to support 2.7 and 3? Jul 17 19:49:49 I think 2.7 also, if we are more familiar with it it well be better for a first project Jul 17 19:50:00 Suner: No Jul 17 19:50:11 Go with python 2.x if that is all django supports Jul 17 19:50:30 We should use whatever the web team is using and it seems like that will be 2.7 Jul 17 19:51:08 i just finished installing qt. what is the difference between qml and qt? Jul 17 19:51:12 * tboat (~tboat@unaffiliated/tboat) has joined #rpcdesktop Jul 17 19:51:12 * ChanServ gives channel operator status to tboat Jul 17 19:51:14 okay, vote: C99, Python 2.7, and C++03 for now but we can talk about using C++11 features if we run across something where they would be useful? Jul 17 19:51:30 yeah Jul 17 19:51:30 +1 Jul 17 19:51:32 +1 Jul 17 19:51:33 +1 Jul 17 19:51:33 +1 Jul 17 19:51:38 wait Jul 17 19:51:45 lol Jul 17 19:51:47 someone explain to me what's the problem with Qt and C++11 Jul 17 19:51:50 * tboat has quit (Client Quit) Jul 17 19:52:02 I've got to get going, I'll read the logs tmoz. See you Jul 17 19:52:06 later Jul 17 19:52:07 * tboat (~tboat@c-76-123-61-25.hsd1.va.comcast.net) has joined #rpcdesktop Jul 17 19:52:11 bye Jul 17 19:52:18 i dont think theres a problem? its just that qt gives us the 11 functionality Jul 17 19:52:24 without using something that isnt well supported Jul 17 19:52:28 but im probably wrong Jul 17 19:52:34 * tboat has quit (Changing host) Jul 17 19:52:34 * tboat (~tboat@unaffiliated/tboat) has joined #rpcdesktop Jul 17 19:52:34 * ChanServ gives channel operator status to tboat Jul 17 19:52:51 C++ is pretty much GUI only Jul 17 19:52:58 C is the major back end Jul 17 19:53:00 but it cant hurt to use both Jul 17 19:53:07 qt and c++11 Jul 17 19:53:07 * Fast_Absorbing (~chatzilla@host-92-24-12-185.static.as13285.net) has left #rpcdesktop Jul 17 19:53:09 right? Jul 17 19:53:10 While you can already use C++0x with older Qt version such as Qt 4.7, Qt 4.8 will come with more support for some of the new C++0x constructs: Jul 17 19:53:17 then there's no reason not to use C++11 Jul 17 19:53:26 there is no functional problem Jul 17 19:53:46 it's not like Qt won't compile with a C++11 compiler Jul 17 19:54:09 qt creator doesn't work well with c++11 syntax Jul 17 19:55:02 looks like Qt Creator 2.5 (released May 9) has improved support for C++11 Jul 17 19:55:08 that's an IDE problem, not a functional one Jul 17 19:55:27 it will still compile, and work just fine. Jul 17 19:55:38 I just don't agree with limiting ourselves to using old technology Jul 17 19:55:56 everything doesn't have to be shiny and new Jul 17 19:56:51 Honestly, I'm okay with going either way; my personal preference is to go with C++11, but TheDuceCat is heading up that part of the project Jul 17 19:56:55 you're right, but there's no drawbacks to using C++11 other than some poor IDE support (which is getting better anyway) Jul 17 19:57:09 so I'm going to leave the final decision to him to either mandate or take a vote on Jul 17 19:57:11 i'm not opposed to either just trying to weigh the options Jul 17 19:57:21 vote is better but not yet Jul 17 19:57:34 +1 c++11 Jul 17 19:57:45 ++ c++11? Jul 17 19:57:58 11++ Jul 17 19:58:01 honestly why doesnt python have the ++ Jul 17 19:58:04 terrible choice Jul 17 19:58:18 C++11 was a much needed upgrade to the language IMHO, and I'm a huge fan of it Jul 17 19:58:25 i don't know much about it Jul 17 19:58:31 but it's more stuff to learn Jul 17 19:58:35 and we have many beginners Jul 17 19:58:40 i used to program in c++2003 Jul 17 19:58:40 that know little c++ as it is Jul 17 19:58:52 IMHO if someone is going to learn C++, they might as well start learning C++11 Jul 17 19:58:56 c++11 makes some things easier for beginners Jul 17 19:58:56 trying to weigh the options Jul 17 19:59:07 adoption isn't exactly going slowly, and it does simplify some things quite a bit Jul 17 19:59:23 im neutral Jul 17 19:59:30 VOTE TIME: +1 for C99, C+11/QT, Python 2.7 Jul 17 19:59:30 +1 Jul 17 19:59:36 +1 Jul 17 19:59:37 +1 Jul 17 19:59:37 +1 Jul 17 19:59:41 +1 Jul 17 20:00:53 +1 Jul 17 20:01:08 0 Jul 17 20:01:30 +2 Jul 17 20:01:46 I guess I gave Filter_ my proxy Jul 17 20:01:46 +abs(-pi) Jul 17 20:01:51 okay, shall we call that decided and move on to discussing documentation? Jul 17 20:02:04 go ahead Jul 17 20:02:05 +1 Jul 17 20:02:08 +1 Jul 17 20:02:16 yea doc is fine now Jul 17 20:02:19 Yeah Jul 17 20:02:56 *** Topic is Documentation: What should the documentation requirements be, how will we store/host documentation, should we use auto documentation generation, etc. *** Jul 17 20:03:44 I have two concerns Jul 17 20:03:51 we should use monkeys like youtube! Jul 17 20:04:03 one is that we need to encourage documentation, because we might not have people who are used to documenting their code Jul 17 20:04:10 the other is that we want to avoid things like: Jul 17 20:04:13 this makes some sexy docs Jul 17 20:04:13 http://readthedocs.org/ Jul 17 20:04:15 x++; // increment x by one Jul 17 20:04:16 Title: Home | Read the Docs (at readthedocs.org) Jul 17 20:04:21 At the top of each file we have a desctiption of what the file is. and above each function we have a short desctription of what it does. and single line comments as needed Jul 17 20:04:40 miyako: haha, common occurence in programming classes Jul 17 20:05:03 I like Doxygen for generating documentation, it's human readable enough, and the generated documentation is easily browsable Jul 17 20:05:46 look into http://readthedocs.org/ Jul 17 20:05:47 Title: Home | Read the Docs (at readthedocs.org) Jul 17 20:05:50 never used it but it looks nice Jul 17 20:07:03 wow c++ has range based for loops Jul 17 20:07:05 :D Jul 17 20:07:12 C++11* Jul 17 20:07:27 yeah forgot the 11 Jul 17 20:07:34 * Bradford (~Bradford@108-241-244-170.lightspeed.frokca.sbcglobal.net) has joined #rpcdesktop Jul 17 20:08:03 C++ fwt Jul 17 20:08:07 ftw Jul 17 20:08:41 I have to leave so I will catch the log later. Jul 17 20:08:45 I've never used sphinx but I'm fine with it I suppose Jul 17 20:09:07 * Accipiter has quit (Quit: Leaving) Jul 17 20:10:58 Okay, vote: Use Sphinx for markup, documentation can be hosted on readthedocs Jul 17 20:11:17 what is sphinx Jul 17 20:11:32 TheDuceCat: that's the documentation markup system that readthedocs supports Jul 17 20:11:38 sure Jul 17 20:11:51 from their website: Sphinx lets you either batch index and search data stored in an SQL database, NoSQL storage, or just files quickly and easily — or index and search data on the fly, working with Sphinx pretty much as with a database server. Jul 17 20:11:58 * calzone21 has quit (Quit: Page closed) Jul 17 20:14:37 * Justin___ (47e1eccb@gateway/web/freenode/ip.71.225.236.203) has joined #rpcdesktop Jul 17 20:15:05 okay, so: Sphinx for auto-generated documentation markup; documentation hosted on readthedocs.org ? Jul 17 20:15:08 +1 Jul 17 20:15:15 +10 Jul 17 20:15:15 +1 Jul 17 20:15:17 +1, Jul 17 20:15:20 dont know anything :S Jul 17 20:15:27 FRodrigues: +1 Jul 17 20:15:29 pass Jul 17 20:15:34 +1 Jul 17 20:15:37 LOL Jul 17 20:15:42 i dont know about this side of things Jul 17 20:15:47 I've never used sphinx, but I'm up for learning a new tool Jul 17 20:15:49 fine to use whatever we decide on Jul 17 20:15:56 okay, that's settled. I think we should make a point of trying to make sure that we don't have too much or too little documentation Jul 17 20:16:04 agreed Jul 17 20:16:11 over documentation? that's new. Jul 17 20:16:19 yes Jul 17 20:16:20 it could happen Jul 17 20:16:22 somehow Jul 17 20:16:25 I'm going to try to emphasize file and function level comments, with per-line comments kept to a minimum Jul 17 20:16:38 Suner: x++; // add one to x Jul 17 20:16:51 code should also be self documenting I'd say Jul 17 20:16:56 that level of documentation is just noise and inhibits understanding the code IMHO Jul 17 20:17:01 if (condition) // if the condition is true then the rest will execute Jul 17 20:17:25 what if there is a very cryptic or tricky line Jul 17 20:17:32 are you saying no per line allowed at all Jul 17 20:17:35 there shouldn't be Jul 17 20:17:36 int i; declaring an int variable named i uninitialized Jul 17 20:17:50 Filter_: I'm not saying no per-line allowed at all, just that they should be kept at a minimum. Jul 17 20:17:54 ok Jul 17 20:17:57 it's more or less a guideline, if you're commenting many single lines, you're doing something wrong Jul 17 20:18:04 If you have a tricky line that needs a comment, first try to re-write that line to not need the comment Jul 17 20:18:18 * bimo (54c2cb93@gateway/web/freenode/ip.84.194.203.147) has joined #rpcdesktop Jul 17 20:18:22 well most of the time the math heavy lines usually get lost on me when i try and read them again Jul 17 20:18:26 so i comment those Jul 17 20:18:36 if its just logic i let variable names take care of it Jul 17 20:18:56 but im ok to learn better ways Jul 17 20:19:03 Filter_: math heavy lines are generally in the minority anyway though Jul 17 20:19:17 yea Jul 17 20:19:23 so its not really an issue Jul 17 20:19:24 k Jul 17 20:20:05 i think someone got shot or run over outside Jul 17 20:20:09 theres a ton of sirens Jul 17 20:20:26 thearrowflies: hope nobody is hurt Jul 17 20:20:30 where you live? Jul 17 20:20:37 how do you know? Jul 17 20:21:05 ? Jul 17 20:21:14 that no ones hurt Jul 17 20:21:25 no, I was saying that I hope nobody was hurt Jul 17 20:21:33 oh Jul 17 20:21:38 thought that was nope Jul 17 20:21:54 So are we agreeign on the documentation? Jul 17 20:21:59 yep Jul 17 20:22:01 yeah, I think so Jul 17 20:22:22 Sort of related to the other things that we'd discussed, I wanted to bring up the idea of having a community standards of conduct Jul 17 20:22:36 basically just a non-binding set of rules saying something like "be nice, be inclusive, try to help people" Jul 17 20:22:46 yeah Jul 17 20:22:50 dont tell people to rtfm Jul 17 20:22:55 i think i saw a video about that Jul 17 20:23:54 I'd like to have a community that eschews the "brogrammer" stereotype and focuses on being polite and helpful to people who want to join the project Jul 17 20:24:10 +1 Jul 17 20:24:12 +1 Jul 17 20:24:15 +1 Jul 17 20:24:21 i have to go eat dinner i'll be back in a few sorry :( Jul 17 20:24:33 +1 Jul 17 20:24:33 no problem Jul 17 20:24:35 * TheDuceCat is away: Ingeting processed goods. Jul 17 20:24:35 * Desu has quit (Quit: Leaving) Jul 17 20:24:47 * TheDuceCat is back (gone 00:00:11) Jul 17 20:24:50 I think we should shoot around some ideas for requirements Jul 17 20:24:52 * TheDuceCat is away: Ingesting processed goods. :) Jul 17 20:25:04 requirements for conduct? Jul 17 20:25:11 no, for the application Jul 17 20:25:18 like, what features do we want to support Jul 17 20:25:29 ahh Jul 17 20:25:51 I think we should have a short free-for-all where everyone just lists ideas that they'd like to see happen Jul 17 20:26:06 Do you think its a good idea to talk about features before having a base program set up? Jul 17 20:26:11 then we can figure out what things are doable now, what things are features we can add to the next version, and what things we don't want to think about yet Jul 17 20:26:36 thearrowflies: I think it's absolutely necessary to have at least a general idea of where we are going to before we start going there Jul 17 20:26:37 first is going to be 2d or 3d? Jul 17 20:26:41 i just took a course on human computer interaction that stressed mockups and iterative design and user interface etc Jul 17 20:26:44 should we be prototyping Jul 17 20:26:46 or not Jul 17 20:27:02 ok Jul 17 20:27:12 Filter_: I think prototypes are a good idea, but we want to know what needs to be done before we can prototype how to do t Jul 17 20:27:15 *it Jul 17 20:27:28 alright Jul 17 20:27:41 so are we talking front end or backend right now Jul 17 20:27:44 first we need to have a general idea of what we want xD Jul 17 20:27:59 Filter_: I think we should mostly talk about features as though we are users Jul 17 20:28:01 so, e.g. Jul 17 20:28:16 "As a user, I want to be able to browse a list of tile sets" Jul 17 20:28:32 ah ok Jul 17 20:28:41 well i have to say that ive never used a tile editor before Jul 17 20:28:47 so im not sure i can input on what it should have Jul 17 20:28:50 * bimo has quit (Ping timeout: 245 seconds) Jul 17 20:28:52 neither i Jul 17 20:28:57 nor i lol Jul 17 20:28:58 nor i Jul 17 20:29:05 maybe we should all dl one Jul 17 20:29:06 Filter_: even better, not having any experience means your mind won't be constrained by what others have done Jul 17 20:29:10 what are these maps for? Jul 17 20:29:18 miyako, good point Jul 17 20:29:21 minecraft i hope Jul 17 20:29:24 D&D? Jul 17 20:29:24 but I can give you all an overview of what I had in mind Jul 17 20:29:30 yea go ahea Jul 17 20:29:32 never played minecraft Jul 17 20:29:46 So, think of video games like Diablo, or of table top games like D&D Jul 17 20:30:05 or even games like Civilization Jul 17 20:30:18 (i loved to be able to do D&D map in this editor!) Jul 17 20:30:26 in games like these, you have a map that is made up of sets of tiles Jul 17 20:30:44 so a tile editor lets you easily make maps by just giving you a grid and letting you place tiles on the grid Jul 17 20:31:12 A very simple example would be something like you have a bunch of 64x64 images and you just drag them into a bigger image Jul 17 20:31:28 but a software tile map editor can add additional features on top of this Jul 17 20:31:32 could we support 2d platformers as well? Jul 17 20:31:36 anything tile based? Jul 17 20:31:49 anything with an isometric view Jul 17 20:31:51 ? Jul 17 20:31:52 i could do a layout of a kitchen Jul 17 20:31:55 Filter_: yeah, it would generally work better for top-down or Isometric games than side-scrollers though Jul 17 20:32:07 i see, let me look up isometric Jul 17 20:32:08 I'd like to keep in mind that there are different types of tyle Jul 17 20:32:14 take a look at project zomboid Jul 17 20:32:18 and the map design for it Jul 17 20:32:31 Suner: that's a good point, would you like to go into that in more detail? Jul 17 20:33:49 http://www.youtube.com/watch?v=DZxuVY4dQ74 That is a set of tutorials on the Skyrim creation kit, which uses a (very advanced) tileset based map editor Jul 17 20:33:49 well trivially, tiles come in different shapes, e.g. some games have square tiles, vs some that have hex tiles Jul 17 20:33:50 Title: Skyrim Creation Kit Tutorials - Episode 1: Creating And Adding NPCs - YouTube (at www.youtube.com) Jul 17 20:34:18 we could allow people to create a project with different tiles Jul 17 20:34:43 miyako homework assignment, go home and play skyrim Jul 17 20:35:14 VOTE: file extension to be .tldr Jul 17 20:35:16 all in favor? Jul 17 20:35:19 +1 Jul 17 20:35:30 to large didnt read? Jul 17 20:36:22 * tboat has quit (Quit: Bye) Jul 17 20:36:37 "As a user, I would like to be able to adjust the terrain height independently of the tiles" Jul 17 20:37:04 shift click on a tile brings up options of what to do with that specific tile Jul 17 20:37:09 or something like that Jul 17 20:37:16 "As a user, I would like to be able to have tile graphics randomized from a set, so that adjacent tiles dont always repeat" Jul 17 20:37:57 each 'side' of a tile only matches with another side of another tile, and not another side of itself Jul 17 20:38:01 "As a user, I would like to easily be able to create tile sets from within the user interface" Jul 17 20:38:29 file -> open folder as tiles Jul 17 20:38:40 of images Jul 17 20:39:06 "I would like to be able to have a tile consist independently of a background and objects on the tile" Jul 17 20:39:20 "I would like to be able to place objects on tiles" Jul 17 20:39:46 import (from a compatible format) and place? Jul 17 20:39:59 that one seems more difficult than the others Jul 17 20:40:45 I think that from an implementation standpoint a tile will need to be more than an image Jul 17 20:41:14 yes Jul 17 20:41:24 miyako: what do you mean by that? Jul 17 20:41:25 but the user will only see the image and a few options related to it Jul 17 20:41:29 for example, say I wanted to make a field that had small rocks strewn about all over it Jul 17 20:41:54 I don't want to have the same tile just repeated over and over again, because that would look bad Jul 17 20:42:07 and I don't want to just create a large field of grass and then place a bunch of rocks randomly Jul 17 20:42:19 we could make each tile not connect to itself Jul 17 20:42:32 hey thearrowflies , you have the logs for both groups right? Jul 17 20:42:38 unless the user overrides it Jul 17 20:42:55 * Filtah (~Filtered@pool-72-91-72-84.tampfl.fios.verizon.net) has joined #rpcdesktop Jul 17 20:43:05 thearrowflies: I think on the back end what I would like to do is implement some sort of texture synthesis and blending algorithms to generate seamless images that cover a given area Jul 17 20:43:19 without having to require that the user explicitly start with images that connect in certain ways Jul 17 20:43:58 ok Jul 17 20:44:13 so for the background you provide "seed" images that are grown and blended together to generate a texture that covers a connected area Jul 17 20:44:18 thearrowflies: ? Jul 17 20:44:24 other chan Jul 17 20:44:28 and then a set of sprite entities that can be randomly placed within the area covered by the tiles Jul 17 20:44:35 * Filteerr_ (~Filtered@pool-72-91-72-84.tampfl.fios.verizon.net) has joined #rpcdesktop Jul 17 20:45:12 * Filter_ has quit (Ping timeout: 240 seconds) Jul 17 20:45:31 I feel like I'm kind of monopolizing the conversation, anyone else have any thoughts? Jul 17 20:45:35 what about formats? Jul 17 20:46:01 It's all fine and dandy making a map, but practically, how will it be useful? usable? Jul 17 20:46:02 back Jul 17 20:46:05 * TheDuceCat is back (gone 00:21:12) Jul 17 20:46:31 Suner: I think that we should be able to export images, probably either an overhead view or an isometric view Jul 17 20:46:41 are we discussing features now? Jul 17 20:46:47 yes Jul 17 20:46:52 alright thank you Jul 17 20:46:56 TheDuceCat: yeah, we are just throwing out some ideas for features that we'd like to see Jul 17 20:47:09 miyako: images? to look at? Jul 17 20:47:19 * Filtah has quit (Ping timeout: 244 seconds) Jul 17 20:47:41 I like the idea of exporting to an image. I'm more interested in learning about these blending techniques Jul 17 20:47:56 Suner: for version 1 I think being able to export images is sufficient; what else did you have in mind? Jul 17 20:48:18 miyako: I'm just trying to understand what the exact goal of the project is all Jul 17 20:48:50 So will there only be 2 views Jul 17 20:48:50 basically ... minecraft isometric edition? Jul 17 20:48:55 isometric and top down? Jul 17 20:48:59 Suner: eventually I'd like to see the project usable for generating maps for video games, but I think the for the first version being able to generate images that can be printed/viewed is sufficient Jul 17 20:49:32 we need to decide on a map file format also Jul 17 20:49:39 .tldr Jul 17 20:49:41 thearrowflies: What do you really want to ask me? Jul 17 20:49:50 lol that's a good name for the format Jul 17 20:49:55 but maybe xml based Jul 17 20:49:58 json? Jul 17 20:50:14 json is nice Jul 17 20:50:25 something easy for game developers to parse Jul 17 20:50:56 either is fine as long as you dont do what android does Jul 17 20:51:09 and require xml for any ui components Jul 17 20:51:34 json? Jul 17 20:51:35 xml? Jul 17 20:51:39 binary. Jul 17 20:51:58 ui components? Jul 17 20:52:05 map format Jul 17 20:52:07 like buttons and such Jul 17 20:52:08 I would tend to agree that for the saved file format Binary is probably the best option Jul 17 20:52:23 but Jul 17 20:52:23 buttons? i'm confused Jul 17 20:52:30 nvm Jul 17 20:52:30 for the UI I don't know what Qt uses, but I imagine that they store the UI definition in an XML format or something like that Jul 17 20:52:43 it's in a .ui file i think Jul 17 20:53:22 I'm not a big Qt fan, so I'm unlikely to fiddle with that area of things Jul 17 20:55:41 okay, well this meeting is going on 2 hours. Anyone interested in letting things stew for a couple of days and comming back on Friday for an official meeting where we can list requirements we've come up with, vote on coding style guidelines Jul 17 20:55:54 and then start to move forward on the next phases of the project? Jul 17 20:55:58 Yeah Jul 17 20:56:05 and if you have any idea put them on the trello Jul 17 20:56:11 ^ Jul 17 20:56:18 i'll make an ideas list Jul 17 20:56:22 people can vote for them there and such Jul 17 20:56:40 sounds good :) Jul 17 20:56:57 thearrowflies: do you mind making a post on the subreddit with the log of this meeting? Jul 17 20:57:06 until then is there any pertinent reading for the beginners as of now as its related to this project? Jul 17 20:57:07 ok Jul 17 20:57:08 I'll comment on the thread with a tl;dr summary