May 06, 2013 Re: dtutor.org: a call to action | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ivan Kazmenko | 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 06, 2013 Re: dtutor.org: a call to action | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu | 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 06, 2013 Re: dtutor.org: a call to action | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jonathan M Davis | 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 06, 2013 Re: dtutor.org: a call to action | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jonathan M Davis | 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 06, 2013 Re: dtutor.org: a call to action | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tyro[17] | 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 06, 2013 Re: dtutor.org: a call to action | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tyro[17] | 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 06, 2013 Re: dtutor.org: a call to action | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tyro[17] | 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 06, 2013 Re: dtutor.org: a call to action | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tyro[17] | 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 Re: dtutor.org: a call to action | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tyro[17] | 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 Re: dtutor.org: a call to action | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tyro[17] | > >> 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/ |
Copyright © 1999-2021 by the D Language Foundation