Re: Incubated modules for Phobos

2011-12-18 Thread Bane
Piotr Szturmaj Wrote:

 Hi all,
 
 Normal Phobos submission procedure is usually like that:
 
 1. write entire module from scratch by oneself
 2. submit for voting
 3. rewrite wrong parts, if there are none then add it to Phobos
 4. otherwise goto 2
 
 It is hard for one person to write entire module in such way it 
 satisfies everyone, especially for very new or complex additions, such 
 as database handling or cryptography.
 
 Here, I propose that we add experimental exp hierarchy to Phobos for 
 such projects. I know etc hierarchy may me used for that but IMHO 
 separate exp would be more appropriate. In this namespace beta 
 modules will slowly evolve into official std modules.
 
 Some (obvious) advantages are:
 
 * developers may receive feedback very early in the process, saving them 
 from mass rewrites when in the opinion of community they made some wrong 
 coding decission.
 * developers may receive coding help, i.e. many of them may collaborate 
 on one big module.
 * users may test experimental modules early. This is important, because 
 usability issues may be catched earlier, not after submission when API 
 usually becomes frozen and it is too late.
 
 Exp code may be shipped with each release just like etc code. Users 
 using experimental code should be aware of breaking changes that may be 
 introduced with each release or even with each commit.
 
 Thoughts?

I like it. More people will keep an eye on new versions for new modules that 
are coming in. And if one wants to write new module for his needs, it can 
easily check exp to see is he reinventing wheel. (exmple. my suggestion here 
few days back to upgrade std.process only to find there is upgraded module - if 
I didn't ask on this NG I would never know there is that module). So exp sounds 
good.


Re: 64-bit DMD for windows?

2011-12-17 Thread Bane
Trass3r Wrote:

  DOS software can be more productive, since it's often keyboard-only.
 
 How is that different from a Windows console app?

No Solitare, Facebook... much more productive!


Re: Program size, linking matter, and static this()

2011-12-16 Thread Bane
Andrei Alexandrescu Wrote:

 On 12/16/11 3:38 PM, Trass3r wrote:
  A related issue is phobos being an intermodule dependency monster.
  A simple hello world pulls in almost 30 modules!
  And std.stdio is supposed to be just a simple wrapper around C FILE.
 
 In fact it doesn't (after yesterday's commit). The std code in hello, 
 world is a minuscule 3KB. The rest of 218KB is druntime.
 
 Once we solve the static constructor issue, function-level linking 
 should take care of pulling only the minimum needed.
 
 One interesting fact is that a lot of issues that I tended to take 
 non-critically (templates cause bloat, intermodule dependencies cause 
 bloat, static linking creates large programs) looked a whole lot 
 differently when I looked closer at causes and effects.
 
 
 Andrei

http://wiki.freepascal.org/Size_Matters

Otherwise a great language that never did manage to remove bloated factor 
from its name. Many people stopped using it because of that, including me. I 
guess people do not like bloat when programming systems stuff.



Re: D1 to be discontinued on December 31, 2012

2011-12-15 Thread Bane
 Forum/Registered Users, Unless you are regularly cleaning out inactives 
 this number means nothing about a current userbase.

Purpose is not evaluating size of community but to be able to keep in touch 
with it.

 
 pool/email pool? Are people emailing that I havent heard of. I am on a 
 quite a few mailing lists I cant remove myself from due to lost 
 passwords, or just a lack of caring.

Any decent forum has unsubscribe link in each email it sends. Password is not 
required.

 Alot of times I just feed them to 
 my spam filter and they stop showing up anymore. I am still a registered 
 user though. This number means nothing.

Interesting. Answering on email pool would be too much effort. Writing comment 
on newsgroup isn't.

Anyways, D community can't really speak its mind here. Here it is 5-10 
regular users that are persistent enough to dig trough loads of mixed 
information, some important, most of it not, on this NG. Most users have no 
time to check this place every other day so they can say 'please, don't 
discontinue D1, I am using it' or anything like that when important matter 
arises.

Sending question to users is more correct way to obtain opinions than to wait 
people to stumble on this thread here. It won't happen for most D users. Ever.





Re: D1 to be discontinued on December 31, 2012

2011-12-14 Thread Bane
Jesse Phillips Wrote:

 On Wed, 14 Dec 2011 10:46:18 +0100
 Gour g...@atmarama.net wrote:
 
  Can you give me a list of some successful open-source projects written
  in D1 and/or some proprietary ones?
 
 http://store.steampowered.com/app/18600/?snr=1_200_200_254_13
 http://en.wikipedia.org/wiki/ABA_Games

http://blissradius.com/


Re: D1 to be discontinued on December 31, 2012

2011-12-13 Thread Bane
Walter Bright Wrote:

 On 12/12/2011 10:26 PM, Jesse Phillips wrote:
  On Sun, 11 Dec 2011 22:57:02 +, Jesse Phillips wrote:
 
  I haven't used D1 for a long time so I can't claim a bad choice here.
 
  Actually I think I can state an opinion here. The two things that stand
  out in my mind are.
 
  * There has been a statement of supporting D1 while it is in use (or at
  least has a decent number of users). Maybe there aren't any, I don't see
  replies claiming such.
 
 There don't seem to be many anymore.
 
 
I'm decent, and I'm user of D1, still got some legacy code to maintain. 
Discontinuing it is not a problem for me as it is bundled with 2 year old D1 
version that checked out for bugs that could matter.

Moving all efforts to polishing D2 is the right way.


Re: D1 to be discontinued on December 31, 2012

2011-12-13 Thread Bane
Walter Bright Wrote:

 On 12/13/2011 12:52 PM, Jacob Carlborg wrote:
  On 2011-12-13 19:55, Walter Bright wrote:
  On 12/13/2011 9:47 AM, Jacob Carlborg wrote:
  If I recall correctly Walter has said he will continue to support D1
  as long as
  there are users.
 
  Yes, I did say that. For some time now, I've been releasing D1 betas and
  have not received any response to them. I haven't noticed new bug
  reports for D1. I haven't seen posts here about D1. I announced the D1
  1.072 release a few days ago, and there wasn't a single comment on it.
 
  Yeah, I noticed that. I'm still using D1. I usually don't have time to try 
  all
  beta versions or releases for that matter. Your making solid improvements in
  every release and I'm grateful for that. I apologize if I haven't shown any
  gratitude.
 
 
 It's not really about gratitude, but just letting me know that there's a 
 point 
 to doing those releases.

broken_record
suggestion
 Forum, registered users, pool/email pool = feedback :)
/suggestion
/broken_record


D kicks ass.

2011-12-12 Thread Bane

Sorry, but it's true.
Compared to C++, it has much friendlier syntax, important built in types 
and all the goodies. And let us not forget - big standard library ready 
to go.


But it is still rough on the edges, needs polishing and fixing little 
bugs. Now it needs tender care to grow big (and lose some weight from 
executables :).


Re: D kicks ass.

2011-12-12 Thread Bane
Trass3r Wrote:

 Am 12.12.2011, 19:21 Uhr, schrieb Bane branimir.milosavlje...@gmail.com:
 
  Sorry, but it's true.
  Compared to C++, it has much friendlier syntax, important built in types  
  and all the goodies. And let us not forget - big standard library ready  
  to go.
 
  But it is still rough on the edges, needs polishing and fixing little  
  bugs. Now it needs tender care to grow big (and lose some weight from  
  executables :).
 
 We know :)

Well, it is a nice to reinspect ones own decision after some time and confirm 
it was and is totally correct.



Suggestion for std.process upgrade

2011-12-12 Thread Bane
I have been playing with std.process (D2) lately, and have 2 suggestions 
and more or less tested code if somebody other than my self have use for it.


One is shell() function (not mentioned in the docs, curious), I see it 
can be made more efficient on Windows. It executes shell command and 
returns standard output as string. Current implementation do it by 
piping stdout to temporary file on disk and reading that file back. 
Using CreateProccess Windows API it can do same job 3 times faster and 
remove need for temporary files and disk writes. I think that is 
beneficial gain for some applications.


Other is fork-exec implementation eg. starting a program using command 
line and detaching it from parent, so it continues to run after parent 
is dead. On Posix it is implemented using fork() and exec() calls, on 
Windows using CreateProcess.


One question. Is std.c.windows.windows lacking for most API definitions 
or am I looking on wrong place?




Re: D kicks ass.

2011-12-12 Thread Bane
Trass3r Wrote:

  Well, it is a nice to reinspect ones own decision after some time and  
  confirm it was and is totally correct.
 
 To do that just try going back to C++ ;)

Just did.

Things lacking:
 - library
 - easy to use maps and arrays

Things that should lack:
 - bloody header files and forward declarations
 - preprocessor perversions
 - cryptic signs like  :: -

Things that are easier or more fun:
 - good compiler support
 - easy linking with C code
 - RAII tinkering  smaller memory footprint (GC just kills all the fun :(


Re: Suggestion for std.process upgrade

2011-12-12 Thread Bane
 There is a completely revamped version of std.process.  It is being held  
 up right now because DMD on windows depends on DMC for it's C runtime, and  
 DMC has issues supporting pipes.  I have recently opened a pull request  
 for Walter to merge, I'm going to ping him about it right after 2.057 is  
 released.
 
 For more info, see the docs Lars posted here:
 
 http://kyllingen.net/code/ltk/doc/process.html
 
 Once the DMC issue is fixed, you should see this improvement getting much  
 more attention.  It's very low hanging fruit.
 
 -Steve


Nice piece of work. I am looking forward for it becoming part of Phobos.
I find multi-process work interesting alternative to multi-threaded, sometimes 
more stable and robust solution.


Re: If I had my way

2011-12-11 Thread Bane
Paulo Pinto Wrote:

 Actually this could be good idea, it is after all where
 Objective-C (with ARC) and C++ on Windows (C++/CX) are
 moving to.
 
 But there can be some performance issues nonetheless. I
 am no GC expert, but I think in most cases the overhead
 imposed by increment/decrement operations looses against
 most advanced GC in use today.

There is only one way to really settle pro/anti GC discussions, and that is 
optional compilation with  or without gc, refcounting etc. That is only way to 
get the facts how much does GC slows program down (or not :)

I am pro GC definitely for simple reason it increases productivity 
significantly.

But in systems world there will always be significant number of people with 
doubt in any GC implementation, or just with a desire to do their own memory 
management. I think that group of people is important and we should do what we 
can to attract them to D.



Re: If I had my way

2011-12-11 Thread Bane
so Wrote:

 On Sun, 11 Dec 2011 18:33:07 +0200, Paulo Pinto pj...@progtools.org  
 wrote:
 
  Really?
 
  Tell that to all game studios developing games in Java/C#/Flash.
 
  Do you know that many games in iPhone are done in Unity, which
  makes use of C#/Boo/Javascript compiled to native code?
 
 I don't understand sorry, are you arguing against the argument i made on  
 GCs failure on some specific areas?

Come on kidz, GC does good on some tasks that are not performance critical, it 
fails on other tasks that are. That is why D has assembler option - for parts 
you need to be done ultra fast. Same should apply for optional  GC. And 
everyone gets candy :)


Re: If I had my way

2011-12-11 Thread Bane
Paulo Pinto Wrote:

 Am 11.12.2011 17:12, schrieb Bane:
  Paulo Pinto Wrote:
  But in systems world there will always be significant number of people with 
  doubt in any GC implementation, or just with a desire to do their own 
  memory management. I think that group of people is important and we should 
  do what we can to attract them to D.
 
 
 Those people will eventually become irrelevant.
 
 As I mentioned in a previous email, if I want to use a language without 
 GC for systems programming I already have C, C++, Delphi, you name it. 
 Why pick D then?
 

Because people are lazy and hate to learn new language, they will try to do 
that in one they already know or already like. If D offers them tools to do MMM 
then they have no need to resort  to C,C++ for anything anymore thus it really 
replaces them



What can be done to reduce executable size?

2011-12-10 Thread Bane
Short term and long term suggestions ? Anything we can do ? I heard it 
is some problem with linking dead code?




import std.stdio;
int main(){
  writefln(Hello Bloat!);
  return 0;
}

dmd -release -O hello.d

On Windows:
v1.071 = 339 Kb
v2.056 = 1017 Kb

It looks very ugly and might distract some people.


Re: What can be done to reduce executable size?

2011-12-10 Thread Bane
Mirko Pilger Wrote:

  On Windows:
  v1.071 = 339 Kb
  v2.056 = 1017 Kb
 
v2.057b= 840 kb (upx --best = 151 kb)
 

That is improvement. 2.07 is not released yet ?
And I don't think UPX is solution. It makes things look even worse, like too 
much makeup on ugly chick.


Re: What can be done to reduce executable size?

2011-12-10 Thread Bane
I am dealing with scenario of large numbers of programs written in D placed on 
same host/1 installer, when it all sums up size does matters.

 Is it possible to move  phobos or runtime to shared lib ? It would reduces 
 code significantly.



Re: What can be done to reduce executable size?

2011-12-10 Thread Bane
Is it possible to move  phobos or runtime to shared lib ? It would reduces code 
significantly.


Re: What can be done to reduce executable size?

2011-12-10 Thread Bane
Trass3r Wrote:

  Short term and long term suggestions ? Anything we can do ? I heard it  
  is some problem with linking dead code?
 
 Well most space is covered by the runtime, TypeInfo and stuff like struct  
 .init data.
 
 Use http://thecybershadow.net/d/mapview to get a graphical view of your  
 app.
 E.g. on Linux it sometimes shows Afterpadding way too large.


Yes, I use it, great piece of work.


Re: What can be done to reduce executable size?

2011-12-10 Thread Bane
Andrej Mitrovic Wrote:

 Try using the unilink linker:
 
 ftp://ftp.styx.cabel.net/pub/UniLink/
 
 Get ulnb0329.zip
 
 You have to configure ulink.cfg to this:
 -zsnn.lib
 -LC:\dmd\windows\lib
 -LC:\dm\lib
 -Go
 
 -zkernel32;advapi32;user32;wsock32;shell32;snn.lib
 -LC:\dmd2\windows\lib
 -Go
 
 Then linking is just: ulink file1.obj file2.obj lib.obj etc..

It is nice tool. Too bad it is still beta  proprietary, or am I mistaken ?


Re: A real Forum for D

2011-11-29 Thread Bane
There might be one more benefit of using forum. Registered users could vote on 
different topics. I find voting process here on newsgroup very inefficient.
Is it possible to make (or find existing implementation), using forum, some 
kind of automated mail spam to all users, and see the results?

It would really show what community wants, how much people are active, what 
they think ...


Re: A real Forum for D

2011-11-28 Thread Bane
so Wrote:

 I think you believe something i would say quite naive,
 as everyone have the best intentions, as they just fight for what they  
 believe right.
 Maybe it was the case where we were in caves, it is not now.
 
 Everything boils down to one thing IMO, we live in a structure made of  
 with the worst of the intentions.
 We accumulate power to a single place and every now and then give it to a  
 mad puppet.
 (never been a decent man had that power, why would a decent man want that  
 kind of power?)
 They are doing what they were told, destroying everything in their way,  
 and we have to live with its consequences because we are that stupid.
 They are smart people, far smarter than the mess. They are not racist but  
 they profit from racism.
 It is not the clash of opinions, it never was, it is just the clash of  
 profit.

Actually, I believe this too. It almost always rich wanting to get richer, so 
they use their political or religious influence (which they have because of 
their money) to make up some reason people would go to war so they can make 
more money out of it. They are real psychopaths pulling the strings on human 
civilization.
Its all about money.

 It was the clash of opinions for dummies like us who just go and die for  
 them.



Re: A real Forum for D

2011-11-27 Thread Bane
 It's not really a matter of either/or imo...  
 I think that everyone will admit that having an 'official' forum would 
 probably boost popularity.
 
 A good place to post questions and search the archives EASILY would 
 definitely be a boon.


True. Most people have some experiance with forums, much less of them with 
newsgroups. It would be user friendly and more in (as oposed of old geeks 
using old software) :)

And with registred usernames there would be less/no trolls ?


Re: A real Forum for D

2011-11-27 Thread Bane
so Wrote:

 On Sun, 27 Nov 2011 21:08:46 +0200, Bane  
 branimir.milosavlje...@gmail.com wrote:
 
  And with registred usernames there would be less/no trolls ?
 
 Quite the contrary. After you introduce read/write web interfaces based on  
 popular frameworks,
 you open doors to new kind of trolls and worse... spams. Since this is a  
 programmer related area, it might be worse.

But funny captchas can fix it! And it will be fun :)

 
 Mind you, we have zero moderation yet we have almost no spam, no troll.

I don't know specifics. Maybe it is the risk worth taking if benefits are that 
more people will read this.


Re: A real Forum for D

2011-11-27 Thread Bane
Walter Bright Wrote:

 On 11/27/2011 11:08 AM, Bane wrote:
  And with registred usernames there would be less/no trolls ?
 
 Required registration is a barrier for people who want to be onetime posters. 
 (And onetime posters often become regular posters!)

Yeah, I hate that too. Then anonymous access and FunnyCaptchas(tm) might work?


Re: A real Forum for D

2011-11-27 Thread Bane
Walter Bright Wrote:

 On 11/27/2011 2:14 PM, Timon Gehr wrote:
  How do you create a captcha that reliably discriminates between trolls and
  non-trolls?
 
 You can't.
 
 But a nice feature would be the addition of a button that only moderators can 
 see  use, that would simply delete the corresponding posting. Moderators can 
 be 
 identified using the same scheme as ssh uses.

Yeah, that's the idea, just to make deleting garbage more efficient.



Re: Website message overhaul

2011-11-19 Thread Bane
Andrei Alexandrescu Wrote:

 On 11/18/11 1:15 PM, Bane wrote:
  rant As a language claiming for itself it was created out of
  practical needs of programmers I must say D fails on that test (both
  compilers and D website). It is not user friendly. It is user
  hostile, for simplest and most common tasks. Especially for newbie
  programmers.
 
  It was like that 4 years ago when I first saw it, and it is much
  like that now.
 
 Is that the language, compiler, environment, or website? I got a bit 
 confused.

Website problems I think should be sorted out:
 - D1 vs D2, which to choose, what are differences between them etc. Too 
unclear and discouraging for a newcomer.
 - Too much old and unnecessary info. Too much redundant text. I suggest going 
again from scratch or just start using delete key without restrictions. Just 
one example: a lot is written about benefits of exception handling vs. C like 
return values etc. It is practically proven that approach is useful, nobody 
questions that. There is no need to clutter documentation with articles like 
that. Things like that should be shelved on some old docs place, not on prime 
pages.
 - Generally feeling lets stuff as much info as possible here, and don't 
delete anything - it may be useful for somebody that just overwhelms first 
time reader and distracts him. 

 
  You people should really hire some non-programmers with documenting
  skill and knack for KISS principle to make D website and
  documentation. It is obvious that Walter, Andrei and the rest of
  core people are highly skilled in their field of work, but not
  interested, available or competent to present D complexity in
  simple, right-to-the point way.
 
 Right now D is pushed forward by volunteer work. Indeed it would be 
 great if more articles and tutorials were available.

I paused with D last year after (yet another) unsuccessful attempt to port my 
code from D1 to D2. reason: shared stuff. More specific reason - is it a bug 
with my code or docs ain't exact or that feature isn't working yet (even docs 
claim it works?)?

So, I guess problem is correctness of manual for D2.  Digging trough this 
newsletter to find is some feature working and how is terrible way for learning.

 
  I guess it is so much more fun to add new features and optimize code
  than to organize and present all the documentation the way it can be
  useful.
 
 Fun doesn't have a lot to do with it.

Well... we wouldn't be here if we don't find programming fun (too).

 
  And come on, BUD like feature is first useful thing compilers are
  lacking. Talking about practical need. /rant
 
 Agreed. To add to that, I am a bit worried that the most worked-on build 
 management tool uses D1 and Ruby.
 

It strikes me very bad seeing there are/were more than one project published 
(bud, dss etc. i might be mistaking) and god knows how many people made their 
solutions for internal work just to simplify task of compiling multiple files 
and yet - compilers still lack that feature. 

A lot of work invested in D tools just rot away because it is not incorporated 
into core, or ad least mentioned in proper docs Hey guys, compiler don;t has 
feature Y yet, but here is official tool for that here, use it - just don't 
reinvent the wheel again.

And there goes same with lot of small things.

People who want D to succeed should start collecting those fruits and putting 
them where they can be seen.

 
 Thanks,
 
 Andrei



Re: Website message overhaul

2011-11-19 Thread Bane
Peter Alexander Wrote:

 On 19/11/11 2:02 PM, Bane wrote:
  I paused with D last year after (yet another) unsuccessful attempt to port 
  my code from D1 to D2. reason: shared stuff. More specific reason - is it a 
  bug with my code or docs ain't exact or that feature isn't working yet 
  (even docs claim it works?)?
 
  So, I guess problem is correctness of manual for D2.  Digging trough this 
  newsletter to find is some feature working and how is terrible way for 
  learning.
 
 I agree with this 100%. It is true that a lot of advertised features in 
 D simply do not work at all, and the fact that they don't work isn't 
 documented anywhere except in the newsgroups.
 
 In addition to making it incredibly difficult to learn the language, it 
 also dissuades people from writing tutorials. A couple of times I have 
 started to write tutorials and stopped simply because the stuff I wrote 
 didn't actually work (e.g. I'd write about selective imports, but then 
 figure out that they don't work as advertised). I don't want to write 
 tutorials that are filled with D is awesome, you can do this... except 
 you can't.
 
 Things that don't work simply shouldn't be mentioned in the docs. Put 
 them on a Work in progress page or something so that people know what 
 should be working, but don't advertise them as working features until at 
 least one compiler supports them.

Yup. Learning D is just too difficult comparing to most other popular 
languages. My general feeling is that it is sloppy and too great investment for 
one to get to know its powers mixed with pain-in-the-ass quirks.

Delete docs, start from scratch, this time documenting only what is and not 
what it might become one day. Unfortunately, this can be done only by core 
people who really know how D ticks, and they are probably occupied with other 
stuff.



Re: Website message overhaul

2011-11-19 Thread Bane
Walter Bright Wrote:

 On 11/19/2011 11:33 AM, Bane wrote:
  Yup. Learning D is just too difficult comparing to most other popular
  languages. My general feeling is that it is sloppy and too great investment
  for one to get to know its powers mixed with pain-in-the-ass quirks.
 
 It would be nice to be more specific about what pain points you experienced.

Main thing was with threading and shared vars. It was painful experience for me 
last year, I couldn't manage to migrate code to D2. Lost about a month 
experimenting and digging trough all documentation. At the end, I didn't had 
final answer what was wrong - me or docs or some obscure bug i couldn't find in 
bug tracker. Not finding answer was that pain in the ass.

Things might be changed now, but I am not ready to experiment again. So I'm 
sticking with proven D.1.030 for time being.


Re: Website message overhaul

2011-11-19 Thread Bane
 
 There is 'D' the language and 'DMD' the implementation. You confuse the 
 two. The quirks you are talking about are DMD's, but the specification 
 is that of D. DMD needs to be fixed, and that is what the 'core people' 
 are working on.

I am using dmd compilers just because I believe they are first to implement new 
features and define standard for language. I might be wrong. 

 
 BTW, I have never felt much PITA when working with DMD even though I 
 have hit a few bugs. What are the specific quirks you are referring to?
 
D1 is joy for me. It is simple and fairly nicely documented. With it I have no 
problems. D2 is whole different ball game.

  Delete docs, start from scratch, this time documenting only what is and not 
  what it might become one day. Unfortunately, this can be done only by core 
  people who really know how D ticks, and they are probably occupied with 
  other stuff.
 
 
 I agree that the specification should be reworked and made thorough and 
 unambiguous. I completely disagree that DMD bugs should be incorporated 
 into the D language specification.

I didn't say bugs should be incorporated. I say features not working on certain 
implementations should be clearly documented. Preferably in D language manual, 
as I believe that should be primary source for learning.



Re: Website message overhaul

2011-11-18 Thread Bane
rant
As a language claiming for itself it was created out of practical needs of 
programmers I must say D fails on that test (both compilers and D website). It 
is not user friendly. It is user hostile, for simplest and most common tasks. 
Especially for newbie programmers.

It was like that 4 years ago when I first saw it, and it is much like that now.

You people should really hire some non-programmers with documenting skill and 
knack for KISS principle to make D website and documentation. It is obvious 
that Walter, Andrei and the rest of core people are highly skilled in their 
field of work, but not interested, available or competent to present D 
complexity in simple, right-to-the point way.

I guess it is so much more fun to add new features and optimize code than to 
organize and present all the documentation the way it can be useful.

And come on, BUD like feature is first useful thing compilers are lacking. 
Talking about practical need.
/rant


Re: D on GDC announced on reddit

2011-10-10 Thread Bane
Simen Kjaeraas Wrote:

 On Fri, 07 Oct 2011 17:11:45 +0200, Nick Sabalausky a@a.a wrote:
 
  Trass3r u...@known.com wrote in message  
  news:op.v2ze74ma3ncmek@enigma...
  Now D is also quite cool, I would just like for the language compilers
  to be a bit more stable.
 
  They have been vastly improving, really.
 
  Currently I do have more sucess proposing C++11 based solutions as Go  
  or
  D based ones, on the type of corporate environment I work in.
 
  That's not D's or Go's fault. Most guys especially in bigger  
  corporations
  are plain ignorant and wear blinders.
  Strangely that even applies to universities.
 
  Not real surprising. Universities can be *enormously* ignorant and
  conceited. (Community colleges too...my god, some of the flaming egos and
  politics around there are mind-boggling, especially considering it's  
  *just*
  a CC...)
 
  Hell, they didn't even know  about clang even though they were  
  progressive
  enough to use C++0x.
 
  I once had a university professor who openly admitted C was the only
  language he knew - and yet he didn't even understand how C's  
  null-terminated
  strings work. So he didn't really even know that one language.
 
 I helped a friend with some assignments from a professor who wrote
 absolutely unreadable code, and who taught students to use int[101]
 to allocate 100 ints, because he couldn't grasp indexing from 0 to
 99.
 
 I also really liked the assignment where we were told of a mythical
 processor that would multiply 2 NxN matrices in O(N^4) time.
 
 -- 
Simen

Those who know, work with it. Those who don't know, teach it.



Re: SQLite Bindings

2011-03-13 Thread Bane
That is great idea. I already hove something similar i n library I use for 
work, bunch of headers converted for D, from opeanAL to libpq (postgres), 
sqlite etc.

That can be placed in both D1 and D2 without any problem.


Re: D's greatest mistakes

2010-11-29 Thread Bane
Lot of small things, details, that are not showstoppers but leave impression of 
unfinished business.

First thing that come to my mind is lack of bud (build) building support 
where you point only to main.d file, and all other modules are imported. I 
think that is the ting required to bee in compiler itself, not in one of the 
numerous third party building scripts (how many are them there?)

 The post C#'s greatest mistakes prompts/begs this post. Have at it, 
 pick up the ball and run with it, don't be shy. I expect Walter and 
 Andrei to answer (if Walter and Andrei so dare!) after others' posts have 
 stopped or stagnated into that cesspool of threaded discussion that is 
 the subthread or tangential thread (which surely needs a rock 
 anthem). 
 
 



Re: why a part of D community do not want go to D2 ?

2010-11-09 Thread Bane
ponce Wrote:

  D1+Tango is working well enough for my project (Yage), but I like the 
  direction of D2.  I figure the longer I wait, the more stable it will 
  become and the easier my job will be.
 
 Pretty much the same here, except I use D1 + Phobos.
 To me there is little doubt that D2 is better.

Same thing here. It has all I need so far. Tried to switch to D2 couple months 
ago as a test, but it was painfull and unsucessfull attempt, mostly because of 
bugs.


Re: blog: Overlooked Essentials for Optimizing Code

2010-09-11 Thread Bane
Sean Kelly Wrote:

 == Quote from Bane (branimir.milosavlje...@gmail.com)'s article
  DMD built in profiler don't work yet with multithreaded apps. Is there a 
  plan to change that or.. ?
 
 Yes.  It's on my to do list, but other things have had priority.

Thanks for reply. Can I help with something? I don't have mush experience with 
that, though.


Re: blog: Overlooked Essentials for Optimizing Code

2010-09-11 Thread Bane
Sean Kelly Wrote:

 Bane Wrote:
 
  Sean Kelly Wrote:
  
   == Quote from Bane (branimir.milosavlje...@gmail.com)'s article
DMD built in profiler don't work yet with multithreaded apps. Is there 
a plan to change that or.. ?
   
   Yes.  It's on my to do list, but other things have had priority.
  
  Thanks for reply. Can I help with something? I don't have mush experience 
  with that, though.
 
 I tried a quick adaption a while back and failed... the code uses globals 
 directly within functions sometimes and not others, etc.  It's really going 
 to take a substantial rewrite to get things right.  The basic idea is that 
 each thread will keep its own data and merge it into a collective dataset on 
 termination.

I'll dig the dmd code to see whats going on, but my love for c is bit rusty... 
Thanx.


Re: One more update on d-programming-language.org

2010-09-10 Thread Bane
Dedicated Website!
Coool!
Me like it!


Re: Thread + socket = (shared) problem? (2.048)

2010-09-09 Thread Bane
Thank you for your reply. I have been migrating some socket/thread code from D1 
to D2 lately. One of changes is that Thread.this() must have super(run) in it. 
It seems when one of the thread doesn't have that line, strange things happen. 
Can anyone confirm this code to reproduce error:

import std.stdio;
import std.socket;
import core.thread;

class SaboteurThread : Thread {
  this(){
// super(run); // comment this line for exception to be thrown when socket 
is created in other thread
  }
  void run(){
writeln(Saboteur running);
while(true){}
  }
}

class SockThread : Thread {
  this(){
super( run );
  }

  void run(){
try {
  auto s = new TcpSocket; // will throw wsock error WSANOTINITIALISED 
(10093) on windows if SaboteurThread.this() has no super(run) in it
  writeln(socket created);
} catch (Exception e){
  writeln(e);
}
while(true){}
  }

}

void main(){
  auto x = new SaboteurThread;
  x.start;
  
  auto s = new SockThread;
  s.start;
  
  while(true){}
}



Thread + socket = (shared) problem? (2.048)

2010-09-07 Thread Bane
This will throw exception on trying to create socket in derived thread. Socket 
created in main thread is ok. Is it some shared issue or... ? I have been 
trying to find something info in docs and mailing list but no result.

import std.stdio;
import core.thread;
import std.socket;

class MyThread : Thread {
  Socket sock;
  this(){
super(run);
  }
  void run(){
writeln(thread start);
sock = new TcpSocket; // this will throw exception on 2.047, 2.048
writeln(thread end);
  }
}

void main(){
  writeln(main start);
  auto s = new TcpSocket;
  writeln(socket in main thread created);
  auto t = new MyThread;
  t.start;
  writeln(main end);
}


Re: Thread + socket = (shared) problem? (2.048)

2010-09-07 Thread Bane
This is what I get:

std.socket.SocketException: Unable to create socket


Re: Thread + socket = (shared) problem? (2.048)

2010-09-07 Thread Bane
I triple checked it. 2.0.48 has problems with this, 2.040, 2.045  2.047 don't.

 This will throw exception on trying to create socket in derived thread. 
 Socket created in main thread is ok. Is it some shared issue or... ? I have 
 been trying to find something info in docs and mailing list but no result.
 
 import std.stdio;
 import core.thread;
 import std.socket;
 
 class MyThread : Thread {
   Socket sock;
   this(){
 super(run);
   }
   void run(){
 writeln(thread start);
 sock = new TcpSocket; // this will throw exception on 2.047, 2.048
 writeln(thread end);
   }
 }
 
 void main(){
   writeln(main start);
   auto s = new TcpSocket;
   writeln(socket in main thread created);
   auto t = new MyThread;
   t.start;
   writeln(main end);
 }



Re: Thread + socket = (shared) problem? (2.048)

2010-09-07 Thread Bane
Errr... sorry guys.
Joke is on me.

Main threads exits before socket is created in new thread. Simple call to 
sleep() fix this.


Re: TDPL, shared data, and Phobos

2010-07-17 Thread Bane
 It probably wasn't very clear from my simplified example, but I'm looking to 
 create a shared-reader-one-writer scenario. If I declare MyValue 
 synchronized, only one thread can be inside the get() method at a time, which 
 defeats the shared-reader requirement. Imagine this is a much larger more 
 complex data structure, where get() requires walking through multiple levels 
 of a tree and a binary search at the last level.
 

Yup, I get it. But there is one point in it: write is not atomic operation in 
sense that get() might return half written data, right?


Re: State of and plans for the garbage collector

2010-07-15 Thread Bane
If I had to chose one topic with most bitchin' on this newsgroup I have 
impression it would be the one about GC. They usually goes from 'GC managed 
programs are slow, D ain't good enough', to 'language X has better GC than D', 
to ' GC that D has is bad at Z'.

Why not make D summer of code - write your own GC optimized for special case of 
XYZ, send it, bundle all up in D with compiler switch '--useGC=XYZ'. That is 
only way to really compare what is best for special case.

 Okay. I really don't know much about garbage collectors, how they work, or 
 what 
 makes one particularly good or bad (other than the fact that it needs to be 
 efficient execution-wise and manage memory wisely so that you don't use too 
 much 
 of it or do anything else that would be an overall negative for performance). 
 However, from the comments here - both recent and in the past - it's pretty 
 clear that D's garbage collector is fairly outdated. I would assume that that 
 would be negative for performance - certainly it would mean that significant 
 improvements could be made.
 
 So, my question is this: what are the plans for the garbage collector? Is the 
 intention to continue to improve it bit by bit, to give it a major overhaul 
 at 
 some point, to outright replace it at a later date, or something else 
 entirely?
 
 If D is going to compete with C and C++, it needs to be highly efficient, and 
 if 
 the garbage collector isn't up to snuff, that's going to be a big problem. 
 I'm 
 not looking to complain about the current garbage collector - I really don't 
 know how good or bad it is - but if it is rather poor (as I've gotten the 
 impresison that it is - at least in some respects - from various discussions 
 on 
 it here), then I'd assume that it needs a major overhaul or replacement at 
 some 
 point. So, are there any specific plans with regards to that, or is that just 
 something that may be considered in the future?
 
 - Jonathan M Davis



Re: State of and plans for the garbage collector

2010-07-15 Thread Bane
Anyway, I'm here bitching myself :) Just want to say that idea to have more 
than one GC type to chose when compiling would be very interesting thing, if 
single implementation can't be good for all cases.

 If I had to chose one topic with most bitchin' on this newsgroup I have 
 impression it would be the one about GC. They usually goes from 'GC managed 
 programs are slow, D ain't good enough', to 'language X has better GC than 
 D', to ' GC that D has is bad at Z'.
 
 Why not make D summer of code - write your own GC optimized for special case 
 of XYZ, send it, bundle all up in D with compiler switch '--useGC=XYZ'. That 
 is only way to really compare what is best for special case.
 


Re: TDPL, shared data, and Phobos

2010-07-13 Thread Bane
I am few days old in playin with D2 and whole shared stuff, so I am probably 
wrong in something. 

You should probably declare your example class MyValue synchronized instead of 
shared. It implies that class is shared too, and this way all methods are 
synchronized. In D1 you could mix synchronized and non syncrhonized methods in 
class, in D2 its whole or nothing. This way you don't need _lock var in your 
example.

So this would work (i guess)

synchronized class MyValue {
 int inc() {
return _value++;
  }
 int get() {
return _value;
 }
 private int _value;
}

shared MyValue sharedVal;

void main(){
  sharedVal = new shared(MyValue );
}

 I noticed that in D1 synchronized methods of same class share same lock, while 
in this D2 example (when the whole class is declared synchronized), each method 
has its own lock. 

 Also, is there any documentation on the actual semantics of shared? 
 http://www.digitalmars.com/d/2.0/attribute.html is a blank on the subject, 
 and the migrating to shared article only talks about simple global state. 
 What are the actual semantics of shared classes, and how do they interact 
 with other code? For instance, after much banging of my head against the 
 desk, I finally wrote a working implementation of a simple shared 
 multi-reader var. Obviously there are better ways to do a simple shared 
 incrementing counter, this is just a first experiment working toward a shared 
 mutable 512MB trie data structure that we have in our app's current C++ 
 implementation:
 
  shared class MyValue {
  this() {
  _lock = cast(shared)new ReadWriteMutex;
  }
  
  int inc() {
  synchronized((cast(ReadWriteMutex)_lock).writer) {
  return _value++;
  }
  }
  
  int get() {
  synchronized((cast(ReadWriteMutex)_lock).reader) {
  return _value;
  }
  }
  
  private ReadWriteMutex _lock;
  private int _value;
  }
  
  shared MyValue sharedVal;
  ... seems to behave correctly with multiple threads reading and writing ...
 
 So I can maybe understand the cast(shared) in the ctor. But I have to admit I 
 have absolutely no idea why I had to cast away the shared attribute in the 
 inc/get methods. Is there any documentation on what's really going on in the 
 compiler here? It's a shared method, accessing a shared instance var, why the 
 cast? Is the compiler upset about something in the definition of 
 ReadWriteMutex itself?
 
 Also, how would one implement this as a struct? My postblit op generates 
 compiler errors about casting between shared/unshared MyValue:
 
  shared struct MyValue {
 this(this) { _lock = cast(shared) new ReadWriteMutex; } // ERROR
 ... same as above ...
  }
 
 I recognize the possible race conditions here, but there has to be *some* way 
 to implement a postblit op on a shared struct?
 
 I hope this doesn't come across as empty complaining, I'm happy to help 
 improve the documentation if I can.



Re: Concurrency in the D Programming Language: free chapter

2010-07-12 Thread Bane
Great stuff. Should be on D website under language reference.



Interesting to see (for geeks)

2010-06-30 Thread Bane
http://www.youtube.com/watch?v=fzza-ZbEY70



Re: Interesting to see (for geeks)

2010-06-30 Thread Bane
Sean Kelly Wrote:

 Sean Kelly Wrote:
 
  Walter Bright Wrote:
  
   Bane wrote:
http://www.youtube.com/watch?v=fzza-ZbEY70
   
   I generally do not watch anonymous youtube videos because I don't want to 
   spend 
   several minutes just to see if it is something I'd want to see.
   
   So, for the sake of people like me, can you add a summary of what this is 
   about?
  
  It's a mock movie trailer about .NET and Java.
 
 To elaborate, imagine the theme from Perfect Beauty, the family are Microsoft 
 diehards, and their young son discovers Java.  Parallels are made to the 
 tribulations of a child telling his parents he's gay, and Java is made out to 
 be a guilty yet perfect pleasure.  The trailer promises to be passably 
 entertaining and then goes on for too long as the creators try to throw in 
 too many snipes formatted as reviewer commentary.

Yes, this pretty much kills all the fun watching it. Now you know why I didn't 
write anything describing it.



Re: Is it time for D1 to die of natural causes?

2010-06-24 Thread Bane
SiegeLord Wrote:

 Justin Johansson Wrote:
 
  Now that Andrei's much anticipated publication of TDPL is out, is it 
  time that D1 should now perish?
  
  My personal feeling is that by cremating D1, time and effort can then be 
  better expended and focused on solidifying D2.
  
  Cheers
  Justin Johansson
 
 To whose benefit? You are advocating nerfing a good, stable, usable language 
 that has an excellent (de facto) standard library, excellent compilers (on 
 Linux, at least), 64 bit support, tons of libraries already written for it 
 etc, and replacing it with a buggy language, buggy standard library, buggy 
 linker, no 64 bit support and only a handful of libraries to support 
 developing in it.
 
 How do users benefit from your suggestion? I have scientific computing that 
 must be done *right now* as well as games I want to develop *right now* and I 
 don't want suffer the performance losses that come from DMD's substandard 
 optimizer (at least, relative to LLVM), as well as Phobos 2's abstractions 
 (although a better compiler might solve those issues) and not using 64 bits. 
 I just tried installing dmd2 on my 64 bit Linux box, and while it installed, 
 I couldn't compile Hello World, since I have no 32 bit versions of 32 bit 
 pthread libraries installed. I am not going to install 32 bit versions of 
 every library I use in my C++ development to use them in D2, that is simply 
 unreasonable: I will use D1 instead.
 
 And I'm not worried about investing into D1 and then have my work be 
 obsolete: I am fully planning on porting my things to D2 *when* it becomes 
 better than or even as good as D1 for my purposes. It's easy to do... just 
 don't use too many deprecated features.
 
 D2 will only become the dominant version if it is actively better than D1, 
 not by making D1 disappear. Users are not going to encounter those issues 
 and start spending their time and effort improving the standard library and 
 compiler tools, it isn't worth their time: they will go use a different 
 language instead. For D2's future's sake, that different language should be 
 D1.
 

Excellent points. I do believe, at the moment,  D1 is used for real work, not 
D2. So idea of shooting D1 so half finished D2 could 'gain momentum' is idiotic 
one.


Re: beforeGarbageCollection

2010-06-17 Thread Bane
Andrei Alexandrescu Wrote:

 I'm thinking of a feature that would improve the memory footprint of D 
 programs. Say druntime provided a function:
 
 void beforeGarbageCollection(void delegate() callMe);
 
 The runtime would guarantee that callMe gets called before any 
 collection. That would allow modules to clean up caches (e.g. free 
 lists) to improve their memory profile.
 
 Any thoughts, please share.
 
 
 Andrei

void beforeGarbageCollection(bool delegate() callMe);

Maybe return value indicating should collect cycle be executed or skipped only 
that once? There might be some cases that it can be useful. Just my 2c


Re: Go Programming talk [OT] - C is simple enough!???

2010-06-12 Thread Bane
BCS Wrote:

 Hello Andrej,
 
  And when D3 comes out, you'll be waiting for D4? I don't understand
  your posts mentioning D3. I mean, D2 isn't even finalized yet
  (right?), and you're already treating the language like it came out 50
  years ago and needs to be abandoned.
  
 
 I get the impression that some of the people here are more interested in 
 the development *of* D than development *in* D. In some ways, that's a good 
 thing, as long as we don't just produce a toy for language developers.
 

I'mstuck with 1.030  making nice shiny things, so I guess I tip the scale to 
other end.


Re: MingW compatibility

2010-06-11 Thread Bane
Robert M. Münch Wrote:

 On 2010-06-11 13:18:34 +0200, Alex Makhotin said:
 
  Yes, libraries produced with mingw32 GCC link well with binaries 
  produced with DMD and I didn't notice runtime issues.
 
 Perfect! I start to like D more and more...
 
 -- 
 Robert M. Münch
 http://www.robertmuench.de
 

I don't remember having problems with using any dll on windows, implib does 
good job.

As far for linking static lib, I believe compiling it with dmc is required.


Re: How do you use C based libs with D?

2010-06-11 Thread Bane
Robert M. Münch Wrote:

 Hi, this is a bit related to my post regarding MingW compatibility.
 
 As D uses Optilink (AFAIU) this implies that all C based code needs to 
 be compiled with DMC?
 
 Not that I don't like DMC (I like it a lot) but I always had problems 
 (or it requires a bunch of work) to get open-source projects 
 compileable with it.
 
 How do you deal with this?

I deal the way you say: some compiles nice, some requires (lot) of work, and 
some are just impossible to compile, so I use dll.

Is there particular reason you avoid using dll's?
 
 -- 
 Robert M. Münch
 http://www.robertmuench.de
 



Re: Go Programming talk [OT]

2010-06-09 Thread Bane
Andrei Alexandrescu Wrote:

 On 06/09/2010 06:28 AM, Pelle wrote:
  On 06/09/2010 01:04 AM, Leandro Lucarella wrote:
  Bane, el 8 de junio a las 14:42 me escribiste:
  Is a trade-off. When you don't handle the errors, exceptions might be
  a win, but when you do handle them, I'm not so sure. And again, I'm
  not
  saying I particularly like one more than the other, I don't have a
  strong opinion =)
 
  Of course, the problem is that you rarely see the former code. Most
  of the time, people just write the second one with or without
  exceptions and don't bother about error checking if there are no
  exceptions. You are a lot more likely to get them to handle errors
  properly with exceptions than without (particularly with D's scope
  statements).
 
  Being lazy as I am, exceptions are faster and easier to use than
  manual error checking. There will always be some unchecked return
  value, with exceptions it can't happen. In a way same as GC vs manual
  memory handling.
 
  Each thread of program I make I always enclose in try catch, so
  everything is cought.
 
  Yes, I agree that safety is the best argument in favour of exceptions
  (as explicitness is the best argument in favour of no-exceptions). The
  Python Zen put it this way:
 
  Errors should never pass silently.
  Unless explicitly silenced.
 
  That's what I like the most about exceptions. I think try/catch is
  really ugly though. There has to be something better.
 
 
  Careful use of scope(exit) and simply avoiding catching exceptions works
  well for me. Except when you have to catch, of course. :)
 
 Same here. I think a good application only has few try/catch statements, 
 so the fact that try is a relatively heavy statement is not very important.
 
 Andrei

In my experience exceptions have one great advantage that they are far easier 
to add/remove to existing codebase without changing lot of things. They require 
much less coding and do not obfuscate code flow.

So for what they offer and for what price - they are extremely worth it.


Re: To throw or not to throw [was: Go Programming talk [OT]]

2010-06-09 Thread Bane

 [Bugs (ie, cases where the program deviates from its specification)] should 
 be corrected before the program is delivered, not handled while it is being 
 run.
 
 HA HA HA HA HA!!! (/Wipes tear/) AHH HA HA HA HA HA
 
 Translation: He seems to be living in lala-bizarro-land where the waterfall 
 model produces good, reliable results and one can simply choose to find 
 all bugs before shipping. Also, everybody is always happy, there is no 
 disease, and everyone spends all day frolicking in the daisies, climbing 
 rainbows and playing Kumbayah on their guitars.

Sounds to me that guy never ever have written program that was used for 
anything other than lecturing.


Re: Marketing of D - article topic ideas?

2010-06-04 Thread Bane
superdan Wrote:

 == Quote from retard (r...@tard.com.invalid)'s article
  Thu, 03 Jun 2010 16:58:03 -0700, Walter Bright wrote:
   D is an extremely powerful language, but when I read complaints and
   sighs about other languages, few seem to know that these problems are
   solved with D. Essentially, we have a marketing problem.
  
   One great way to address it is by writing articles about various aspects
   of D and how they solve problems, like
   http://www.reddit.com/r/programming/comments/cb14j/
  compiletime_function_execution_in_d/
 which was well received on reddit.
  
   Anyone have good ideas on topics for D articles? And anyone want to
   stand up and write an article?
  
   They don't have to be comprehensive articles (though of course those are
   better), even blog entries will do.
  Well, I for one, like to know when the D2 will be officially published. I
  thought there was a bugfix week and the TDPL was written because D2 is
  almost ready and there was supposed to be a big kaboom.
  The version number is already at 2.046 but there are maybe 100 bugs
  waiting in the bugzilla with patches and the compiler  spec are
  seriously broken. When will it be usable? What will be the version number
  of the first usable D2 dmd? There was a huge D1 release party, but I'm
  not sure when it's a good time to move to D2. It's not enough that the
  examples from the book work, D needs to be ready for commercial quality
  applications. What's the library status? Where are the official
  milestones? Future plans? What's happening here?
 
 http://www.youtube.com/watch?v=8r1CZTLk-Gk
 
 thanx fer yer self entitlement asshole.

yup. too many people take D for granted and only bitch about things it lacks 
and never see lot of great features it already has. it is usable and it is 
fucking better than c and c++!


Re: Marketing of D - article topic ideas?

2010-06-04 Thread Bane
Might be unimportant and off topic, but I think cool website might be nice 
first impression. As I see, almost all effort is in direction of converting 
existing programmers to D. We are maybe forgetting about inexperienced people 
that are just looking for first (compiled) language. They usually chose easiest 
to use right away, with most understandable docs and easiest installation. 


OT: Re: One document about Go

2010-06-02 Thread Bane
BCS Wrote:

 Hello Walter,
 
  bearophile wrote:
  
  Walter Bright:
  
  C got it right and it doesn't need fixing.
  
  I have never programmed in Go, but keep in mind that Go designers are
  expert language designers and programmers. They aren't stupid people.
  
  Even experts make mistakes.
  

Even Forest Gump knows 'stupid is who stupid does'.

 
 For that matter, how many expert language designers are there in the world? 
 To make that have an answer, I've heard it said that to be an expert you 
 need to have done something consistently (like as a part time job or more) 
 for about 10 years. So Walter's and expert compiler writer and might be an 
 expert language designers sometime next year (assuming IIRC he started 
 designing 
 D in '01).

Does this makes me expert for beer consumption ? It was a full time job for me, 
often during weekend days? 
Does 10 years of banging your fingers with hammer makes you expert carpenter ?

I don't think here on Walther, but on that hilarious definition of 'expert'.



Re: If you have to learn just one programming language

2010-05-31 Thread Bane
This reminds me of elementary school and those discussions which 
car/plane/tank is best. Pretty futile subject to begin with, as you cant 
compare fruits and vegetables. And no matter what somebody say there will 
always be some kid claiming opposite just for the sake of disagreeing. 

I guess troll got hungry.


Re: If you have to learn just one programming language

2010-05-31 Thread Bane
 IMHO the original blog post was more trolling than my false opinions. I 
 liked your critical way of thinking so much that I publicly admit that my 
 post was a bit provocative.

Thank you for a compliment.

 When you see this kind of articles, you should really ponder whether it 
 makes sense for anyone to prove that a new favorite language beats 
 everything ever built. Seriously, the argumentation was really sloppy. 
 Languages should not be like religions. I find it so funny when people 
 are desperately protecting their precious poor little D from the 
 faceless evil trolls. 

I think that is consumer society problem. They (evil marketing dudes) brainwash 
people that new products are better than old, so they would buy new stuff. Its 
influence is in lot of areas of life, why not programming to.
Or just Darwinist evolution approach believing that new things are better and 
smarter than old. Yea, right.

As for trolls, they have their role in questioning things and annoying people 
that take things too seriously. Keep up the good work!


Re: Memory Mapped File Access

2010-05-29 Thread Bane
 Ok, I need to be fair. We are quite good at these things. Anyone 
 remembering Adimens from the Atari (later for Windows as well)? It 
 was/is a ACID compliant SQL database with row-level locking etc.
 
 And, it was written by my friend and sold more than 500.000 times.
 
 Yes, we are crazy... but chances are high we will get something done. I 
 need to get some practice with D but shouldn't be that hard.

Then this is a whole new ball game. I did that scare-to-double-think-it so you 
wouldn't start too ambitiously, but it seems you have enough experience to know 
exactly what you are getting into.

I think D is perfect for the job. Much less lines of code than C family, same 
or more power. I hope your project will make you famous, along with D :)


Re: Memory Mapped File Access

2010-05-28 Thread Bane
Robert Wrote:

 Hi, has anyone played around with D and memory mapped files on Windows / 
 Linux?
 
 A friend of mine and I want to use D to develop a D native 
 database-system. Yes, sounds crazy and it will take long and we haven't 
 done a lot yet. So don't expect anything to look at soon :-)
 
 Thanks Robert.
 

MMapped files work just fine, I played/am playing with them.

I greet your idea to learn how to build database, its great way to spend time 
for people programming that stuff.

And you are right - trying to make operational database like this is crazy, 
crazy idea. It will require from you HUGE investment in time  learning to make 
it remotely reliable and usable. Here I talk about ACID compliance. If you are 
trying to build something that works *mostly* of the time and saves key - 
value pairs in file then it is much simpler.

SQLite is a great project you could learn a lot from. It has tons of useful 
docs about making DB, its open source, its been around for 10 years and its 
probably better job then you could ever do.


Re: 64-bit support (Was: Poll: Primary D version)

2010-05-23 Thread Bane
bearophile Wrote:

 Walter Bright:
 
  I should amend that by saying that post D2 emphasis will be on addressing 
  problems with the toolchain, of which 64 bit support is a big one.
  
  Language changes will be a very low priority.
  
  Other toolchain problems are things like shared libraries, installation, 
  bugzilla bugs, etc.
 
 Things are not as simple as you say: among the Bugzilla bugs there is more 
 than just pure implementation bugs, there are design bugs too, and they are 
 essentially language changes. I can list you many of them.
 
 Bye,
 bearophile

I just hope D won't try to become Jack of All Trades, ad least not to early :D



Re: Poll: Primary D version

2010-05-21 Thread Bane
Nick Sabalausky Wrote:

 Nick Sabalausky a...@a.a wrote in message 
 news:ht3uj4$30f...@digitalmars.com...
  div0 d...@users.sourceforge.net wrote in message 
  news:ht3tfa$2sm...@digitalmars.com...
 
  I'm surprised so many people who don't use D bother to read this news
  group and voted on the poll. Surely they must have better things to do.
 
 
  I have a few guesses for that phonomenon:
 
 ...
 
  - Troll and/or trolls. I turned on enable IP logging, but I didn't turn 
  on prevent multiple votes from same IP, since shared IPs are fairly 
  common. Maybe GirlProgrammer's been messing with it. Or maybe the Reddit 
  D-Downvoters found it. Maybe I made a mistake by not preventing multiple 
  votes from same IP. Maybe if it turn that on it'll apply 
  retro-actively...or maybe not? I dunno, I really should get around to 
  making my own poll software.
 
 ...
 
 
 I've looked into this a little. I was able to download a chart of the IPs, 
 and the number of votes per IP. Unfortunately, there doesn't seem to be any 
 way to tell anything about the actual votes from a particular IP, which I 
 suppose is good for privacy, but it prevents me from looking at an IP with 
 multiple votes and determining if all of the votes were suspiciously 
 strongly favoring the one option.
 
 There are 105 IPs. The vast majority of the IPs only had one vote. There 
 were five IPs that had two votes each, and one IP that had three votes. I'm 
 willing to assume those are just multiple people from the same ISP, and even 
 if not they're not particularly significant compared to the rest. But then 
 there was one IP with 72 votes. So, yea, that does seem suspicious. In case 
 anyone thinks they might have more insight, the IP in question is 
 115.131.192.250, and appears to be from Austrailia.
 
 

Thats great. It proves my point - even D trolls are loyal to the project. 72 
votes? That is some dedication.



Re: Poll: Primary D version

2010-05-21 Thread Bane

 What is more interesting is that the majority of D users already use D2, 
 which has a huge list of bugs. It just tells that most D users don't use 
 D in serious / mission critical / money bringing projects, but instead as 
 a hobby. 

I'm in serious business with it. I think D1 is up to it pretty well.


Re: Poll: Primary D version

2010-05-21 Thread Bane
Bane Wrote:
  What is more interesting is that the majority of D users already use D2, 
  which has a huge list of bugs. It just tells that most D users don't use 
  D in serious / mission critical / money bringing projects, but instead as 
  a hobby. 
 
 I'm in serious business with it. I think D1 is up to it pretty well.

D1 I mean. Shit. I lack clarity.



Re: Poll: Primary D version

2010-05-20 Thread Bane
OBG! I'm minority! (still stuck on 1.030)

Nick Sabalausky Wrote:

 I'm interested in trying to gauge the current state of D version usage, so 
 I've set up a poll:
 
 http://micropoll.com/t/KEFfsZBH5F
 
 I apologize for using MicroPoll (and all its manditory-JavaScript-ness). I 
 personally hate MicroPoll but everything else I've seen is even worse and I 
 don't have time to make a custom one.
 
 



Re: Poll: Primary D version

2010-05-20 Thread Bane
OMG! I can't even spell OMG right!

 OBG! I'm minority! (still stuck on 1.030)
 
 Nick Sabalausky Wrote:
 
  I'm interested in trying to gauge the current state of D version usage, so 
  I've set up a poll:
  
  http://micropoll.com/t/KEFfsZBH5F
  
  I apologize for using MicroPoll (and all its manditory-JavaScript-ness). I 
  personally hate MicroPoll but everything else I've seen is even worse and I 
  don't have time to make a custom one.
  
  
 



Re: Please, don't feed the troll (was Does D Suck?)

2010-05-18 Thread Bane
superdan Wrote:

 == Quote from Bernard Helyer (b.hel...@gmail.com)'s article
  On 17/05/10 17:17, GirlProgrammer wrote:
   If D doesn't suck, and is better than C++ why am I not using it? Indeed,
   why isn't hardly anyone using it?
  I imagine you get some dull pleasure from posting essentially the same
  message to the NG every few months or so (this is almost certainly the
  person behind the 'is d a cult' thread a few months ago, and ios the
  same person behind 'what is d' from a few weeks) so until
  GirlProgrammer/Jane Doe/Janis D/angelinastyle contributes a question
  beyond the same simple troll, 'she' is not worth responding to, so I'd
  just like to take this opportunity to remind the NG of the content 'she'
  has previously posted, and reconsider in replying to 'her' accordingly.
  Just a friendly PSA.  n_n
  PS: It's nice to see that you've updated your XP install since your last
  message!
 
 yeah dun feed da troll. ass to mouth da troll. too bad that ain't gonna be
 pleasant. cocksucka as girlprogrammer is it ain't no broad. its a punk-ass
 motherfucker posing as chick 2 give a twist to his lame life. shit.

A troll visit once in a while is a nice way to break routine on any ng/forum. 
Especially female programmer with love towards word suck. That is bound to be 
fun.
I see this troll is loyal, and will be here for years to come. Looking forward 
to it.


Re: pure generators

2010-05-13 Thread Bane
2 words (not relating to true meaning of this post):

Crap engine.

My first association seeing 'pure generators' subject. Is there better way to 
counter balance them, and make a useful machine, running on type of fuel that 
is in abundance here where we live? Better than perpetuum mobile.


Re: Tango Phobos

2010-05-02 Thread Bane
Nick Sabalausky Wrote:

 Nick Sabalausky a...@a.a wrote in message 
 news:hrgbo5$fv...@digitalmars.com...
  Walter Bright newshou...@digitalmars.com wrote in message 
  news:hrgag4$cp...@digitalmars.com...
  Jason House wrote:
  It is my understanding that several Tango developers no longer follow
  digitalmars.D. I recommend posting to the Tango forums.
 
  If anyone would like to repost my message initiating this thread in the 
  Tango forums, feel free.
 
  Done: http://www.dsource.org/projects/tango/forums/topic/878
 
 
 It seems to have been silently deleted...(???)
 
 

Yup, that's what Stalin would do :)

Joke aside, hot tempered discussion can't bring any good, so its better that 
way.




Re: Tango Phobos

2010-05-02 Thread Bane
Gurney Halleck Wrote:

 == Quote from Bane (branimir.milosavlje...@gmail.com)'s article
  Nick Sabalausky Wrote:
   Nick Sabalausky a...@a.a wrote in message
   news:hrgbo5$fv...@digitalmars.com...
Walter Bright newshou...@digitalmars.com wrote in message
news:hrgag4$cp...@digitalmars.com...
Jason House wrote:
It is my understanding that several Tango developers no longer follow
digitalmars.D. I recommend posting to the Tango forums.
   
If anyone would like to repost my message initiating this thread in the
Tango forums, feel free.
   
Done: http://www.dsource.org/projects/tango/forums/topic/878
   
  
   It seems to have been silently deleted...(???)
  
  
  Yup, that's what Stalin would do :)
  Joke aside, hot tempered discussion can't bring any good, so its better 
  that way.
 
 Srsly?!? Its better to censor Walters informative post because the Tango 
 Komintern
 has no good retort?
 
 The dimwits tried to rewrite history once. They edited the title of Dons bug
 report. They failed to explain that too. This time the truth is out there. 
 Tango
 leadership deserves no respect.
 

I meant on topic removal from DM newsgroup. I guess Walther did it, as he is 
the one administering it, right? I support his decision for a reason I wrote 
above.

As far of Tango leadership and respecting them, time will tell soon. If 
Walther, Andrei and the rest of people that are making tremendously hard work 
on D can put their ego aside (quest for fame), then what is to say about people 
that (face it) do less with Tango and act like their work is more important?

Bottom line is that D should not suffer because of ego of individuals.


Re: Tango Phobos

2010-05-02 Thread Bane
Walter Bright Wrote:

 Bane wrote:
  I meant on topic removal from DM newsgroup. I guess Walther did it, as he is
  the one administering it, right? I support his decision for a reason I wrote
  above.
 
 Yes, I did it, it was my idea to do so. I did it for the reason you suggest 
 (not 
 the Stalin one!) but the one about letting our hot tempers cool a bit so 
 hopefully we can find the best solution for D, not an ego-driven one.
 

As I said, this Stalin thing is joke on efficiency and speed of action was 
taken. Comparing Walther to Staling was not my intention.



Re: Tango Phobos

2010-05-02 Thread Bane
 I've read all the discussion, I think it's very clear (especially from 
 Lars's mesage here: http://thread.gmane.org/gmane.comp.lang.d.phobos/359 ) 
 thst there's been absolutely no ego involved, by anyone, at all. The whole 
 thing was all about Walter being told that it may be possible that one of 
 tango.time's writers could *IN THEORY* have a potentially legal complaint 
 about SHOO's lib. I assume that Lars was the one who informed Walter of this 
 (though I'm not certain), and if so, then *NOBODY* has actually made any 
 complaint about *THEIR OWN* code being infringed!!
 
 Additionally, it's been made very clear that the whole binary attribution 
 thing is staying in Tango *purely* because of difficulties in switching away 
 from BSD (While I may disagree that sticking with BSD is the best thing for 
 Tango to do, the important thing here is that ego doesn't have a damn thing 
 to do with it).
 
 So can we finally knock it off with all the someone has an ego bullcrap? I 
 fully expect Halleck to keep it up, but that's only because every post he's 
 made here has been trolling, and trolls certainly aren't going to care about 
 any reasonable argument that gets presented to them. But for everyone else: 
 It's done, it's over, QED, there's no flaming egos, give it a rest.
 
 

I was under impression that stopping factor is that Tango can't switch to boost 
so it and Phobos can share the same license. Or maybe that Tango has problems 
with itself switching to single license from current dual licensing thing that 
has problems.

I read all links involving this discussion, and frankly, its a mess (too much 
details).

Also, I'm not tracking who is troll here, so I take seriously everything I read 
that sounds remotely non-trolling.


Re: The BSD license problem and a trivial solution

2010-05-01 Thread Bane
 1) Add a handler for --printLicenses in extern(C) int main. This ensures 
 the text can always be printed.
 1.1) Make sure to call checkLicenses beforehand!
 2) Public import addLicense and registerFile in object.d
 3, optional) Extend the module statement so that `module foo under GPLv2; ` 
 is interpreted as `module foo; static this() { registerFile(__FILE__, 
 GPLv2); }`
 4, optional) Extend the above system to track what licenses can import what 
 others.

The horror! The horror!


Re: Tango Phobos

2010-05-01 Thread Bane
For those Tango programmers not willing to change their license: 

They are fucking programmer prima donnas. Tango should prune their work and 
continue on without them. Too much good work is at hold because of legal bombs 
they planted. Their contribution is clearly useless, even more, harmful.

As for those that can't be reached: hey, either adopt it as anonymous work or 
prune it too.

That's what Stalin would do.


Re: Fatal flaw in D design which is holding back widespread adoption

2010-03-31 Thread Bane
I wonder do Python folks have same problems.


Solution for Fatal flaw in D design which is holding back widespread adoption(tm)

2010-03-31 Thread Bane
Would something like tidyMyHorribleDcode be a solution?
Put a conf file in source somewhere which states how many tabs/spaces/whatever. 
Before you comit code back to shared repository you run tidy to convert code to 
D spe format.

When you checkout code from repo you run tidy with your custom settings.

A great  simple solution for trivial problem not worth talking about it.



Re: Solution for Fatal flaw in D design which is holding back widespread adoption(tm)

2010-03-31 Thread Bane
Jesse Phillips Wrote:

 Bane wrote:
 
  Would something like tidyMyHorribleDcode be a solution?
  Put a conf file in source somewhere which states how many 
  tabs/spaces/whatever. 
  Before you comit code back to shared repository you run tidy to convert 
  code to D spe format.
 
  When you checkout code from repo you run tidy with your custom settings.
 
  A great  simple solution for trivial problem not worth talking about it.
 
 So, something like indent or bcpp for Linux?
 
 http://indent.isidore-it.eu/beautify.html
 
 http://www.faqs.org/docs/Linux-HOWTO/C-C++Beautifier-HOWTO.html

Nah, they are unworthy. Not written in D.



Re: Solution for Fatal flaw in D design which is holding back widespread adoption(tm)

2010-03-31 Thread Bane
 It would be a start. Used by itself it would be a bit of a hassle, but 
 having it hooked up to auto-run upon checkout/commit or upon save/load in 
 the editor (this would ideally be better since you can double-check the 
 reults before committing) would be pretty much what I already had in mind as 
 a solution.

My thinking the same.

 
 Alhough it wouldn't necessarily even need to be a full-fledged source 
 formatter. Just something to sanitize the whitespace between start-of-line 
 and anything non-whitespace would be a huge improvement *and* be 
 cross-language. 
 

Only thing to be taken into special consideration are multi line strings. 
Sanitizing them would produce errors. Some kind of lexer or advanced regexpr 
match might be required.
 



Re: Solution for Fatal flaw in D design which is holding back widespread adoption(tm)

2010-03-31 Thread Bane
 And here's an even crazier idea: Some sort of well-thought-out UCF format 
 (Unicode Code Format) that is like plain-text, but includes a standard 
 metadata header (typically hidden while editing) that can help sort all this 
 stuff out, and maybe other things as well. Obviously it would require 
 special support from compilers and editors, but if it was well-designed 
 (including discouragement of proprietary extensions - don't want a repeat of 
 HTML) then I think it would be worth trying to push.

Sounds complicated and error prone. I still have problems with notepad and his 
habit of killing utf-8 files and inserting bunch of  where all the nice 
chars were. Makes me want to kill somebody.


Re: Solution for Fatal flaw in D design which is holding back widespread adoption(tm)

2010-03-31 Thread Bane
Nick Sabalausky Wrote:

 Walter Bright newshou...@digitalmars.com wrote in message 
 news:hp087r$19l...@digitalmars.com...
  Nick Sabalausky wrote:
  Alhough it wouldn't necessarily even need to be a full-fledged source 
  formatter. Just something to sanitize the whitespace between 
  start-of-line and anything non-whitespace would be a huge improvement 
  *and* be cross-language.
 
  I think that's a great idea. Yesterday, I wrote the following program and 
  added it to the dmd makefile so that all checkins and installs run the 
  source code through it first. I welcome improvements. The current version 
  replaces tabs with spaces, and removes trailing whitespace.
 
 
 Sounds great.
 
  If someone is ambitious, a full fletched D source code pretty printer 
  would be valuable that anyone could use, and which all Phobos source code 
  could be run through in order to enforce a common style.
 
 For bonus points, they could expose it as a library so editors and other 
 tools can make use of it without shuffling everything through command-line 
 params, stdout and the filesystem.
 
 

Will it work with multiline strings?

char[] s = r I am very
 wide

string;



Re: Solution for Fatal flaw in D design which is holding back widespread

2010-03-31 Thread Bane
 I have tried that Universal Indent GUI with Uncrustify. It seems nice but 
 it has so many options that finding the correct ones is lot of work, even if 
 you use that GUI:
 http://uncrustify.sourceforge.net/config.txt
 It seems unable to recognize foreach and foreach_reverse.
 
 Bye,
 bearophile

In my case it breaks class indentation. I guess template syntax is a bit tricky 
for it too.


LIB flag on Windows DMD (nagging)

2010-03-30 Thread Bane
(Disclaimer: I don't know is this solved on dmd later than 1.030, I'm stuck 
with it past...)

Problem: PITA when using DMD on windows with custom library paths

Example: there is pragma(lib, mylib.lib); somewhere in the code. mylib.lib is 
not on the known path for the compiler (lets say c:\xxx). How to tell dmd where 
to look for it?


1.
dmd ... -Ic:\xxx
 won't work

2.
dmd ... -Lsome_flag_to_optlink
 won't work (I haven't found in optlink docs that you can pass argument for 
 lib path)

3.
set LIB=c:\xxx
dmd ...
   won't work (sc.ini in dmd binary folder rewrites LIB env. var with the one 
  in it)

4.
bud ... -LIBPATH=c:\xxx ...
 wont work (same as 3)

4.
edit sc.ini in dmd folder and add c:\xxx
 not smart (not all projects need that lib path, even worse if different 
 projects use 2 distinct mylib.lib)

5.
create sc.ini in project folder and add c:\xxx to LIB env var
 pain in the royal behind (lot of duplication, as original LIB, DFLAGS and 
 LINKCMD are not changed, also, full path to dmd folder must be supplied as 
 %...@p% points to project folder now)


Is there a way to remedy it?
Or just to edit line in original sc.ini in dmd folder from

 LIB=%...@p%\..\lib;\dm\lib

to

 LIB=%...@p%\..\lib;\dm\lib;%LIB%

it seems that adding %LIB% at the end apends existing LIB env var, so paths are 
preserved.


Re: LIB flag on Windows DMD (nagging)

2010-03-30 Thread Bane
Robert Jacques Wrote:

 I don't know about the general case, but I use pragma(lib,...) with a  
 library in my working directory and it works.

That works by default. Problem is when different projects share same libs from 
some other folder.


Re: [OT] Who lives in the by area?

2010-03-29 Thread Bane
BCS Wrote:

 I just graduated from collage (Yeah!) and got a job (Ye-ha!) in the San 
 Francisco 
 bay area where I've spent just over 24hr ever (urk...).
 
 Anyone from the area have any advice? Places to avoid, things to look into 
 or watch out for? That sort of thing.
 
 (Offline responses also welcome at: benjamin at precisionsoftware us )
 
 -- 
 ... IXOYE
 
 

Avoid Blue Oyster bar, if you are not one of those. Other than that, you'll be 
just fine.



Re: D is dead, so now where it the money going?

2010-03-28 Thread Bane
JamesKan Wrote:

 Andrei wants some (he just wants money, huh). Walter? Shut it down. Count 
 the people engaged in this whatever it is, and if a few select 
 capitalize on its failure, then, who are you? There is no money in D. 
 None. Nada. Religions are not for profit. It's OK to worship, whoever 
 stupid people want to. If TDPL goes to press, there is something VERY 
 wrong (and there is). 

Bitching about your own life disappointments? Whenever you go everything 
appears the same? Here's an idea: go some place else!



Re: D is dead, so now where it the money going?

2010-03-28 Thread Bane
 Do you mean this one?
 
 What problems has D solved? (Other than providing compiler writers with 
 masturbatory material). Light bulb (!!!): D is a circle jerk! (Not that 
 there's anything wrong with that).
 
 It has a similar tone.
 
 Why would someone be so bitter and write so badly? Even if it were the 
 case that D was not really any more than a discussion group for ideas 
 about compiler design, it would still be a worthwhile exercise.
 
 Walter has been contributing to the industry for years, and anyone who 
 has done that in the way he has will have experienced ups and downs. He's 
 the last person I know who I would describe as money-grabbing.
 
 If Andrei wants to risk all the work it takes to get a book published, 
 and he's bet on a particular horse, then whichever way it goes, that's 
 his own choice. Since when was there an unwritten rule that you can't do 
 speculative technical work with a view to making some money in the 
 future. If people hadn't done that many times we would barely have 
 computers and computer languages at all!
 
 I'd put it more bluntly than some (not to you Pelle) - piss off you 
 anonymous prat, or be clear about your identity then we can all judge 
 your motives.
 
 Steve
 

I agree with Steve.



Re: Network in phobos

2010-03-28 Thread Bane
Adam Ruppe Wrote:

 Something that I think would be nice is being able to treat a network
 connection the same way we can work with files and stdin.
 

I think I saw exactly that in Tango lib, maybe you can save time by looking it 
up. I don't know for sure, newer used it.


Re: Summary on unit testing situation

2010-03-23 Thread Bane
Pelle MÃ¥nsson Wrote:

 I'm not sure I understand, could you explain?
 
 I am not experienced with unittest frameworks, and would like to 
 understand what the D system lacks.
 
 Thank you.


Me too.


Re: Append char to char-array in function

2010-03-21 Thread Bane
Nrgyzer Wrote:

 Hello everyone,
 
 how can I add a char to a char-array by using a other class?
 
 For example:
 
 class A {
 
private char[] text;
 
this() {
...
   text ~= a;
   new B(text);
   writefln(text);
...
}
 
 }
 
 class B {
 
this(char[] text) {
...
   text ~= b;
...
}
 
 }
 
 This should write ab in the command line, but only a is shown.
 
 ... Thanks for help :).


No, it shouldn't. What goes in B, stays in B. But if you add magic 'ref' or 
'inout' keyword it might work:

 class B {

this(inout char[] text) {
...
   text ~= b;
...
}
 
 }



Re: Append char to char-array in function

2010-03-21 Thread Bane
bearophile Wrote:

 Bane:
  No, it shouldn't. What goes in B, stays in B. But if you add magic 'ref' or 
  'inout' keyword it might work:
 
 Use 'ref' only. If the OP also wants to know why that's the solution, the 
 d.learn newsgroup is the right place to ask.
 
 Bye,
 bearophile

Darn. I like inout more. Why do good keywords die first?


Re: Improve D1/D2 home page

2010-03-20 Thread Bane
I have been thinking about the same thing the other day.

My first contact with D was 5 years ago. I had solid background using PHP and 
Python, and occasionally used Delphi and C/C++, so I knew basics on 
non-scripting languages as well. I have been searching for compiled language 
with less frustrating usage than C, and somehow ended up on D website.

I had trouble understanding what's going on. Raw input was there, but some 
simple basic guide was missing. I believe even now website is optimized for 
more experienced programmers that know C++ that can read stuff and say Hey, 
this looks very familiar to what I use... AND that are willing to dig website 
enough to find what they are looking for. But for beginners or users of 
non-similar language it is hard, hard and confusing experience.

That's why I quit D on first contact after few days of frustration. 2 years and 
more C/C++ experience later, I came back to website, said something like hey, 
this looks familiar and started switching to D.

Taken the fact that D has simple and powerful syntax as many popular languages 
today (easy string  array manipulation, powerful built in types, no cryptic 
syntax, compiler that reports errors pretty good, no hidden quirks or PITAs, 
builtin library with pretty much enough for any start), I really don't see why 
should D be considered 'good as second language'. Shit, it is good as first 
language for beginners to!
All it needs is more dope friendly website, with tutorials and info that 
already exists organized to more logical places, more useful menu with real 
hierarchy, news section, FAQ, beginers section with some programming basics 
(nothing fancy), and most importantly 'quick start' tutorial with flashing 
orange link that shows  visitor how to download and compile 'Hello world in 2 
min and piss his pants of excitement, willing to find out more about this cool 
language.

The only reason I dont bitch more about it because I cant do it (been told more 
than once I don't distinguish green from red color when I tried to play with 
webdesign), and its lame from me to say to other people what should they do.




Re: Improve D1/D2 home page

2010-03-20 Thread Bane
 All it needs is more dope friendly website, with tutorials and info that 
 already exists organized to more logical places, more useful menu with real 
 hierarchy, news section, FAQ, beginers section with some programming basics 
 (nothing fancy), and most importantly 'quick start' tutorial with flashing 
 orange link that shows  visitor how to download and compile 'Hello world in 
 2 min and piss his pants of excitement, willing to find out more about this 
 cool language.
 
I would say one more thing, risking to anger people who think othervise: word 
count or Fibonacci number functions are not cool tutorials for most of 
programmers :) 'Hello world', 'I rule!' infinite loop or some openGL demo are.


Re: Improve D1/D2 home page

2010-03-20 Thread Bane

 I'm not color blind (yes, I was tested!), but I might as well be because 
 everyone says I have no taste in colors (or web design, for that matter).
I believe design and programming skills don't go hand in hand.
 
 There's no store set on the current scheme of the pages.
 
 So if you or anyone has specific suggestions, feel free.
 
Easy :D use some existing design. Examples of some websites:

Minimalistic design I like very much: 
http://www.sqlite.org/docs.html
D is more complex project, so I guess it wont cut it.

Maybe some sort of wiki/tracking system for software development would be 
usefull? It would solve horrible design + enable more people to change/add 
contents? Here again design I like:
http://trac.edgewall.org/
There are many similar projects, they include repository, wiki, bug tracking 
and all things D need.

Using some of it has many benefits: more people are familiar with it so they 
would know how to use it and contribute + there are templates for pretty design 
so no more bitching about horrible colors + it offers some predefined ways to 
organize tons of data D is all about for easier use.

I mean D website has lots of data and lack of administrators, it is in danger 
to evolve in this horrible mess:
http://www.firebirdsql.org/
So many bright colors, so much data,  so much noise (to be fair, it looks 
better now than a year ago).



Re: Improve D1/D2 home page

2010-03-20 Thread Bane
Jesse Phillips Wrote:

 I also suggest at least some of the changes found on this zilla
 
 http://d.puremagic.com/issues/show_bug.cgi?id=3497

True. Lot of D project related stuff is hosted on many sites, which is 
confusing. http://www.digitalmars.com/d/dlinks.html.

I guess there will come a moment in future when something languageD.org will 
happen so all wikis and sites can be merged to that one.


Re: Obfuscating function names and the like inside exe file

2010-03-20 Thread Bane
bobef Wrote:

 Hello all,
 
 I was wondering if someone know of way to obfuscate all the strings and 
 function names and class names inside DMD Windows generated exe file. Opening 
 the file with notepad shows all kinds of strings and names in clear text and 
 since my application handles some sensitive data it gives me an extra feeling 
 of insecurity. Any suggestions?
 
 Thanks

Compress/encode sensitive data and give meaningless names to function/classes ? 
:)


  1   2   >