Re: [ANN] 3T Software Labs MongoDB tools for D programmers.

2014-04-17 Thread Rikki Cattermole via Digitalmars-d-announce

On Thursday, 17 April 2014 at 15:50:04 UTC, Graham Fawcett wrote:
To clarify: you've built these tools in D? Or do the tools 
provide some kind of D API to MongoDB?


Best,
Graham Fawcett (not the 3T software Graham; last names are 
helpful!)


They've posted this same thing to a number of different mailing
lists in last day or so. Looks valid code however hence I didn't
say anything earlier.


Re: Unencumbered V0.1.2: Write Cucumber step definitions in D

2014-04-25 Thread Rikki Cattermole via Digitalmars-d-announce

On Friday, 25 April 2014 at 08:52:18 UTC, Atila Neves wrote:

On Friday, 25 April 2014 at 08:45:20 UTC, Atila Neves wrote:
On Thursday, 24 April 2014 at 18:53:22 UTC, Jacob Carlborg 
wrote:

On 2014-04-23 15:24, Atila Neves wrote:
Like testing with Cucumber? Wish you could call native D 
code with it?

Now you can!

http://code.dlang.org/packages/unencumbered
https://github.com/atilaneves/unencumbered

I especially like registering functions that take the 
parameters with

the types they need from the regexp captures, as well as the
compile-time failures that come from that if done 
incorrectly.


Now I just need to use in real life.


BTW, why is the description passed as a template argument to 
the Cucumber keywords. @Given!(foo) instead of 
@Given(foo)?


Ehm... because until now I didn't know that @Given(foo) was 
possible. In my head I was doing compile-time stuff so 
everything had to be compile-time, if that makes any sense.


After I read the above I wasn't even sure how @Given(foo) 
would work so I wrote some code and now know that all I need 
is a struct with a regular string field. I think the 
documenation on http://dlang.org/attribute.html is severely 
lacking.


I think I have some refactoring to do now. Thanks for pointing 
this out!



Atila


Hmm. So for the string argument is fine, unfortunately I also 
need to know the line number of the step definition, and that 
doesn't work:


struct Given {
this(string s, ulong l = __LINE__) {
this.s = s;
this.l = l;
}
string s;
ulong l;
}


@Given(foobar)
auto func() pure nothrow @safe {

}

void main() {
foreach(attr; __traits(getAttributes, func)) {
pragma(msg, s is , __traits(getMember, attr, l));
}
}


I get:

s is attr_str.d(21): Error: variable attr cannot be read at 
compile time
attr_str.d(21):while evaluating pragma(msg, 
__traits(getMember, attr, l))


struct Given {
this(ulong l = __LINE__)(string s) {
this.s = s;
this.l = l;
}
string s;
ulong l;
}


@Given(foobar)
auto func() pure nothrow @safe {

}

void main() {
pragma(msg, s is , getGivenL!func);
}

pure ulong getGivenL(alias symbol)() {
foreach(attr; __traits(getAttributes, func)) {
static if (is(typeof(attr) == Given)) {
return attr.l;  
}
}
assert(0);
}

Basically move the checking of UDA's to specialist functions 
that are reusable.
Also when using things like __LINE__ keep them to template args, 
as they are inferred to the initiation if possible.


Re: Unencumbered V0.1.2: Write Cucumber step definitions in D

2014-04-25 Thread Rikki Cattermole via Digitalmars-d-announce

On Friday, 25 April 2014 at 10:02:45 UTC, Dicebot wrote:
On Friday, 25 April 2014 at 09:45:06 UTC, Rikki Cattermole 
wrote:
Also when using things like __LINE__ keep them to template 
args, as they are inferred to the initiation if possible.


This is antipattern. Default function arguments for __LINE__ 
and __FILE__ are also evaluated at call site. Moving this to 
template parameter creates huge amount of template bloat and 
must be used only if there is no other way around (that usually 
implies variadic arguments)


True in this specific case it might be over the top.


Re: New libraries wave-d and y4m-d

2014-04-29 Thread Rikki Cattermole via Digitalmars-d-announce

On Tuesday, 29 April 2014 at 18:48:33 UTC, ponce wrote:

There was a typo error: https://github.com/p0nce/y4m-d

On Tuesday, 29 April 2014 at 18:46:51 UTC, ponce wrote:


y4m-d is a library for reading and writing Y4M files.
https://github.com/p0nce/wave-d


I checked out y4m-d when it went up on the dub repository. Looks 
interesting.
I do have to ask, are you interested in creating a unified 
library for multimedia with a importers/exporters a bit like 
ASIMPP? Because I think that could be rather useful and not too 
much work on top of the given types already had.


Re: Livestreaming DConf?

2014-05-09 Thread Rikki Cattermole via Digitalmars-d-announce

On 10/05/2014 7:48 a.m., Andrei Alexandrescu wrote:

Hi folks,


We at Facebook are very excited about the upcoming DConf 2014. In fact,
so excited we're considering livestreaming the event for the benefit of
the many of us who can't make it to Menlo Park, CA. Livestreaming
entails additional costs so we're trying to assess the size of the
online audience. Please follow up here and on twitter:
https://twitter.com/D_Programming/status/464854296001933312


Thanks,

Andrei


Definitely would if I'm available to watch!


Re: OpenGL Examples in D and a birth of a New Initiative

2014-05-15 Thread Rikki Cattermole via Digitalmars-d-announce

On 15/05/2014 5:01 p.m., Manu via Digitalmars-d-announce wrote:

I tried to gather support for a community game project (FeedBack).
Lots of interest, but nobody actually joined the party when I kicked
it off.

On 15 May 2014 05:04, Andrej Mitrovic via Digitalmars-d-announce
digitalmars-d-announce@puremagic.com wrote:

I am starting an initiative for everyone interested in D game
development by creating the github organization d-gamedev-team[1].

The first project hosted here is the the freshly created
opengl-tutorials[2] project. This is a long-term project that aims to
collect as many modern OpenGL examples ported to D or even provide new
examples created from scratch in D. All the examples should be easy to
build, provided you have a fresh D compiler and a recent version of
the dub[3] dependency manager / builder tool.

Currently the project contains an almost-complete port of the samples
contained on the website opengl-tutorial.org[4] - which cover OpenGL
v3.3x and were created by Sam Hocevar. The D examples are not straight
ports, they have been D-ified and may contain more features than their
original counterparts. They also use 3rd-party D OpenGL wrappers to
avoid a lot of scaffolding work typical of OpenGL applications.

Thanks to dub[3] you won't have to manually install the D
dependencies. However you may have to install some C/C++ 3rd-party
library dependencies, such as GLFW, SDL2, SDL2 Image, and potentially
other libraries depending on the ones the samples require. The
dependencies are documented in the project's readme[5].

Additional OpenGL example ports are planned and some are already in
progress but have not yet been pushed upstream. See the
opengl-tutorials[2] github repo for a list of ports which are in
progress and a list of desired ports.

If you wish to contribute with your own ports or with brand new D
OpenGL examples don't hesitate to make a pull request. I want the
d-gamedev-team organization to gradually grow and have it host as many
useful projects, whether it be libraries, tools, tutorials, tips 
tricks, assets, or anything else related to D game development.

I am strongly interested in game development in D, and although I'm at
a starting stage I'm very much committed to working on this project to
the best of my abilities. Hopefully in a few years we'll see some
major titles made entirely in D. But before that can happen we have to
make a collective push to bring D to a higher stage where it's
acceptable and viable to game developers, whether it be through
language support (@nogc/allocators) or library and tooling support.

We'll see where this goes, but I'm very excited for the future! Cheers. :o)

[1] : https://github.com/d-gamedev-team
[2] : https://github.com/d-gamedev-team/opengl-tutorials
[3] : http://code.dlang.org/download
[4] : http://opengl-tutorial.org/
[5] : 
https://github.com/d-gamedev-team/opengl-tutorials/tree/master/ports/opengl-tutorial.org


Yeah I was one of those people who wanted to work on it. Unfortunately 
that was while I was working on DOOGLE and pre aurora commencing. That 
to me really killed my enthusiasm.


Personally I'm waiting for aurora before starting up on the GUI front.


Re: OpenGL Examples in D and a birth of a New Initiative

2014-05-15 Thread Rikki Cattermole via Digitalmars-d-announce

On 16/05/2014 12:07 a.m., Manu via Digitalmars-d-announce wrote:

On 15 May 2014 16:30, Rikki Cattermole via Digitalmars-d-announce
digitalmars-d-announce@puremagic.com wrote:

On 15/05/2014 5:01 p.m., Manu via Digitalmars-d-announce wrote:


I tried to gather support for a community game project (FeedBack).
Lots of interest, but nobody actually joined the party when I kicked
it off.



Yeah I was one of those people who wanted to work on it. Unfortunately that
was while I was working on DOOGLE and pre aurora commencing. That to me
really killed my enthusiasm.

Personally I'm waiting for aurora before starting up on the GUI front.


What's doogle and aurora? And why did that kill enthusiasm?

DOOGLE[0] was my attempt at a gui toolkit. And aurora is this[1].
I would have replied earlier but it appears that there has been enough 
changes with dub and dmd that it just won't. But I managed to grab an 
old build and here is its output [2].

Not really that nice but hey, was my go at it.

I was building it as pretty much the all in one toolbox for D and OpenGL 
and with Aurora getting more support, the issues I was having continuing 
just kinda was the last straw.
And anyways I'm better at web development then game dev. Never really 
understood the 3d pipeline.



[0] https://github.com/rikkimax/DOOGLE
[1] https://github.com/auroragraphics
[2] 
https://drive.google.com/file/d/0B-EiBquZktsLcGtMSmtMS1ZoZHM/edit?usp=sharing


Re: OpenGL Examples in D and a birth of a New Initiative

2014-05-15 Thread Rikki Cattermole via Digitalmars-d-announce

On 16/05/2014 1:38 a.m., Manu via Digitalmars-d-announce wrote:

On 15 May 2014 23:24, Rikki Cattermole via Digitalmars-d-announce
digitalmars-d-announce@puremagic.com wrote:

On 16/05/2014 12:07 a.m., Manu via Digitalmars-d-announce wrote:


On 15 May 2014 16:30, Rikki Cattermole via Digitalmars-d-announce
digitalmars-d-announce@puremagic.com wrote:


On 15/05/2014 5:01 p.m., Manu via Digitalmars-d-announce wrote:



I tried to gather support for a community game project (FeedBack).
Lots of interest, but nobody actually joined the party when I kicked
it off.



Yeah I was one of those people who wanted to work on it. Unfortunately
that
was while I was working on DOOGLE and pre aurora commencing. That to me
really killed my enthusiasm.

Personally I'm waiting for aurora before starting up on the GUI front.



What's doogle and aurora? And why did that kill enthusiasm?


DOOGLE[0] was my attempt at a gui toolkit. And aurora is this[1].
I would have replied earlier but it appears that there has been enough
changes with dub and dmd that it just won't. But I managed to grab an old
build and here is its output [2].
Not really that nice but hey, was my go at it.

I was building it as pretty much the all in one toolbox for D and OpenGL and
with Aurora getting more support, the issues I was having continuing just
kinda was the last straw.
And anyways I'm better at web development then game dev. Never really
understood the 3d pipeline.


Those aurora repos appear to be empty :/
Is aurora intended to be a GUI toolkit?

Only DirectX has code so far from what I've heard and seen.


I still think there's huge need for a realtime gfx environment GUI toolkit.
I'm completely on board with that, but I really don't have the skills 
for it. But hey we also need a web service framework aimed at enterprise 
in D and that's my target work now days.



But if I were you, I wouldn't be marrying it to any particular gfx
API. Just make sure to structure the API to allow backends (like
OpenGL) to be plugged in.
It was designed to be completely independent of any 3d api. In theory 
you could have a different implementation of controls to a window.

But I never bothered going there considering.
In fact I had plans to make it like GWT does as another backend and 
hooking it up to Vibe.



[0] https://github.com/rikkimax/DOOGLE
[1] https://github.com/auroragraphics
[2]
https://drive.google.com/file/d/0B-EiBquZktsLcGtMSmtMS1ZoZHM/edit?usp=sharing




Re: OpenGL Examples in D and a birth of a New Initiative

2014-05-15 Thread Rikki Cattermole via Digitalmars-d-announce

On Thursday, 15 May 2014 at 14:55:46 UTC, Adil Baig via
Digitalmars-d-announce wrote:

On Thu, May 15, 2014 at 7:22 PM, Rikki Cattermole via
Digitalmars-d-announce digitalmars-d-announce@puremagic.com 
wrote:



On 16/05/2014 1:38 a.m., Manu via Digitalmars-d-announce wrote:

On 15 May 2014 23:24, Rikki Cattermole via 
Digitalmars-d-announce

digitalmars-d-announce@puremagic.com wrote:

On 16/05/2014 12:07 a.m., Manu via Digitalmars-d-announce 
wrote:




On 15 May 2014 16:30, Rikki Cattermole via 
Digitalmars-d-announce

digitalmars-d-announce@puremagic.com wrote:



On 15/05/2014 5:01 p.m., Manu via Digitalmars-d-announce 
wrote:





I tried to gather support for a community game project 
(FeedBack).
Lots of interest, but nobody actually joined the party 
when I kicked

it off.


Yeah I was one of those people who wanted to work on it. 
Unfortunately

that
was while I was working on DOOGLE and pre aurora 
commencing. That to me

really killed my enthusiasm.

Personally I'm waiting for aurora before starting up on 
the GUI front.





What's doogle and aurora? And why did that kill enthusiasm?



DOOGLE[0] was my attempt at a gui toolkit. And aurora is 
this[1].
I would have replied earlier but it appears that there has 
been enough
changes with dub and dmd that it just won't. But I managed 
to grab an old

build and here is its output [2].
Not really that nice but hey, was my go at it.

I was building it as pretty much the all in one toolbox for 
D and OpenGL

and
with Aurora getting more support, the issues I was having 
continuing just

kinda was the last straw.
And anyways I'm better at web development then game dev. 
Never really

understood the 3d pipeline.



Those aurora repos appear to be empty :/
Is aurora intended to be a GUI toolkit?


Only DirectX has code so far from what I've heard and seen.

 I still think there's huge need for a realtime gfx 
environment GUI

toolkit.

I'm completely on board with that, but I really don't have the 
skills for
it. But hey we also need a web service framework aimed at 
enterprise in D

and that's my target work now days.



Interesting. What are you working on? Is it on github?

It is indeed and on dub repository.

https://github.com/rikkimax/Cmsed
https://github.com/rikkimax/Dvorm


Re: 10 Years of Derelict

2014-05-16 Thread Rikki Cattermole via Digitalmars-d-announce

On 16/05/2014 3:02 a.m., Mike Parker wrote:

I managed to let this little anniversary slip by me. My first post in
the old Derelict forum at DSource[1] is dated May 6, 2004, my initial
commit to svn[2] was May 7, and my announcement in the newsgroup[3] was
on May 8. My attention to the project has waxed and waned, but I'm still
puttering along. I expect to continue for the forseeable future.

There have been a number of contributors over the years who have helped
out in porting to Linux and Mac, fixing bugs, and keeping the bindings
up to date. It's been very much a community project, which has made it
more enjoyable to work on. It helps that it isn't difficult to maintain :)

Maybe before the next decade goes by I'll actually finish a game in D,
which is the reason I started Derelict in the first place.

For those who don't know, the current iteration of Derelict can be found
at the DerelictOrg group at github[4]. I've still got work to do on it
(ahem, documentation), but it's coming along.

[1] http://www.dsource.org/forums/viewtopic.php?t=105
[2] http://www.dsource.org/projects/derelict/changeset/5/
[3] http://forum.dlang.org/thread/c7hl51$2k4u$1...@digitaldaemon.com
[4] https://github.com/DerelictOrg


I also have to say good job on your work on it!
I definitely value it, even if I don't use it much.


Duml: Uml diagram generation

2014-05-17 Thread Rikki Cattermole via Digitalmars-d-announce

Alright so a little project I've put together[0].
Not entirely complete yet. But I feel its at a point where it can be 
announced.


What it does is given a class it'll generate the PlantUML[1] descriptors 
for it. If asked it can call PlantUML itself to generate the image 
version of it.


My plan is to integrate it into Cmsed at some point when it supports 
structs (dvorm models). At which point it'll document properly routes, 
models and any you manually specify.


Object class can be ignored by adding a version if you want it to be.

[0] https://github.com/rikkimax/Duml
[1] http://plantuml.sourceforge.net/


Re: Duml: Uml diagram generation

2014-05-17 Thread Rikki Cattermole via Digitalmars-d-announce

On 17/05/2014 8:53 p.m., w0rp wrote:

That's pretty cool. I think I would change outputPlantUML so it works in
terms of something which outputs to an OutputRange or File. So you can
dump the UML directly to the file.


I've added that as a TODO.


Re: OpenGL Examples in D and a birth of a New Initiative

2014-05-18 Thread Rikki Cattermole via Digitalmars-d-announce

On Sunday, 18 May 2014 at 21:22:25 UTC, Casey wrote:
But hey we also need a web service framework aimed at 
enterprise in D and that's my target work now days.


Just out of curiosity, have you looked into Vibe.d for this?
I've created a couple prototypes with it and they came out 
pretty

good.  Sonke is also pretty good about responding to issues as
you find them.


Just so happens my web service framework Cmsed is built using it.
No, its not what I am meaning.
Its far too low level, its essentially a web server.

What's needed is a higher level view of web services and how they 
work.


Re: Dash: An Open Source Game Engine in D

2014-05-19 Thread Rikki Cattermole via Digitalmars-d-announce

On 20/05/2014 7:50 a.m., Colden Cullen wrote:

Hi everyone,

I’m super excited to be able to announce that the Dash game engine[1] is
finally stable and ready for public use! I’m currently the Lead Engine
Programmer at Circular Studios[2] (the group behind Dash). We had 14
people working on the team, 6 engine programmers and 8 game developers
creating Spectral Robot Task Force, a turn-based strategy game built
with Dash.

Dash is an OpenGL engine written in the D language that runs on both
Windows and Linux. We use a deferred-rendering model in the current
pipeline, and a component model for game development and logic. Other
major features at the moment include networking, skeletal-animation
support, content and configuration loading via YAML, and UI support
through Awesomium[3] (though we are in the process of moving over to
using CEF[4] itself).

Our vision for Dash is to have the programmer-facing model of
XNA/Monogame combined with the designer-friendliness of Unity in a fully
free and open source engine. We also hope that Dash can help to prove
the power and maturity of D as a language, as well as push D to continue
improving.

We’re open to any feedback you may have, or better yet, we’d love to see
pull requests for improvements.

[1] https://github.com/Circular-Studios/Dash
[2] http://circularstudios.com/
[3] http://awesomium.com/
[4] https://code.google.com/p/chromiumembedded/


Awesome to see!
Will be looking forward to what ever you guys get up to.

Only thing I can suggest, is get UML diagrams ext. Up on docs.


Re: Dash: An Open Source Game Engine in D

2014-05-19 Thread Rikki Cattermole via Digitalmars-d-announce

On 20/05/2014 2:21 p.m., Colden Cullen wrote:

On Tuesday, 20 May 2014 at 01:12:38 UTC, Rikki Cattermole wrote:

Awesome to see!
Will be looking forward to what ever you guys get up to.

Only thing I can suggest, is get UML diagrams ext. Up on docs.


Says the author of Duml :)

It's definitely something I want to do, I just haven't gotten the chance
yet.


Selfish promotion ;) But yes, for this type of thing it definitely does 
give confidence to new users that they can see this type of thing. And 
hey, when its practically free(work wise) why not?


Re: Duml: Uml diagram generation

2014-05-20 Thread Rikki Cattermole via Digitalmars-d-announce

On 17/05/2014 6:34 p.m., Rikki Cattermole wrote:

Alright so a little project I've put together[0].
Not entirely complete yet. But I feel its at a point where it can be
announced.

What it does is given a class it'll generate the PlantUML[1] descriptors
for it. If asked it can call PlantUML itself to generate the image
version of it.

My plan is to integrate it into Cmsed at some point when it supports
structs (dvorm models). At which point it'll document properly routes,
models and any you manually specify.

Object class can be ignored by adding a version if you want it to be.

[0] https://github.com/rikkimax/Duml
[1] http://plantuml.sourceforge.net/


Just pushed another version.
Wouldn't normally mention this except for the fact that I've got it 
hooked up and exported out a uml diagram[0] of object module from drumtime.


Its nearly 6000 pixels wide, so a bit big ;)

[0] https://github.com/rikkimax/Duml/wiki/images/output_v0.2.0_object.png


Dakka: Actors for D

2014-07-12 Thread Rikki Cattermole via Digitalmars-d-announce

Alright so, I've just finished Dakka's[0] exception support.

Functionality supported:

Local actor references
Remote node connections, using given ip/port
Remote actor calling
On start/stop/error support
Capabilities per node (can this node do x? if not which can do to create 
a reference?)

Seemless integration of both actor references to actors
Singleton (controller classes) actor support per node, works with 
AllActorRefs  for calling them e.g. sequentially, or until a return value.


At this point, I'm entering it into maintenance. What this means is I 
cannot myself expand on its functionality e.g. adding encryption. 
However if anybody wants to, please do.
This is what I need, I've tried to make it as flexible as possible and 
inline with how akka works, but as I'm not the most adapt in it. Please 
feel free on drawing up a wanted feature list.


There will be issues with threading, so if anyone is more skilled at it 
and understands Vibe's workers feel free pointing that out.


For anybody interested, the code itself isn't well documented (I'll get 
back to it when I have time). But the actual overall design should be 
fairly documented. The protocol[2] and life cycle[3] can be found on the 
wiki[1].


[0] https://github.com/rikkimax/dakka
[1] https://github.com/rikkimax/dakka/wiki
[2] https://github.com/rikkimax/dakka/wiki/Protocol
[3] https://github.com/rikkimax/dakka/wiki/LifeCycleOfObjects


Skeletal generator

2014-07-18 Thread Rikki Cattermole via Digitalmars-d-announce
In advancing to a reload system for Cmsed, I've built a directory 
skeleton generator[0].


It supports both lua and a simpler text file syntax.
An example of this is:

# Simple skeleton descriptor

dlfile livereload.txt livereload.txt

mkdir bin
mkdir deps
dlfile deps/package.json package.json

mkdir dynamic/config
mkdir dynamic/models
mkdir dynamic/public
mkdir dynamic/routes
mkdir dynamic/templates
mkdir dynamic/caches

mkdir static/config
mkdir static/models
mkdir static/public
mkdir static/routes
mkdir static/templates
mkdir static/caches

You can basically do everything you need with the simpler syntax except 
for conditional and input gathering or manipulation. Regex(find/replace) 
on files based upon the cli args is possible however.


I will be using a variation of this for Cmsed.
With regards to lua support, I've hooked up lua's require module system 
into the providers (github/bitbucket), so it is possible to require any 
file from a repository and use it as a required module.


I've also bound std.file and std.stdio into lua. So it should be 
possible to do almost anything you need if lua cannot do it natively.


[0] https://github.com/rikkimax/skeleton


Recompiling D code

2014-08-14 Thread Rikki Cattermole via Digitalmars-d-announce

Hello everyone.
As you all may know I've been working on recompiling D for web services 
last few weeks.

Its both good news and bad news.

Good:
Reloading definitely possible. With dependency handling using dub.

Bad:
Its slow. And not in my code sort of way.

You're welcome to atest my speeds that I have gotten so far (older well 
used hdd, Win7 x64), its around 2-3 seconds for a basic go download 
webpage and not much more.


I've done a bit of working with it and with 2.066-rc2 got it to the 
lower end of 2s.


Atleast from my experience with this, its dmd thats actually taking the 
time.


I know my code isn't the best and optimized, so I have compared mine 
against dmd itself. 100-200ms difference normally.


For those who don't know why I'm making a fuss over 2 seconds, its 
because you actually do notice this when doing web dev stuff. Without 
including start up time, this could become a lot larger.


[0] https://github.com/rikkimax/livereload


Re: Recompiling D code

2014-08-14 Thread Rikki Cattermole via Digitalmars-d-announce

On 15/08/2014 12:47 a.m., Vladimir Panteleev wrote:

On Thursday, 14 August 2014 at 11:54:57 UTC, Rikki Cattermole wrote:

Atleast from my experience with this, its dmd thats actually taking
the time.


I can't glean this from looking at the code, but are you recompiling the
entire program? Web development is a perfect fit for incremental
compilation, so when changing one web page's template or view code, you
should need to compile only one .d file.

ld and gold seem to support incremental linking, that could help speed
things up as well.


Dub automatically handles caching of dependencies such as vibe-d. So 
they are not rebuilt.


The only things that get recompiled for example is a single code unit. 
This is defined as being the dependency between a route file and 
template files (simplified).


The necessary dependencies such as vibe-d then should be added as part 
of the build process.


Incremental builds of things such as routes and templates are not a good 
idea. Same goes for data models. It could change the code unit output a 
little too much. Possibly even cause a corrupt binary from missing 
symbols ext.


But in this case none of this matters much. Pretty much I'm only testing 
against a single route module. No dependencies outside phobos and vibe-d.


Re: Recompiling D code

2014-08-15 Thread Rikki Cattermole via Digitalmars-d-announce

On 15/08/2014 3:09 a.m., Justin Whear wrote:

On Thu, 14 Aug 2014 14:58:20 +, John Colvin wrote:


My experience with these sort of things suggests that it'll be the
linker taking the time. Dynamic libraries are the solution.

Dub needs proper support for dynamic library dependencies.


I'll second that suggestion.  Can you run the timings using -c?
Obviously you won't get binaries out the end, but it'd help diagnose the
problem.


Yes its definitely a lot faster. Around 600ms - 800ms. Even with other 
applications running.


Re: Recompiling D code

2014-08-15 Thread Rikki Cattermole via Digitalmars-d-announce

On 15/08/2014 2:58 a.m., Vladimir Panteleev wrote:

On Thursday, 14 August 2014 at 12:56:10 UTC, Rikki Cattermole wrote:

Dub automatically handles caching of dependencies such as vibe-d. So
they are not rebuilt.

The only things that get recompiled for example is a single code unit.
This is defined as being the dependency between a route file and
template files (simplified).


How many D modules / object files is that?


I haven't gone into that, I don't really want to go around modifying dub 
if I can help it.



The necessary dependencies such as vibe-d then should be added as part
of the build process.

Incremental builds of things such as routes and templates are not a
good idea. Same goes for data models. It could change the code unit
output a little too much. Possibly even cause a corrupt binary from
missing symbols ext.


That approach sounds much more high-level than what I meant, and I don't
see why you'd need to abstract things to that level. I'm not familiar
with how dub builds things, but inter-module dependencies are a solved
problem, thanks to DMD's -v and -deps switches. Incremental compilation
was implemented in older (D1-era) build tools, such as xfbuild, however
has never picked up due to DMD bugs with incrementally compiling more
than one object file at a time (which might very well be fixed by now).




Re: Recompiling D code

2014-08-15 Thread Rikki Cattermole via Digitalmars-d-announce

On 15/08/2014 6:06 a.m., Jacob Carlborg wrote:

On 2014-08-14 13:54, Rikki Cattermole wrote:

Hello everyone.
As you all may know I've been working on recompiling D for web services
last few weeks.
Its both good news and bad news.

Good:
Reloading definitely possible. With dependency handling using dub.

Bad:
Its slow. And not in my code sort of way.


Has anyone thought of trying to JIT using LDC.


Supposedly the llvm is slower for generation then dmd's backend. Atleast 
what was said during the SDC DCONF talk.


But I'm all for this, could also use it to cache code that is generated 
ext. in memory. Less usage on the hdd can only be a good thing.


I'll leave this to somebody who does know this area of things.


Re: Recompiling D code

2014-08-15 Thread Rikki Cattermole via Digitalmars-d-announce

On 16/08/2014 11:29 a.m., Vladimir Panteleev wrote:

On Friday, 15 August 2014 at 06:54:28 UTC, Rikki Cattermole wrote:

On 15/08/2014 2:58 a.m., Vladimir Panteleev wrote:

How many D modules / object files is that?


I haven't gone into that, I don't really want to go around modifying
dub if I can help it.


Well, to be blunt, I doubt you'll get satisfactory results unless you're
ready to get down to the nitty-gritty.


Unfortunately I agree with you. But from what I've heard this isn't bad 
results considering native language and all.


I may work towards using something like parrotVM or lua. Could be 
interesting for dev vs production. Don't see why I can't get that 
working rather well.


Re: COFF support for Win32 merged

2014-08-17 Thread Rikki Cattermole via Digitalmars-d-announce

On 17/08/2014 9:57 p.m., Jacob Carlborg wrote:

I though that this might be important enough to share on the announce list:

A pull request [1] by Rainer Schuetze which adds COFF support for Win32
has recently been merged by Walter. It seems to be enabled using the
-m32mscoff flag.

[1] https://github.com/D-Programming-Language/dmd/pull/3843


Well this makes me happy :3
Thank you Rainer!


Re: Multiple alias this is coming.

2014-09-18 Thread Rikki Cattermole via Digitalmars-d-announce

On 18/09/2014 11:20 p.m., IgorStepanov wrote:

I've created pull request, which introduces multiple alias this.
https://github.com/D-Programming-Language/dmd/pull/3998
Please see the additional tests and comment it.


Awesome was waiting for something like this!

Also did we ever consider alias this = ...; syntax?


Re: Digger 1.0

2014-09-21 Thread Rikki Cattermole via Digitalmars-d-announce
On Sunday, 21 September 2014 at 17:43:14 UTC, Rainer Schuetze 
wrote:

How about running the test suite?


+1
Would make me far more happier of starting seriously getting into 
dmd bug fixing.


Re: Walter and I are on at FLOSS weekly

2014-10-08 Thread Rikki Cattermole via Digitalmars-d-announce

On Wednesday, 8 October 2014 at 21:01:27 UTC, Andrei Alexandrescu
wrote:

Recorded this morning. Enjoy!

http://twit.tv/show/floss-weekly/311

Andrei


I'm currently up to the part where its mentioned about TAP
testing protocol [0].
Based upon my quick glance over at druntime [1].
I think we could implement it fairly easily.

This should be a fairly easy win for anyone who wants to give it
a go.

[0] http://testanything.org/tap-specification.html
[1]
https://github.com/D-Programming-Language/druntime/blob/master/src/test_runner.d


Re: dmedia library

2014-11-06 Thread Rikki Cattermole via Digitalmars-d-announce

On 7/11/2014 6:56 p.m., luminousone wrote:

I have been working on a media library, it still has a long way to go,
but I figured its about time I shared what I am doing.

https://github.com/luminousone/dmedia

If I could possibly convince a few people out their to give'er a once over.

I use XCB/XLIB/GLX directly, so I am not just simply wrapping SDL or
SFML. And I am using XCB for event handling and opening windows.

Threading should work much more reliably, due to the use of XCB.

I am releasing the library under the BSD license,


Its a good start.
But instead of creating the window itself manually would you consider 
using DWC [0]?


DWC is more or less done. But I need help with my plans for a game dev 
framework in D.
If you're interested in helping with that please give me an email 
fi...@lastname.co.nz


[0] https://github.com/rikkimax/DWC


Re: dmedia library

2014-11-06 Thread Rikki Cattermole via Digitalmars-d-announce

On 7/11/2014 7:38 p.m., luminousone wrote:

On Friday, 7 November 2014 at 06:29:14 UTC, Rikki Cattermole wrote:

On 7/11/2014 6:56 p.m., luminousone wrote:

I have been working on a media library, it still has a long way to go,
but I figured its about time I shared what I am doing.

https://github.com/luminousone/dmedia

If I could possibly convince a few people out their to give'er a once
over.

I use XCB/XLIB/GLX directly, so I am not just simply wrapping SDL or
SFML. And I am using XCB for event handling and opening windows.

Threading should work much more reliably, due to the use of XCB.

I am releasing the library under the BSD license,


Its a good start.
But instead of creating the window itself manually would you consider
using DWC [0]?

DWC is more or less done. But I need help with my plans for a game dev
framework in D.
If you're interested in helping with that please give me an email
fi...@lastname.co.nz

[0] https://github.com/rikkimax/DWC


XLIB is an absolute train wreck when it comes to threading, call
XPollEvent outside your draw thread will most likely segfault.

As well I need control of the opengl contexts, as I want to separate
drawing and loading into separate threads.

I need both good threading support, and control over my opengl contexts
to fulfill the goals I have set for myself.

That said, it is a nice looking library. But it would not fulfill my needs.


Fair enough. Threading is a major issue with those low level api's.


Re: dmedia library

2014-11-06 Thread Rikki Cattermole via Digitalmars-d-announce

On 7/11/2014 7:58 p.m., luminousone wrote:

On Friday, 7 November 2014 at 06:42:24 UTC, Rikki Cattermole wrote:

On 7/11/2014 7:38 p.m., luminousone wrote:

On Friday, 7 November 2014 at 06:29:14 UTC, Rikki Cattermole wrote:

On 7/11/2014 6:56 p.m., luminousone wrote:

I have been working on a media library, it still has a long way to go,
but I figured its about time I shared what I am doing.

https://github.com/luminousone/dmedia

If I could possibly convince a few people out their to give'er a once
over.

I use XCB/XLIB/GLX directly, so I am not just simply wrapping SDL or
SFML. And I am using XCB for event handling and opening windows.

Threading should work much more reliably, due to the use of XCB.

I am releasing the library under the BSD license,


Its a good start.
But instead of creating the window itself manually would you consider
using DWC [0]?

DWC is more or less done. But I need help with my plans for a game dev
framework in D.
If you're interested in helping with that please give me an email
fi...@lastname.co.nz

[0] https://github.com/rikkimax/DWC


XLIB is an absolute train wreck when it comes to threading, call
XPollEvent outside your draw thread will most likely segfault.

As well I need control of the opengl contexts, as I want to separate
drawing and loading into separate threads.

I need both good threading support, and control over my opengl contexts
to fulfill the goals I have set for myself.

That said, it is a nice looking library. But it would not fulfill my
needs.


Fair enough. Threading is a major issue with those low level api's.


I eventually want to build a entity system, and make use of
parallel_foreach, or fibers/routines, and have a loading thread that can
get assets in an async fashion.

Large voxel/cube-voxel systems and mega texturing interest me, I feel
like a small team could develop a big game with tools built around a
voxel system.

XCB mostly solves the threading issues that XLIB suffers from, However
XCB has poor support for the input extensions, as of yet nothing that
replaces xlookupstring, I hope to find a good work around at some point,
but it seems good enough for my needs.

Also I am not sure of how well XXf86vm extension is supported for full
screen access, As I have yet to implement full screen windows.

Its a learning experience, however so I can't complain to much!


Interesting, just out of interest have you thought about separating it 
out and work independently of GUI's for e.g. game servers? Or would that 
abstract it to the point of non-usefulness?


Re: dmedia library

2014-11-06 Thread Rikki Cattermole via Digitalmars-d-announce

On 7/11/2014 8:22 p.m., luminousone wrote:

On Friday, 7 November 2014 at 07:08:02 UTC, Rikki Cattermole wrote:

On 7/11/2014 7:58 p.m., luminousone wrote:

On Friday, 7 November 2014 at 06:42:24 UTC, Rikki Cattermole wrote:

On 7/11/2014 7:38 p.m., luminousone wrote:

On Friday, 7 November 2014 at 06:29:14 UTC, Rikki Cattermole wrote:

On 7/11/2014 6:56 p.m., luminousone wrote:

I have been working on a media library, it still has a long way
to go,
but I figured its about time I shared what I am doing.

https://github.com/luminousone/dmedia

If I could possibly convince a few people out their to give'er a
once
over.

I use XCB/XLIB/GLX directly, so I am not just simply wrapping SDL or
SFML. And I am using XCB for event handling and opening windows.

Threading should work much more reliably, due to the use of XCB.

I am releasing the library under the BSD license,


Its a good start.
But instead of creating the window itself manually would you consider
using DWC [0]?

DWC is more or less done. But I need help with my plans for a game
dev
framework in D.
If you're interested in helping with that please give me an email
fi...@lastname.co.nz

[0] https://github.com/rikkimax/DWC


XLIB is an absolute train wreck when it comes to threading, call
XPollEvent outside your draw thread will most likely segfault.

As well I need control of the opengl contexts, as I want to separate
drawing and loading into separate threads.

I need both good threading support, and control over my opengl
contexts
to fulfill the goals I have set for myself.

That said, it is a nice looking library. But it would not fulfill my
needs.


Fair enough. Threading is a major issue with those low level api's.


I eventually want to build a entity system, and make use of
parallel_foreach, or fibers/routines, and have a loading thread that can
get assets in an async fashion.

Large voxel/cube-voxel systems and mega texturing interest me, I feel
like a small team could develop a big game with tools built around a
voxel system.

XCB mostly solves the threading issues that XLIB suffers from, However
XCB has poor support for the input extensions, as of yet nothing that
replaces xlookupstring, I hope to find a good work around at some point,
but it seems good enough for my needs.

Also I am not sure of how well XXf86vm extension is supported for full
screen access, As I have yet to implement full screen windows.

Its a learning experience, however so I can't complain to much!


Interesting, just out of interest have you thought about separating it
out and work independently of GUI's for e.g. game servers? Or would
that abstract it to the point of non-usefulness?


Yes, tho I have yet to put much thought into how that will all be put
together. Working towards something that I could use in vibe.d, without
any dependence on the windowing system would be important for a good
gameserver.


Depending on the needs of the game server, I would keep it apart from 
the web server aspect from vibe.d all together. By in large interacting 
with e.g. a task, shouldn't be hard but that's not quite why.
The idea behind my actor framework Dakka [0] (although would need a bit 
of work for this sort of thing).


Share the data (including data models) between the web server and game 
server over sockets with method calling support. But keep its functions 
separate.
Although the original context was all about having front end nodes for 
web development and backend nodes for interacting with e.g. VM's.


But that's just me rambling with not much reason.

[0] https://github.com/rikkimax/dakka



Devisualization and DWC

2014-11-07 Thread Rikki Cattermole via Digitalmars-d-announce

Right, time for a new announcement from me.

First off the library I have been talking about called DWC has been 
renamed. It is now Under the banner of Devisualization, window[0] project.


Devisualization.window otherwise known as de_window is a window and 
context creation for Windows, Linux and Mac OSX.

It does need a good bit of testing especially on Linux.

In short, the goal of Devisualization Github organization is to promote 
game development and the libraries to facilitate it in D.


Projects I want made:
- Events/controls abstraction + GUI controls
- Native GUI controls (such as the menu for OSX)
- Virtual File System
- OpenGL wrappers and tooling
- Image loading/exporting (currently working on png)
- 3d model loading/exporting (.3ds .obj at the minimum)
- Scenegraph
- Audio loading/exporting
- Unity like interface
- Scripting
- Entity modeling

Not in any particular order and can very easily be added to. I'm sure 
there is a lot of code already available that can do some of these 
things, but to make it all work together nicely would be a challenge.


I did write up on my blog about all this [1], but you don't need to read 
it. It just goes into a bit more depth.
About Cmsed and my web dev stuff, I haven't stopped working on it 
per-say. I'm waiting on e.g. [2].


[0] https://github.com/Devisualization/window
[1] http://blog.alphaglosined.tk/2014/11/window-creation-d-initiative.html
[2] https://github.com/D-Programming-Language/dmd/pull/3921


Re: Devisualization and DWC

2014-11-07 Thread Rikki Cattermole via Digitalmars-d-announce

On 8/11/2014 12:46 a.m., ponce wrote:

Nice work, it's basically the SDL replacement I wished for! I like that
its scope is well defined.

I don't get why it depends on DerelictGL. AFAIK SDL, GLFW and friends do
not depend on GL function loaders.


It depends because of OpenGL context creation. And it requires a reload 
to work properly when activating.

Might be better as an optional dependency.



Re: Devisualization and DWC

2014-11-07 Thread Rikki Cattermole via Digitalmars-d-announce

On 8/11/2014 12:48 a.m., Kagamin wrote:

On Friday, 7 November 2014 at 10:48:46 UTC, Rikki Cattermole wrote:

- Native GUI controls (such as the menu for OSX)


D native or OS native?


Short answer:
Basically it should use the native implementation if possible otherwise 
it should use the non native version.


Long answer:
I'll use the example of OSX with the menu.
OSX has a specialized menu as part of its UI which all applications are 
meant to use.
On this case it should use this. But on a platform such as Windows, if 
there is no context it can freely use the native menu system. But if it 
has a context it should emulate it via e.g. OpenGL like it wasn't native.
Then of course is X11 which case it would be OpenGL as their is no 
native version of it.


Devisualization.Image

2014-11-14 Thread Rikki Cattermole via Digitalmars-d-announce

To further Devisualization, I have got the start of an image library.
It should be fairly interface complete now.

For this I really could use help from anyone with experience with PNG 
especially with Adam7 interlacing and color correction such as gamma.
Currently missing an exporter. Only imports. Does not import grayscale 
or palleted.


Goal: to act as the image representation within memory (including colors).
Usage:
Devisualization.Window uses it for window icon's (untested for x11 can 
somebody confirm this does indeed work?).
Devisualization.Font heavily uses it for glyphs and the output of its 
rasterization.


[0] https://github.com/Devisualization/image


Re: Devisualization.Image

2014-11-18 Thread Rikki Cattermole via Digitalmars-d-announce

On 18/11/2014 10:37 p.m., Timur Gafarov wrote:

15.11.2014 07:48, Rikki Cattermole пишет:

To further Devisualization, I have got the start of an image library.
It should be fairly interface complete now.

For this I really could use help from anyone with experience with PNG
especially with Adam7 interlacing and color correction such as gamma.
Currently missing an exporter. Only imports. Does not import grayscale
or palleted.

Goal: to act as the image representation within memory (including
colors).
Usage:
Devisualization.Window uses it for window icon's (untested for x11 can
somebody confirm this does indeed work?).
Devisualization.Font heavily uses it for glyphs and the output of its
rasterization.

[0] https://github.com/Devisualization/image


I have working PNG export in my image processing package, part of dlib:
https://github.com/gecko0307/dlib
There're also importers for BMP and TGA.


Hmm I see.
There is quite a few incompatibilities so porting or reusing isn't 
really an option without hitting the filesystem at this time. Unfortunately.


While I like the idea of dlib, I'm not a fan of all encompassing 
libraries atleast now (yes yes I know Cmsed and all). I don't feel 
adding a dependency on the entire package is worth it.


However by the looks of things, you definitely have better quality code.
At the very least some way to convert between the two e.g. SuperImage 
and my Image would be worth it.


Re: crate.d a draft for a mvc library

2014-11-27 Thread Rikki Cattermole via Digitalmars-d-announce

On 28/11/2014 8:16 a.m., gedaiu wrote:

Hi,

In the last weeks I tried to make a draft for a mvc library. I tried to
take advantage of templates, uda and ctfe to make the interaction with
the database and the routing easier. There is still a lot of work to do
for making it ready to work in production... but anyway.. what do you
think?

https://github.com/gedaiu/crate.d

Thanks,
Bogdan


I had a look at it, it looks very simplistic. But I assume it would be 
rather fast for linking. Which is a good thing.


I would recommend if you haven't already to look at my projects, 
Cmsed[0], livereload[1], skeleton[2] and dvorm[3].

I started dvorm end of last year and is fairly complete at this point.
Cmsed is due for rewrite (got most of the code done if you are 
interested) but I'm waiting on a PR for dmd before doing more.


[0] https://github.com/rikkimax/Cmsed
[1] https://github.com/rikkimax/livereload
[2] https://github.com/rikkimax/skeleton
[3] https://github.com/rikkimax/dvorm


Re: crate.d a draft for a mvc library

2014-11-29 Thread Rikki Cattermole via Digitalmars-d-announce

On 30/11/2014 1:20 p.m., Dylan Knutson wrote:

MongoModel in the model part of crate.d is interesting, and I'm glad to
see there's a more structured way of interacting with MongoDB than just
poking at untyped objects. I think D is still missing a really good ORM
(Rikki's dvorm is a start), but there's nothing out there that conforms
to the activerecord pattern as far as I can tell.


There is hibernated around, but something about it always made me go 
yeah no. But so does actual hibernate so meh.


Dvorm was meant as a very simple interface completely abstracted out 
from the database engine itself :) It does this very well, even can 
send/receive emails!


I would like to eventually build another library that is backwards 
compatible with Dvorm but with a lot more features. And far less 
database engine abstracted away.

Mostly so things like Cmsed don't need a full rewrite.
But alas, I'm trying to improve the situation for gui's atm.


Re: forum.dlang.org is now using DCaptcha

2014-12-03 Thread Rikki Cattermole via Digitalmars-d-announce

On 4/12/2014 8:13 p.m., ketmar via Digitalmars-d-announce wrote:

On Thu, 04 Dec 2014 04:02:46 +
Mike via Digitalmars-d-announce digitalmars-d-announce@puremagic.com
wrote:


I had to maintain a technical forum last year that was getting
spammed like crazy.  I added the question how many bits are in a
byte?

six. am i failed?


Google is your friend.

https://www.google.co.nz/webhp?sourceid=chrome-instantion=1espv=2ie=UTF-8#q=1+byte+to+bits



Re: Travis-CI support for D

2014-12-13 Thread Rikki Cattermole via Digitalmars-d-announce

On 14/12/2014 4:28 a.m., Martin Nowak wrote:

On 12/13/2014 02:59 PM, ZombineDev wrote:

Thanks for the great work!

Is it possible to also include dmd+druntimie+phobos git-head?

It would be helpful to know if your project can be built with the new
version of DMD (when it is officially released) ahead of time. If you
are using some yet-to be deprecated code you can fix the issue much
sooner and when the next version is released the migration cost would be
virtually zero.
Sure, this won't be useful for everybody, but I am sure that for some
larger organizations this will be helpful.
Also this will help test the new compiler and standard library code
better, which should benefit everyone.


There are some interesting points in here, but the implication that more
people should test master is wrong, at least I hope so.

1. New releases should be pain-free

Obviously new releases shouldn't introduce regressions.
If there are new warnings/deprecations you should be able to live
with them for a while and fix them when you have time. This is how
we perceive this and if that doesn't work for you I'd be interested
to know why.

2. master == unstable

There are quite some newsgroup posts like my project doesn't build
with the latest dmd or latests dmd does A. That's not too helpful
IMO, as it creates additional support overhead (deduplicating
issues, answering, discussing). Therefor I wouldn't want to
encourage this even more. If something breaks, go directly to
bugzilla and file an issue. If you happen to know the cause go to
github and add a comment on the relevant pull. New dmd and phobos
code should be well tested and designed before we merge it into
master. Things like std.experimental are supposed to deal with the
lack of broad testing feedback during normal development.

3. Beta is for testing

Alpha and beta releases are the right time to try a new release
and they will be available on Travis-CI too [1]. During beta
releases we're actively monitoring the dmd-beta mailing list [2]
and are fixing any open regressions. This is the time when we're
most receptive for newly reported issues.

[1]:
https://github.com/travis-ci/travis-build/pull/340/files#diff-ac986a81b67f1bd5851c535881c18abeR91

[2]: http://lists.puremagic.com/mailman/listinfo/dmd-beta


Git pulling and rebuilding dmd every time you update your project is not
extremely efficient, but perhaps this can be done once a week. Or the
autotester can upload the first binaries that pass all tests to some ftp
in the beginning of every week.


I was thinking about releasing nightlies every now and then. We can't
really reduce the release cycle without massively changing our workflow.
That doesn't seem worthwhile for the few core contributors that we are.


I am not very familiar with Travis or the dmd release process, so
correct me if I am wrong.


Done :)
-Martin


I'm also on the side of, we should get dmd, gdc and ldc nightlies 
available. As an early warning of issues instead of OMG it breaks fixxx 
i.
Even though I don't use travis, I do think it would be a good thing to 
have. And anyway, it forces us to have good infrastructure going for 
automated releases.


Re: Travis-CI support for D

2014-12-14 Thread Rikki Cattermole via Digitalmars-d-announce

On 15/12/2014 5:03 a.m., Martin Nowak wrote:

On 12/14/2014 01:42 AM, Rikki Cattermole wrote:

And anyway, it forces us to have good infrastructure going for automated
releases.


We already have that, I build that in Jan 2014.


Unless we have nightlies for e.g. installers, I'm not quite sure its 
going far enough. Although shouldn't be much of a stretch now (or 
atleast its not advertised anywhere).


Re: HDF5 bindings for D

2014-12-21 Thread Rikki Cattermole via Digitalmars-d-announce

On 22/12/2014 5:51 p.m., Laeeth Isharc wrote:

https://github.com/Laeeth/d_hdf5

HDF5 is a very valuable tool for those working with large data sets.

 From HDF5group.org

HDF5 is a unique technology suite that makes possible the management of
extremely large and complex data collections. The HDF5 technology suite
includes:

* A versatile data model that can represent very complex data objects
and a wide variety of metadata.
* A completely portable file format with no limit on the number or size
of data objects in the collection.
* A software library that runs on a range of computational platforms,
from laptops to massively parallel systems, and implements a high-level
API with C, C++, Fortran 90, and Java interfaces.
* A rich set of integrated performance features that allow for access
time and storage space optimizations.
* Tools and applications for managing, manipulating, viewing, and
analyzing the data in the collection.
* The HDF5 data model, file format, API, library, and tools are open and
distributed without charge.

 From h5py.org:
[HDF5] lets you store huge amounts of numerical data, and easily
manipulate that data from NumPy. For example, you can slice into
multi-terabyte datasets stored on disk, as if they were real NumPy
arrays. Thousands of datasets can be stored in a single file,
categorized and tagged however you want.

H5py uses straightforward NumPy and Python metaphors, like dictionary
and NumPy array syntax. For example, you can iterate over datasets in a
file, or check out the .shape or .dtype attributes of datasets. You
don't need to know anything special about HDF5 to get started.

In addition to the easy-to-use high level interface, h5py rests on a
object-oriented Cython wrapping of the HDF5 C API. Almost anything you
can do from C in HDF5, you can do from h5py.

Best of all, the files you create are in a widely-used standard binary
format, which you can exchange with other people, including those who
use programs like IDL and MATLAB.

===
As far as I know there has not really been a complete set of HDF5
bindings for D yet.

Bindings should have three levels:
1. pure C API declaration
2. 'nice' D wrapper around C API (eg that knows about strings, not just
char*)
3. idiomatic D interface that uses CTFE/templates

I borrowed Stefan Frijter's work on (1) above to get started.  I cannot
keep track of things when split over too many source files, so I put
everything in one file - hdf5.d.

Have implemented a basic version of 2.  Includes throwOnError rather
than forcing checking status C style, but the exception code is not very
good/complete (time + lack of experience with D exceptions).

(3) will have to come later.

It's more or less complete, and the examples I have translated so far
mostly work.  But still a work in progress.  Any help/suggestions
appreciated.  [I am doing this for myself, so project is not as pretty
as I would like in an ideal world].


https://github.com/Laeeth/d_hdf5


You seem to be missing your dub file. Would be rather hard to get it 
onto dub repository without it ;)

Oh and keep the bindings separate from wrappers in terms of subpackages.


Re: Calypso: Direct and full interfacing to C++

2014-12-22 Thread Rikki Cattermole via Digitalmars-d-announce

On 23/12/2014 12:14 p.m., Elie Morisse wrote:

Hi everyone,

I have the pleasure to announce to you all the existence of a modified
LDC able to interface directly to C++ libraries, wiping out the need to
write bindings:

  https://github.com/Syniurge/Calypso

It's at a prototype stage, but its C++ support is pretty wide already:

  • Global variables
  • Functions
  • Structs
  • Unions (symbol only)
  • Enums
  • Typedefs
  • C++ class creation with the correct calls to ctors (destruction is
disabled for now)
  • Virtual function calls
  • Static casts between C++ base and derived classes (incl. multiple
inheritance offsets)
  • Mapping template implicit and explicit specializations already in
the PCH to DMD ones, no new specialization on the D side yet
  • D classes inheriting from C++ ones, including the correct vtable
generation for the C++ part of the class

So what is this sorcery? Let's remind ourselves that this isn't supposed
to be feasible:


Being 100% compatible with C++ means more or less adding a fully
functional C++ compiler front end to D. Anecdotal evidence suggests
that writing such is a minimum of a 10 man-year project, essentially
making a D compiler with such capability unimplementable.

http://dlang.org/cpp_interface.html

Well.. it is :D
Calypso introduces the modmap keyword, as in:

   modmap (C++) cppheader.h;


That really should be a pragma.
pragma(modmap, C++, cppheader.h);
Since pragma's are the way to instruct the compiler to do something.


to generate with the help of Clang libraries a virtual tree of C++
modules. Then after making Clang generate a PCH for all the headers, the
PCH is loaded and classes, structs, enums are placed inside modules
named after them, while global variables and functions are in a special
module named _. For example:

   import (C++) Namespace.SomeClass;  // imports Namespace::SomeClass
   import (C++) Namespace._;  // imports all the global variables and
functions in Namespace
   import (C++) _ : myCfunc, myGlobalVar;  // importing the global
namespace = bad idea, but selective imports work

Being a prototype, I didn't really pay attention to code conventions or
elegance and instead focused on getting things working.
And being tied to LDC and Clang (I have no idea how feasible a GCC
version would be), it's going to stay like this for some time until I
get feedback from the contributors on how this all should really be
implemented,. For example Calypso introduces language plugins, to
minimize the amount of code specific to C++ and to make support of
foreign languages cleaner and less intrusive, although it of course
needs numerous hooks here and there in DMD and LDC.

Calypso is still WIP, but it's in pretty good shape and already works in
a lot of test cases (see tests/calypso/), and is almost ready to use for
C++ libraries at least. Since C libraries are in the global namespace,
it's not a convenient replacement yet for bindings until I implement the
Clang module map format. More info this blog post detailing some of the
history behind Calypso:

http://syniurge.blogspot.com/2013/08/calypso-to-mars-first-contact.html

So.. Merry Christmas dear D community? :)


My take on the current talks of feature freezing D: the strength of D
is its sophistication. The core reason why D fails to attract more users
isn't the frequent compiler bugs or regressions, but the huge amount of
time needed to get something done because neither equivalent nor
bindings exist for most big and widespread C++ libraries like Qt. All
these talks about making D a more minimalist language won't solve much
and will only result in holding back D, which has the potential to
become a superset of all the good in other system languages, as well as
bringing its own powerful unique features such as metaprogramming done
right.
By removing the main reason why D wasn't a practical choice, this will
hopefully unlock the situation and make D gain momentum as well as
attract more contributors to the compilers to fix bugs and regressions
before releases.


Will you be upstreaming this? Or maintaining this completely yourself?


Re: D is one if Wired's 10 Most Hardcore Tech Stories of 2014

2014-12-27 Thread Rikki Cattermole via Digitalmars-d-announce

On 28/12/2014 7:45 a.m., Walter Bright wrote:

On 12/27/2014 7:36 AM, Laeeth Isharc wrote:

On Saturday, 27 December 2014 at 11:15:11 UTC, Walter Bright wrote:

On 12/26/2014 10:25 PM, Walter Bright wrote:

http://www.wired.com/2014/12/wired-enterprise-year/


https://www.reddit.com/r/programming/comments/2qioj8/dlang_story_makes_wireds_10_most_hardcore_tech/




Congratulations, Walter.  It's very satifying to see emerging mainstream
recognition of something so solid and whose advantages are based in real
advantages rather than marketing hype.

I am personally very glad you decided on 'retirement' that you were
not after
all the daytime TV kind of guy, and I wanted to thank you for
everything you
have contributed to D and its users.

I wish you a great start to the new year.


Thank you very much for the kind words!

I am not interested in retirement. I'll be writing code until my mind
gives out.

I do enjoy TV a bit much, building a home theater in the basement which
is rather nice! It's amazing that an excellent theater can be built for
under a grand outlay.


Now all you need is a rather decent computer with tv capture card and 
wala. Enjoy your full immersion programming environment! and media center.




Re: My D Cookbook on sale: $5 ebook from the publisher

2014-12-28 Thread Rikki Cattermole via Digitalmars-d-announce

On 29/12/2014 10:13 a.m., Adam D. Ruppe wrote:

I just noticed they temporarily reduced the price of my book:

https://www.packtpub.com/application-development/d-cookbook

If you haven't gotten a copy yet, start off the new year right! :)


Among the stuff covered are how to use ranges, reflection, structs for
resource management, OS APIs, and even a little on starting to write a
kernel level program in D. Practical to fun, educational all around!

PS for those of you who have read it and haven't yet, write an amazon
review!
http://www.amazon.com/gp/product/1783287217/ref=s9_simh_gw_p14_d0_i1?pf_rd_m=ATVPDKIKX0DERpf_rd_s=center-2pf_rd_r=1P864AG6WY9Y7H86MVFGpf_rd_t=101pf_rd_p=1688200382pf_rd_i=507846


Happy birthday to me, Happy birthday to me, thank you Adam. Happy 
birthday to me.

Yes it's my birthday, and yes I just bought it.



Re: DlangUI project update

2014-12-29 Thread Rikki Cattermole via Digitalmars-d-announce

On 29/12/2014 10:33 p.m., Vadim Lopatin wrote:

On Monday, 29 December 2014 at 09:30:40 UTC, Vadim Lopatin wrote:

On Monday, 29 December 2014 at 07:35:13 UTC, ketmar via
Digitalmars-d-announce wrote:

ah, and another thing: freeimage sux for GNU/Linux. it looks completely
alien and no sane GUI software requires it. i didn't looked at the
code, but i hope that image loading is well abstracted in DlangUI? if
it is, i can try to write a loaders for png and jpg (jpg? in GUI? holy
heavens, why?!).

it's better to check if the system has the corresponding libraries with
corresponding versions (imlib2 rocks, for example), but i suppose that
dub cannot into configure checks, am i right?


Initially, I've used libpng for loading images.
But it is compatible only with some particular version of libpng.so
API version is passed somwhere in calls, and doesn't work with updated
library.
I've tried to find some replacement for it, and found FreeImage (there
was Derelict suport for it, and it was used in some D projects).
Probably, it makes sense to move to SDL_image. But it looks like it
requires SDL as dependency.
Does it work ok on linux?
Let me check imlib2 as well.


BTW, there is de_image package - Image loading and exporting
Devisualization.
It's native D implementation, and possible if PNG only is enough, it
makes sense to use it.
Did some try de_image?


Author here.
Devisualization.Image png support is not complete.
But should be fine for RGBA images.
Interlacing is not done, however should be pretty easy to implement. I 
just haven't really wrapped my head around how to do and undo Adam7.


There is much more complete implementations in e.g. ae with support for 
jpeg, bmp, tiff ext. However my reasons for Devisualization.Image is = 
less code to compile in. Highly scoped.


Re: DlangUI project update

2014-12-29 Thread Rikki Cattermole via Digitalmars-d-announce

On 30/12/2014 12:14 a.m., Vadim Lopatin wrote:

On Monday, 29 December 2014 at 09:43:34 UTC, Rikki Cattermole wrote:

On 29/12/2014 10:33 p.m., Vadim Lopatin wrote:

On Monday, 29 December 2014 at 09:30:40 UTC, Vadim Lopatin wrote:
BTW, there is de_image package - Image loading and exporting
Devisualization.
It's native D implementation, and possible if PNG only is enough, it
makes sense to use it.
Did some try de_image?


Author here.
Devisualization.Image png support is not complete.
But should be fine for RGBA images.
Interlacing is not done, however should be pretty easy to implement. I
just haven't really wrapped my head around how to do and undo Adam7.

There is much more complete implementations in e.g. ae with support
for jpeg, bmp, tiff ext. However my reasons for Devisualization.Image
is = less code to compile in. Highly scoped.


Does de_image support PNGs with more than 256 colors?


It should support 8bit and 16bit sample (not RGB I mean just for e.g. R)[0].
I haven't really tested 16bit support however.



Does it support alpha?


Yes


Interlacing is not critical for usage in GUI resources - it's always
possible to open interlaced image and save as non-interlaced.


Just so you know [1].


Are you planning to separate import and export operations?
E.g. possibility to build read-only configuration of library to reduce
code size?


Currently there is no way to disable exporting.
Its honestly not much code extra, double roughly at most.


I'm going to try de_image instead of FreeImage in dlangui.


Sweet sounds good.
Also if you don't mind looking into Devisualization.Window as well?
It would help get you on to OSX rather fast. Since it already supports it.

If there is anything you want help with or just general chat, feel free 
to ping me on gitter.im. All Devisualization projects especially the 
more complete ones have a conversation on there with me sitting in them.


[0] 
https://github.com/Devisualization/image/blob/master/source/png/devisualization/image/png/reader_chunks_IDAT.d#L67
[1] 
https://github.com/Devisualization/image/blob/master/source/png/devisualization/image/png/reader_chunks_IDAT.d#L57


Re: DlangUI project update

2015-01-24 Thread Rikki Cattermole via Digitalmars-d-announce

On 25/01/2015 9:29 a.m., Suliman wrote:

I checked what is in:
derelict-sdl2-1.9.1\.dub\build\library-debug-windows-x86-dmd_2066-C6F79EB15955F23DC333E5B450077DDB


In this folder located only file: DerelictSDL2.lib

$ dub clean
$ dub build --force

Some inconsistency in build caches I bet.


Re: Martin Nowak is our new release czar

2015-02-04 Thread Rikki Cattermole via Digitalmars-d-announce

On 5/02/2015 1:07 p.m., Andrei Alexandrescu wrote:

Andrew Edwards, our former release czar, declined his czardom because he
went to college. Thanks and good luck!

He left a void of power. After a period of turmoil and intestine
political fights, we have a new, ruthless czar: Martin Nowak. He plans
to put us on a path of regular, predictable 6-week releases, thus ending
the D Middle Ages.

Please throw your hat in the air with me to hail the new czar! :o)


Andrei


Congrats! and yay!


Re: Anyone interested in embedding a JVM in their D app?

2015-01-14 Thread Rikki Cattermole via Digitalmars-d-announce

On 15/01/2015 3:26 a.m., Ben Boeckel via Digitalmars-d-announce wrote:

On Wed, Jan 14, 2015 at 15:05:18 +1300, Rikki Cattermole via 
Digitalmars-d-announce wrote:

Definitely need to get JNI support first class.
It definitely will help with getting D on Android.


My experience is that the D runtime needed some work to accept that
there are Linux machines without glibc (bionic for Android). After
getting those assumptions out, I had it to a point where it was
compiling, but things blew up in the runtime somewhere (or bionic; it
was never really giving useful backtraces) during my argument parsing
(my guess is the GC was mucking with the wrong bits, but there wasn't
anything conclusive since debugging was never easier than what I got
from logcat and looking at disassemblies). This was back in 2.065 era
though and I haven't done much with it since then.

--Ben


That's trying to get JNI to work, I'm assuming that part has already 
been done and we want a nice wrapper around it.
At the worse case scenario, at least it'll work for e.g. Windows, OSX 
and Linux.


Re: DerelictCEF: Chromium Emdedded Framework Binding

2015-01-21 Thread Rikki Cattermole via Digitalmars-d-announce

On 22/01/2015 3:07 a.m., Mike Parker wrote:

I've been wanting to play around with the Chromium Emdedded Framework
for a while. So I've created a D binding for it. I want to stress that I
can offer no support for this right now beyond fixing bugs, i.e. I can't
help anyone with how to use the CEF C API as I don't know it myself.
I've put up a blog post at [1] for a few helpful links and more
warnings. Beyond that, if you want to use it right now, you're on your
own. Here be monsters!

Screenshot: http://i.imgur.com/pYlP3dE.png?1


[1]
http://dblog.aldacron.net/derelictcef-binding-to-chromium-embedded-framework/


Awesome!
I was looking into this a while back.
I am certainly glad this is being explored.



Re: Deadcode: A code editor in D

2015-01-19 Thread Rikki Cattermole via Digitalmars-d-announce

On 20/01/2015 1:48 a.m., Jonas Drewsen wrote:

On Sunday, 18 January 2015 at 22:00:51 UTC, Piotrek wrote:

On Friday, 16 January 2015 at 21:19:08 UTC, Jonas Drewsen wrote:

I have been working on an editor written in D for use with D for some
time now and have made a blog post about it.

Any feedback or suggestions are welcome.

http://deadcodedev.steamwinter.com

Thanks
Jonas


Hi,

This is an impressive work. I's really nice to see a presentation of
how much help can be provided from the D editor and existing language
labiaries.

I have several questions as well:

1. Was the libdparser integrated with extension system or is it
embedded in the core?


Done with the extension system.


2. What are the dependencies?


sdl2, opengl, freetype, libdparse (if you want the extension for D
semantic)

I am keeping an eye on some of the native D input/window libraries that
is being worked on in the hope of being able to replace the SDL2
dependency.


Please file any enhancement requests for any Devisualization projects 
you need. It would help me know what is needed of them more.



3. How hard it would be to change the feellook of the gui as it is in
conventional editors (Visual, MonoDeveop, GtCreator, Eclipse). I mean
menus, buttons, views etc?


Would require some more views/controls to be created. The styling is
done through CSS sheets. A common subset of CSS keys are supported but
maybe a few more would be needed.




Re: DDocs.org: auto-generated documentation for all DUB projects (WIP)

2015-02-10 Thread Rikki Cattermole via Digitalmars-d-announce

On 11/02/2015 11:40 a.m., Kiith-Sa wrote:

DDocs.org (http://ddocs.org) is a repository of documentation for DUB
projects that automatically re-generates docs as new
projects/releases/branch changes are added.

The idea is to make documenting D projects as simple as possible, to the
point where you don't need to do any work to get documentation for your
project other than adding it to the DUB registry. Also, users can now
browse documentation for DUB projects even if the author was too lazy to
generate it themselves (assuming thy did include some documentation
comments).


Note that this is still in a very early stage, it was put together in a
very quick-and-dirty style by a person with little webdev experience.
Currently it just scans `code.dlang.org`, looking for changes (yes, I
know, this will break as soon as code.dlang.org changes, I plan to raise
issue/s (PRs?) to the dub registry project so it can have a full/stable
API, but I wanted to get something to work *right now*.

Code is here:

* ddocs.org: https://github.com/kiith-sa/ddocs.org
* hmod-dub: https://github.com/kiith-sa/hmod-dub
* harbored-mod: https://github.com/kiith-sa/harbored-mod



Background:

When optimizing harbored-mod by testing it on big D projects (gtk-d,
tango, vibe.d, etc.), I wrote a simple tool to fetch/generate docs for
any DUB project; I got carried away and used that as base for a tool
that checks for changes in the DUB registry and generates docs for all
projects.


Right this needs to be made first class link wise on dlang.org and 
code.dlang.org


New book: Developing with compile time in mind

2015-02-16 Thread Rikki Cattermole via Digitalmars-d-announce

Exciting news, my book on CTFE is out[0].

To summarize, it contains most of my knowledge of CTFE in a generic'ish 
form with examples being in D.


There is a bit of talk of what support there can be and what we have.
The design patterns are probably the most interesting.

If you have any improvements or find any issues e.g. stray hyphens 
(Copied directly from Word wasn't a good idea) please let me know.


The size of the book is around 51 pages.
I understand if you do not consider it worth $15USD so the minimum price 
is $5USD.


If there is demand I can create an extra package (will cost) that 
contains full examples on how to use the design patterns.


Leanpub support sending to Kindle and will you give you a pdf, mobi and 
epub versions.


[0] https://leanpub.com/ctfe


Re: New book: Developing with compile time in mind

2015-02-17 Thread Rikki Cattermole via Digitalmars-d-announce

On 18/02/2015 5:08 a.m., Andrei Alexandrescu wrote:

On 2/17/15 3:49 AM, Russel Winder via Digitalmars-d-announce wrote:

On Tue, 2015-02-17 at 16:40 +1300, Rikki Cattermole via
Digitalmars-d-announce wrote:



[…]

Just let me know any improvements that could be made. Updates are
free after all! (Leanpub is amazing, what with markdown writing and
all).


How did you find Markdown for writing a book?

My prejudice is that you need XeLaTeX or AsciiDoc for large document
writing, especially when targeting press PDF.


Mine too. However, PDF is for fixed layout and any future book should
aim at flexible format or at least multiple fixed layouts.

I think Markdown's use for a book is works, won't ever win an interior
design contest.

TDPL's second edition will most likely use ddoc macros to generate
LaTeX, HTML, and a couple of ebook formats.


Andrei


Idk Makura version (leanpub's specification) is pretty nice.
You really don't think about formatting much. You just make the content 
and let it do the rest.


Everything you put into the markdown documents themselves are pretty 
straight forward easy to read and understand e.g.


{title=On top of code snippet text}
```D
void main() {
import std.stdio;
writeln(Hello World!);
}
```

And yes it support D code blocks :D Much better then my previous method 
of using images. In fact this is a requirement for me.


You can configure Makura's generation via a config file which includes 
output page size. So right now leanpub is generating pdf's that can be 
used on lulu.com. There is some modifications need to be done e.g. blank 
last page. But that's about it. Specifically for a pocketbook.


I would highly recommend giving leanpub a go. I absolutely fell in love 
with it.


In fact I'm seriously considering implementing Makura in D once I have a 
good pdf generation library. I know we already have a markdown library 
but I might just make my own.


Re: New book: Developing with compile time in mind

2015-02-16 Thread Rikki Cattermole via Digitalmars-d-announce

On 17/02/2015 4:32 p.m., Walter Bright wrote:

On 2/16/2015 3:07 PM, Rikki Cattermole wrote:

[0] https://leanpub.com/ctfe


Thank you. I bought my copy!


No problem!

Just let me know any improvements that could be made. Updates are free 
after all! (Leanpub is amazing, what with markdown writing and all).


Re: New book: Developing with compile time in mind

2015-02-17 Thread Rikki Cattermole via Digitalmars-d-announce

On 18/02/2015 12:49 a.m., Russel Winder via Digitalmars-d-announce wrote:

On Tue, 2015-02-17 at 16:40 +1300, Rikki Cattermole via Digitalmars-d-announce 
wrote:



[…]

Just let me know any improvements that could be made. Updates are
free after all! (Leanpub is amazing, what with markdown writing and
all).


How did you find Markdown for writing a book?

My prejudice is that you need XeLaTeX or AsciiDoc for large document
writing, especially when targeting press PDF.


Rather enjoyable.
I loved that I could just write my content. Maybe splash some hashes or 
{pagebreak} in there.


Although I lost a lot of control especially since leanpub's system isn't 
opensource unfortunately. But I intend to fix that one day ;)




Re: Harbored-mod (doc generator) 0.2: Cross-referencing, methods/fields no longer in separate files

2015-01-31 Thread Rikki Cattermole via Digitalmars-d-announce

On 1/02/2015 4:31 a.m., Kiith-Sa wrote:

Harbored-mod (https://github.com/kiith-sa/harbored-mod) is a
documentation generator based on Brian Schott's Harbored that
supports both DDoc and Markdown in documentation comments.

--
Examples of generated docs
--

* Public imports in a package.d:
   http://defenestrate.eu/docs/tharsis-core/api/tharsis/entity.html
* Class with a template parameter, member functions and aliases:
http://defenestrate.eu/docs/tharsis-core/api/tharsis/entity/entitymanager/EntityManager.html

* Simple DDoc See_Also: section:
http://defenestrate.eu/docs/tharsis-core/api/tharsis/entity/componenttypeinfo/ImmutableRawComponent.html

* Note: DDoc section with some markdown:
http://defenestrate.eu/docs/tharsis-core/api/tharsis/entity/processtypeinfo.html#prioritizeProcessOverloads



--
Release highlights
--

* Automatic cross-referencing in code blocks and inline code

* New (and now default) output format: aggregated HTML;
   generate documentation files only for aggregates (modules,
   structs, classes, etc.) and document non-aggregate members
   (functions, variables, etc.) in these files.

   The previous, DDox compatible format, where a separate file
   is generated for every symbol, is still supported through
   the `--format=html-simple` option.

* Various style and usability improvements
* Major refactoring
* Many bugfixes


Full changelog:
https://github.com/kiith-sa/harbored-mod/releases/tag/v0.2.0


Atleast on chrome win7 the font is absolutely awful.
Otherwise, I LOVE!


Re: Harbored-mod (doc generator) 0.2: Cross-referencing, methods/fields no longer in separate files

2015-01-31 Thread Rikki Cattermole via Digitalmars-d-announce

On 1/02/2015 1:02 p.m., Rikki Cattermole wrote:

On 1/02/2015 4:31 a.m., Kiith-Sa wrote:

Harbored-mod (https://github.com/kiith-sa/harbored-mod) is a
documentation generator based on Brian Schott's Harbored that
supports both DDoc and Markdown in documentation comments.

--
Examples of generated docs
--

* Public imports in a package.d:
   http://defenestrate.eu/docs/tharsis-core/api/tharsis/entity.html
* Class with a template parameter, member functions and aliases:
http://defenestrate.eu/docs/tharsis-core/api/tharsis/entity/entitymanager/EntityManager.html


* Simple DDoc See_Also: section:
http://defenestrate.eu/docs/tharsis-core/api/tharsis/entity/componenttypeinfo/ImmutableRawComponent.html


* Note: DDoc section with some markdown:
http://defenestrate.eu/docs/tharsis-core/api/tharsis/entity/processtypeinfo.html#prioritizeProcessOverloads




--
Release highlights
--

* Automatic cross-referencing in code blocks and inline code

* New (and now default) output format: aggregated HTML;
   generate documentation files only for aggregates (modules,
   structs, classes, etc.) and document non-aggregate members
   (functions, variables, etc.) in these files.

   The previous, DDox compatible format, where a separate file
   is generated for every symbol, is still supported through
   the `--format=html-simple` option.

* Various style and usability improvements
* Major refactoring
* Many bugfixes


Full changelog:
https://github.com/kiith-sa/harbored-mod/releases/tag/v0.2.0


Atleast on chrome win7 the font is absolutely awful.
Otherwise, I LOVE!


Also any chance that it could output json to represent modules instead 
of html?


Re: 2015 H1 Vision

2015-01-31 Thread Rikki Cattermole via Digitalmars-d-announce

On 1/02/2015 2:17 p.m., Andrei Alexandrescu wrote:

Hello,


Walter and I have been mulling for a while on a vision for the first six
months of 2015.

http://wiki.dlang.org/Vision/2015H1

This is stuff we consider important for D going forward and plan to work
actively on. We encourage the D community to focus contributions along
the same lines.

We intentionally kept the document short and high-level as opposed to
discussing tactical details. Such discussions are encouraged in the
appropriate forums.


Thanks,

Walter and Andrei


I'm personally slightly concerned about libraries into phobos. Not so 
much libraries in general. But frameworks.

This is how we do x, kind.

Can we please keep opinionated libraries of how to do things away from 
phobos?
An ORM is a great example of this. But a client library to e.g. Mysql is 
fine.


Anyway enough about that, the plan is definitely looking good!


Re: Harbored-mod (doc generator) 0.2: Cross-referencing, methods/fields no longer in separate files

2015-02-01 Thread Rikki Cattermole via Digitalmars-d-announce

On 2/02/2015 2:36 a.m., Kiith-Sa wrote:



Atleast on chrome win7 the font is absolutely awful.


Could you post a screenshot? I mostly just use the default sans which
can result in any font being used based on the OS,


http://imgur.com/JvbjN9o


Re: NEW asm.dlang.org site

2015-01-26 Thread Rikki Cattermole via Digitalmars-d-announce

On 27/01/2015 12:46 p.m., Iain Buclaw wrote:

Hi,

It is my pleasure to release a new site onto the community.  An
Interactive DMD compiler.

http://asm.dlang.org/

Inspired by Matt Godbolt's GCC Explorer[1], and my own hosted version
that uses GDC[2].  I was asked by Andrei to fork and make a working
protoype that uses DMD.

All work is hosted on Github[3], and we are planning on moving it to
part of the D-Programming-Language repositories.

Please share, contribute, and destroy!

Regards
Iain.

[1]: http://gcc.godbolt.org/
[2]: http://explore.dgnu.org/
[3]: https://github.com/ibuclaw/gcc-explorer/


1) can we get e.g. ldc ext. on there as well?
2) can it be renamed e.g. paste/pastebin?
3) login ext. integrated with code.dlang.org would be nice for full 
pastebin features


Re: We're looking for a Software Developer! (D language)

2015-01-11 Thread Rikki Cattermole via Digitalmars-d-announce

On 9/01/2015 4:20 p.m., John Carter via Digitalmars-d-announce wrote:

If you email me at john DOT carter AT taitradio DOT com we can take this
conversation out of the D forum as it is going way off topic.

On Fri, Jan 9, 2015 at 4:05 PM, Rikki Cattermole via
Digitalmars-d-announce digitalmars-d-announce@puremagic.com
mailto:digitalmars-d-announce@puremagic.com wrote:

On 9/01/2015 2:53 p.m., John Carter via Digitalmars-d-announce wrote:

Whilst we are not currently using D at Tait Electronics

I am certainly trying to make it happen.

So if this job fits you...

http://www.taitradio.com/__about-us/careers/new-zealand/__jobs-in-new-zealand/embedded-__software-engineer2

http://www.taitradio.com/about-us/careers/new-zealand/jobs-in-new-zealand/embedded-software-engineer2

You can help me try!

Part of the problem  with getting a new language accepted in a
company,
is to develop a critical mass of willing and capable programmers
in that
language.


On Fri, Jan 9, 2015 at 2:20 AM, Rikki Cattermole via
Digitalmars-d-announce digitalmars-d-announce@__puremagic.com
mailto:digitalmars-d-announce@puremagic.com
mailto:digitalmars-d-__annou...@puremagic.com
mailto:digitalmars-d-announce@puremagic.com wrote:

 On 9/01/2015 12:10 a.m., Johanna Burgos wrote:

 Your Mission

 Support our team in the development of our event-based
 infrastructure
 Development of high-performance applications and services
 Writing applications to work with our distributed DHT
database
 system
 You will be coding in the D-language

 Your Track Record

 Degree in Computer Science, or closely-related
 Knowledge of Github
 Strong interest in distributed architectures
 Experienced in C, C++ or D (you’ll be programming in D)
 Fluency in written and spoken English

 Your Style

 You don’t like being thrown in at the deep end. You
like to jump
 yourself
 You live and breathe globalization and love to work and
travel
 internationally
 You mesmerize people with a friendly and open-minded, yet
 trustworthy
 and reliable personality
 You think in achievements, not in departments,
responsibilities or
 hierarchy
 As a quick learner, first mover and fast thinker you
can keep
 pace with
 one of the fastest growing technology start ups
 You are driven by curiosity and innovation, and always
up for a good
 challenge

 Our Promise

 Employment in Berlin, full-time and full of fun
challenges, with
 flexible working hours
 Access to a high-profile professional network of
international
 Internet
 companies
 Possibility to show your excellent competence and your
creative
 ideas to
 a broad audience
 A competitive compensation and incentive plan that
rocks when
 you rock
 Personal development and training that will help you
evolve from
 the pro
 you are right now to the champ you’re destined to be
 Basic German language courses for non-native speakers
 Help with residence permit processing for non-EU citizens
 Daily adrenalin rushes while working and learning in
one of the
 fastest
 growing sectors in online advertising
 Access to an international high-profile network
 A company culture driven by pioneer-thinking and talent
that exceeds
 departments and hierarchies


 The challenge is on. If you think it’s you we’re
looking for,
 send us
 your battle plan along with a certificate of your super
powers at
care...@sociomantic.com mailto:care...@sociomantic.com
mailto:careers@sociomantic.__com mailto:care...@sociomantic.com.
 Alternatively, a motivational cover letter and
 resume in English will do, too. For now.


 Unfortunately I half wish you guys had a New Zealand office.
 As I am in need of a job.




--
John Carter
Phone : (64)(3) 358 6639
Tait Electronics
PO Box 1645 Christchurch
New Zealand

Re: We're looking for a Software Developer! (D language)

2015-01-08 Thread Rikki Cattermole via Digitalmars-d-announce

On 9/01/2015 2:53 p.m., John Carter via Digitalmars-d-announce wrote:

Whilst we are not currently using D at Tait Electronics

I am certainly trying to make it happen.

So if this job fits you...
http://www.taitradio.com/about-us/careers/new-zealand/jobs-in-new-zealand/embedded-software-engineer2

You can help me try!

Part of the problem  with getting a new language accepted in a company,
is to develop a critical mass of willing and capable programmers in that
language.


On Fri, Jan 9, 2015 at 2:20 AM, Rikki Cattermole via
Digitalmars-d-announce digitalmars-d-announce@puremagic.com
mailto:digitalmars-d-announce@puremagic.com wrote:

On 9/01/2015 12:10 a.m., Johanna Burgos wrote:

Your Mission

Support our team in the development of our event-based
infrastructure
Development of high-performance applications and services
Writing applications to work with our distributed DHT database
system
You will be coding in the D-language

Your Track Record

Degree in Computer Science, or closely-related
Knowledge of Github
Strong interest in distributed architectures
Experienced in C, C++ or D (you’ll be programming in D)
Fluency in written and spoken English

Your Style

You don’t like being thrown in at the deep end. You like to jump
yourself
You live and breathe globalization and love to work and travel
internationally
You mesmerize people with a friendly and open-minded, yet
trustworthy
and reliable personality
You think in achievements, not in departments, responsibilities or
hierarchy
As a quick learner, first mover and fast thinker you can keep
pace with
one of the fastest growing technology start ups
You are driven by curiosity and innovation, and always up for a good
challenge

Our Promise

Employment in Berlin, full-time and full of fun challenges, with
flexible working hours
Access to a high-profile professional network of international
Internet
companies
Possibility to show your excellent competence and your creative
ideas to
a broad audience
A competitive compensation and incentive plan that rocks when
you rock
Personal development and training that will help you evolve from
the pro
you are right now to the champ you’re destined to be
Basic German language courses for non-native speakers
Help with residence permit processing for non-EU citizens
Daily adrenalin rushes while working and learning in one of the
fastest
growing sectors in online advertising
Access to an international high-profile network
A company culture driven by pioneer-thinking and talent that exceeds
departments and hierarchies


The challenge is on. If you think it’s you we’re looking for,
send us
your battle plan along with a certificate of your super powers at
care...@sociomantic.com mailto:care...@sociomantic.com.
Alternatively, a motivational cover letter and
resume in English will do, too. For now.


Unfortunately I half wish you guys had a New Zealand office.
As I am in need of a job.




--
John Carter
Phone : (64)(3) 358 6639
Tait Electronics
PO Box 1645 Christchurch
New Zealand



This email, including any attachments, is only for the intended
recipient. It is subject to copyright, is confidential and may be the
subject of legal or other privilege, none of which is waived or lost by
reason of this transmission.
If you are not an intended recipient, you may not use, disseminate,
distribute or reproduce such email, any attachments, or any part
thereof. If you have received a message in error, please notify the
sender immediately and erase all copies of the message and any attachments.
Unfortunately, we cannot warrant that the email has not been altered or
corrupted during transmission nor can we guarantee that any email or any
attachments are free from computer viruses or other conditions which may
damage or interfere with recipient data, hardware or software. The
recipient relies upon its own procedures and assumes all risk of use and
of opening any attachments.



Wow there is actually somebody working right round the corner of me!
I did not expect this.

Out of curiosity how do you guys consider CPIT's Degree in ICT keep in 
mind that it doesn't cover c/c++. Well until I pushed for D(native) anyway.


Re: Anyone interested in embedding a JVM in their D app?

2015-01-13 Thread Rikki Cattermole via Digitalmars-d-announce

On 14/01/2015 3:00 p.m., james wrote:

I've been playing with jni.h and D.  I think I've got a fully
working jni.d and I have the start of a nicer D wrapper around it
with djvm.d.

https://github.com/jamesmahler/djvm

There is an example usage in the README.md.  There's also why I'd
do such a thing in there.

I'm not sure if anyone else would be interested in this.  I'm
open to help and merge requests if anyone wants to join in.

In the short term, I still have several low level things to wrap
with the more D interfaces.

In the longer term, I want to have D interfaces around JDBC.


Definitely need to get JNI support first class.
It definitely will help with getting D on Android.


Re: Heady House Hunting with D

2015-01-13 Thread Rikki Cattermole via Digitalmars-d-announce

On 14/01/2015 4:46 p.m., Philpax wrote:

Hey everyone,

I recently wrote a blog post about how I used D/vibe.d to help find a
new house. I haven't publicized it anywhere else yet, so I'm looking
forward to what the D community has to say! You can check it out here:
http://philpax.me/blog/heady-house-hunting-with-d

D made it easy to model the problem and quickly crunch through it; I'm
pretty happy with how quickly I was able to get decent results. It's not
the most idiomatic of code, but D's flexibility meant that I could
concentrate on the concept instead of the implementation details.

Thanks,
Philpax


When I first saw this thread I thought it was spam.
Nope!

Definitely would be interesting to see this as a full blown comparison 
site, like there is for flight.


Re: DMD's lexer available on code.dlang.org

2015-01-04 Thread Rikki Cattermole via Digitalmars-d-announce

On 5/01/2015 2:07 a.m., Daniel Murphy wrote:

I've created a dub package for the D version of DMD's lexer, generated
automatically from the C++ source.

github: https://github.com/yebblies/ddmd
dub: http://code.dlang.org/packages/ddmd

There are a few annoying limitations, such that it uses dmd's error
printing and allocation functions, and requires configuration through
'global'.

Here is an example program that uses the lexer:

==

import std.stdio;
import std.file;

import ddmd.tokens;
import ddmd.lexer;

/

void main()
{
Lexer.initLexer();

string data = void blah() {} // stuff;
auto l = new Lexer(myfile, data.ptr, 0, data.length, 0, 0);
l.nextToken();
do
{
printf(token: %s\n, l.token.toChars());
}
while (l.nextToken() != TOKeof);
}

==

Prints:

token: void
token: blah
token: (
token: )
token: {
token: }


I saw that. I'm really looking forward to getting my teeth into it and 
doing some good old refactoring. Although that will be a while because 
of the auto generated thing.


Re: DMD's lexer available on code.dlang.org

2015-01-04 Thread Rikki Cattermole via Digitalmars-d-announce

On 5/01/2015 2:39 a.m., Daniel Murphy wrote:

Rikki Cattermole  wrote in message news:m8be2m$1dlp$1...@digitalmars.com...

I saw that. I'm really looking forward to getting my teeth into it and
doing some good old refactoring. Although that will be a while because
of the auto generated thing.


There's plenty of refactoring to be done on the C++ side too.


What I want to do is D side unfortunately. I just hate to see large 
lists in e.g. globals with constructors. When they can be dealt with a 
simple array and a bit of CTFE magic.


Re: We're looking for a Software Developer! (D language)

2015-01-08 Thread Rikki Cattermole via Digitalmars-d-announce

On 9/01/2015 12:10 a.m., Johanna Burgos wrote:

Your Mission

Support our team in the development of our event-based infrastructure
Development of high-performance applications and services
Writing applications to work with our distributed DHT database system
You will be coding in the D-language

Your Track Record

Degree in Computer Science, or closely-related
Knowledge of Github
Strong interest in distributed architectures
Experienced in C, C++ or D (you’ll be programming in D)
Fluency in written and spoken English

Your Style

You don’t like being thrown in at the deep end. You like to jump yourself
You live and breathe globalization and love to work and travel
internationally
You mesmerize people with a friendly and open-minded, yet trustworthy
and reliable personality
You think in achievements, not in departments, responsibilities or
hierarchy
As a quick learner, first mover and fast thinker you can keep pace with
one of the fastest growing technology start ups
You are driven by curiosity and innovation, and always up for a good
challenge

Our Promise

Employment in Berlin, full-time and full of fun challenges, with
flexible working hours
Access to a high-profile professional network of international Internet
companies
Possibility to show your excellent competence and your creative ideas to
a broad audience
A competitive compensation and incentive plan that rocks when you rock
Personal development and training that will help you evolve from the pro
you are right now to the champ you’re destined to be
Basic German language courses for non-native speakers
Help with residence permit processing for non-EU citizens
Daily adrenalin rushes while working and learning in one of the fastest
growing sectors in online advertising
Access to an international high-profile network
A company culture driven by pioneer-thinking and talent that exceeds
departments and hierarchies


The challenge is on. If you think it’s you we’re looking for, send us
your battle plan along with a certificate of your super powers at
care...@sociomantic.com. Alternatively, a motivational cover letter and
resume in English will do, too. For now.


Unfortunately I half wish you guys had a New Zealand office.
As I am in need of a job.


Re: Release Candidate D 2.067.0-rc1

2015-03-17 Thread Rikki Cattermole via Digitalmars-d-announce

On 17/03/2015 10:38 a.m., Martin Nowak wrote:

Release Candidate for 2.067.0

http://downloads.dlang.org/pre-releases/2.x/2.067.0/
http://ftp.digitalmars.com/
You can get the binaries here until they are mirrored.
https://dlang.dawg.eu/downloads/dmd.2.067.0-rc1/

We fixed the few remaining issues.
https://github.com/D-Programming-Language/dmd/compare/v2.067.0-b4...v2.067.0-rc1
https://github.com/D-Programming-Language/phobos/compare/v2.067.0-b4...v2.067.0-rc1

Unless any new issue pops up, we'll make the release on friday.

-Martin


I've been waiting since before 2.066 for another review on [0] or to be 
pulled.


[0] https://github.com/D-Programming-Language/dmd/pull/3921




Re: DTanks Alpha

2015-03-20 Thread Rikki Cattermole via Digitalmars-d-announce

On 21/03/2015 10:55 a.m., Kingsley wrote:

In preparation for the London D meetup I have got the DTanks robot
battle framework into the first alpha release state - good enough to use
at the meetup anyway.

https://github.com/masterthought/dtanks

--K


Are you aware of what turtles are? Because this looks pretty close api 
wise, to be used for it.


Re: DTanks Alpha

2015-03-21 Thread Rikki Cattermole via Digitalmars-d-announce

On 21/03/2015 7:46 p.m., sclytrack wrote:

On Saturday, 21 March 2015 at 02:39:23 UTC, Rikki Cattermole wrote:

On 21/03/2015 10:55 a.m., Kingsley wrote:

In preparation for the London D meetup I have got the DTanks robot
battle framework into the first alpha release state - good enough to use
at the meetup anyway.

https://github.com/masterthought/dtanks

--K


Are you aware of what turtles are? Because this looks pretty close api
wise, to be used for it.


Logo?


Yes that's the originating language.


Re: Streaming, making a book!

2015-03-09 Thread Rikki Cattermole via Digitalmars-d-announce

On 10/03/2015 1:09 a.m., Ondra wrote:

Would you consider streaming on twitch.tv too?


I have done so in the past. But they are a game streaming site. The only 
development streams meant to take place there is for games. So no I 
won't be.


Streaming, making a book!

2015-03-07 Thread Rikki Cattermole via Digitalmars-d-announce

I'm starting a live stream[1] for making a book.
The book is The way to program - Lets think like a D(eveloper)

For now I will only commit to Mondays 12pm UTC+0.
I may stream at random times beyond that. Check my Twitter as to when 
that might be[2].


The book I am making is available at[0]. For published versions of it[3].
Published version will not be free, but the raw resources used to create 
it are under a creative commons license.


The book's purpose is to not teach D. Instead it focuses on teaching 
programming concepts and ideas using D as a base.
Assuming the book creation is a success I have a few other books in the 
pipeline. The second book will be covering sockets and threading via 
IRC/XMPP. Third would be Web development. Fourth UI's.


There has already been a few streams, so content has already got a good 
start. If there is interest, I may stream some of Devisualization 
project development.


Usually the stream will last 2-3 hours depending upon how many watch and 
interact.


A couple days ago livecoding.tv came out of closed beta. Feel free to join!
Disclaimer: I am not affiliated with livecoding.tv. Although the devs 
are great.


[0] https://github.com/rikkimax/twp-d
[1] http://livecoding.tv/alphaglosined
[2] https://twitter.com/alphaglosined
[3] https://leanpub.com/twp-d


Re: Streaming, making a book!

2015-03-09 Thread Rikki Cattermole via Digitalmars-d-announce

On 9/03/2015 10:34 p.m., Israel wrote:

On Sunday, 8 March 2015 at 02:52:41 UTC, Rikki Cattermole wrote:

I'm starting a live stream[1] for making a book.
The book is The way to program - Lets think like a D(eveloper)

For now I will only commit to Mondays 12pm UTC+0.
I may stream at random times beyond that. Check my Twitter as to when
that might be[2].

The book I am making is available at[0]. For published versions of it[3].
Published version will not be free, but the raw resources used to
create it are under a creative commons license.

The book's purpose is to not teach D. Instead it focuses on teaching
programming concepts and ideas using D as a base.
Assuming the book creation is a success I have a few other books in
the pipeline. The second book will be covering sockets and threading
via IRC/XMPP. Third would be Web development. Fourth UI's.

There has already been a few streams, so content has already got a
good start. If there is interest, I may stream some of Devisualization
project development.

Usually the stream will last 2-3 hours depending upon how many watch
and interact.

A couple days ago livecoding.tv came out of closed beta. Feel free to
join!
Disclaimer: I am not affiliated with livecoding.tv. Although the devs
are great.

[0] https://github.com/rikkimax/twp-d
[1] http://livecoding.tv/alphaglosined
[2] https://twitter.com/alphaglosined
[3] https://leanpub.com/twp-d


That's pretty cool. I didn't know a service like this existed. I hope
all goes well...


Yeah, thanks. I'll be starting in about half an hour.


What will be your development environment?


The streaming machine is pretty complex so:

Host machine Mac book pro ~ half a year to a year old (extremely good specs)
Host OS: OSX 10.10
Streaming software: OBS (the new cross platform version)
Music playing software: VLC on host
Now playing text exporter for VLC: 
https://gist.github.com/rikkimax/39b46f7ff3aa0c93b5cf

VLC to OBS: http://rogueamoeba.com/freebies/soundflower/
VM system: Parallels 10
VM OS: Linux Mint 17.1 Cinnamon
Other software: Remarkable[0], git

Nothing really big difference between fresh install of the distro.

The font size is a bit off. What with the Retina resolution. But 
generally I have increased the font size up enough that people can see 
it well.


[0] http://remarkableapp.net/


Re: DDT 0.11.0 released

2015-03-24 Thread Rikki Cattermole via Digitalmars-d-announce

On 25/03/2015 2:24 a.m., Bruno Medeiros wrote:

On 23/03/2015 15:35, Ben Boeckel via Digitalmars-d-announce wrote:

Running a Python script to generate D code?


Yes, in DUB you can run arbitrary external commands before and after the
D sources compilation.


But not in between? Basically, can you have a tool written in D built
with the project and then used to generate code in the same project?

--Ben



That should be possible if you split it into two bundles or so, if I
understood that case correctly. The external commands run before and
after a compilation of a bundle (known in DUB as package). So you
could have:

1. bundleA - pre external commands
2. bundleA - D sources compilation
3. bundleA - post external commands
4. bundleB - pre external commands
5. bundleB - D sources compilation
and so on.. (if bundleA is set as a dependency of bundleB)


Actually I was thinking along the lines of using sub packages to do this.

package:
  depends on subPackage2
subPackage1:
  pre: do stuff
  compile D
  post: do stuff
subPackage2:
  depends on subPackage1
  pre: do stuff
  compile D
  post: do stuff

Of course you could chain this as long as you want.


Re: dsq-1: open-source software synthesizer

2015-03-30 Thread Rikki Cattermole via Digitalmars-d-announce

On 30/03/2015 7:14 p.m., ketmar wrote:

On Mon, 30 Mar 2015 18:54:42 +1300, Rikki Cattermole wrote:


On 30/03/2015 6:35 p.m., ketmar wrote:

On Mon, 30 Mar 2015 18:23:11 +1300, Rikki Cattermole wrote:


Although I'm a little concerned because dub is meant to validate and
tell you conflicts in licenses.


O_O


Hey hey hey, context matters!


i'm speechless 'cause it's a great idea (let machine do it work!), but i'm
not sure how this can be done with wide broad of licenses out here.

and i definetely want to see std.license.compare in Phobos! ;-)


I agree, I'm concerned about this as well. But hey, its one of the 
features the dub developers want to have.




Re: dsq-1: open-source software synthesizer

2015-03-29 Thread Rikki Cattermole via Digitalmars-d-announce

On 30/03/2015 6:35 p.m., ketmar wrote:

On Mon, 30 Mar 2015 18:23:11 +1300, Rikki Cattermole wrote:


Although I'm a little concerned because dub is meant to validate and
tell you conflicts in licenses.


O_O


Hey hey hey, context matters!



Re: dsq-1: open-source software synthesizer

2015-03-30 Thread Rikki Cattermole via Digitalmars-d-announce

On 30/03/2015 7:26 p.m., ketmar wrote:

On Mon, 30 Mar 2015 19:17:35 +1300, Rikki Cattermole wrote:


On 30/03/2015 7:14 p.m., ketmar wrote:

On Mon, 30 Mar 2015 18:54:42 +1300, Rikki Cattermole wrote:


On 30/03/2015 6:35 p.m., ketmar wrote:

On Mon, 30 Mar 2015 18:23:11 +1300, Rikki Cattermole wrote:


Although I'm a little concerned because dub is meant to validate and
tell you conflicts in licenses.


O_O


Hey hey hey, context matters!


i'm speechless 'cause it's a great idea (let machine do it work!), but
i'm not sure how this can be done with wide broad of licenses out here.

and i definetely want to see std.license.compare in Phobos! ;-)


I agree, I'm concerned about this as well. But hey, its one of the
features the dub developers want to have.


what i really want to have is libdub. i.e. turning dub to library, so
it can be easily integrated in any D project (rdmd comes to mind first).
i don't want D building abilities, for example, but i really like to use
it's package management part (and get list of files and compiler flags
for that packages).

sure, i can do this by parsing dub jsons and execing dub itself to do
package management work, but libdub is better...

maybe someday i'll wrote such thing. ;-)


Yeah, the vibe.d/dub guys are amazing at getting stuff working. But 
horrible at abstraction's especially with library code.




Re: dsq-1: open-source software synthesizer

2015-03-29 Thread Rikki Cattermole via Digitalmars-d-announce

On 30/03/2015 6:02 a.m., D. Martinez wrote:

I am releasing today a first version of dsq-1: a software synthesizer
modeled after some great 80's hybrid synths, Ensoniq ESQ-1 and SQ-80.
The 'd' in the project's name stands for the author's first name, as
well as, you know. ;)

The source code for the project is currently located on github:
https://github.com/martinez/dsq1

This project is a huge work in progress and is far for complete; the
sound output is not very interesting in the current state and needs a
lot of work.
Most of the architecture is implemented according to reverse-engineered
information, some done by me, but mostly from Rainer Buchty which has
done an extensive amount of work on this machine (cf. his website).

My progress is not going fast on this project, because I am currently
busy with my Ph.D and other work. I share it because it will interest
whoever wants to hack on this machine, because it implements the
proprietary formats used (patch, waverom, etc..), or whoever wants to
help on synthesis. I happily accept contributions.

Working with D has been generally a joy (coming from a C++ background),
but there have been a number of annoyances to me, be it bugs or lack of
features. I have kept a list of observations, into the project's TODO
file. Most importantly:

1. My main grief so far has been the compilers. LDC has failed on me
with a stack trace and no other information. This is reproducible on the
latest commit, when there exists a dependency to the tkd library. Last
time I checked this bug was reported on the issue tracker but not fixed
yet. On the other hand the dmd compiler however has been very stable for
me.

2. The function attributes: @nogc nothrow. These relate to my realtime
audio thread because I want neither of these things to occur; my thread
runs unmanaged by the D runtime and I appreciate the static checking.
But I don't use it: why?
I use writefln a lot to debug my implementations, which is incompatible
with either assumption. I wish it were possible to bypass @nogc nothrow
in debug mode, only to emit a warning. To change dozens of functions to
set @nogc on/off depending on usage context is not practical. I hope D
can provide a better solution, than systematic use of sed scripts. :)

---
About the project itself for the interested:
See TODO.txt for a (non-exhaustive) list of things missing.

It has many subprojects, organized as such:
- synth: it implements the various parts of the softsynth (EG, OSC, LFO,
...)
- jack: softsynth for Linux implemented as a jack client
- synthui: user interface (nothing is done right now). not to be used
directly, the process is instantiated by the softsynth and communicates
via OSC protocol.
- synthlib: components that relate to the internal proprietary
structures: patches and waves. relevant if one is implementing a
librarian for instance
- liblo: binding to a OSC client/server library with C API
- util: various stuff for implementing and testing. math routines,
plotting, fixed point. The fixed-point implementation math.fp is
intended as a drop-in replacement for float and is a template for
various precisions on 32-bit ints (ie. 16/16, 24/8 etc).
- fptest: a playground project for testing fixed-point math
- esqtest: a playground project for independently testing internal
components of the softsynth (wavetable synth, LFOs...)
- banker: what could be a bank management (aka. librarian) application
in the future. it can current open and display banks stored on disk
(sysex/mdx), but no write support. GUI is horrible.
- to appear in the future: vstplug. a vst implementation, which should
not be hard to do, possibly using the dplug library.

I make this project in the hope to port it to embedded ARM, if it ever
gets somewhere. I have some analog CEM VCF chips to use in this project
from one of these dead units. The bad thing is that because the unit's
dead I don't have a good basis for comparison. So I am aiming for good
results, not 100% fidelity with the original. I am not myself very good
in math nor DSP programming, so again I welcome the work of contributors.

The porting to ARM, specifically STM32F4, will be hopefully an
opportunity for me to extend on the work of others on embedded D.
link for reference:
http://wiki.dlang.org/Minimal_semihosted_ARM_Cortex-M_%22Hello_World%22


That's a rather interesting license. Maybe add a TLDR into your readme? 
As I doubt most people here have seen it before.


Re: dsq-1: open-source software synthesizer

2015-04-01 Thread Rikki Cattermole via Digitalmars-d-announce

On 1/04/2015 10:28 p.m., Sönke Ludwig wrote:

Am 30.03.2015 um 08:34 schrieb Rikki Cattermole:


snip


Yeah, the vibe.d/dub guys are amazing at getting stuff working. But
horrible at abstraction's especially with library code.



Okay.


Nobody can be the best at everything. So it was a compliment :)
You've done an excellent job with them.
And by the looks of things, you are now splitting up e.g. vibe.d So 
again its mostly past tense observation on that front.


I'm kinda the opposite. Great at abstractions. Horrible at getting the 
damn thing working.


Re: dsq-1: open-source software synthesizer

2015-04-01 Thread Rikki Cattermole via Digitalmars-d-announce

On 1/04/2015 11:07 p.m., Sönke Ludwig wrote:

Am 01.04.2015 um 11:33 schrieb Rikki Cattermole:

On 1/04/2015 10:28 p.m., Sönke Ludwig wrote:

Am 30.03.2015 um 08:34 schrieb Rikki Cattermole:


snip


Yeah, the vibe.d/dub guys are amazing at getting stuff working. But
horrible at abstraction's especially with library code.



Okay.


Nobody can be the best at everything. So it was a compliment :)
You've done an excellent job with them.
And by the looks of things, you are now splitting up e.g. vibe.d So
again its mostly past tense observation on that front.

I'm kinda the opposite. Great at abstractions. Horrible at getting the
damn thing working.


I personally usually stay away from using overly strong terms like
horrible for online conversations, because it's just far too likely
that someone gets offended (I'm usually a fan of good irony for example,
but almost never use it online).


I agree, I was quite extreme. In reality we're only talking in shades of 
grey with a difference of maybe 5 (0 .. 255).


There is a reason why most people IRL think I'm a jerk. Always take 
stuff like this with a grain of salt. It's only meant to make people 
think about the subject, not as a factoid.



On topic, I don't think that splitting up the library or not does
necessarily have anything to do with abstraction. The library is built
in a modular way, so that splitting it up mainly just becomes an issue
of the build configuration. If you have other examples of where you
think the abstractions are lacking, I'd be interested to know of course.


If I was to start doing it, Vibe.d would be next to useless. No you guys 
are doing a wonderful job. I really can't stress that enough.



I generally value good abstraction as important, but that doesn't always
mean that the most extreme abstraction is the best one. Abstraction
comes at the cost of added complexity (on the library side, but more
importantly on the user side) and sometimes at the cost of performance,
so it's always a trade-off.


There are more types of abstractions than just classes vs interfaces. 
What goes into a module for example is a prime example of an 
abstraction. A purpose.




Re: GSoC 2015 - Application Rejected

2015-03-02 Thread Rikki Cattermole via Digitalmars-d-announce

On 3/03/2015 8:08 a.m., CraigDillabaugh wrote:

Unfortunately our organizational proposal for the 2015 Google Summer of
Code was rejected.  Thanks to everyone who helped out on this,
especially to those who volunteered to mentor.

I've asked Google to provide me with feedback, and I will post that here
once/if I get something from them.

If I am not asked to resign I am happy to volunteer for this post again
next year. Hopefully I can learn something from this year and any
feedback they provide.

Cheers,

Craig


You did a good job. I don't think it was your fault.
But as others have mentioned, maybe we should run our own.


Re: Dgame revived

2015-02-22 Thread Rikki Cattermole via Digitalmars-d-announce

On 23/02/2015 8:01 p.m., Namespace wrote:

On OSX you can load either legacy version of OpenGL so 1.x/2.x or
3.x+. Not both. I found this out for Devisualization.Window. Most
likely dgame by default is loading it in legacy mode.


Derelict GL is loading in legacy mode. You have to call 'reload' after
creating a valid GL Context to update your OpenGL to the highest
possible version. Maybe that doesn't work on Mac?


This does work on OSX. Again Devisualization.Window supports OpenGL 
context creation for both legacy and non legacy. It is just 
dependent upon what you specify as the version to load when creating the 
context that matters.


Re: Dgame revived

2015-02-22 Thread Rikki Cattermole via Digitalmars-d-announce

On 23/02/2015 11:33 a.m., Gan wrote:

On Sunday, 22 February 2015 at 22:32:44 UTC, Gan wrote:

On Sunday, 22 February 2015 at 22:29:53 UTC, Namespace wrote:

On Sunday, 22 February 2015 at 22:24:59 UTC, Gan wrote:

On Sunday, 22 February 2015 at 21:58:13 UTC, John Colvin wrote:

On Sunday, 22 February 2015 at 21:34:03 UTC, Foo wrote:

I think you need to install the ogg libraries. Derelict, which
Dgame uses, only provides bindings to the C/C++ libraries. You
still need to get the those libraries for things to work.

Sorry I cannot help more. On linux it's just a matter of using
the pkg manager (apt, pacman, yum etc.) On MAC I have not idea.


I can confirm Dgame 0.4.1 is now working on Linux (Debian x86_64)
after I did a dub upgrade.

Thanks,
amber


That is nice to hear. It works for me on Windows 8.1. Someone with
a Mac here?


I'll try tomorrow if no-one else has.


I have a Mac. OS Yosemite 10.10. Macbook Pro 2011. Intel HD 3000,
16gb of ram, i5 CPU.

When I run one of your Dgame tutorials I get this error:
Derelict loaded GL version: GL21 (GL21), available GL version: 2.1
INTEL-10.0.22
object.Exception@../.dub/packages/dgame-0.4.1/Window/Window.d(144):
Your OpenGL version (21) is too low. Need at least GL 3.0.


That is strange. Every PC should be be capable to launch at least
OpenGL 3.0. Did you try to update your graphic driver?


You can't really upgrade your graphics driver on a mac.


Stackoverflow says it is possible. One guy's fix was something like:
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);

Cause apparently it supports it.


On OSX you can load either legacy version of OpenGL so 1.x/2.x or 
3.x+. Not both. I found this out for Devisualization.Window. Most likely 
dgame by default is loading it in legacy mode.


Re: Reloaded for dub

2015-02-20 Thread Rikki Cattermole via Digitalmars-d-announce

On 21/02/2015 3:00 a.m., Kingsley wrote:

Hi

Just thought I would share this in case anyone else finds it useful. I
wrote a tiny utility that detects changes to D files and then rebuilds
and re-executes the main binary using dub.

I use for developing with vibe.d and other dub D project that have an
executable binary.

The code is here:   https://github.com/kingsleyh/reloaded

essentially you just run dub in the root and it builds the reloaded
binary. Then you just copy that binary to the root of your dub project
and ./reloaded and then as soon as you make a change to a D file your
code will be built and executed.

--K



*whistles* https://github.com/rikkimax/livereload


Re: Dgame revived

2015-02-25 Thread Rikki Cattermole via Digitalmars-d-announce

On 26/02/2015 3:57 p.m., Gan wrote:

On Thursday, 26 February 2015 at 02:32:51 UTC, stewarth wrote:



I'd also try hacking in Window.d directly to see if even basic gl
commands work, e.g. immediately after window and context creation, try
rendering a triangle then tweak the context initialisation to see if
it affects anything.

It may help you track down exactly which part of the GL setup is
causing problems.

Cheers,
Stew


I know almost nothing about OpenGL but using your method(sorta):
void reportGLErrors() {
 GLenum errCode;
 const GLubyte *errString;
 if ((errCode = glGetError()) != GL_NO_ERROR)
 {
 writeln(OPEN GL ERROR: , errCode);
 }
}

I get error code 1282 repeatedly.

 From a google search someone says:
First, glGetError() will return 1282 - invalid operation if the GL
context is not current (or not yet created). So, create your context
first, then call glGetError. And, verify that any parent class or member
class does not call GL functions in their constructors or prior to
context being created.

Can someone with more OpenGL knowledge clarify what this means?


1. Program starts
2. Window gets created
3. Context gets created
4. Context is activated
5. Profit???

Basically before the context is created and activated you cannot call 
any OpenGL functions. If you do, they will error out.


The bit about constructors ext. don't worry about it. Its just about 
e.g. where the calls to OpenGL can exist.


Re: dsq-1: open-source software synthesizer

2015-04-01 Thread Rikki Cattermole via Digitalmars-d-announce

On 2/04/2015 8:42 a.m., Joseph Rushton Wakeling wrote:

On Monday, 30 March 2015 at 05:23:18 UTC, Rikki Cattermole wrote:

This is a primarily a french license. It took me a good while to
understand that it was compatible with e.g. MIT.


Compatible in what way? Isn't CeCILL a copyleft license? (It's not 100%
obvious to me whether strong or weak copyleft is implied, because their
definition of an 'External Module' is unclear: I'm not sure if something
is rendered non-external by linking, or merely by static linking, or
something else again.)


As far as I remember, it should just be ok. The only real issue is with 
lgpl ext.


But again, you can see why I want this clarified.


Re: dsource.org moved

2015-04-24 Thread Rikki Cattermole via Digitalmars-d-announce

On 25/04/2015 3:33 p.m., Jonathan M Davis wrote:

On Friday, 24 April 2015 at 21:48:30 UTC, Stewart Gordon wrote:

On 22/04/2015 08:20, Jacob Carlborg wrote:
snip

If you're forking a project on Github you get your own copy of the
project. The projects
are linked but the repositories are not. What I mean by that is on
your fork you'll see
that it is a fork with a link back to the original project. From the
original project you
can also view all forks.

The repositories are not linked in the sense that there's no
automatic syncing of code
between them. The fork needs to manually pull from the original
repository to get the
latest changes.


I guess the word link has too many meanings. :p

So a fork is really a working copy of the master repository, and the
code that the user will typically edit is in turn a working copy of
this.  And commit and push in Git terms basically mean to commit
to the local fork and to commit the fork to the master repo respectively.

So if pull means to update one's fork, what is a pull request
requesting exactly?


With git, technically, no repo is more important than another, since
it's a distributed source control system rather than a centralized one.
Everyone gets their own, independent repo, with its own commit history.
Pushing and pulling and whatnot don't care about which repo is the
primary repo or anything like that. It's just taking a set of commits
from one repo and putting them in the other repo.

Committing is _always_ to your local repo. You never commit to another
repo.

Pushing is when you control both repo A and repo B, and from the
machine with repo A on it, you push a set of commits into repo B. It
therefore requires that you have the permissions to manipulate repo A
directly on the machine that it's on (since you're doing the operation
on that machine) and that you have write permissions for repo B (since
you're commanding repo B to take your commits from repo A).

Pulling is when you do the commands from the machine with repo A on it
and take the code from repo B and put it in repo A. You only need read
permissions for repo B in that case (so it could be a public repo that
you have no control over whatsoever).

The typical workflow with github is that you create a branch on your
local machine and make commits with whatever changes you're making. You
then push that branch into your github repo for that project. So, you've
created a branch there which then matches your local branch (and if you
need to make further commits, those would have to be pushed separately).
Then you create a pull request from your github repo for the target repo
(typically the primary repo for the project, but it could be the repo of
someone else you're working with). Typically, it's targeting the master
branch of the target repo, but it could be for any branch in that repo.
Whoever controls the target repo is notified of your pull request. They
can then look over the code, suggest changes, etc. Once they're
satisfied with it, they can hit the merge button on github. That tells
github to pull the code from the branch in your github repo into the
target repo. After that, anyone who pulls from the target repo will get
your changes. And normally, you'd delete the branch that you used for
that pull request and create a new one for whatever your next set of
changes are.

So, normally, you only push to your own github repo, and everything else
is done via pulling.

Now, you _can_ just push to the primary repo rather than your own github
repo if you have the permissions for it, but then the code doesn't get
reviewed, and only folks who have push permissions for that repo can do
that (which most folks won't have). Operating that way is basically
operating how svn operates, which pretty much everyone using git will
tell you not to do.

Hopefully, that explanation helps, but you really should read some of
the guides out there for this, since they'll have pretty pictures (which
can help considerably) and probably explain it better than I do. e.g.

https://guides.github.com/introduction/flow/index.html
http://nvie.com/posts/a-successful-git-branching-model/
https://blogs.atlassian.com/2014/01/simple-git-workflow-simple/
https://sandofsky.com/blog/git-workflow.html

- Jonathan M Davis


Also if you are on Windows or OSX, use SourceTree[0]. I cannot recommend 
this enough.
It'll install git, wrap it up nicely for you and even show pretty 
imagery regarding the current state of the repo!


[0] http://www.sourcetreeapp.com/


Re: dsource.org moved

2015-04-27 Thread Rikki Cattermole via Digitalmars-d-announce

On 28/04/2015 12:56 a.m., Kagamin wrote:

On Saturday, 25 April 2015 at 03:36:24 UTC, Rikki Cattermole wrote:

[0] http://www.sourcetreeapp.com/


Git got a proper visualization of commit tree? :)


Better then anything else out there!


Re: This Week in D #15: hackathon, mem management, ARM, tip for C coders

2015-05-04 Thread Rikki Cattermole via Digitalmars-d-announce

On 5/05/2015 7:01 a.m., Adam D. Ruppe wrote:

On Monday, 4 May 2015 at 03:50:57 UTC, Rikki Cattermole wrote:

A pet peeve from the community section might be a great idea!


If you ever want to rant, type it up and email it to me, I'll work it in!

BTW I also have a window open on my browser somewhere to chat with you
about audio stuff. Been pretty busy lately but want you to know that I
haven't forgotten!


Awesome sweet!


Re: The hackathon week roundup

2015-05-02 Thread Rikki Cattermole via Digitalmars-d-announce

On 3/05/2015 1:27 p.m., Walter Bright wrote:

On 5/2/2015 5:12 PM, Andrei Alexandrescu wrote:

On 5/2/15 4:50 PM, Ilya Yaroshenko wrote:

* Tutorial: http://d.readthedocs.org (btw should we link that from the
homepage?)


May I transfer the repositories (both GitHub and RTD) to the
D-Programming-Language community?


That'd be a fine idea. Thoughts from Walter, Martin et al? -- Andrei


I think it's a great idea. It'd have to be Boost licensed, though.


Shouldn't it be creative commons because it is more a creative work aka 
documentation?


Re: dsource.org moved

2015-04-15 Thread Rikki Cattermole via Digitalmars-d-announce

On 16/04/2015 11:25 a.m., Stewart Gordon wrote:

On 08/04/2015 03:21, Rikki Cattermole wrote:

On 8/04/2015 9:44 a.m., Stewart Gordon wrote:
snip

Yes, a set of bindings to eventually put into Phobos/druntime was the
aim of the WindowsAPI project from the beginning.  But unfortunately,
progress has been slow.


Instead of moving to Github, this should be done instead. Thanks to
package.d files it
shouldn't be too hard to up and replace into core.sys.windows.windows.


How would we go about committing updates to it when this is done?

Stewart.


Let's say there is a new function in gdi.h added.

You would look for the file:
core/sys/windows/windows/gdi.d

And add the function declaration.
Or if it is a whole new file:
Add: core/sys/windows/windows/newFile.d

Add line: public import core.sys.windows.windows.newFile;
To: core/sys/windows/windows/package.d

Basically the same process as now, except spread out across more files.


Re: Sciter, D language SDK port

2015-04-18 Thread Rikki Cattermole via Digitalmars-d-announce

On 18/04/2015 10:28 p.m., lafoldes wrote:

Just found this:

http://www.terrainformatica.com/2015/04/sciter-d-language-sdk-port/


s/port/bindings/

But anyway, it looks cool. Although a little tied to WinAPI.


Re: EMSI is hiring a D developer

2015-04-14 Thread Rikki Cattermole via Digitalmars-d-announce

On 15/04/2015 4:17 a.m., Justin Whear wrote:

EMSI is hiring for an Engineer II to work on D codebases: https://
emsi.bamboohr.com/jobs/view.php?id=30


Hum, I think I'll try and see if they don't mind remote workers ;)



Re: dsource.org moved

2015-04-07 Thread Rikki Cattermole via Digitalmars-d-announce

On 8/04/2015 9:44 a.m., Stewart Gordon wrote:
snip

Yes, a set of bindings to eventually put into Phobos/druntime was the
aim of the WindowsAPI project from the beginning.  But unfortunately,
progress has been slow.


Instead of moving to Github, this should be done instead. Thanks to 
package.d files it shouldn't be too hard to up and replace into 
core.sys.windows.windows.




Re: OpenVG bindings

2015-04-03 Thread Rikki Cattermole via Digitalmars-d-announce

On 4/04/2015 11:53 a.m., ddos wrote:

Hi folks,

today i've created my first dlang library ^_^ a binding to the OpenVG
library standard. The referenced implementation is ShivaVG which allows
to draw vector graphics within an OpenGL context (similar to cairo).
A small demo application is included, using derelict gl3 and glfw3

https://github.com/oggs91/OpenVG_D
http://code.dlang.org/packages/dopenvg


Could you please add an example using Devisualization.Window?
That way its one less external to D library that is a dependency.

https://github.com/Devisualization/window


Re: Coedit version 1 rc1 released

2015-06-05 Thread Rikki Cattermole via Digitalmars-d-announce

On 5/06/2015 10:34 p.m., extrawurst wrote:

On Friday, 5 June 2015 at 10:24:10 UTC, Rikki Cattermole wrote:

On 5/06/2015 7:43 p.m., Basile Burg wrote:

Coedit, the small IDE for the DMD D compiler is about to become 'gold'.
There 's not much to say since it's been promoted here already 3 or 4
times.

https://github.com/BBasile/Coedit/releases/tag/1_rc1

beta 2  3 had not been announced officialy, so don't forget to read the
previous change logs. This version is distributed, as previously, in a
simple archive but also with an installer. I encourage you to test it
and to report any problem.

version 1 'gold' should be released the 10 of June, exactly 1 year after
the first commit.


Ideas:
- Put background shading/box around highlighted {}. To make open/close
be more prominent.
- For pointers, have the type highlighted one level darker then the *.
So e.g. type** would be [[[type]*]*] where [] indicate shading level
when the last * is highlighted over.
* Make source file close have a button. Its not obvious enough to use
the keyboard shortcut. I accidentally closed the widget thinking I was
going bye bye to the file.

Bugs:
* Message widget was very temperamental to the point of erroring out
when resizing (as it took up the entire middle area).
* When e.g. source code widget is external to main window it will open
in the most minimalistic form if the main window gets minimized and
reopened.
* __gshared, @nogc, @property not highlighted.

Atleast for me, without dub support I can't use it. Although if
debugging support existed on Windows that would be a massive plus.


https://github.com/BBasile/Coedit/issues/10


I was just reiterating that point.



Oh and if compiler cannot be found, make it a LOT easier to configure
it. As in I have compiler e.g. dmd here. Now use it.

One thing, perhaps for atleast Windows, support e.g. ldc out of the
box. As a seperate no install package.






Re: Coedit version 1 rc1 released

2015-06-05 Thread Rikki Cattermole via Digitalmars-d-announce

On 5/06/2015 7:43 p.m., Basile Burg wrote:

Coedit, the small IDE for the DMD D compiler is about to become 'gold'.
There 's not much to say since it's been promoted here already 3 or 4
times.

https://github.com/BBasile/Coedit/releases/tag/1_rc1

beta 2  3 had not been announced officialy, so don't forget to read the
previous change logs. This version is distributed, as previously, in a
simple archive but also with an installer. I encourage you to test it
and to report any problem.

version 1 'gold' should be released the 10 of June, exactly 1 year after
the first commit.


Ideas:
- Put background shading/box around highlighted {}. To make open/close 
be more prominent.
- For pointers, have the type highlighted one level darker then the *. 
So e.g. type** would be [[[type]*]*] where [] indicate shading level 
when the last * is highlighted over.
* Make source file close have a button. Its not obvious enough to use 
the keyboard shortcut. I accidentally closed the widget thinking I was 
going bye bye to the file.


Bugs:
* Message widget was very temperamental to the point of erroring out 
when resizing (as it took up the entire middle area).
* When e.g. source code widget is external to main window it will open 
in the most minimalistic form if the main window gets minimized and 
reopened.

* __gshared, @nogc, @property not highlighted.

Atleast for me, without dub support I can't use it. Although if 
debugging support existed on Windows that would be a massive plus.


Oh and if compiler cannot be found, make it a LOT easier to configure 
it. As in I have compiler e.g. dmd here. Now use it.


One thing, perhaps for atleast Windows, support e.g. ldc out of the box. 
As a seperate no install package.


  1   2   3   4   5   >