Re: Patterns of Human Error - my presentation at the DC ACM

2011-05-06 Thread Lutger Blijdestijn
Nice slides, very simple and elegant. 

This reminds me of when I started with D. I found a lot of these 'details' 
unload quite some burden I had with C++ and made programming that much more 
enjoyable.


Re: D Programming Language source (dmd, phobos, etc.) has moved to github

2011-01-25 Thread Lutger Blijdestijn
Nick Sabalausky wrote:

 David Nadlinger s...@klickverbot.at wrote in message
 news:ihkub8$1ia4$1...@digitalmars.com...
 On 1/24/11 10:20 PM, Nick Sabalausky wrote:
 Does Git really not have real revision/changeset numbers?

[.]


 Not that I've actually used DVCSes much yet, but my understanding is
 that the same can be set of Hg and yet Hg handles revision/changeset
 numbers just
 fine. The nice things (plural) about those is that they're both readable
 and
 comparable.

 Hg has no �real revision/changeset numbers� either - there is a
 more-or-less-monotonic number assigned to the various changesets, but
 it's only valid for a single, *local* checkout, using them e.g. in a NG
 post would be a very wrong thing to do
 (http://mercurial.selenic.com/wiki/RevisionNumber).

 
 Even without really using DVCSes it always seemed clear to me that an
 incremented number would be relative to a particular branch. So if you
 specify what branch you're talking about (which could usually just be
 assumed to be the main official one unless otherwise specified), shouldn't
 that be enough?
 
 Git supports a relative notation as well, which is what I personally want
 to use most of the time anyway (e.g. HEAD^, master~4, something@{1 year
 ago}, .).
 
 Ah, so it *does* then? Great! Happen to have a link that explains it?
 

This covers most of it to see what's possible:

http://progit.org/book/ch6-1.html

You can customize git log with a format string, try this for example:

git log --pretty=format:%h - %an, %ar : %s %d










Re: D Programming Language source (dmd, phobos, etc.) has moved to github

2011-01-25 Thread Lutger Blijdestijn
Nick Sabalausky wrote:

 Lutger Blijdestijn lutger.blijdest...@gmail.com wrote in message
 news:ihn21d$2esd$1...@digitalmars.com...
 Nick Sabalausky wrote:

 David Nadlinger s...@klickverbot.at wrote in message
 news:ihkub8$1ia4$1...@digitalmars.com...
 On 1/24/11 10:20 PM, Nick Sabalausky wrote:
 Does Git really not have real revision/changeset numbers?

[.]


 Not that I've actually used DVCSes much yet, but my understanding is
 that the same can be set of Hg and yet Hg handles revision/changeset
 numbers just
 fine. The nice things (plural) about those is that they're both
 readable
 and
 comparable.

 Hg has no ?real revision/changeset numbers? either - there is a
 more-or-less-monotonic number assigned to the various changesets, but
 it's only valid for a single, *local* checkout, using them e.g. in a NG
 post would be a very wrong thing to do
 (http://mercurial.selenic.com/wiki/RevisionNumber).


 Even without really using DVCSes it always seemed clear to me that an
 incremented number would be relative to a particular branch. So if you
 specify what branch you're talking about (which could usually just be
 assumed to be the main official one unless otherwise specified),
 shouldn't
 that be enough?

 Git supports a relative notation as well, which is what I personally
 want
 to use most of the time anyway (e.g. HEAD^, master~4, something@{1
 year ago}, .).

 Ah, so it *does* then? Great! Happen to have a link that explains it?


 This covers most of it to see what's possible:

 http://progit.org/book/ch6-1.html

 You can customize git log with a format string, try this for example:

 git log --pretty=format:%h - %an, %ar : %s %d

 
 Ahh, that's not remotely what I was hoping it was. Everything is all
 relative to the current version which means that *every* time you commit,
 *every* changeset gets completely renamed (HEAD@{5} becomes HEAD@{6},
 etc), and there doesn't appear to be any syntax to refer to the next
 changeset (only the previous), which makes it barely useful at all. And
 not only that, but they *dissapear* after a certain amount of time.

 Browsing through http://hginit.com/index.html, it looks like with Hg,
 everything works just as well as with SVN, the only difference being that
 you need to remember to specify which repository you're talking about
 whenever you give a number.

I see, you want a convenient name for a particular commit, is that it? But 
even the hg revision number is discouraged to be used to talk with others, 
this is from the manual: 

It is a strictly local convenience identifier (...) Revision numbers 
referring to changesets are very likely to be different in another copy of a 
repository. Do not use them to talk about changesets with other people 

When there is a lot of branching going on (even in a local repository) these 
revisions numbers become useless and confusing. A unique identifier is much 
more useful. You can't expect other people to piece together how the 
revision number has come to be, that is extremely brittle. 
 
 Obviously I'm not saying DMD should have gone Hg, I'm just kinda shocked
 by how horrid Git's approach is for referring to changesets. (Personally,
 that alone would be enough to get me to use Hg instead of Git for my own
 projects. Heck, I've become pretty much sold on the idea of DVCS, but
 because of this I think I'd actually sooner use SVN for a new project than
 Git.)





Re: D Programming Language source (dmd, phobos, etc.) has moved to github

2011-01-25 Thread Lutger Blijdestijn
Nick Sabalausky wrote:


...
 
 You can't expect other people to piece together how the
 revision number has come to be, that is extremely brittle.

 
 They don't need to piece it together because you can just say...
 
 ...which repository you're talking about.
 ...which repository you're talking about.
 ...which repository you're talking about.
 .
 .
 .
 .
 ...which repository you're talking about.
 .
 .
 .
 .
 .

ok ok ok ok ok I get it. I spend some quality time with google and have 
found this:

$ git describe --tags

phobos-2.046-664-g938e1cc


So phobos is at the 664th commit since 2.046


http://gitfu.wordpress.com/2008/05/25/git-describe-great-another-way-to-
refer-to-commits/



Re: Texas LinuxFest 2011 call for papers now open

2011-01-20 Thread Lutger Blijdestijn
Andrei Alexandrescu wrote:

 http://www.texaslinuxfest.org/callforpapers/
 
 One topic of interest is Open Source Programming Languages. If someone
 could explain to me the various subtle nuances of what an open source
 programming language is, I'll try to make a D-related submission and of
 course I recommend anyone else to do the same.
 
 
 Andrei

This is a matter of perspective, I think these are the possibly interesting  
angles and issues for D:

- availability and development of Open Source compilers (OSI compatible 
license)

- cross-platform design, this extends beyond linux but is often a concern 
and goal in the Open Source world

- development process of the language (and std lib) itself: here the 
community participation is important. For D it's an interesting (and 
ongoing) story to tell.

- usefulness and place in the open source ecosystem: I believe D has a 
potential here as a serious alternative for both mono and java. Mono, the 
open source implementation of .net, has loads of potential patent issues and 
for this reason is not supported by some distro's. Java also has it's 
issues. Positioning D as a solution to those problems (rather than an 
alternative for C++ or dynamic languages) will please the crowd, for sure :) 
Interoperability with C is also important here.


Re: Texas LinuxFest 2011 call for papers now open

2011-01-20 Thread Lutger Blijdestijn
Daniel Gibson wrote:

...
 
 You can never be sure with patents, as someone else in another thread
 already pointed out: it's virtually impossible to write a piece of
 software that doesn't infringe patents.

Yes, it's like bugs: you can tell when you found one, but never know your 
software is free of it. (well, that is almost true)

 Of course, the situation is worse with Java (as seen in Oracle suing
 Google for using a Java-derivate in Android) and Mono (you never know if
 Microsoft will tolerate this forever. Even if they promised not to sue for
 current .net related patents, you never know about patents applying to
 features in future versions of .net).
 With D at least people still would have to find patents that are infringed
 - and even then the case isn't as clear as with Java/mono, where it's
 obvious that the Java/.net related patents are infringed.
 
 So yes, the point that D may cause less trouble than Java/.net can be
 made, but you probably shouldn't claim that D doesn't infringe any
 patents, because you can't possibly know (nobody can, there are just too
 many software patents to check, even for big companies).
 

Technically that is right, but I find it a bit of an understatement because 
every non trival software project has potential issues. With .NET and Java 
you *know* you have patent issues, with D any potential patent issue is a 
tragic mistake that still has to be proven to exist. Those are not on the 
same scale, so I wouldn't use the term 'less trouble' You also have 
ownership to take into account, I would rather trust Walter Bright not using 
submarine patent traps than MS or Oracle :) 


Re: Texas LinuxFest 2011 call for papers now open

2011-01-20 Thread Lutger Blijdestijn
Daniel Gibson wrote:
...

 So yes, the point that D may cause less trouble than Java/.net can be
 made, but you probably shouldn't claim that D doesn't infringe any
 patents, because you can't possibly know (nobody can, there are just too
 many software patents to check, even for big companies).
 

Perhaps I should elaborate a bit. mono is simply out of the question in a 
large part of linux. Fedora for example, has D as a feature for its 14 
release but doesn't support mono. Java is more complex, but if we take it 
out of the picture it leaves (some of) linux with C / C++ on the one hand 
and a lot of higher level dynamic languages on the other. In between are 
some more 'exotic' languages such as haskell. Perhaps I'm wrong, but I see a 
big void there where D can step in, mostly because of its set of features. 
In the non-open-source world, Java and .NET are already taking care of much 
of this void. 


Re: std.xml2 candidate

2010-12-12 Thread Lutger Blijdestijn
Andrei Alexandrescu wrote:

 On 12/11/10 7:15 PM, Andrei Alexandrescu wrote:
 On 12/11/10 7:23 AM, Michael Rynn wrote:

 Availability of Updated xml parser for D2,
 organised very presumptively as std.xml2
 [snip]

 Great! Do you plan to submit this to Phobos?
 
 One more thing - with XML parsers, I think Tango has definitely set the
 performance bar where it belongs. Any proposal for Phobos would need to
 meet it.
 
 Andrei

That is considerable. A quick benchmark suggests that a lot of work is 
needed. 

If you take into account that tango's xml parser does less validation and 
that it is up to par with the fastest C++ parsers out there, I suggest 
lowering the bar a little bit at first. For example, outperforming libxml2.


Re: std.xml2 candidate

2010-12-12 Thread Lutger Blijdestijn
so wrote:

 If you take into account that tango's xml parser does less validation and
 that it is up to par with the fastest C++ parsers out there, I suggest
 lowering the bar a little bit at first. For example, outperforming
 libxml2.
 
 There is no reason a D code should perform worse than C++ if you are not
 using some high level constructs.
 When it comes to strings/slicing/template, you might actually get
 performance boost comparing to C++.
 The C++ parser mentioned here (RapidXML) depends heavily on these.
 

I know, and tango's parser is proof of that. But it can take a lot of work 
getting to that level. Right now we have an xml library a lot of people 
don't want to use, has bugs and performs 60 times worse than tango's.

Imho it's better to include it if performance is merely acceptable and see 
if it is possible to improve from there on. 


Re: Build a D project is now easy

2010-11-23 Thread Lutger Blijdestijn
Leandro Lucarella wrote:

 Russel Winder, el 22 de noviembre a las 19:10 me escribiste:
 On Mon, 2010-11-22 at 16:41 +, Manfred_Nowak wrote:
  Russel Winder wrote:
  
   but it has come to the end of its useful life
  
  why. I ask because I just realized, that llvm still uses it.
 
 For really small systems compiled on a single platform, Make can still
 cut it.  But being an external DSL, the separation of relationship
 specification notation and action notation, and especially the platform
 specific action notation lead to insurmountable problems.  Go is trying
 to persevere with Make but the cracks show readily.  Also Make shows the
 cracks for large projects, it doesn't really scale.
 
 False.
 
 Autotools was a brave attempt to make Make make big projects for
 Posix-compliant platforms.  CMake is a bold attempt to ensure Make
 
 Automake is one of the biggest mistakes *ever*.
 
 handles things in a more platform independent way.  Autotools is, I
 think also reaching the end of its useful life -- it was an immense bit
 of m4 hackery, and deserves respect, just as Make does.
 
 There is no point of comparison between Make and Autotools, Autotools is
 a huge hack. Make is limited in scope, but it does what it's supposed to
 do extremely well.
 
 The alternative to all this is to use an internal DSL, i.e. use a
 programming language directly.  SCons and Waf plough this furrow -- to
 name but the main two in a C, C++, D, LaTeX context.  SCons and Waf both
 suffer some serious issues, but they are the current market leaders for
 a more modern system.
 
 I tried quite a few build systems for a big project (cmake, waf, aap,
 scons, omake) and all had their own issues and specially limitations.
 Eventually I decided to learn Make seriously, wrote a good Makefile and
 never looked back...
 
 Make can be very hard to learn, specially because people tend to use it
 wrongly and there are very few good examples and tutorials/docs.
 
 PS: I'm really talking about GMake :)
 

Wow, GMake is almost a full blown programming language! If you have one of 
those few good examples handy, would you mind sharing a link?


Re: d.vim and Fused

2010-11-18 Thread Lutger Blijdestijn
Russel Winder wrote:

...
 What this email is really about though is to ask:  where is the best
 place to keep a permanent, i.e. not just on a mailing list, record of
 all the D editor support stuff.  As well as Emacs and Vim there must be
 support for TextMate, Eclipse, NetBeans, IntelliJ IDEA, . . . all of
 which could be collated into a single place that people could go to, and
 which Google could index.
 

I think this is the best place:  
http://prowiki.org/wiki4d/wiki.cgi?EditorSupport


Re: Utah Valley University teaches D (using TDPL)

2010-11-17 Thread Lutger Blijdestijn
bearophile wrote:

 Lutger Blijdestijn:
 
 Actually the unix convention is to give exit code 0 as an indicator of
 success, so there is feedback. It is very usable for scripting.
 
 But currently something like that is not present in the D unittest system.

rdmd --main -unittest somemodule.d 



Re: DDT 0.4.0 released (formerly Mmrnmhrm)

2010-11-17 Thread Lutger Blijdestijn
Looking pretty good so far!