Re: Somewhat off-topic: Nemiver

2015-02-12 Thread uri via Digitalmars-d

On Friday, 13 February 2015 at 07:42:41 UTC, weaselcat wrote:
On Thursday, 12 February 2015 at 23:18:29 UTC, Brian Schott 
wrote:
I've been looking for a graphical front-end for GDB that's not 
terrible, and I've found that Nemiver works pretty well. It's 
worth trying out if you're on Linux.


https://wiki.gnome.org/Apps/Nemiver/Features


Nemiver works perfectly with D, is dead simple to use, and is 
probably one of the best debuggers(frontend, anyways) around 
IMO.



I was using Nemiver because it just worked really well with D.

Another great GDB frontend, especially for vim users is CGDB.

Cheers,
uri


Re: Should we remove int[$] before 2.067?

2015-02-01 Thread uri via Digitalmars-d
On Sunday, 1 February 2015 at 15:36:04 UTC, Andrei Alexandrescu 
wrote:

On 2/1/15 2:00 AM, uri wrote:

On Sunday, 1 February 2015 at 09:46:45 UTC, eles wrote:



Whatever, anyway.


Translation of that being:

"Boring pedestrian issues like simple string logging are 
bikeshedded
for YEARS, yet PhD-level esoteric stuff makes it into phobos 
with

relative ease."

https://github.com/klamonte/cycle/blob/master/docs/no_more_d.md

cautios and determination, isn't? or, revolutionary and 
conservative,

how I did put it...


+1

At least decisions are finally being made on several fronts 
recently

though.

W.r.t this feature, I was personally looking forward to it ... 
guess
I'll stick with the Octave/R/Python "troika" for rapid 
protoyping

numerical analysis code.


Which feature are you referring to? -- Andrei


int[$] a=[1,2,3];

The syntax sugar helps when prototyping ideas, which is why R and 
Octave (MATLAB) are so useful. I have reservations about this:


auto a=[1,2,3].s

Because the type is hidden from the programmer... For my use case 
(prototyping code) it's a don't care but in production code it 
might be a problem, as others have pointed out already. I 
actually use this trick already in my own code for malloc'd 
arrays to avoid the GC and add sugar to toStringz.


All in all it is great to see some decisions been made. I think 
it will help shut down bike shedding and get D moving forward at 
a faster rate.


Cheers uri


Re: Should we remove int[$] before 2.067?

2015-02-01 Thread uri via Digitalmars-d

On Sunday, 1 February 2015 at 09:46:45 UTC, eles wrote:



Whatever, anyway.


Translation of that being:

"Boring pedestrian issues like simple string logging are 
bikeshedded for YEARS, yet PhD-level esoteric stuff makes it 
into phobos with relative ease."


https://github.com/klamonte/cycle/blob/master/docs/no_more_d.md

cautios and determination, isn't? or, revolutionary and 
conservative, how I did put it...


+1

At least decisions are finally being made on several fronts 
recently though.


W.r.t this feature, I was personally looking forward to it ... 
guess I'll stick with the Octave/R/Python "troika" for rapid 
protoyping numerical analysis code.












Re: accept @pure @nothrow @return attributes

2015-01-26 Thread uri via Digitalmars-d
On Tuesday, 27 January 2015 at 04:10:24 UTC, Andrei Alexandrescu 
wrote:

On 1/26/15 7:25 PM, Zach the Mystic wrote:
On Tuesday, 27 January 2015 at 02:40:16 UTC, Walter Bright 
wrote:

On 1/26/2015 6:15 PM, Zach the Mystic wrote:
What's keeping you from committing to 'dfix' as the way to 
solve

issues like the
one in this thread?


Inertia of people being reluctant to use it. It's still work 
for

people to use, it's not part of their build process.


What about compiler integration? I'm talking about fundamental 
language
changes. Why would people use it if it didn't have official 
backing and

wasn't part of the compiler package? In this post:

http://forum.dlang.org/post/uimpnhiweuitnnbeq...@forum.dlang.org

... I said: 'For example, let's say dfix is included with the 
compiler

package.
Now you get an error, saying: "Error: `@nogc` is no longer
accepted, but can be automatically replaced with `nogc`. Run 
dfix
on this file? (y/n)"... or whatever is deemed the secure 
approach

to this feature.'

That's what I mean by "commiting to dfix."


I'm ready to commit to dfix. Problem is many of the changes 
suggested are unlikely to mark much improvement, while miring 
us in the perpetual illusion of making progress. The fact that 
we can avail ourselves of a tactical tool that makes changes 
easy is helpful but also opens opportunity of abuse.


Let's stop shuffling the deck. I mean it. Stop shuffling the 
freaking deck. Fix the real issues in the language. Add new 
libraries. Be original. Be creative. Do real work.



Thanks,

Andrei


Well said.

I've been wavering for a few months between D and Python for 
teams on smaller internal projects. IMO this is the right 
attitude from core D devs to finish off D2.


Cheers,
uri


Re: One area where D has the edge

2015-01-26 Thread uri via Digitalmars-d

On Monday, 26 January 2015 at 22:53:15 UTC, Paulo Pinto wrote:

On Monday, 26 January 2015 at 22:12:24 UTC, Laeeth Isharc wrote:

" If Java consumes 15% more power doing it, does
it matter on a PC? Most people don't dare. Does it matter 
for small-scale server environments? Maybe not. Does it 
matter when you deploy Hadoop on a 10,000 node cluster, and 
the holistic inefficiency (multiple things running 
concurrently) goes to 30%? Ask the people who sign the 
checks for the power bill. Unfortunately, inefficiency 
scales really well.


No, Java does not consume 15% doing it, because there isn't 
just one implementation of Java compilers.


Most comercial JVMs do offer the capability of ahead of time 
native code compilation or JIT caches.


So when those 15% really matter, enterprises do shell out the 
money for such JVMs.


Oracle commercial JVM and the OpenJDK are just the reference 
implementation.


Thanks for the colour.  (For clarity, the content from the 
link wasn't by me, and I meant the general gist rather than 
the details).  How do commercial JVMs rate in terms of memory 
usage against thoughtful native (D) code implementations?  Is 
the basic point mistaken?



So far I just dabbled in D, because our customers choose the 
platforms, not we.


However, these are the kind of tools you get to analyse 
performance in commercial JVMs,


http://www.oracle.com/technetwork/java/javaseproducts/mission-control/java-mission-control-1998576.html

http://www.oracle.com/technetwork/server-storage/solarisstudio/features/performance-analyzer-2292312.html

Just providing the examples from Oracle, other vendors have 
similar tools.


With them, you can drill down the whole JVM and interactions at 
the OS level and find performance bottlecks all the way down to 
generated Assembly code.



As for memory usage, Atego JVMs run in quite memory constrained 
devices.


Here is the tiniest of them, 
http://www.atego.com/products/atego-perc-ultra/


--
Paulo


There was also this one from 1998 that was very small

http://www.javaworld.com/article/2076641/learn-java/an-introduction-to-the-java-ring.html

Java has some history running on small devices.

Cheers,
uri



Re: accept @pure @nothrow @return attributes

2015-01-26 Thread uri via Digitalmars-d

On Tuesday, 27 January 2015 at 01:32:23 UTC, Mike wrote:

On Monday, 26 January 2015 at 19:51:08 UTC, Walter Bright wrote:

On 1/26/2015 3:39 AM, Jonathan M Davis via Digitalmars-d wrote:

Personally, I'd much prefer that we not make this change.


It's good to have this discussion.

Previously, it's all been advocacy and "break my code" by 
forcing a change from pure => @pure.


Yes, please! (at least about the "break my code" part)



Just a few days ago on slashdot, an anonymous D user wrote:

 "A horrible mix of keywords and annotation syntax for 
function/method
 attributes ('const', 'pure', and 'nothrow' are all keywords, 
but

 '@property', and '@nogc' are annotations)"

for why he won't use D anymore.


Not a deal-breaker for me, but I agree with the sentiment, and 
I think it makes for a more professional language if such 
inconsistencies are addressed.




Frankly, I think that is a great bikeshedding non-issue that 
distracts us from what is important.


Yes, there is no correlation between what's important, and what 
people choose to work on, because there is no consensus on 
what's important, and if there is it's usually beyond the 
ability of most contributors, so it doesn't get worked on 
anyway.  Personally, I find small changes like this welcome 
because they make for a more polished experience.


I hope that by doing this PR, we can actually decide that it 
isn't worth it, i.e. I'd be happy to get consensus and revert 
it.


A dangerous precedent.  I suspect the push-back against this 
change has probably ruined any chance of further polishing the 
language.


From: https://issues.dlang.org/show_bug.cgi?id=13388#c27
***
I really think that we've passed the point where it's worth 
fixing it.


NO This attitude is the biggest problem D has.
Please, watch Scott Meyer's talk again. "Most D code is yet to 
be written".

The future benefits of fixing this kind of crap, are huge.
***

In fact, it is the attitude against change that has put me on 
the fence about D, when I was quite an advocate about a year 
ago.  It has also made me reluctant to put forth the necessary 
effort to study and make any significant contributions because 
the controversy, as exhibited here, would likely erase my 
entire investment.  Instead, I have begun exploring other 
options while keeping one foot on the raft.


I agree that, in general, D should take a more disciplined 
approach to development, but keep in mind that if contributors 
have to go through too much controversy and bureaucracy we're 
not going to see much change (perhaps that's what some want).


I feel for Walter.  He's damned if he does and damned if he 
doesn't.  Somehow, this herd of cats need to figure out where 
it wants to go, and I need to figure out whether to go all in 
or jump ship.


Mike


+1 to all of this as it mirrors exactly how I feel about D at 
this point in time.


I get the impression it will never be finished because too many 
are afraid of important breaking changes that seem necessary to 
get through the last 5%-10% of D2.


Cheers,
uri


Re: An idea for commercial support for D

2015-01-07 Thread uri via Digitalmars-d
On Wednesday, 7 January 2015 at 02:16:47 UTC, Joseph Rushton 
Wakeling via Digitalmars-d wrote:

On 06/01/15 23:32, uri via Digitalmars-d wrote:
The dmd backend is not under an OSS license, why haven't they 
left?  I suspect
there are not very many of the type of people you're talking 
about in the D

community.


It's possible that you're right but I don't see it happening. 
The backend
doesn't provide any benefit to GDC and LDC and Walter has a 
very good reason for

closing the backend sources which is understood by all.


Small point: the DMD backend may not be released under a free 
software license, but it is not closed -- the source is 
available, development happens in the open, and in a de facto 
(rather than de jure) sense there is little to distinguish from 
an open source project.  The licensing situation is obviously 
unfortunate, but it makes little practical difference 
considering that the vast majority of D language development is 
in the freely-licensed frontend, runtime or standard library, 
and there are two excellent free backends available.


This is a pretty good example of what I have referred to 
elsewhere in this thread, about the contextual nature of 
objections to "non-free".


Thanks for the correction, and a very important one at that in 
the context of this thread. I wasn't aware the backend was open 
source.


Cheers,
uri


Re: An idea for commercial support for D

2015-01-06 Thread uri via Digitalmars-d

On Tuesday, 6 January 2015 at 13:34:59 UTC, Joakim wrote:

Before you make such claims, you should probably think about 
them a little bit first.  Please tell me one company that does 
not buy outside commercial software which they then use to 
build their own products.  Some companies will want to cherry 
pick features, others will just buy an accumulated patchset 
against the point release from many devs.  The suggestion that 
all companies will have to spend a great deal of time picking 
what patches they want is just silly.


To me it doesn't make sense for a company to cherry pick compiler 
patches. The model you propose may work for applications where 
there is a clean distinction between user needs and wants but in 
a compiler you generally need all the features to work 
effectively and produce reasonable code. The optimizer may be a 
different story so perhaps that aspect of compilation could be 
split.


Besides splitting the compiler will result in a maintenance 
headache. Missing features in the compiler will not result in 
subset-D and complete-D but half-baked-nearly-working-D and 
working-D, if you're lucky.




This means A and B can't make any money off their patches, so 
they have to get some other job. That means they only have time 
to work on M and X on the occasional weekend and each of those 
patches takes six months to finish.  You are obviously okay 
with that glacial pace as long as you get their work for free, 
but others are willing to pay to get the pace of D development 
sped up.


This is only true if all patches are equally priced. Otherwise it 
breaks down and has been proven mathematically.



Glad you brought this up, there are several possibilities.  
Many users would probably just buy all the closed patches 
against a point release, so there is no question of splitting 
features.  But a handful of paying customers may be more 
adventurous, or cheap, ;) and choose to only buy a custom build 
with their needed features X,Y,Z.  This probably wouldn't 
happen right away, as it will take more time to setup a build 
process to support it, but supporting custom builds like that 
is definitely worthwhile.


OK, but the D devs still need to split the release between paid 
patches and non-paid patches. This is non-trivial in a compiler 
and adds additional work for the volunteers. Companies won't pay 
for the split because it isn't value adding for them so it will 
fall on the volunteers.


To begin with, D is not a GPL project, so why would they 
release them under the GPL?


So we wait some time period for the patch to be released.

As stated earlier, the patches would need to be funded up to 
some monetary and time limits before they would be released 
back to the OSS project.  So party A might contract with their 
paying customers that they'll release patches X,Y,Z once they 
accumulate $5k in payments from all the customers who buy those 
patches, plus a six month delay after that.  If they don't make 
$5k for a long time, the patches won't be released for a long 
time.


Then I think most OSS users would move on to another language. 
There is no point working with a compiler that is half-baked 
unless you pay for it. This is an issue because it's the OSS 
community that provides ongoing maintenance to the paid for 
patches. If OSS isn't there anymore then Digital Mars needs to 
start charging maintenance costs to upkeep the codebase. I don't 
think that will work, but it's only my opinion.


Why does anyone pay for software now?  It doesn't much matter 
to a paying customer that the feature will probably be free in 
a year or two if they need to use it to make money _now_.


But that's assuming an entity needs D to make money now. They 
don't because we have C++, Java, C# already. Why not just use one 
of those more mature languages?




As for people leaving because somebody else has developed a 
proprietary feature for D and not given it to them for free, 
companies like Sociomantic have already developed such features 
and they haven't been integrated upstream, why haven't "most" 
left already?


The features from Sociomantic features are all D1 and also there 
are devs from Sociomantic are trying to get features released 
upstream. Sociomantic isn't the blocker it's integrating the 
features into D2.



The dmd backend is not under an OSS license, why haven't they 
left?  I suspect there are not very many of the type of people 
you're talking about in the D community.


It's possible that you're right but I don't see it happening. The 
backend doesn't provide any benefit to GDC and LDC and Walter has 
a very good reason for closing the backend sources which is 
understood by all.


Maybe a handful of FOSS zealots would leave, but the resulting 
commercially supported D would be so much better, they'd be 
swamped by the new people coming on board. :)


We'll see :)

Cheers,
uri


Re: An idea for commercial support for D

2015-01-06 Thread uri via Digitalmars-d

Hi,

Your business model is flawed for a number of reasons. Firstly, 
companies make money from their own products, not paying staff to 
figure out which bug fixes/features to cherry pick for the tool 
chain.


Secondly, no one makes money by locking out others when they 
themselves can be locked out in the same manner. This is 
basically what your model seems to boil down to.


Party 'A' provides patches X,Y,Z in the compiler and others have 
to pay for them. Party 'B' provides patches M,N,O and similarly, 
others pay for them.  Now party A does not benefit from M,N,O 
unless they pay for it and party B does not benefit from X,Y,Z 
unless they pay for it. So no one wins.


So the best solution is A and B both open their patches and both 
benefit from all contributions.


Thirdly, how can one separate the features? For example, say I'm 
willing to pay for features X,Y,Z but not M,N,O. How do the D 
devs split the features out so I only get M,N,O? Separate and 
special builds for each paying customer?


Fourthly, what about the OSS people using D?  Are the X,Y,Z and 
M,N,O features released GPL so they can benefit immediately or do 
they wait 6 months?


If it's 6 months why would anyone pay for the features? If it's 
longer than 6 months, or even if its GPL I think most will 
abandon D and go to Nim or Rust.



Cheers,
uri


Re: Worst Phobos documentation evar!

2014-12-28 Thread uri via Digitalmars-d
On Sunday, 28 December 2014 at 15:57:39 UTC, Ary Borenszweig 
wrote:


After programming in Ruby for a long time (and I think in 
Python it's the same) I came to the conclusion that all the 
sections (Return, Params, Example) just make writing the 
documentation a harder task. For example:


~~~
/*
 * Returns a lowered-case version of a string.
 *
 * Params:
 *   - x: the string to be lowered case
 * Return: the string in lower cases
 */
string lowercase(string x)
~~~

It's kind of redundant. True, there might be something more to 
say about the parameters or the return value, but if you are 
reading the documentation then you might as well read a whole 
paragraph explaining everything about it.


-1

Most of the time I know what the function does but I need the 
docs for the parameters and types.




For example, this is the documentation for the String#downcase 
method in Ruby:


~~~
def downcase(str)

Returns a copy of `str` with all uppercase letters replaced 
with their lowercase counterparts. The operation is locale 
insensitive—only characters “A” to “Z” are affected. Note: case 
replacement is effective only in ASCII region.


"hEllO".downcase   #=> "hello"
~~~

Note how the documentation directly mentions the parameters. 
There's also an example snippet there, that is denoted by 
indenting code (similar to Markdown).


Again, I don't want to wade through a wall of text just to get 
the parameter types or what a function returns. The signature 
itself is too noise IMO so explicit Return & Param sections are 
preferable IMO.



I'd also like to see TemplateParms: or TemplateTraits:, as others 
have already mentioned.




I think it would be much better to use Markdown for the 
documentation, as it is so popular and easy to read (although 
not that easy to parse).


DDoc is not hard to read or write so Markdown would be wasted 
effort. If DDoc generated Markdown that might be useful for the 
WIKI.




Then it would be awesome if the documentation could be smarter, 
providing semi-automatic links. For example writing 
"#string.join" would create a link to that function in that 
module (the $(XREF ...) is very noisy and verbose).


+1 I agree links to functions would be much simpler with a #tag.

Cheers,
uri






Re: Rectangular multidimensional arrays for D

2014-12-22 Thread uri via Digitalmars-d

On Tuesday, 23 December 2014 at 03:11:20 UTC, Laeeth Isharc wrote:

On Monday, 22 December 2014 at 22:46:57 UTC, aldanor wrote:
On Monday, 22 December 2014 at 22:36:16 UTC, H. S. Teoh via 
Digitalmars-d wrote:
FYI, Kenji's merge has since been merged. So now the stage is 
set for

somebody to step up and write a nice multidimensional array
implementation.


One important thing to wish for, in my opinion, is that the 
design of such implementation would allow for (future 
potential) integration with linear algebra libraries like 
blas/lapack without having to be rewritten from scratch (e.g. 
so it doesn't end up like Python's array module which got 
completely superceded by numpy).


You mean especially for sparse matrices ?  What is it that 
needs to be borne in mind for regular matrices ?


The layout in lapck/blas is column major so it can be handy using 
a wrapper around arrays to provide the FORTRAN indexing.


Also you need to pass the .ptr property of the array or &a[0]. D 
arrays are fat and include their length.


Cheers,
uri


Re: Lost a new commercial user this week :(

2014-12-19 Thread uri via Digitalmars-d
On Friday, 19 December 2014 at 12:53:32 UTC, Tobias Pankrath 
wrote:

On Friday, 19 December 2014 at 12:44:26 UTC, Kiith-Sa wrote:
On Friday, 19 December 2014 at 09:13:07 UTC, Walter Bright 
wrote:

On 12/18/2014 2:24 AM, Manu via Digitalmars-d wrote:
Docs need to have examples which are plain and obvious, and 
the

language will be absorbed by osmosis.


I agree. Can you point to specific cases that need an example?


If it doesn't have an example, it needs an example, no matter 
how trivial it is. That's a good place to start. Of course, 
then there are lazy examples that don't really help in real 
use. These need to be identified and rewritten.


• If you look up how to do $x in the documentation and it is 
takes you time to figure that out, consider to add an example 
for $x to the documentation.


• If you answer/ask a question in D.learn on how to do $x, 
consider to add an example for $x to the documentation.


This way we should build up exactly those examples that are 
useful.


+1

No different to adding unit tests where possible for each 
reported bug.


Re: Lost a new commercial user this week :(

2014-12-19 Thread uri via Digitalmars-d
On Friday, 19 December 2014 at 11:54:42 UTC, ketmar via 
Digitalmars-d wrote:

On Fri, 19 Dec 2014 10:47:27 +
Sergei Nosov via Digitalmars-d  
wrote:


In the "debugger" case, Manu's point is that it's unusable. 
And Walter's implied point is "debuggers aren't that useful 
anyway, so why it was a showstopper?".


My personal observation is that "excellent programmers" share 
the Walter's point on debuggers - they practically don't use 
it. And the uselessness is so obvious, that there's nothing 
even to talk about. At the same time, "good programmers" use 
it extensively, especially on Windows. It is so useful to 
them, that there's nothing even to talk about!


one of the things one can do if he is in corresponding position 
is to
ban debuggers. i found that after month or two people start 
producing

better code with better documentation and "control knobs". and
surprisingly faster. debugger is just a kind of bad habit, and 
when
people faced the fact that they will not be payed for work 
simulation

(and why should we?), they either go or becomes more productive.


This is true. The first week for a new developer where I work is 
developing a better boot loader. The debugger is not allowed 
during this induction week and as a result our devs learn how to 
write better code first time through careful planning and 
understanding of what's going on at the machine level.



Cheers,
uri


Re: Lost a new commercial user this week :(

2014-12-19 Thread uri via Digitalmars-d

On Friday, 19 December 2014 at 09:52:09 UTC, uri wrote:

On Friday, 19 December 2014 at 07:37:45 UTC, Dicebot wrote:

On Friday, 19 December 2014 at 07:25:20 UTC, ole wrote:

me too. it's really disgusting how you guys treat (verbally
mistreat) others, who take a chance with D.
Good luck to you all on your pet project.


And how? Explaining mistakes and reasons why just taking a 
chance brings nothing (and can as well do a harm)?


Chris point was overblown, sure, but so was original post.

Manu has explained his case in great details and that was very 
good. However it was missing single most important part - 
explanation of what he wants to achieve, what actions he 
expects from community. So far it sounded like "hey guys I 
know you are nerds so go implement everything I need for my 
projects instead of working on yours". I'd be glad to be 
mistaken but it still looks like that so far.


+1

What D needs right now is for people to stop complaining about 
the things that are wrong and start contributing.


Cheers,
uri


And if you don't have time to contribute then submit an ER or bug 
report. Even that will be more constructive than having a pubilc 
tantrum when others disagree.


A bit embarrassing I'd say.


Cheers,
uri


Re: Lost a new commercial user this week :(

2014-12-19 Thread uri via Digitalmars-d

On Friday, 19 December 2014 at 07:37:45 UTC, Dicebot wrote:

On Friday, 19 December 2014 at 07:25:20 UTC, ole wrote:

me too. it's really disgusting how you guys treat (verbally
mistreat) others, who take a chance with D.
Good luck to you all on your pet project.


And how? Explaining mistakes and reasons why just taking a 
chance brings nothing (and can as well do a harm)?


Chris point was overblown, sure, but so was original post.

Manu has explained his case in great details and that was very 
good. However it was missing single most important part - 
explanation of what he wants to achieve, what actions he 
expects from community. So far it sounded like "hey guys I know 
you are nerds so go implement everything I need for my projects 
instead of working on yours". I'd be glad to be mistaken but it 
still looks like that so far.


+1

What D needs right now is for people to stop complaining about 
the things that are wrong and start contributing.


Cheers,
uri


Re: Lost a new commercial user this week :(

2014-12-15 Thread uri via Digitalmars-d
On Tuesday, 16 December 2014 at 05:48:27 UTC, Rikki Cattermole 
wrote:

On 16/12/2014 5:11 p.m., MattCoder wrote:
On Tuesday, 16 December 2014 at 03:50:59 UTC, Rikki Cattermole 
wrote:
I started writing a small booklet on this, if you got an 
email if

you're interested or some way to send you. Please let me know.


Do you mind to share with us all? :)

Matheus.


https://drive.google.com/file/d/0B-EiBquZktsLc0czUzZVeGlLM00/view?usp=sharing
No guarantees of how long it'll stay up there.

And to reiterate, its only just a start. And I don't know if I 
ever complete it. There isn't really enough material for an 
actual book. Maybe booklet but meh.


This is a great start, keep going with it!!

A book that looked at the details of CTFE with examples and 
comparison of patterns implemented in CTFE vs. RT would be a 
really nice addition to the D books already available.




Re: i want my bounty!

2014-12-15 Thread uri via Digitalmars-d
On Monday, 15 December 2014 at 09:31:28 UTC, ketmar via 
Digitalmars-d wrote:

On Mon, 15 Dec 2014 09:07:53 +
uri via Digitalmars-d  wrote:

You were looking forward to that, in fact I'd say trolling for 
it...
that's not the first time i asking why bugzilla is still able 
to host
patches. i just wanted to make myself sure that "any input is 
valuable"

is blatant lies. one last time.


OK, fair point.



Your contribution is welcome and if you don't want to use 
Github, the chosen tool of D development, that's fine. But you 
cannot expect to dictate when others will turn your patches 
into PRs for you to get them into the D ecosystem.
i.e. "shut the fuck off and get lost with your stupid patches, 
nobody
is interested." this is not "welcome", this is "github or get 
lost".


You'll just have to wait, unless you submit the PR yourself of 
course.
i waited for several month for *any* reaction. as my past 
expirience
shows, the only reliable way to make somebody look at bugzilla 
patches

is to start trollfest here. but i'm tired of that.

PS: You don't even have to join Github with your real name and 
email...
i don't even understand why i have to join github in the first 
place. i
don't want to be a part of github, i'm not interested in that. 
that's

why i registered on official D bugzilla.


Ideally there'd be a tool to turn Bugzilla patch submission into 
a Github PR. But again it's work *someone* has to do and it isn't 
*that* much of a hurdle to get onto Github with a made up account 
just for D.


Cheers,
uri.


Re: i want my bounty!

2014-12-15 Thread uri via Digitalmars-d
On Monday, 15 December 2014 at 08:54:24 UTC, ketmar via 
Digitalmars-d wrote:

On Mon, 15 Dec 2014 13:19:01 +1100
Daniel Murphy via Digitalmars-d  
wrote:


"ketmar via Digitalmars-d"  wrote in message 
news:mailman.3160.1418550079.9932.digitalmar...@puremagic.com...


> but talking seriously, i don't need any bounty, i just want 
> somebody to
> take a look at that and either tell me what to fix or 
> integrate it in
> mainline. along with this one: 
> https://issues.dlang.org/show_bug.cgi?id=13526


Review of patches for dmd are done on github: 
http://wiki.dlang.org/Pull_Requests#Create_a_pull_request

so DON'T ALLOW THE FUCKIN' BUGZILLA TO HOST PATCHES!

and stop pretending that D is normal open-source project where 
anyone
can send patches. that's blatant lies. i can see why i have to 
register
on D bugtracker, which has the address "issues.dlang.org". but 
i can't
see why i must register on some 3rd-party site which has 
NOTHING in

common with D.


You were looking forward to that, in fact I'd say trolling for 
it...


Your contribution is welcome and if you don't want to use Github, 
the chosen tool of D development, that's fine. But you cannot 
expect to dictate when others will turn your patches into PRs for 
you to get them into the D ecosystem.


You'll just have to wait, unless you submit the PR yourself of 
course.


Cheers,
uri

PS: You don't even have to join Github with your real name and 
email...


Re: Why do you write D2 compiler using C++ language?

2014-12-14 Thread uri via Digitalmars-d

On Sunday, 14 December 2014 at 16:44:09 UTC, ddj wrote:
On Saturday, 13 December 2014 at 23:02:52 UTC, Mike Parker 
wrote:

On 12/13/2014 10:55 PM, ddj wrote:


But so many issues and bug fixes scares me from using it.



That's just the wrong way to look at it. Take a look at the 
bug list for gcc, any of the Java compilers, or clang. Are you 
afraid to use them as well?


Maybe, but gcc and java compilers have long history of stable 
releases and many programs and libraries written. Clang has 
standards to implement and! static analyzer.


As Mike said, look at the bug tracker history for these projects. 
Even with all those stable releases there were always lots of 
open bugs and today in GCC 4.9 there are issues:


http://lkml.iu.edu//hypermail/linux/kernel/1407.3/00650.html

We use GCC 4.8 at my work where we develop class II and class III 
health-care devices - A life support system is class III...how 
well do you trust GCC? :-).


Joking aside we design for failure and have a 4 year verification 
process that weeds out critical bugs in our code and the compiler.


Cheers,
uri





Re: Lost a new commercial user this week :(

2014-12-14 Thread uri via Digitalmars-d

On Sunday, 14 December 2014 at 15:36:47 UTC, yawniek wrote:

On Sunday, 14 December 2014 at 14:09:57 UTC, Joakim wrote:


As always, different tools for different uses.  Hopefully, D 
can one day be polished and mainstream enough for the 
enterprise use case and it will be efficient enough to be 
deployed at scale too. :)


when will that be? windows version 25, sqlite version 1147?

...[snip]...

Perhaps when more people start helping out we'll see things 
progress more quickly.


D needs more than developers. Right now it needs a few volunteers 
who will update the web site; documentation, news feeds of recent 
PRs closed, recent PRs that are generating interesting 
discussion, roadmaps for the next 12 months indicating what core 
devs are working and status. Stuff that get's people excited 
about the next release and the future of D.


Cheers,
uri


Re: D game development: a call to action

2014-12-13 Thread uri via Digitalmars-d

On Saturday, 13 December 2014 at 22:49:10 UTC, Joel wrote:

On Tuesday, 6 August 2013 at 06:23:09 UTC, qznc wrote:
On Monday, 5 August 2013 at 18:18:30 UTC, Jonathan A Dunlap 
wrote:
I am one of the few who have taken a keen interest in D for 
game development. The concise language and modern 
conveniences may be able to reduce many hours worth of 
development time off a game project, while making the code 
more maintainable. Aside from the core language, Dlang 
graphics bindings have a way to go before even earning 
acceptance in the indie gaming scene, but it's making great 
strides to get there.


The main challenge I've hit is the lack of any sort of path 
for adopting a media engine. Bindings (like SFML 
https://github.com/krzat/SFML-D) all suffer from:


A) No information about its current status: this is scary if 
its repo hasn't been updated in months.
B) Usually are complex to get working in a new project 
(manually building or searching for undocumented dependency 
DLLs)
C) Lack practical references and tutorials for "real would 
usage"
e.g. "how to create an OpenGL window" or "how to render a 
triangle"
versus something like "how to load from disk an image texture 
onto a quad and move it around using keyboard events"


SFML bindings are also in 
https://github.com/aldacron/Derelict3 but I couldn't find a 
scrap of information on how to use it, how to compile 
correctly, or example usage. It's unclear if the library is 
even usable in its current state.


Please don't take this as blind criticism, but rather a plea 
to action for the community to provide better library 
documentation support for: current lib status, getting 
started adding it, and a general use tutorial/example. If we 
start doing this, it'll make a big impact for other game 
developers who are new to Dlang to adopt the language. Thanks 
for listening!


I am using DAllegro 5 for 2D stuff. So far, it went very 
smooth.

I just use the original documentation.

https://github.com/SiegeLord/DAllegro5


Who else uses DAllegro 5? I like it, just can't get it to work 
on OS X.


I'm also using the Allegro bindings for a project and have run 
into no issues on  Linux. I'm using Dgame on another project on 
and that also works very well.



@SiegeLord: It would be good to get those bindings listed on the 
main Allegro site here:


http://alleg.sourceforge.net/bindings.html
(there is an old listing for Allegro 4 but not 5)

and in their news here if possible:
http://alleg.sourceforge.net/news.html

I believe you just need to send a request to the mailing list 
here:

http://sourceforge.net/p/alleg/mailman/?source=navbar

Cheers
uri


Re: D3

2014-12-09 Thread uri via Digitalmars-d

On Tuesday, 9 December 2014 at 10:49:13 UTC, Chris wrote:
On Monday, 8 December 2014 at 20:21:51 UTC, Andrej Mitrovic via 
Digitalmars-d wrote:
On 12/8/14, Russel Winder via Digitalmars-d 
 wrote:

It seems that D3 is already available:

https://github.com/mbostock/d3


Guess we'll just have to skip a number and call the next D - 
D4. :)


Well, the name of D is "D" not "D(n)", so there should be no 
problem in case they want to sue Walter.


But really, it had to be JavaScript of all languages! At least 
it's not PHP.


I prefer PHP, at least it's an explicit hack on sight.


Re: Need help deciphering posix.mak

2014-12-05 Thread uri via Digitalmars-d

On Friday, 5 December 2014 at 10:48:15 UTC, Daniel Murphy wrote:
"Dicebot"  wrote in message 
news:kgogertqxpmczhoqr...@forum.dlang.org...


That or just clean up the existing makefiles (getting rid of 
DMC make and using GNU make on all platforms would be ideal). 
Or just doing nothing - while existing build system is quite a 
mess, the problem is not critical enough to extend the 
infrastructure.


As much as I dislike digital mars make, requiring GNU make on 
windows would be worse.  One of these days I'm going to rewrite 
the dmd test suite to not require make at all, but I'm going to 
have to figure out how it works first.


I think I'd much rather GNU make.

No offence, but there's no chance your little tool will ever get 
the same test coverage or real-world use testing of GNU make on 
Windows.


This is why I prefer CMake like tools over dub. Plus make -jX is 
*much* faster than dub build (and SCons for that matter).



/uri



Re: Why is `scope` planned for deprecation?

2014-11-20 Thread uri via Digitalmars-d
On Wednesday, 19 November 2014 at 01:35:19 UTC, Alo Miehsof 
Datsørg wrote:
On Tuesday, 18 November 2014 at 23:48:27 UTC, Walter Bright 
wrote:
On 11/18/2014 1:23 PM, "Ola Fosheim Grøstad" 
" wrote:
I am arguing against the position that it was a design 
mistake to keep the
semantic model simple and with few presumptions. On the 
contrary, it was the
design goal. Another goal for a language like C is ease of 
implementation so

that you can easily port it to new hardware.


The proposals I made do not change that in any way, and if K&R 
designed C without those mistakes, it would have not made C 
more complex in the slightest.



VLAs have been available in gcc for a long time. They are not 
useless, I've used

them from time to time.


I know you're simply being argumentative when you defend VLAs, 
a complex and useless feature, and denigrate simple ptr/length 
pairs as complicated.


Argumentative ?!! More like a fucking gaping fucking asshole. 
His

posts are the blight of this group.


Wow that's uncalled for.

I don't always agree with Ola but his posts are rarely uninformed 
and often backed up with actual code examples or links supoprting 
his arguments. They generally lead to very interesting 
discussions on the forum.


Cheers,
uri


Re: 'int' is enough for 'length' to migrate code from x86 to x64

2014-11-19 Thread uri via Digitalmars-d
On Wednesday, 19 November 2014 at 18:09:11 UTC, Ary Borenszweig 
wrote:

On 11/19/14, 7:03 AM, Don wrote:
On Tuesday, 18 November 2014 at 18:23:52 UTC, Marco Leise 
wrote:

>
Weird consequence: using subtraction with an unsigned type is 
nearly

always a bug.

I wish D hadn't called unsigned integers 'uint'. They should 
have been
called '__uint' or something. They should look ugly. You need 
a very,

very good reason to use an unsigned type.

We have a builtin type that is deadly but seductive.



I agree. An array's length makes sense as an unsigned ("an 
array can't have a negative length, right?") but it leads to 
the bugs you say. For example:


~~~
import std.stdio;

void main() {
  auto a = [1, 2, 3];
  auto b = [1, 2, 3, 4];
  if (a.length - b.length > 0) {
writeln("Can you spot the bug that easily?");
  }
}
~~~

Yes, it makes sense, but at the same time it leads to super 
unintuitive math operations being involved.


Rust made the same mistake and now a couple of times I've seen 
bugs like these being reported. Never seen them in Java or .Net 
though. I wonder why...


IMO array length should be unsigned but I'd like to see unsafe 
operators on unsigned types illegal. It is trivial to write 
(a.signed - b.signed) and it should be explicit in the code, i.e. 
not something that the compiler will do automatically behind the 
scenes.


Cheers,
uri






Re: Friendly C link

2014-08-28 Thread uri via Digitalmars-d

These are of similar nature I believe for c++

http://www.csse.monash.edu.au/~damian/papers/PDF/ModestProposal.pdf
http://www.csse.monash.edu.au/~damian/papers/PDF/SPECS.pdf

This paper was by my c++ lecturer at the time it was published. A 
fantastic coder as well as academic who unfortunately was lost to 
Perl around the same time :D Below is an example of what that 
does to a person :)


http://www.csse.monash.edu.au/~damian/papers/HTML/Perligata.html

Cheers uri


Re: SWIG?

2014-08-27 Thread uri via Digitalmars-d

On Thursday, 28 August 2014 at 01:08:43 UTC, Scott Wilson wrote:
SWIG has D support. But it seems old and out of fashion. 
Community here does not buzz about it much either. Whats the 
word on the street about the quality of SWIG-D stuff?


Scott

PS thankyou Walter for replying


The swig bindings are good and I use them quite a bit to 
interface with legacy C++ projects.


This might be fixed already, I don't know and haven't tracked it 
but I had to make a minor change to the binding generator, as 
shown below.


edit commoncore_im.d and change the following:
---
mixin template SwigOperatorDefinitions() {
...
  static if (is(typeof(swigOpEquals(rhs {
return swigOpEquals(rhs);
  } else {
...
---
to
---
mixin template SwigOperatorDefinitions() {
...
  static if (is(typeof(swigOpEquals(rhs {
return cast(bool)(swigOpEquals(rhs)); // <-- cast(bool) 
added

  } else {
...
---

cheers, uri


Re: Voting: std.logger

2014-07-29 Thread uri via Digitalmars-d
On Wednesday, 30 July 2014 at 00:15:26 UTC, H. S. Teoh via 
Digitalmars-d wrote:
On Tue, Jul 29, 2014 at 04:55:04PM -0700, Andrei Alexandrescu 
via Digitalmars-d wrote:

On 7/29/14, 4:16 PM, H. S. Teoh via Digitalmars-d wrote:
>On Tue, Jul 29, 2014 at 11:09:27PM +, Robert burner 
>Schadek via Digitalmars-d wrote:
>>On Tuesday, 29 July 2014 at 06:09:25 UTC, Andrei 
>>Alexandrescu wrote:

>[...]
>>>4. Replace defaultLogger with theLog. "Logger" is a word, 
>>>but one

>>>that means "lumberjack" so it doesn't have the appropriate
>>>semantics.  The use is generally acceptable as a nice play 
>>>on words
>>>and as a disambiguator between the verb "to log" and the 
>>>noun
>>>"log". When we actually want to talk about the current log 
>>>in an

>>>application, we should, however, call it "the log". This is
>>>negotiable.
>>
>>I really don't care how a global Logger instance is called. 
>>Anyone

>>else has an opinion on this? Otherwise Andrei wins.
>[...]
>
>I propose 'stdlog'.

I thought of the same but then rejected it - stdlog looks like
offering the same interface as stdout and stderr. Nevertheless 
it's a

sensible choice, too. -- Andrei


I don't like 'theLog'. What about 'defaultLog'?


T


+1 for !theLog. I actually like "dlog" because I hate typing but 
defaultLog would be fine.



/uri


Re: Case for std.experimental

2014-07-29 Thread uri via Digitalmars-d

On Tuesday, 29 July 2014 at 17:22:38 UTC, Dicebot wrote:
[snip]

I wonder what are other opinions.


Here's what I'd like to see as a D user with std.experimental...

dub:
==> free-for-all libraries of varying quality
==> Promoted on official D website.
==> Included in the D download

std.experimental:
==> Released with Phobos
==> Reviewed modules by core D devs, akin to BETA/RC
==> Guarantees on API stability but not set in stone.
==> [maybe?] Changes require deprecation and another round in 
std.experimental



std:
==> High quality with API in stone.
==> Modules have been through 2 rounds of review
==> Changes require deprecation over a longer period.





Cheers,
uri.











Re: [OT] Re: Redesign of dlang.org

2014-07-28 Thread uri via Digitalmars-d

On Monday, 28 July 2014 at 09:16:44 UTC, Gary Willoughby wrote:

You said you don't like it and you were heard the first time



I'm speaking the truth which often hurts.



Yes and I don't see w0rp running off and sulking about it either.

Your problem is you are not able to take any criticism 
whatsoever against this piece of work. The design is awful, 
period.


I have nothing against you personally and i think it's good 
that you are initiating this effort but the design is the first 
thing that should be addressed and in no way be an 
afterthought. I apologise if i sound terse but usually in my 
line of work shoddy efforts have to be address upfront and with 
prejudice.


w0rp et. al. have asked for your contributions in art/design 
because you say you know how to do a better job.




The very first thing you should of done is to create mockups 
(in photoshop, etc) of what each page should look like and make 
sure the design can accommodate all the content. Once the 
design is approved then implement the site. The backend is 
inconsequential, use whatever you are comfortable with. Vibe.d, 
LAMP it doesn't matter. Users don't care about the backend. 
What matters is the user experience (especially within the 
documentation) and that is what should be addressed in a 
thoughtful professional matter. This is not optional or 
something that should be done along the way.


Stating something is crap in a volunteer project is useless 
unless you can follow it up with something equally useful.


For an engineer you sound just like our marketing team at work: 
Always ready to produce some warm and fuzzy ideas but light on 
the specifics and actual work.


/uri


Re: Random points from a D n00b CTO

2014-07-14 Thread uri via Digitalmars-d
On Monday, 14 July 2014 at 06:13:38 UTC, Manu via Digitalmars-d 
wrote:
On 14 July 2014 14:47, uri via Digitalmars-d 


wrote:


On Monday, 14 July 2014 at 03:55:02 UTC, Vic wrote:



- I was *very* disappointed that using base library locks you 
into GC vs

ref. counting.
Separate, I like how Objective C has NSObject for GC 
purpose(I'd love a
framework that is just ref counting), but there should be 
dual libs and

base should not be GC.



This topic was bashed to death. There were compelling arguments
from both sides, but in the end no one pushing for ARC could
produce evidence that it was better than GC.



Andrei himself pushed such evidence in an interesting case 
study that
explored a high-end ARC implementation. It compared 
impressively with 'the
fastest GC's' (or some description very close to that). D's GC 
is certainly
not among those in comparison, which suggested the paper's tech 
would

probably be a win for D no matter how you look at it.

And the counter evidence is overwhelming. As many times as I've 
asked the
experts for comment, I've still *NEVER* heard anybody disagree 
that D's GC
will probably remain really bad for the indefinite future. Even 
the ones
that are strongly in favour of GC; nobody seems to know how to 
do it, and

many have said it's probably impossible.
Even if it was theoretically possible, that only solves one of 
numerous
problems... Nobody has ever addressed the low-available-memory 
argument
I've put forward a number of times, which is the standard 
operating

environment of most embedded computers.

So, I don't feel like there was any such conclusion as you 
suggest.
Personally, I just became horribly apathetic and gave up. My 
general
participation and motivation in this community has declined 
significantly

as a result.

I'm among the minority that REALLY care about this, and it's 
clear (and
it's been made clear) that if I'm not prepared to work on it 
myself, then

it won't move forward.
That's fine, and it's perfectly reasonable. But I'm not in the 
least bit
interested in working on GC technology myself - I'm not an 
expert, and it's
not a field that interests me, thus I decided to desist 
participating in

discussions.

Currently there's a big push to remove hidden GC allocs from

Phobos, starting with @nogc.

std.allocators is just around the corner as well, which will
provide a solid framework to build better allocation 
strategies.



We're yet to see how to use the allocators API to specify a 
replacement
default allocator used by the languages intrinsic allocations, 
which makes

it rather less exciting.
Anyone can invent an allocator interface, but designing it such 
that it can
be used to configure the languages implicit allocations is much 
more
complex. I'm concerned that Andrei's allocator interface 
doesn't actually
address this... At least, I haven't seen any discussion about 
how it will.
That said, I'm not trying to down-play the importance of a 
standard
allocator API, and Andrei's development is very important and 
appreciated,
but I am yet to find out how it actually addresses any of my 
real concerns

relating to allocation.

As I see it, I have zero concern about allocations I control. I 
am entirely
concerned with intrinsic/implicit allocations that I don't, and 
may

potentially (likely) originate from within 3rd party libraries.


All good points. Thanks and my bad for the misinformation, sorry.

uri



Re: Random points from a D n00b CTO

2014-07-13 Thread uri via Digitalmars-d

On Monday, 14 July 2014 at 03:55:02 UTC, Vic wrote:

Hi all,
I'm a CTO at a start up and interested in porting our Java 
project to D. Some points, I have been lurking on D for years, 
went to my first D conf recently. Also I was one of top 20 
people to join Java Struts, and that grew to 3million plus end 
users so I have some 'cred'. Hope this helps:


- Confusing forum. First listed forum on 'D' is not for D 
users, but it's called D! It is in fact for D commiters. This 
causes frustration for both users and commiters. (yes there is 
'learn D' but it's 4th down. Commiters forum should be slightly 
hidden and user questions should not be answered in commuters 
but politely asked to post in the proper forum.).


I agree. It doesn't bother me personally, but I think the
discussions about lang design etc. should be under "D Programming
Language - Development".

A new user might be put off by all the heated discussion about
the language design and get the impression D is still in flux.



- I was *very* disappointed that using base library locks you 
into GC vs ref. counting.
Separate, I like how Objective C has NSObject for GC 
purpose(I'd love a framework that is just ref counting), but 
there should be dual libs and base should not be GC.


This topic was bashed to death. There were compelling arguments
from both sides, but in the end no one pushing for ARC could
produce evidence that it was better than GC.

Currently there's a big push to remove hidden GC allocs from
Phobos, starting with @nogc.

std.allocators is just around the corner as well, which will
provide a solid framework to build better allocation strategies.



- D is/has become complex. metaprograming, generics, macros, 
etc. This is a culture issue, very hard to fix cultural issues 
w/o losing most commiters. Just a fast system lang w/o headers, 
'boost' and such. All this other stuff can be 3rd party eco 
system and should be pushed out from D proper into 
implementations and add ons.




This is why I use D. After many years in C++ I am not fond of
templates but in D they are almost transparent and so simple to
use. They provide amazing code reuse and CTFE for almost zero
additional complexity over run-time code.


- Dub rocks.


That is does, although I still use CMake :)



- Very little 'user' outreach. Meetups such as 'learn D'  (set 
up editor w/ DUB, and write some vibe.d DNS client/server in 4 
lessons). Or how to use a c .so lib.


So hth. FYI I plan to hire 3+ 'D lang' programmers (users, not 
commuters) to rewrite the Java project in Dallas and/or San 
Jose (CA) over the next few months (Feel free to ping me 
@puppetMaster3, ideal candidate is 'prolific' and career 
programmer)


Cheers, Vic


Good luck! Thankfully I can use D at work now, if I couldn't you
would have my CV within the hour :-)

Cheers,
uri


Will std.experimental be shipped with DMD zip package?

2014-06-05 Thread uri via Digitalmars-d

I assume it will but thought I'd ask all the same...

I only use the latest official release and would still like to 
bash on std.experimental modules so I hope it will be in 
2.066.zip.


Thanks,
uri