www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - dtutor.org: a call to action

reply "Tyro[17]" <nospam home.com> writes:
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit

The main contributors of D are doing a wonderful job of enhancing the 
language. I can confidently say that we are leagues ahead of where we 
stood a just two years ago. But there has been a long cry for 
documentation that has gone unanswered: not because they refuse to 
cooperate but rather, because they are a small volunteer force, occupied 
by real demands to address the quirks of the language, and lack the time 
to all issues by themselves.

It stands then that the community can make a conscious effort to address 
some of the outstanding issues. As such, I have chosen to champion the 
tutorial/documentation effort. Though, I possess very little programming 
experience but am willing to try and am hereby soliciting your 
assistance in making this a reality.

dtutor.org is an active domain dedicated to providing tutorials for the 
language. I will require content contributors but before we can begin to 
provide content there are a couple of issues to address:

I. Features to be supported

    Interactive Tutorials - Users must be able to modify and execute 
examples in place to observe side effects.

    Interactive Books - A number of free books exist around the internet 
that can be ported to D. The first two that come to mind are How to 
"Think Like a Computer Scientist", "Problem Solving with Algorithms and 
Data Structures Using Python" and Ali Çehreli's very own "Programming in D".

    Problems - Staged ICPC problems for users to attempt. Solutions may 
be submitted online for comparison against previously submitted 
solutions to determine efficiency ranking and users may choose to create 
and account to keep track of progress.

    Online Judge - to be used to determine accuracy and efficiency of 
submitted solutions to problems and planned programming contests.

    Forum - Unlocked to individual users per problem after solution 
accepted by Online Judge.

II. Look and Feel

Look and feel of the site will be largely influenced by two things: The 
DConf website and this little gem which provides encouragement for the 
ideas behind interactive tutorials/books:

	Runestone (https://github.com/bnmnetp/runestone);

I came across it while searching for ideas on how to get started with 
dtutor.org and must admit: it is a fascinating little project.

I am wondering if there are any Python experts (or experts in general) 
out there willing to assist in porting it to D? It comes with built in 
support for Python and C/C++ among other languages. However, because 
dtutor.org aims to promote all things D, it would aid greatly to have a 
D implementation which removes all external dependencies and support 
vice implementing D support for the original project. By doing this we 
can showcase the strengths of DMDScript, vibe and other technology 
already available in D.

Logo: My idea for the logo is simply this (see attachment):

	D!(tutor).org

As Andrei would say: destroy!

III. Constraints

DMDScript for web scripting
Vibe for hosting (diet templates)
MangoDB for database

IV. Timeline

The hope is for complete functionality by DConf 2014.
Shooting for Initial Launch by September.

Calling all website designers, database developers, authors and D 
enthusiast. Lend a hand in eliminating this problem.

Andrew
May 05 2013
next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Looks great. A few thoughts interspersed:

 I. Features to be supported

Love the list, particularly the interactive aspect.
 Runestone (https://github.com/bnmnetp/runestone);

Would be great to showcase a site using runestone (I browsed the README real quick without finding one).
 DMDScript for web scripting

I think this is somewhat of a distraction; dmdscript is just an implementation of Javascript so it only relates very little to D other than being implemented by Walter.
 Vibe for hosting (diet templates)

Yes, awesome.
 MangoDB for database

Or other databases featuring D bindings (yet to be finished).
 The hope is for complete functionality by DConf 2014. Shooting for
 Initial Launch by September.

This seems to be a reasonable timeline. Andrei
May 05 2013
next sibling parent reply "Tyro[17]" <nospam home.com> writes:
On 5/5/13 4:27 PM, Andrei Alexandrescu wrote:
 Looks great. A few thoughts interspersed:

 I. Features to be supported

Love the list, particularly the interactive aspect.
 Runestone (https://github.com/bnmnetp/runestone);

Would be great to showcase a site using runestone (I browsed the README real quick without finding one).

This would definitely be a plus. Documentation should be here http://docs.runestoneinteractive.org/build/html/index.html
 DMDScript for web scripting

I think this is somewhat of a distraction; dmdscript is just an implementation of Javascript so it only relates very little to D other than being implemented by Walter.

Point taken.
 Vibe for hosting (diet templates)

Yes, awesome.
 MangoDB for database

Or other databases featuring D bindings (yet to be finished).

No objections there but MongoDB and Redis are the two currently supported by Vibe.
 The hope is for complete functionality by DConf 2014. Shooting for
 Initial Launch by September.

This seems to be a reasonable timeline. Andrei

May 05 2013
parent Jacob Carlborg <doob me.com> writes:
On 2013-05-07 07:40, Russel Winder wrote:

 I should check the manual, but is there support for  Postgres and
 MariaDB?

MariaDB is compilable with MySQL. As far as I understand, it should just work. * All client APIs, protocols and structs are identical. * All filenames, binaries, paths, ports, sockets, and etc... should be the same. * All MySQL connectors (PHP, Perl, Python, Java, .NET, MyODBC, Ruby, MySQL C connector etc) work unchanged with MariaDB https://kb.askmonty.org/en/mariadb-versus-mysql-compatibility/ -- /Jacob Carlborg
May 06 2013
prev sibling next sibling parent "Nathan M. Swan" <nathanmswan gmail.com> writes:
On Sunday, 5 May 2013 at 20:27:57 UTC, Andrei Alexandrescu wrote:
 Would be great to showcase a site using runestone (I browsed 
 the README
 real quick without finding one).

interactivepython.org
May 05 2013
prev sibling next sibling parent Russel Winder <russel winder.org.uk> writes:
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, 2013-05-06 at 16:44 -0400, Nick Sabalausky wrote:
[=E2=80=A6]
 And MySQL:
  - GitHub Project: https://github.com/rejectedsoftware/mysql-native/
  - In DUB repo: http://registry.vibed.org/packages/mysql-native

I should check the manual, but is there support for Postgres and MariaDB? =20
 Although I wouldn't know personally, I've heard bad things about
 MongoDB: http://hackingdistributed.com/2013/01/29/mongo-ft/

There is an awful lot of vitriol in there which, for me, undermines the credibility of the attack as a whole. I have no doubt that the core facts are right, but the style of the piece, especially the "Not a TL;DR" lead me to lower my credence in the argument. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
May 06 2013
prev sibling next sibling parent "Dicebot" <m.strashun gmail.com> writes:
On Tuesday, 7 May 2013 at 05:40:28 UTC, Russel Winder wrote:
 On Mon, 2013-05-06 at 16:44 -0400, Nick Sabalausky wrote:
 […]
 And MySQL:
  - GitHub Project: 
 https://github.com/rejectedsoftware/mysql-native/
  - In DUB repo: http://registry.vibed.org/packages/mysql-native

I should check the manual, but is there support for Postgres and MariaDB?

MariaDB should just work with MySQL driver. Postgres - not yet. Awaited, planned but no one has managed to get his hands on it yet as far as I am aware.
May 07 2013
prev sibling parent "Dicebot" <m.strashun gmail.com> writes:
On Monday, 6 May 2013 at 20:44:30 UTC, Nick Sabalausky wrote:
 Although I wouldn't know personally, I've heard bad things about
 MongoDB: http://hackingdistributed.com/2013/01/29/mongo-ft/

Most facts are right there and I have met some of those issues personally when updating vibe.d MongoDB module. It is a good DB if you need a simple easy-to-setup storage for an unstructured(json-ish) data with full query support over it. But fault tolerance? No way. And I think it will never be fault tolerant in a sense users of relational transactional databases expect. It just does not seem to be a developer goal. I'd never use it personally for anything in production that requires reliable data updates.
May 07 2013
prev sibling next sibling parent "Kirill" <bribeme gmail.com> writes:
Numerical simulations content suggestion.

Depending on time, I would like to do it at some point but just 
in case, i'll leave it here. I think people from scientific 
community would agree. I'm also for problem specific approach 
that can be deconstructed into tools rather than giving people 
tools. basically, a high school student should be able to figure 
out everything from starting an editor to getting an eps of 
gnuplot.

1. sample uses on clusters mpi or new hpx. monte-carlo 
calculation of an area of a circle.

2. numerical recipies covers a lot of common problems in science. 
it would be a nice guide on what to include. (giving reference to 
the book of course). it should also be used to show a correct 
style of programming.

3. wolfram mathematica, matlab and sage already did a good job of 
finding and documenting showcases of popular numerical 
computations.

======================================================

web interface:

it would be nice to see the same tutorial for different paradigms 
of programming -- click a button for functional or for object 
oriented and so on. figuring out paradigms was the hardest part 
for me in learning c++.
May 05 2013
prev sibling next sibling parent reply "Nathan M. Swan" <nathanmswan gmail.com> writes:
On Sunday, 5 May 2013 at 19:37:02 UTC, Tyro[17] wrote:
 The main contributors of D are doing a wonderful job of 
 enhancing the
 language. I can confidently say that we are leagues ahead of 
 where we
 stood a just two years ago. But there has been a long cry for
 documentation that has gone unanswered: not because they refuse 
 to
 cooperate but rather, because they are a small volunteer force, 
 occupied
 by real demands to address the quirks of the language, and lack 
 the time
 to all issues by themselves.

Don't we all :(
 It stands then that the community can make a conscious effort 
 to address
 some of the outstanding issues. As such, I have chosen to 
 champion the
 tutorial/documentation effort. Though, I possess very little 
 programming
 experience but am willing to try and am hereby soliciting your
 assistance in making this a reality.

Good luck!
 dtutor.org is an active domain dedicated to providing tutorials 
 for the
 language. I will require content contributors but before we can 
 begin to
 provide content there are a couple of issues to address:

 I. Features to be supported

     Interactive Tutorials - Users must be able to modify and 
 execute
 examples in place to observe side effects.

You have DPaste to work with here (http://dpaste.dzfl.pl/), IIRC it is connected to sample code at dlang.org.
     Interactive Books - A number of free books exist around the 
 internet
 that can be ported to D. The first two that come to mind are 
 How to
 "Think Like a Computer Scientist", "Problem Solving with 
 Algorithms and
 Data Structures Using Python" and Ali Çehreli's very own 
 "Programming in D".

Videos are useful as well.
     Problems - Staged ICPC problems for users to attempt. 
 Solutions may
 be submitted online for comparison against previously submitted
 solutions to determine efficiency ranking and users may choose 
 to create
 and account to keep track of progress.

     Online Judge - to be used to determine accuracy and 
 efficiency of
 submitted solutions to problems and planned programming 
 contests.

I've had good experiences learning via stuff like that.
     Forum - Unlocked to individual users per problem after 
 solution
 accepted by Online Judge.

Rejected Software (creators of vibe) has vibenews, which I believe is quite customizable.
 II. Look and Feel

 Look and feel of the site will be largely influenced by two 
 things: The
 DConf website and this little gem which provides encouragement 
 for the
 ideas behind interactive tutorials/books:

 	Runestone (https://github.com/bnmnetp/runestone);

 I came across it while searching for ideas on how to get 
 started with
 dtutor.org and must admit: it is a fascinating little project.

It is! I have to vouch for cplusplus.com, which isn't interactive, but I was able to teach myself C++ with only that and "C++ for Dummies," so it worked for one guy.
 I am wondering if there are any Python experts (or experts in 
 general)
 out there willing to assist in porting it to D? It comes with 
 built in
 support for Python and C/C++ among other languages. However, 
 because
 dtutor.org aims to promote all things D, it would aid greatly 
 to have a
 D implementation which removes all external dependencies and 
 support
 vice implementing D support for the original project. By doing 
 this we
 can showcase the strengths of DMDScript, vibe and other 
 technology
 already available in D.

 Logo: My idea for the logo is simply this (see attachment):

 	D!(tutor).org

If your target audience is people who know little about D, this would just look odd.
 As Andrei would say: destroy!

 III. Constraints

 DMDScript for web scripting
 Vibe for hosting (diet templates)
 MangoDB for database

 IV. Timeline

 The hope is for complete functionality by DConf 2014.
 Shooting for Initial Launch by September.

 Calling all website designers, database developers, authors and 
 D
 enthusiast. Lend a hand in eliminating this problem.

Like everyone, my time is limited, but I can help a bit. Sign me up!
 Andrew

NMS
May 05 2013
parent reply "Tyro[17]" <nospam home.com> writes:
On 5/5/13 6:06 PM, Nathan M. Swan wrote:
 On Sunday, 5 May 2013 at 19:37:02 UTC, Tyro[17] wrote:
 The main contributors of D are doing a wonderful job of enhancing the
 language. I can confidently say that we are leagues ahead of where we
 stood a just two years ago. But there has been a long cry for
 documentation that has gone unanswered: not because they refuse to
 cooperate but rather, because they are a small volunteer force, occupied
 by real demands to address the quirks of the language, and lack the time
 to all issues by themselves.

Don't we all :(
 It stands then that the community can make a conscious effort to address
 some of the outstanding issues. As such, I have chosen to champion the
 tutorial/documentation effort. Though, I possess very little programming
 experience but am willing to try and am hereby soliciting your
 assistance in making this a reality.

Good luck!

Thanks.
 dtutor.org is an active domain dedicated to providing tutorials for the
 language. I will require content contributors but before we can begin to
 provide content there are a couple of issues to address:

 I. Features to be supported

     Interactive Tutorials - Users must be able to modify and execute
 examples in place to observe side effects.

You have DPaste to work with here (http://dpaste.dzfl.pl/), IIRC it is connected to sample code at dlang.org.

Indeed we do. My initial sentiments was that this should be done with DPaste but I'm now inclined to believe that Runestone is more suited for the job. Of course it will require some effort to port it to D.
     Interactive Books - A number of free books exist around the internet
 that can be ported to D. The first two that come to mind are How to
 "Think Like a Computer Scientist", "Problem Solving with Algorithms and
 Data Structures Using Python" and Ali Çehreli's very own "Programming
 in D".

Videos are useful as well.

Should be part of the tutorial/book where applicable.
     Online Judge - to be used to determine accuracy and efficiency of
 submitted solutions to problems and planned programming contests.

I've had good experiences learning via stuff like that.

Though not much, the little experience I with them was comparatively positive.
     Forum - Unlocked to individual users per problem after solution
 accepted by Online Judge.

Rejected Software (creators of vibe) has vibenews, which I believe is quite customizable.

Thanks, wasn't aware of that.
 II. Look and Feel

 Look and feel of the site will be largely influenced by two things: The
 DConf website and this little gem which provides encouragement for the
 ideas behind interactive tutorials/books:

     Runestone (https://github.com/bnmnetp/runestone);

 I came across it while searching for ideas on how to get started with
 dtutor.org and must admit: it is a fascinating little project.

It is! I have to vouch for cplusplus.com, which isn't interactive, but I was able to teach myself C++ with only that and "C++ for Dummies," so it worked for one guy.

Hope to provide a much better experience for the D community. Not to dismiss cplusplus.com (the have done a good job) but the hope is to help elevate D to its rightful place in the programming community at large. Thus, the aim to raise the bar that much higher.
 Logo: My idea for the logo is simply this (see attachment):

     D!(tutor).org

If your target audience is people who know little about D, this would just look odd.

Until they reach enlightenment... Then it all make sense!!! But you point is noted.
 Calling all website designers, database developers, authors and D
 enthusiast. Lend a hand in eliminating this problem.

Like everyone, my time is limited, but I can help a bit. Sign me up!

Every little bit counts. Thanks.
 Andrew

NMS

May 05 2013
next sibling parent reply "Tyro[17]" <nospam home.com> writes:
On 5/5/13 8:00 PM, Jonathan M Davis wrote:
 On Sunday, May 05, 2013 19:42:30 Tyro[17] wrote:
 Logo: My idea for the logo is simply this (see attachment):
      D!(tutor).org

If your target audience is people who know little about D, this would just look odd.

Until they reach enlightenment... Then it all make sense!!! But you point is noted.

And once enlightened, they'll ask why the parens were used when they're unnecessary... ;) Cute idea though. - Jonathan M Davis

Then would have been successful in creating yet another template deity. My original thought was D!"tutor"(org) but getting it to pass through Vibe correctly so I changed it. Which reminds me... how does one create a utf-8 encoded file at the shell prompt? Andrew
May 05 2013
next sibling parent "Tyro[17]" <nospam home.com> writes:
On 5/5/13 9:55 PM, Jonathan M Davis wrote:
 On Sunday, May 05, 2013 20:55:29 Tyro[17] wrote:
 Which reminds me... how does one create
 a utf-8 encoded file at the shell prompt?

You'll need to be more specific about what you're trying to do. Are you talking about from D or about running commands in the shell? And if you're talking about the shell, the answer could depend on the type of shell.

I was talking bout running opening an editor like nano and creating a text file that is UTF-8 encoded. I usually look up answers to my questions before posting but not this time. Shortly afterward I did a search on found the nano user manual which detailed the steps necessary to rebuild form source with UTF-8 enabled.
 In general, Phobos assumes that you're operating on UTF-8 files (or at least
 UTF-8 compatible files). All of the file operations using string do UTF-8. You
 have to use ubyte[] to be able to use other encodings. And we don't properly
 deal with BOM stuff right now, which we need to fix at some point.

 - Jonathan M Davis

Andrew
May 07 2013
prev sibling next sibling parent reply "Tyro[17]" <nospam home.com> writes:
On 5/6/13 12:29 AM, H. S. Teoh wrote:
 On Sun, May 05, 2013 at 08:55:29PM -0400, Tyro[17] wrote:
 [...]
 Which reminds me... how does one create a utf-8 encoded file at the
 shell prompt?

Depends.

That it does. I will need to be more specific when asking questions as Jonathan suggested.
 On Linux, most modern versions of VI and EMACS support utf-8 natively,
 it's just a matter of setting up the default settings. For bash, cat,
 grep, and friends, it's just a matter of setting up a UTF-8 locale on
 the system (or for a single user, but if you can, might as well make it
 default on the whole system). Then use a terminal like rxvt-unicode to
 actually see the characters, and setup XKB to international key
 composition to actually type Unicode characters, and you're good to go.

I use nano and was actually talking creating UTF-8 encoded files in that editor. Badly stated question. Thanks for he pointers though. I actually learned something form them.
 (Note: most modern distros should have all of the above setup by default
 already. You really only need to do it manually when upgrading from an
 older system.)

 On Windows... I have no idea. Haven't used it for anything significant
 for over a decade now. :-P

No issues there. I'm using MAC OSX and and Ubuntu
 T

Thanks, Andrew
May 07 2013
parent Jacob Carlborg <doob me.com> writes:
On 2013-05-08 00:44, Tyro[17] wrote:

 No issues there. I'm using MAC OSX and and Ubuntu

On Mac OS X just make sure you have the correct settings: Preferences -> Settings -> Advanced -> International -> Character encoding. I'm pretty sure it's UTF-8 by default. -- /Jacob Carlborg
May 07 2013
prev sibling parent "Tyro[17]" <nospam home.com> writes:
On 5/6/13 11:03 AM, Steven Schveighoffer wrote:
 On Sun, 05 May 2013 20:55:29 -0400, Tyro[17] <nospam home.com> wrote:

 Which reminds me... how does one create a utf-8 encoded file at the
 shell prompt?

All ascii files are utf-8 files. Or were you looking to do something unicode-y? -Steve

Unicode. See replies to Jonathan Davis and H. S. Teoh. Andrew
May 07 2013
prev sibling parent "Tyro[17]" <nospam home.com> writes:
On 5/5/13 8:00 PM, Jonathan M Davis wrote:
 On Sunday, May 05, 2013 19:42:30 Tyro[17] wrote:
 Logo: My idea for the logo is simply this (see attachment):
      D!(tutor).org

If your target audience is people who know little about D, this would just look odd.

Until they reach enlightenment... Then it all make sense!!! But you point is noted.

And once enlightened, they'll ask why the parens were used when they're unnecessary... ;) Cute idea though. - Jonathan M Davis

Then would have been successful in creating yet another template deity. My original thought was D!"tutor"(org) but had problems getting it to pass through Vibe correctly so I changed it. Which reminds me... how does one create a utf-8 encoded file at the shell prompt? Andrew
May 05 2013
prev sibling next sibling parent "Kirill" <bribeme gmail.com> writes:
bah, sorry for poor grammar. I forgot there is no edit or delete 
buttons

On Sunday, 5 May 2013 at 22:03:17 UTC, Kirill wrote:
 Numerical simulations content suggestion.

 Depending on time, I would like to do it at some point but just 
 in case, i'll leave it here. I think people from scientific 
 community would agree. I'm also for problem specific approach 
 that can be deconstructed into tools rather than giving people 
 tools. basically, a high school student should be able to 
 figure out everything from starting an editor to getting an eps 
 of gnuplot.

 1. sample uses on clusters mpi or new hpx. monte-carlo 
 calculation of an area of a circle.

 2. numerical recipies covers a lot of common problems in 
 science. it would be a nice guide on what to include. (giving 
 reference to the book of course). it should also be used to 
 show a correct style of programming.

 3. wolfram mathematica, matlab and sage already did a good job 
 of finding and documenting showcases of popular numerical 
 computations.

 ======================================================

 web interface:

 it would be nice to see the same tutorial for different 
 paradigms of programming -- click a button for functional or 
 for object oriented and so on. figuring out paradigms was the 
 hardest part for me in learning c++.

May 05 2013
prev sibling next sibling parent "Nathan M. Swan" <nathanmswan gmail.com> writes:
On Sunday, 5 May 2013 at 22:06:17 UTC, Nathan M. Swan wrote:
 On Sunday, 5 May 2013 at 19:37:02 UTC, Tyro[17] wrote:
 The main contributors of D are doing a wonderful job of 
 enhancing the
 language. I can confidently say that we are leagues ahead of 
 where we
 stood a just two years ago. But there has been a long cry for
 documentation that has gone unanswered: not because they 
 refuse to
 cooperate but rather, because they are a small volunteer 
 force, occupied
 by real demands to address the quirks of the language, and 
 lack the time
 to all issues by themselves.

Don't we all :(
 It stands then that the community can make a conscious effort 
 to address
 some of the outstanding issues. As such, I have chosen to 
 champion the
 tutorial/documentation effort. Though, I possess very little 
 programming
 experience but am willing to try and am hereby soliciting your
 assistance in making this a reality.

Good luck!
 dtutor.org is an active domain dedicated to providing 
 tutorials for the
 language. I will require content contributors but before we 
 can begin to
 provide content there are a couple of issues to address:

 I. Features to be supported

    Interactive Tutorials - Users must be able to modify and 
 execute
 examples in place to observe side effects.

You have DPaste to work with here (http://dpaste.dzfl.pl/), IIRC it is connected to sample code at dlang.org.
    Interactive Books - A number of free books exist around the 
 internet
 that can be ported to D. The first two that come to mind are 
 How to
 "Think Like a Computer Scientist", "Problem Solving with 
 Algorithms and
 Data Structures Using Python" and Ali Çehreli's very own 
 "Programming in D".

Videos are useful as well.
    Problems - Staged ICPC problems for users to attempt. 
 Solutions may
 be submitted online for comparison against previously submitted
 solutions to determine efficiency ranking and users may choose 
 to create
 and account to keep track of progress.

    Online Judge - to be used to determine accuracy and 
 efficiency of
 submitted solutions to problems and planned programming 
 contests.

I've had good experiences learning via stuff like that.
    Forum - Unlocked to individual users per problem after 
 solution
 accepted by Online Judge.

Rejected Software (creators of vibe) has vibenews, which I believe is quite customizable.
 II. Look and Feel

 Look and feel of the site will be largely influenced by two 
 things: The
 DConf website and this little gem which provides encouragement 
 for the
 ideas behind interactive tutorials/books:

 	Runestone (https://github.com/bnmnetp/runestone);

 I came across it while searching for ideas on how to get 
 started with
 dtutor.org and must admit: it is a fascinating little project.

It is! I have to vouch for cplusplus.com, which isn't interactive, but I was able to teach myself C++ with only that and "C++ for Dummies," so it worked for one guy.
 I am wondering if there are any Python experts (or experts in 
 general)
 out there willing to assist in porting it to D? It comes with 
 built in
 support for Python and C/C++ among other languages. However, 
 because
 dtutor.org aims to promote all things D, it would aid greatly 
 to have a
 D implementation which removes all external dependencies and 
 support
 vice implementing D support for the original project. By doing 
 this we
 can showcase the strengths of DMDScript, vibe and other 
 technology
 already available in D.

 Logo: My idea for the logo is simply this (see attachment):

 	D!(tutor).org

If your target audience is people who know little about D, this would just look odd.
 As Andrei would say: destroy!

 III. Constraints

 DMDScript for web scripting
 Vibe for hosting (diet templates)
 MangoDB for database

 IV. Timeline

 The hope is for complete functionality by DConf 2014.
 Shooting for Initial Launch by September.

 Calling all website designers, database developers, authors 
 and D
 enthusiast. Lend a hand in eliminating this problem.

Like everyone, my time is limited, but I can help a bit. Sign me up!
 Andrew

NMS

I forgot, do you have a github repo up? NMS
May 05 2013
prev sibling next sibling parent reply "Ivan Kazmenko" <gassa mail.ru> writes:
 I. Features to be supported

     Problems - Staged ICPC problems for users to attempt. 
 Solutions may
 be submitted online for comparison against previously submitted
 solutions to determine efficiency ranking and users may choose 
 to create
 and account to keep track of progress.

     Online Judge - to be used to determine accuracy and 
 efficiency of
 submitted solutions to problems and planned programming 
 contests.

You mean algorithmic contests like ACM ICPC, right? There are a few online judges supporting the D programming language which already have all other necessary infrastructure (problem archive, online judge and server itself, etc). First, there's Codeforces (http://codeforces.com). There are already hundreds of algorithmic problems in the problem archive which can be solved individually or by participating in "virtual" past contests. New contests (5 problems, 2 hour duration) are held, like, weekly. The online judge supports a number of programming languages. They recently upgraded the D compiler to the current DMD 2.062 (Windows version). Then there's Sphere Online Judge (http://spoj.pl). They support 48 programming languages, their D version is listed as GDC 4.1.3 which as I understand is pretty old (D1?). And then there is a number of mathematical and/or algorithmic online contest sites where one runs the code locally on given inputs and submits only the result. Examples of these are Project Euler (http://projecteuler.net) and Rosalind (http://rosalind.info). After you successfully solve a problem, you usually get access to a forum where people post and discuss their approaches in different programming languages, trying to show the strengths of their tools. An online judge dedicated to D seems like a fun idea at first. Still, things usually go the other way around. Much effort is put into getting an online judge up and running. It is far from trivial to constantly add good algorithmic problems. But once you have these two, adding support for a programming language is a matter of hours. Regarding programming contests, there's another flavor of them: instead of solving small math/algo problems in a limited time frame, the competitors can design or develop a small-ish software component and submit them for a formal review. The judging criteria should however be precise enough (i.e. carefully prepared by someone having a clear general picture). This could even turn into a successful business model, the presentation at http://bsr.london.edu/files/1357/who-needs-employees.pdf‎ seems to describe it in more detail. It may happen that a similar model could be adopted to some parts of D development, provided that some of the current developers will like the idea and be really willing to try it. ----- Ivan Kazmenko.
May 05 2013
parent "Tyro[17]" <nospam home.com> writes:
On 5/5/13 6:38 PM, Ivan Kazmenko wrote:
 I. Features to be supported

     Problems - Staged ICPC problems for users to attempt. Solutions may
 be submitted online for comparison against previously submitted
 solutions to determine efficiency ranking and users may choose to create
 and account to keep track of progress.

     Online Judge - to be used to determine accuracy and efficiency of
 submitted solutions to problems and planned programming contests.

You mean algorithmic contests like ACM ICPC, right? There are a few online judges supporting the D programming language which already have all other necessary infrastructure (problem archive, online judge and server itself, etc).

Yes. So is your suggestion that I leave this sort of thing to already established sites that caters specifically to these sort of contests? I would actually love to do that but my experience is sites (shootouts etc...) tend to drop coverage of D on a whim.
 First, there's Codeforces (http://codeforces.com).  There are already
 hundreds of algorithmic problems in the problem archive which can be
 solved individually or by participating in "virtual" past contests.  New
 contests (5 problems, 2 hour duration) are held, like, weekly.  The
 online judge supports a number of programming languages.  They recently
 upgraded the D compiler to the current DMD 2.062 (Windows version).

 Then there's Sphere Online Judge (http://spoj.pl).  They support 48
 programming languages, their D version is listed as GDC 4.1.3 which as I
 understand is pretty old (D1?).

Or is outdated and becomes useless to our community.
 And then there is a number of mathematical and/or algorithmic online
 contest sites where one runs the code locally on given inputs and
 submits only the result.  Examples of these are Project Euler
 (http://projecteuler.net) and Rosalind (http://rosalind.info).  After
 you successfully solve a problem, you usually get access to a forum
 where people post and discuss their approaches in different programming
 languages, trying to show the strengths of their tools.

ProjectEuler is very interesting but I haven't tried Rosalind so cannot comment there. The object of these sites however is not to teach programming (though programming is one method that can be used) but rather to uncover the solution to a given problem by whatever means necessary. I've seen solutions reached by simply loading data into Excel and performing some sorts and or inserting a couple of formulas. Not what I'm after.
 An online judge dedicated to D seems like a fun idea at first. Still,
 things usually go the other way around.  Much effort is put into getting
 an online judge up and running.  It is far from trivial to constantly
 add good algorithmic problems.  But once you have these two, adding
 support for a programming language is a matter of hours.

 Regarding programming contests, there's another flavor of them: instead
 of solving small math/algo problems in a limited time frame, the
 competitors can design or develop a small-ish software component and
 submit them for a formal review.  The judging criteria should however be
 precise enough (i.e. carefully prepared by someone having a clear
 general picture).  This could even turn into a successful business
 model, the presentation at
 http://bsr.london.edu/files/1357/who-needs-employees.pdf‎ seems to
 describe it in more detail.  It may happen that a similar model could be
 adopted to some parts of D development, provided that some of the
 current developers will like the idea and be really willing to try it.

Now there is an idea I'm willing to support. This is the sort of contests I would actually like to promote on the site for professional programmers. But timed math/algo type contests are also necessary for those in academia to hone their skills. The hope is that college students will be able to demonstrate there D programming acumen in national/international contest sponsored by yours truly
 -----

 Ivan Kazmenko.

Andrew
May 05 2013
prev sibling next sibling parent Jonathan M Davis <jmdavisProg gmx.com> writes:
On Sunday, May 05, 2013 19:42:30 Tyro[17] wrote:
 Logo: My idea for the logo is simply this (see attachment):
     D!(tutor).org

If your target audience is people who know little about D, this would just look odd.

Until they reach enlightenment... Then it all make sense!!! But you point is noted.

And once enlightened, they'll ask why the parens were used when they're unnecessary... ;) Cute idea though. - Jonathan M Davis
May 05 2013
prev sibling next sibling parent Jonathan M Davis <jmdavisProg gmx.com> writes:
On Sunday, May 05, 2013 20:55:29 Tyro[17] wrote:
 Which reminds me... how does one create
 a utf-8 encoded file at the shell prompt?

You'll need to be more specific about what you're trying to do. Are you talking about from D or about running commands in the shell? And if you're talking about the shell, the answer could depend on the type of shell. In general, Phobos assumes that you're operating on UTF-8 files (or at least UTF-8 compatible files). All of the file operations using string do UTF-8. You have to use ubyte[] to be able to use other encodings. And we don't properly deal with BOM stuff right now, which we need to fix at some point. - Jonathan M Davis
May 05 2013
prev sibling next sibling parent "Ivan Kazmenko" <gassa mail.ru> writes:
On Monday, 6 May 2013 at 00:47:22 UTC, Tyro[17] wrote:
 You mean algorithmic contests like ACM ICPC, right?  There are 
 a few
 online judges supporting the D programming language which 
 already have
 all other necessary infrastructure (problem archive, online 
 judge and
 server itself, etc).

Yes. So is your suggestion that I leave this sort of thing to already established sites that caters specifically to these sort of contests? I would actually love to do that but my experience is sites (shootouts etc...) tend to drop coverage of D on a whim.

From this perspective, yes: if you do build an online judge, supporting D as a contest language will likely be your least concern.
 First, there's Codeforces (http://codeforces.com).  There are 
 already
 hundreds of algorithmic problems in the problem archive which 
 can be
 solved individually or by participating in "virtual" past 
 contests.  New
 contests (5 problems, 2 hour duration) are held, like, weekly. 
  The
 online judge supports a number of programming languages.  They 
 recently
 upgraded the D compiler to the current DMD 2.062 (Windows 
 version).

 Then there's Sphere Online Judge (http://spoj.pl).  They 
 support 48
 programming languages, their D version is listed as GDC 4.1.3 
 which as I
 understand is pretty old (D1?).

Or is outdated and becomes useless to our community.

Well, contacting the staff sometimes helps (at least with the former example of Codeforces).
 And then there is a number of mathematical and/or algorithmic 
 online
 contest sites where one runs the code locally on given inputs 
 and
 submits only the result.  Examples of these are Project Euler
 (http://projecteuler.net) and Rosalind (http://rosalind.info). 
  After
 you successfully solve a problem, you usually get access to a 
 forum
 where people post and discuss their approaches in different 
 programming
 languages, trying to show the strengths of their tools.

ProjectEuler is very interesting but I haven't tried Rosalind so cannot comment there. The object of these sites however is not to teach programming (though programming is one method that can be used) but rather to uncover the solution to a given problem by whatever means necessary. I've seen solutions reached by simply loading data into Excel and performing some sorts and or inserting a couple of formulas. Not what I'm after.

Right, but that is the point which may be changed. For example, Rosalind is a platform for studying bioinformatics through problem solving. Each problem contains a motivational or educational part describing how the problem relates to this field of study. You are free to use any language, but some of the current problems favor Python 2. The reason is that there are mature libraries in that language, useful in bioinformatics. The consequence is that there are tutorial versions of some problems describing how to do the stuff with a particular library instead of re-inventing the wheel. Likewise, one can establish an online judge with problems covering the most basic algorithms or programming techniques. If the goal is to teach and promote D in the process, each problem statement could contain a hint for a D construct one could use to solve it efficiently. Allowing other languages to be used (e.g. requiring only the answer but not the program as ProjectEuler does) could serve for the promotion part. This way, one could solve all the problems in some other language and still not learn D. However, the problem statements will introduce its basic concepts, and the problem solutions discussion (accessible right after you solve the problem) will allow to compare that other language to D, promoting the latter when it's worth it. So, on second thought, an online judge dedicated to D could be a feasible goal.
 Regarding programming contests, there's another flavor of 
 them: instead
 of solving small math/algo problems in a limited time frame, 
 the
 competitors can design or develop a small-ish software 
 component and
 submit them for a formal review.  The judging criteria should 
 however be
 precise enough (i.e. carefully prepared by someone having a 
 clear
 general picture).  This could even turn into a successful 
 business
 model, the presentation at
 http://bsr.london.edu/files/1357/who-needs-employees.pdf‎ 
 seems to
 describe it in more detail.  It may happen that a similar 
 model could be
 adopted to some parts of D development, provided that some of 
 the
 current developers will like the idea and be really willing to 
 try it.

Now there is an idea I'm willing to support. This is the sort of contests I would actually like to promote on the site for professional programmers. But timed math/algo type contests are also necessary for those in academia to hone their skills. The hope is that college students will be able to demonstrate there D programming acumen in national/international contest sponsored by yours truly

Sure, TopCoder (the company which utilizes that business model) also runs algorithm contests alongside these design and development contests, and the number of participants in algorithm branch is much larger: the entry barrier is lower, the short time frame is comfortable, and it is generally more fun. Still, this type of contests (component) would require a considerable effort to start. ----- Ivan Kazmenko.
May 05 2013
prev sibling next sibling parent "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Sun, May 05, 2013 at 08:55:29PM -0400, Tyro[17] wrote:
[...]
 Which reminds me... how does one create a utf-8 encoded file at the
 shell prompt?

Depends. On Linux, most modern versions of VI and EMACS support utf-8 natively, it's just a matter of setting up the default settings. For bash, cat, grep, and friends, it's just a matter of setting up a UTF-8 locale on the system (or for a single user, but if you can, might as well make it default on the whole system). Then use a terminal like rxvt-unicode to actually see the characters, and setup XKB to international key composition to actually type Unicode characters, and you're good to go. (Note: most modern distros should have all of the above setup by default already. You really only need to do it manually when upgrading from an older system.) On Windows... I have no idea. Haven't used it for anything significant for over a decade now. :-P T -- "No, John. I want formats that are actually useful, rather than over-featured megaliths that address all questions by piling on ridiculous internal links in forms which are hideously over-complex." -- Simon St. Laurent on xml-dev
May 05 2013
prev sibling next sibling parent reply "Dicebot" <m.strashun gmail.com> writes:
On Sunday, 5 May 2013 at 19:37:02 UTC, Tyro[17] wrote:
 ...

Ping me if any additional application-level functionality needs to be added to vibe.d to do it in a cool way. Or if any help with vibe.d is needed and Sonke is busy ;)
May 06 2013
parent "Tyro[17]" <nospam home.com> writes:
On 5/6/13 5:19 AM, Dicebot wrote:
 On Sunday, 5 May 2013 at 19:37:02 UTC, Tyro[17] wrote:
 ...

Ping me if any additional application-level functionality needs to be added to vibe.d to do it in a cool way. Or if any help with vibe.d is needed and Sonke is busy ;)

Much appreciated. I presume I will be relying on you two the most as I work on getting things off the ground. Thanks, Andrew
May 07 2013
prev sibling next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Sun, 05 May 2013 20:55:29 -0400, Tyro[17] <nospam home.com> wrote:

 Which reminds me... how does one create a utf-8 encoded file at the  
 shell prompt?

All ascii files are utf-8 files. Or were you looking to do something unicode-y? -Steve
May 06 2013
prev sibling next sibling parent Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
 MangoDB for database

Or other databases featuring D bindings (yet to be finished).

No objections there but MongoDB and Redis are the two currently supported by Vibe.

And MySQL: - GitHub Project: https://github.com/rejectedsoftware/mysql-native/ - In DUB repo: http://registry.vibed.org/packages/mysql-native Although I wouldn't know personally, I've heard bad things about MongoDB: http://hackingdistributed.com/2013/01/29/mongo-ft/
May 06 2013
prev sibling next sibling parent "Tyro[17]" <nospam home.com> writes:
On Sunday, 5 May 2013 at 22:08:59 UTC, Nathan M. Swan wrote:
 On Sunday, 5 May 2013 at 22:06:17 UTC, Nathan M. Swan wrote:
 On Sunday, 5 May 2013 at 19:37:02 UTC, Tyro[17] wrote:


 Like everyone, my time is limited, but I can help a bit. Sign 
 me up!

 Andrew

NMS

I forgot, do you have a github repo up? NMS

GitHub repo is at https://github.com/tyro17/duststorm It's empty at the moment thought. Andrew
May 08 2013
prev sibling parent "MIke Linford" <mike.linford gmail.com> writes:
On Sunday, 5 May 2013 at 19:37:02 UTC, Tyro[17] wrote:
 The main contributors of D are doing a wonderful job of 
 enhancing the
 language. I can confidently say that we are leagues ahead of 
 where we
 stood a just two years ago. But there has been a long cry for
 documentation that has gone unanswered: not because they refuse 
 to
 cooperate but rather, because they are a small volunteer force, 
 occupied
 by real demands to address the quirks of the language, and lack 
 the time
 to all issues by themselves.

 It stands then that the community can make a conscious effort 
 to address
 some of the outstanding issues. As such, I have chosen to 
 champion the
 tutorial/documentation effort. Though, I possess very little 
 programming
 experience but am willing to try and am hereby soliciting your
 assistance in making this a reality.

 dtutor.org is an active domain dedicated to providing tutorials 
 for the
 language. I will require content contributors but before we can 
 begin to
 provide content there are a couple of issues to address:

 I. Features to be supported

     Interactive Tutorials - Users must be able to modify and 
 execute
 examples in place to observe side effects.

     Interactive Books - A number of free books exist around the 
 internet
 that can be ported to D. The first two that come to mind are 
 How to
 "Think Like a Computer Scientist", "Problem Solving with 
 Algorithms and
 Data Structures Using Python" and Ali Çehreli's very own 
 "Programming in D".

     Problems - Staged ICPC problems for users to attempt. 
 Solutions may
 be submitted online for comparison against previously submitted
 solutions to determine efficiency ranking and users may choose 
 to create
 and account to keep track of progress.

     Online Judge - to be used to determine accuracy and 
 efficiency of
 submitted solutions to problems and planned programming 
 contests.

     Forum - Unlocked to individual users per problem after 
 solution
 accepted by Online Judge.

 II. Look and Feel

 Look and feel of the site will be largely influenced by two 
 things: The
 DConf website and this little gem which provides encouragement 
 for the
 ideas behind interactive tutorials/books:

 	Runestone (https://github.com/bnmnetp/runestone);

 I came across it while searching for ideas on how to get 
 started with
 dtutor.org and must admit: it is a fascinating little project.

 I am wondering if there are any Python experts (or experts in 
 general)
 out there willing to assist in porting it to D? It comes with 
 built in
 support for Python and C/C++ among other languages. However, 
 because
 dtutor.org aims to promote all things D, it would aid greatly 
 to have a
 D implementation which removes all external dependencies and 
 support
 vice implementing D support for the original project. By doing 
 this we
 can showcase the strengths of DMDScript, vibe and other 
 technology
 already available in D.

 Logo: My idea for the logo is simply this (see attachment):

 	D!(tutor).org

 As Andrei would say: destroy!

 III. Constraints

 DMDScript for web scripting
 Vibe for hosting (diet templates)
 MangoDB for database

 IV. Timeline

 The hope is for complete functionality by DConf 2014.
 Shooting for Initial Launch by September.

 Calling all website designers, database developers, authors and 
 D
 enthusiast. Lend a hand in eliminating this problem.

 Andrew

I'm excited to see that this project is still being well-planned and enthusiastically worked on. While I don't know what my skills will allow for I'll be keeping an eye on this and hope to contribute in some capacity :-)
May 08 2013