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

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

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

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.

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++.

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++.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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

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

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

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

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

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.

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

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.

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 :-)