Re: A New Era for the D Community

2023-05-04 Thread Ivan Kazmenko via Digitalmars-d-announce

On Wednesday, 3 May 2023 at 11:13:34 UTC, Mike Parker wrote:

...
Our enthusiasm is high, and we're ready to get going. I think 
you'll like where we're headed.


Interesting.
Good luck with the endeavor!

Ivan Kazmenko.



Re: Release D 2.100.0

2022-05-15 Thread Ivan Kazmenko via Digitalmars-d-announce

On Sunday, 15 May 2022 at 11:05:38 UTC, Martin Nowak wrote:

Glad to announce D 2.100.0, ♥ to the 41 contributors.


Congratulations on the milestone number!

Ivan Kazmenko.



Re: Release Candidate 2.097.0 [was: Re: Beta 2.097.0]

2021-05-29 Thread Ivan Kazmenko via Digitalmars-d-announce

On Saturday, 29 May 2021 at 11:00:50 UTC, Martin Nowak wrote:

On Thursday, 13 May 2021 at 13:29:55 UTC, Martin Nowak wrote:
Glad to announce the first beta for the 2.097.0 release, ♥ to 
the 54 contributors.


http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.097.0.html


Release Candidate is live now.


Some of the changelog entries look sweet!


Re: On D in competitive programming

2018-07-31 Thread Ivan Kazmenko via Digitalmars-d-announce

On Tuesday, 31 July 2018 at 00:52:22 UTC, 9il wrote:
Are competitors allowed to use mir-algorithm and mir-random? 
The libraries can be used for graphs (Tarjan algorithm), 
matrices/tensors, nd-iteration, RNGs, interpolation, and 
distributions?


Sadly, no: most of the time, language compilers on the server 
side are provided as they are out-of-the-box.  I'll try to 
explain why.


When a language is added to a competition, one of the goals for 
the organizers is to keep the whole thing fair.  Different 
languages have different pros and cons already as they are, and 
what is an implementation-heavy problem for one language is 
solved in a couple lines with another.  So, the availability of 
several programming languages already puts some burden on the 
problemsetters: at least for important competitions, they have to 
come up with problems which don't play too much into the 
strengths of any particular language, and that means knowing what 
to generally expect of all the languages.  For example, most 
problems don't rely on number crunching with integers above 64 
bits, since C++ is notoriously lacking in this regard.


This all gets a new dimension if a platform decides to supply 
additional libraries.  Once it's done for one language, there are 
no clear boundaries: if we get mir-algorithm for D, we will have 
to at least install Boost for C++, and numpy for Python, and the 
users of other languages also ask for their favourite libraries, 
which are in turn more powerful than Boost, and so on.  And it 
would take significant expertise to balance such requests so that 
no language has too much of an unfair advantage or disadvantage.  
It takes a bit of expertise too to keep the libraries in all 
languages working and up-to-date.  All the way, the 
problemsetters now have to avoid a different set of topics, 
changing with new libraries being added.


Yet another factor is that there are central competitions 
perceived as the most important, which are currently ACM ICPC 
World Finals for university teams, and their regional contests.  
Many platforms strive to act as training grounds for the 
important competitions.  So when the World Finals, which are 
understandably conservative, don't do X, it's a disincentive to 
do X for the training grounds too.


So, the default approach is to keep each language at a bare 
minimum.


It would be nice to have this feature, as mir-algorithm can be 
a good default library for competitive programming. Plus 
competitors can add additional graph algorithms.


It may still be reasonable to ask for additional libraries on the 
platforms where the focus is not some big competition: e.g., 
perhaps no for ACM ICPC archives, perhaps yes for interview 
training sites.  For a particular platform and a particular cause 
(e.g., a training course for a learning platform), it's entirely 
possible to have D with mir-algorithm installed on the platform.


Ivan Kazmenko.



Re: On D in competitive programming

2018-07-30 Thread Ivan Kazmenko via Digitalmars-d-announce
On Monday, 30 July 2018 at 19:44:32 UTC, Steven Schveighoffer 
wrote:
a lifetime ago, I competed using topcoder (and wrote a bunch of 
problem sets for them too). Topcoder had a "challenge" phase, 
where you could challenge the solutions of others.


Nice!  I just found your profile and problem sets from 2003-2004. 
 I started using TopCoder in 2005, didn't see these earlier.


Is there anything like that in codeforces, and if so, is D an 
advantage as a "somewhat obscure" language (i.e. competitors 
can't always understand your code)?


Yeah, in a way.  The challenges are called "hacks", and can 
happen for the whole duration of the contest.  But to hack 
solutions for a problem, you have to first write your own 
solution to this problem, pass preliminary tests with it, and 
lock it so you can't resubmit.  The key difference is, when the 
hacked solution itself was not locked, it still can be fixed and 
resubmitted (with a score penalty), which is actually a win-win.


As for how a different language helps, well, perhaps it does.  
But, sadly, competitive programming style often goes against 
readability, to the extent the language allows it.  In that 
regard, somewhat unexpectedly, I find other languages (e.g., Java 
or Python) more readable than C++ despite the fact that I'm less 
experienced with them.  In C++, most competitive programming code 
contains a bunch of the author's exclusive #defines for the 
language shortcomings (or worse, #defines just to save typing).  
And since #defines are so flexible, everyone has their own 
version of the language, and some of the resulting code is 
straight unreadable without a deciphering effort.


Ivan Kazmenko.



Re: On D in competitive programming

2018-07-29 Thread Ivan Kazmenko via Digitalmars-d-announce

On Sunday, 29 July 2018 at 07:51:00 UTC, Jim Balter wrote:
Actually, map!something does not drop empty parentheses, so 
mentioning that does not help. Parentheses containing 0 or 1 
arguments can be omitted ... and you omit them for 1 argument 
in 3 places, and no instances of omitted empty parentheses. And 
I think it would be less confusing to an unfamiliar reader to 
mention UFCS, because the chained calls don't fit the function 
!(args1) (args2) syntax that you mention.


While that's technically right, I'd like to skip further 
explanations of the syntax.  The same as I skipped why the 
problem is solved by such code at all (and it's even less 
obvious).  In both cases, careful explanations would require a 
good paragraph or two, but are beside the point.  The point of 
the article is more to just show how it feels and to spark 
interest than to explain everything.  On the other hand, if I had 
to write a guide for competitive programmers on how to use D, 
such things sure would be included.


Ivan Kazmenko.



Re: On D in competitive programming

2018-07-28 Thread Ivan Kazmenko via Digitalmars-d-announce

Thanks for the feedback!

On Saturday, 28 July 2018 at 20:33:14 UTC, Cym13 wrote:
1. Your real name isn't written in the article so the link 
"with some successes" won't tell much to someone that doesn't 
already know you


Hmm, didn't think of it.  I phrased it differently now.

In my experience, the participants' nicknames in competitive 
programming are mostly tightly coupled with real names, and 
otherwise, the blog author's profile is one familiar click away.  
So for a local Codeforces reader, that hopefully wasn't a problem 
anyway.


2. When you briefly explain templates I think it's important to 
mention that empty parentheses may be omitted to allow the 
reader to make the link between function!(arg1)(arg2) and 
map!something. Explaining UFCS isn't necessary there though I 
think since it's obvious that there is some kind of chaining at 
play (not that you did, just thinking out loud).


Yeah, good point, mentioned it now.

Also I have a question: I find very nice that some platforms 
propose D even though not all do, but are they generally 
keeping it up to date with DMD or stuck at something ancient?


It varies depending on the platform.  A few examples:

codeforces.com just recently upgraded from DMD 2.074 to DMD 2.079 
(so I could show the compile-time writefln in the post);


atcoder.jp is at DMD 2.070 but also has LDC 0.17.0 and GDC 4.9.4;

codechef.com has some ancient GDC, barely usable;

hackerearth.com has DMD 2.074.1;

csacademy.com (Romanian competitive programming website) does not 
yet have D, but I hope they add it in a few months;


hackerrank.com claims to have DMD 2.079, but recently stopped 
supporting it in live contests because of a paradigm shift.  
Namely, they now strive to supply the reading-from-file solution 
template for each problem, and apparently didn't get to writing 
it in all 35 languages they generally have.  I offered my help, 
but the support was kind of unresponsive, so seeking another 
point of contact now.


Generally, it seems to correlate with the health of the 
platform's backend.


In my code in competitions, I tend to now use features around 
2.070 so that they are mostly supported.


Ivan Kazmenko.



On D in competitive programming

2018-07-28 Thread Ivan Kazmenko via Digitalmars-d-announce

Hey,

I wrote a post with my general reflections on using D in 
competitive programming.
Mostly compared to C++, since that's what more than 90% of people 
use for it.
The post is tailored to cover only the competitive programming 
specifics.


http://codeforces.com/blog/entry/60890
(en+ru, the language switch is at the top)

Ivan Kazmenko.



Re: Seeking lecturer - D language (Moscow)

2018-03-15 Thread Ivan Kazmenko via Digitalmars-d-announce
On Wednesday, 14 March 2018 at 11:38:20 UTC, Dmitry Olshansky 
wrote:
At the moment it’s a bit early stage but we are looking for 
enthusiast who has spare time and desire to spread the 
knowledge of D supremacy among students. The course will 
replace an equivalent of 1 year C++ course, but may start as 
half-year proof of concept.


Sounds nice!  Unfortunately, I won't be able to help in Moscow, 
but if the idea ever spreads to St. Petersburg, I'd definitely 
consider that.  Which university it is now, by the way?


I've been exploring the possibility to use D in teaching at my 
uni (St. Petersburg State University), but didn't push it much, 
and got no result so far.


Ivan Kazmenko.



Re: run.dlang.io - a modern way to run D code

2017-12-14 Thread Ivan Kazmenko via Digitalmars-d-announce

On Thursday, 14 December 2017 at 01:52:29 UTC, H. S. Teoh wrote:

...
This can, of course, be bound to a custom keybinding, then 
you'll have your one-stop shop for compiling D snippets without 
ever seeing (much less typing) any temporary filenames. And 
without needing an internet connection.


That sounds powerful!
Like you said, instant win.



Re: Russian AI Cup 2017 - D language support

2017-11-18 Thread Ivan Kazmenko via Digitalmars-d-announce
On Friday, 17 November 2017 at 22:54:47 UTC, Steven Schveighoffer 
wrote:
Cool! Is there any history of people using D in the past for 
this competition?


A few people used D each year it had support, to various success.
The highest so far, I think, is Vladislav Isenbaev in 2013.
He got 11-th place in the finals:
http://2013.russianaicup.ru/contest/4/standings



Russian AI Cup 2017 - D language support

2017-11-17 Thread Ivan Kazmenko via Digitalmars-d-announce

Hi!

Russian AI Cup (http://russianaicup.ru) is an annual online AI 
programming competition by Mail.Ru Group.  This year, the task is 
to write a bot which plays a real-time strategy against other 
programmer's bots.  The competition runs from November 13 to 
December 24, 2017, and the first elimination round starts on 
November 24.


Traditionally, several programming languages are supported by 
contest authors, and a few other with some help from the 
community.  I added support for D this year (again), the language 
pack and example bot can be found here:


https://github.com/GassaFM/raicup-2017-dlang-cgdk-en

So, if you'd like to give it a try: good luck and have fun!

Ivan Kazmenko.



Re: D now available on Codefights.com

2017-06-14 Thread Ivan Kazmenko via Digitalmars-d-announce

On Wednesday, 14 June 2017 at 08:32:43 UTC, Dsby wrote:

On Wednesday, 14 June 2017 at 01:17:12 UTC, Ivan Kazmenko wrote:

Hey,

The site https://codefights.com is a place to test and improve 
your programming skills.  The challenges include 
interview-type problems, shortest code contests, duels with 
other coders, monthly tournaments, and more.  If you perform 
well, you can opt in to get connected with partner companies 
for job opportunities.


[...]


How can I  comment other Code?


Currently, there are comments for problems and contests.  But for 
individual solutions, the only feedback possible right now is 
thumbs-up (in the upper right corner).  However, you can suggest 
this feature on the forum :) .




D now available on Codefights.com

2017-06-13 Thread Ivan Kazmenko via Digitalmars-d-announce

Hey,

The site https://codefights.com is a place to test and improve 
your programming skills.  The challenges include interview-type 
problems, shortest code contests, duels with other coders, 
monthly tournaments, and more.  If you perform well, you can opt 
in to get connected with partner companies for job opportunities.


Among available languages, there are C++, C#, Go, Java, Python, 
Ruby, Swift, and others.  A few days ago, D was added to this 
list.


After a problem is solved or a contest is over, others' solutions 
in all languages can be seen.  To me, the major appeal of the 
site is that many of the problems are easy.  So they take only a 
few minutes to solve, and the others' solutions are short and 
readable, often showcasing different approaches and language 
features.


If you got interested, go give it a try!

Ivan Kazmenko.



Re: Release D 2.074.0

2017-04-10 Thread Ivan Kazmenko via Digitalmars-d-announce

On Monday, 10 April 2017 at 20:09:40 UTC, Martin Nowak wrote:

Glad to announce D 2.074.0.
[...]
http://dlang.org/download.html 
http://dlang.org/changelog/2.074.0.html


Thank you for producing the releases!

I noticed that the backend license in this release (at least the 
Windows .7z version) is still the same, as well as the 
license.txt file at its root.  Is it that there was simply not 
enough time to reflect the recent changes?  And after the changes 
are incorporated, do you plan to alter the license texts in the 
previous releases as well?


Ivan Kazmenko.



Russian AI Cup 2016

2016-11-18 Thread Ivan Kazmenko via Digitalmars-d-announce

Hi.

Russian AI Cup 2016: CodeWizards is an annual online competition 
organized by Mail.Ru Group.  This year's task is to write a bot 
for a simple DOTA-like game.  The competition is open for 
international participation: starting this year, there is an 
English translation for everything (it may be rough at the edges 
though, for example, some pages may still use Russian by default, 
but the English version is also there).  Public beta started on 
November 6, and the competition end is on December 25.


The languages supported out-of-the-box are C++, C#, Java, Pascal, 
Python (2/3), and Ruby.  However, the participants may translate 
the language-specific development package into other languages 
and contact the admins to enable their use on the site.  
Currently, the support for D, Go, and JavaScript are added this 
way (official announcement coming soon).


My relationship with the competition is working on the D language 
package.  I hope to take part, too.


Links for the interested:

Competition site: http://russianaicup.ru/
Quick start page: http://russianaicup.ru/p/quick
Language package (English): 
https://github.com/GassaFM/raicup-2016-dlang-cgdk-en
Language package (Russian): 
https://github.com/GassaFM/raicup-2016-dlang-cgdk-ru


Ivan Kazmenko.



Re: Damage Control: An homage to Rampart (Alpha)

2016-01-05 Thread Ivan Kazmenko via Digitalmars-d-announce

On Monday, 4 January 2016 at 02:34:37 UTC, rcorre wrote:

On Sunday, 3 January 2016 at 19:53:25 UTC, Ivan Kazmenko wrote:


"If, at the end of a round, you have no territory, you are 
defeated."


I'm almost sure this is currently not true for the last round: 
the "completed" message showed up for me instead of "defeated".


Huh, I couldn't repro that. Maybe you had some territory you 
didn't notice?
Right now even having a single tile enclosed counts -- which 
actually may be too lenient.


Its also possible there's a bug in the detection of enclosed 
areas.


Hmm, I get it now.  I have a piece of territory but no reactor.

http://acm.math.spbu.ru/~gassa/temp/damage-control-01.png
http://acm.math.spbu.ru/~gassa/temp/damage-control-02.png

Strange requirement anyway :) .


Re: Damage Control: An homage to Rampart (Alpha)

2016-01-03 Thread Ivan Kazmenko via Digitalmars-d-announce

On Sunday, 3 January 2016 at 17:09:08 UTC, rcorre wrote:
I added some instructions on the readme: 
https://github.com/rcorre/damage_control#how-to-play


"If, at the end of a round, you have no territory, you are 
defeated."


I'm almost sure this is currently not true for the last round: 
the "completed" message showed up for me instead of "defeated".




Re: Damage Control: An homage to Rampart (Alpha)

2016-01-01 Thread Ivan Kazmenko via Digitalmars-d-announce

On Friday, 1 January 2016 at 13:15:02 UTC, MrSmith wrote:

On Thursday, 31 December 2015 at 16:43:53 UTC, rcorre wrote:
"Damage Control" is a game inspired by one of my old favorite 
SNES games, Rampart (ok, technically an arcade game, but I had 
it on SNES).


[...]


For me window is not shown. Windows 7 64bit. I see console and 
graphics windows in taskbar, but no actual window on the 
screen. Used release v0.2.


Hmm, mine is Win2008 R2 64-bit (version 6.1.7601) which is 
essentially the same major.minor version 6.1 as Windows 7 
according to the table: 
https://msdn.microsoft.com/en-us/library/windows/desktop/ms724832%28v=vs.85%29.aspx


Re: Damage Control: An homage to Rampart (Alpha)

2015-12-31 Thread Ivan Kazmenko via Digitalmars-d-announce

On Thursday, 31 December 2015 at 16:43:53 UTC, rcorre wrote:
"Damage Control" is a game inspired by one of my old favorite 
SNES games, Rampart (ok, technically an arcade game, but I had 
it on SNES).


The project is on Github: 
https://github.com/rcorre/damage_control


Its very incomplete, but if you don't mind spending a few 
minutes trying it out I'd really appreciate it.
You can grab a binary from the Github releases page  or try to 
build it yourself. The content building is a bit involved, but 
if you just want to build the source you can copy the content 
folder from a release package.


It is made with Allegro using the DAllegro bindings. The linux 
build is statically linked to Allegro so you shouldn't to 
install it, but the rest of the dependencies are shared. Let me 
know if any are problematic.


The Windows build just comes packaged with a few dlls, 
including allegro-monolith.


Any feedback is appreciated -- either drop a comment here or 
file an issue on Github.


It will write save data and settings to 
"~/.config/damage_control" or "%APPDATA%\local\damage_control". 
You can change this using the --savedir flag.


There's no included tutorial as I'm hoping the gameplay will be 
pretty self-evident (let me know if it isn't!).


Nice to see someone use D + Allegro for a game.  Did that too but 
have made only few Speedhack-level pieces from scratch so far.


The windows binary works for me, at least for the few minutes I 
had to try it.


The game flow is not obvious in multiple respects:
1. Shoot: why only six bullets?
2. Rebuild: huh, what's the plan?
3. If the base is not completely enclosed by walls after rebuild, 
the game ends, giving a ?!?!? impression.  Took me a few attempts 
to guess the requirement to proceed.


Crashed it :) with S-S-J-J-J-Esc pressed at start (controls -> 
keyboard -> make an action with an unassigned key and press Esc).


Thanks for sharing!



Re: Release D 2.068.0

2015-08-10 Thread Ivan Kazmenko via Digitalmars-d-announce

On Monday, 10 August 2015 at 08:48:52 UTC, Martin Nowak wrote:

Glad to announce D 2.068.0.

http://downloads.dlang.org/releases/2.x/2.068.0/

This release comes with many rangified phobos functions, 2 new 
GC profilers, a new AA implementation, and countless further 
improvements and fixes.


See the changelog for more details. 
http://dlang.org/changelog.html#2.068.0


-Martin


Congratulations!

On a side note, you guys are fast in fixing regressions I happen 
to stumble upon and report.  Thank you for quick responses!


Ivan Kazmenko.