June 17, 2013
On 6/17/13 11:48 AM, Justin Whear wrote:
> I'm mrjnewt from Reddit;  I read the newsgroups Mon-Fri and post
> infrequently.  The company I work for has been using D since 2008; we
> have quite a few important pieces written in D, including the API which
> powers our webtools, an extremely high performance economic simulation,
> and we're in the process of moving all of our backend data processes to D.

Hi Justin - that's great to hear. What version of D are you using, which compiler are you using (dmd/gcd/ldc), and what is your schedule for upgrading the compiler?


Thanks,

Andrei
June 17, 2013
On Mon, 17 Jun 2013 12:49:36 -0400, Andrei Alexandrescu wrote:

> On 6/17/13 11:48 AM, Justin Whear wrote:
>> I'm mrjnewt from Reddit;  I read the newsgroups Mon-Fri and post infrequently.  The company I work for has been using D since 2008; we have quite a few important pieces written in D, including the API which powers our webtools, an extremely high performance economic simulation, and we're in the process of moving all of our backend data processes to D.
> 
> Hi Justin - that's great to hear. What version of D are you using, which compiler are you using (dmd/gcd/ldc), and what is your schedule for upgrading the compiler?
> 
> 
> Thanks,
> 
> Andrei

Most of our projects track fairly closely with the latest DMD release;
our main projects are on 2.062 right now.  We have some fairly
substantial codebases, so there's generally a two to four week lag in
adoption of the latest release.  Each project is free to work with
whatever version they want, so we find DVM pretty handy.  Each of the
last few DMD releases has broken our latest big project, so there's
generally a day of grumbling while we figure out what needs to change,
then we forget about it.
Our developers can request whatever hardware/OS they want to work on,
with most folks on Linux or OSX and a few using Windows 7.  Most
production code is built and run on Debian servers, so we pay attention
to Linux tool support but not much else OS-specific.
June 17, 2013
On 6/17/2013 9:46 AM, Justin Whear wrote:
> That's it.  We don't seem to have a developer-oriented "about" page, but
> here's some info about us: http://www.economicmodeling.com/about-emsi/
>
> As far as hiring goes, we're interested in smart, self-guided people who
> have systems language experience.  We're at the forefront of our
> particular field, so we really need folks who can solve problems on their
> own, ask questions once, and not repeat mistakes.
>
> Out of politeness to everyone else on the newsgroup I probably shouldn't
> be engaged in too much promotion here, but feel free to email me
> privately if you're curious or are interested in sending us your resume.

Since you're hiring D developers, you're welcome to post job announcements in the D.announce n.g.

It would also be awesome if your company would do a brief writeup about their use of D and real world experience with it.

June 17, 2013
On 06/17/13 10:48, Justin Whear wrote:
> On Sun, 16 Jun 2013 17:24:59 +0200, Marco Leise wrote:
> 
>> Am Sun, 16 Jun 2013 05:10:39 +0200 schrieb "Vladimir Panteleev" <vladimir@thecybershadow.net>:
>>
>>> On Saturday, 15 June 2013 at 08:04:08 UTC, SomeDude wrote:
>>>> Should we start a page "They're using D" somewhere ?
>>>
>>> This page has been the only remaining red link on the new D wiki for a while, so I created it:
>>>
>>> http://wiki.dlang.org/Current_D_Use
>>>
>>> Feel free to add to it. However, is it OK to add companies to such a list just because one person mentioned their company was using D?
>>
>> Ask them officially first. They might see it as a win-win situation, since when programmers realize they can get real jobs in interesting fields using D, they might actually write resumes to those companies one day.
> 
> I'm mrjnewt from Reddit;  I read the newsgroups Mon-Fri and post infrequently.  The company I work for has been using D since 2008; we have quite a few important pieces written in D, including the API which powers our webtools, an extremely high performance economic simulation, and we're in the process of moving all of our backend data processes to D.
> 
Based on:

http://www.digitalmars.com/d/archives/digitalmars/D/Slow_performance_compared_to_C_ideas_199429.html

and the belief that c++ is used a lot in Quant. Finance,
at least according to:

http://www.datasimfinancial.com/

which says:

C++ is a standard in Quantitative Finance

I'm wondering why your company is using D?
Please no flame wars.  I'm pretty experienced with c++
and only dabbled with D, but I'd really like to know
if D is appropriate for intensive numerical calculations.
OTOH, maybe Justin's company does not do heavy numerics.

-regards,
Larry

June 17, 2013
On 6/17/13, Justin Whear <justin@economicmodeling.com> wrote:
> we really need folks who can solve problems on their
> own, ask questions once, and not repeat mistakes.

So basically, people who don't exist.
June 17, 2013
On Mon, 17 Jun 2013 21:12:29 +0200, Andrej Mitrovic wrote:

> On 6/17/13, Justin Whear <justin@economicmodeling.com> wrote:
>> we really need folks who can solve problems on their own, ask questions once, and not repeat mistakes.
> 
> So basically, people who don't exist.

Hah, that's the ideal.  It's not like we have some system of punishing people who screw up, we just expect people to learn from their mistakes, something which is not true of everyone.
June 17, 2013
On Mon, 17 Jun 2013 13:22:49 -0500, evansl wrote:

> On 06/17/13 10:48, Justin Whear wrote:
>> On Sun, 16 Jun 2013 17:24:59 +0200, Marco Leise wrote:
>> 
>>> Am Sun, 16 Jun 2013 05:10:39 +0200 schrieb "Vladimir Panteleev" <vladimir@thecybershadow.net>:
>>>
>>>> On Saturday, 15 June 2013 at 08:04:08 UTC, SomeDude wrote:
>>>>> Should we start a page "They're using D" somewhere ?
>>>>
>>>> This page has been the only remaining red link on the new D wiki for a while, so I created it:
>>>>
>>>> http://wiki.dlang.org/Current_D_Use
>>>>
>>>> Feel free to add to it. However, is it OK to add companies to such a list just because one person mentioned their company was using D?
>>>
>>> Ask them officially first. They might see it as a win-win situation, since when programmers realize they can get real jobs in interesting fields using D, they might actually write resumes to those companies one day.
>> 
>> I'm mrjnewt from Reddit;  I read the newsgroups Mon-Fri and post infrequently.  The company I work for has been using D since 2008; we have quite a few important pieces written in D, including the API which powers our webtools, an extremely high performance economic simulation, and we're in the process of moving all of our backend data processes to D.
>> 
> Based on:
> 
> http://www.digitalmars.com/d/archives/digitalmars/D/
Slow_performance_compared_to_C_ideas_199429.html
> 
> and the belief that c++ is used a lot in Quant. Finance,
> at least according to:
> 
> http://www.datasimfinancial.com/
> 
> which says:
> 
> C++ is a standard in Quantitative Finance
> 
> I'm wondering why your company is using D?
> Please no flame wars.  I'm pretty experienced with c++
> and only dabbled with D, but I'd really like to know if D is appropriate
> for intensive numerical calculations.
> OTOH, maybe Justin's company does not do heavy numerics.
> 
> -regards,
> Larry

We do some pretty heavy stuff, numerics-wise, though I'm not sure what scale you think in.  We have a simulation of the entire US economy (down to county and ZIP code geography, highly detailed demographics, all NAICS (industry codes), all SOC (occupation codes)) that can be perturbed via our online tool and which has response times measured in seconds.  It's written entirely in D though it leverages Intel MKL for the linear algebra.

Our US data processes are being transitioned over to D, the final product of which produces 10+ billion final data points per quarter. The dataset is largely synthesized, so there are many intermediate points.  We have a lot of custom D code for doing things like solving inconsistent hierarchical, many dimensional, highly-underdetermined systems.  We find that incorporating as much knowledge at compile time as possible tends to give very good results on the performance front.  In some places we use CTFE to generate x86 assembly to do tricksy things like avoiding branching.

In general I'd say that D's performance has been just fine;  anything that isn't fast enough is usually already done better by tried and true C libs.  And D makes calling those easy; LAPACK functions pack type and size information into their names, we make it easy to call the appropriate version by simply creating a general function for each C "overload set" that's templated on the type and number of arguments and which uses a string mixin to generate a call to the appropriate version of the C function.
June 17, 2013
On 6/17/13 3:54 PM, Justin Whear wrote:
> On Mon, 17 Jun 2013 21:12:29 +0200, Andrej Mitrovic wrote:
>
>> On 6/17/13, Justin Whear<justin@economicmodeling.com>  wrote:
>>> we really need folks who can solve problems on their own, ask questions
>>> once, and not repeat mistakes.
>>
>> So basically, people who don't exist.
>
> Hah, that's the ideal.  It's not like we have some system of punishing
> people who screw up, we just expect people to learn from their mistakes,
> something which is not true of everyone.

When interviewing I'm observant to how candidates respond to various suggestions for improving their code. Some put effort in assessing the value of the suggestion and incorporate it if they find it good, or discuss it if they don't. Some others just make it a point that they didn't make a mistake, do all they can to defend code as is, and generally are unwilling to change code (even if sometimes is severely broken). That's a red flag.


Andrei
June 17, 2013
On Mon, 17 Jun 2013 16:20:11 -0400, Andrei Alexandrescu wrote:

> On 6/17/13 3:54 PM, Justin Whear wrote:
>> On Mon, 17 Jun 2013 21:12:29 +0200, Andrej Mitrovic wrote:
>>
>>> On 6/17/13, Justin Whear<justin@economicmodeling.com>  wrote:
>>>> we really need folks who can solve problems on their own, ask questions once, and not repeat mistakes.
>>>
>>> So basically, people who don't exist.
>>
>> Hah, that's the ideal.  It's not like we have some system of punishing
>> people who screw up, we just expect people to learn from their
>> mistakes,
>> something which is not true of everyone.
> 
> When interviewing I'm observant to how candidates respond to various suggestions for improving their code. Some put effort in assessing the value of the suggestion and incorporate it if they find it good, or discuss it if they don't. Some others just make it a point that they didn't make a mistake, do all they can to defend code as is, and generally are unwilling to change code (even if sometimes is severely broken). That's a red flag.
> 
> 
> Andrei

In our case it's really that individuals are expected to own a project; we don't have a lot of external deadlines or requirements, so we can't afford to have people who require pushing.  It's great because you generally get to work on what you want and take the time to do it properly, but that freedom can only work if there's a corresponding discipline and self-motivation.
June 17, 2013
On Mon, 17 Jun 2013 12:49:36 -0400, Andrei Alexandrescu wrote:

> On 6/17/13 11:48 AM, Justin Whear wrote:
>> I'm mrjnewt from Reddit;  I read the newsgroups Mon-Fri and post infrequently.  The company I work for has been using D since 2008; we have quite a few important pieces written in D, including the API which powers our webtools, an extremely high performance economic simulation, and we're in the process of moving all of our backend data processes to D.
> 
> Hi Justin - that's great to hear. What version of D are you using, which compiler are you using (dmd/gcd/ldc), and what is your schedule for upgrading the compiler?
> 
> 
> Thanks,
> 
> Andrei

This request made me get off my rear and see what holding up adoption of 2.063 on my current project.  I've filed a regression bug here: http:// d.puremagic.com/issues/show_bug.cgi?id=10394