Re: SQLite-D alpha is here

2016-05-24 Thread Stefan Koch via Digitalmars-d-announce

On Saturday, 27 February 2016 at 16:08:21 UTC, Stefan Koch wrote:

Hello,

I am happy to announce the official alpha version of sqlite-d!

sqlite-d is a reader for the SQLite File Format 3.

In the future I will implement a SQL-like API on top of it.

Top-notch performance is one of the explicit goals of this 
project!


please note that currently only the ctfe branch is populated.

I welcome contributions!

Repo-URL : https://github.com/UplinkCoder/sqlite-d


Well not much has changed since I made this announcement.
By fixing a really jarring bug I had a slight performance 
regression.

But this is still the fastest SQLite reader I know of.

This project is currently on the back burner.
However in the next days there will be another significant 
performance improvement :)


Re: Dynamic Bindings to libui (x-platform GUI)

2016-05-24 Thread Mike Parker via Digitalmars-d-announce

On Tuesday, 24 May 2016 at 20:52:54 UTC, extrawurst wrote:

Hey folks,




So here are the inofficial Derelict Bindings to it: 
https://github.com/Extrawurst/DerelictLibui


I tested them on both windows and mac osx so far. Any linux 
user is welcome to test it on there aswell.


Let me know if you find any issues.

-Stephan


Cool. I've got this project on my github watchlist and have had a 
Derelict binding on my TODO list. I was waiting for it to get out 
of alpha status. I don't particularly like maintaining bindings 
to libraries I can' t be sure are going to keep a stable API. 
Doesn't look like it's been changing too much though.





Re: Dynamic Bindings to libui (x-platform GUI)

2016-05-24 Thread Basile B. via Digitalmars-d-announce

On Wednesday, 25 May 2016 at 00:56:00 UTC, Zekereth wrote:
I had to comment out instances of uiControlVerifyDestroy on 
Linux. Seems libui was updated and removed/moved that function:


Removed uiControlVerifyDestroy(); that is now part of 
uiFreeControl() itself.


There's no problem when you build libui from the git submodule. 
Actually I think it's safer to do this because the C shared lib 
and the bindings are in sync.


Re: Dynamic Bindings to libui (x-platform GUI)

2016-05-24 Thread Zekereth via Digitalmars-d-announce

On Tuesday, 24 May 2016 at 20:52:54 UTC, extrawurst wrote:

Hey folks,

libui is a crossplatform GUI lib written in C. This makes it a 
perfect candidate to be used in D!


What they say about libui on their site:
"Simple and portable (but not inflexible) GUI library in C that 
uses the native GUI technologies of each platform it supports."


find libui on github:
https://github.com/andlabs/libui

So here are the inofficial Derelict Bindings to it: 
https://github.com/Extrawurst/DerelictLibui


I tested them on both windows and mac osx so far. Any linux 
user is welcome to test it on there aswell.


Let me know if you find any issues.

-Stephan


I had to comment out instances of uiControlVerifyDestroy on 
Linux. Seems libui was updated and removed/moved that function:


Removed uiControlVerifyDestroy(); that is now part of 
uiFreeControl() itself.


Other than that it seems to work great on Linux. Thanks for this!


Re: The D language online tour - tour.dlang.org

2016-05-24 Thread Seb via Digitalmars-d-announce

On Tuesday, 24 May 2016 at 23:11:07 UTC, Shammah Chancellor wrote:

On Tuesday, 17 May 2016 at 09:02:04 UTC, André wrote:

On Monday, 16 May 2016 at 20:39:26 UTC, Jack Stouffer wrote:
On Monday, 16 May 2016 at 18:02:29 UTC, Andrei Alexandrescu 
wrote:
This is great work, thanks! Please announce in social media 
as well! -- Andrei


Reddit: 
https://www.reddit.com/r/programming/comments/4jn6ks/the_online_d_language_tour/


Thanks!


Hey, great site! Really glad this was done.  The interface is a 
tiny bit confusing.  At the end of the welcome it's not clear 
you need to goto the "Basics" tab to continue on.  All the 
strings should probably just be tied together.


-S.


Could you point out why it is confusing to you.
Currently the text says:

"Either use the navigation panel at the bottom or press the right 
arrow key."


What could we add to avoid the confusion?


Re: Sociomantic's short DConf2016 video

2016-05-24 Thread Walter Bright via Digitalmars-d-announce

On 5/24/2016 4:04 PM, Jonathan M Davis via Digitalmars-d-announce wrote:

Well, I guess that that answers the question of what they were going to do
with the interviews they were doing. :)


You should be pleased with your spot, well done!



Re: Release DUB 0.9.25, new logo and updated website design

2016-05-24 Thread Adrian Matoga via Digitalmars-d-announce

On Tuesday, 24 May 2016 at 22:59:24 UTC, Adrian Matoga wrote:

(...)
1. The font is much thinner than on dlang.org main site


PR: https://github.com/dlang/dub-registry/pull/156

3. Clicking the top-left dub logo directs to 
"http://code.dlang.org/packages/; which is 404.


PR: https://github.com/dlang/dub-registry/pull/157



Re: The D language online tour - tour.dlang.org

2016-05-24 Thread Shammah Chancellor via Digitalmars-d-announce

On Tuesday, 17 May 2016 at 09:02:04 UTC, André wrote:

On Monday, 16 May 2016 at 20:39:26 UTC, Jack Stouffer wrote:
On Monday, 16 May 2016 at 18:02:29 UTC, Andrei Alexandrescu 
wrote:
This is great work, thanks! Please announce in social media 
as well! -- Andrei


Reddit: 
https://www.reddit.com/r/programming/comments/4jn6ks/the_online_d_language_tour/


Thanks!


Hey, great site! Really glad this was done.  The interface is a 
tiny bit confusing.  At the end of the welcome it's not clear you 
need to goto the "Basics" tab to continue on.  All the strings 
should probably just be tied together.


-S.


Re: Sociomantic's short DConf2016 video

2016-05-24 Thread Jonathan M Davis via Digitalmars-d-announce
On Tuesday, May 24, 2016 11:06:45 Leandro Lucarella via Digitalmars-d-announce 
wrote:
> For the ones that missed it (and the ones that didn't too), here
> is a short video about the conference.
>
> https://vimeo.com/167235872

Well, I guess that that answers the question of what they were going to do
with the interviews they were doing. :)

- Jonathan M Davis



Re: Release DUB 0.9.25, new logo and updated website design

2016-05-24 Thread Adrian Matoga via Digitalmars-d-announce

On Sunday, 22 May 2016 at 19:36:39 UTC, Sönke Ludwig wrote:

(...)


The new site is cool, except a few annoyances:

1. The font is much thinner than on dlang.org main site 
(font-weight set to 300 for no good reason), and thus much harder 
to read. Using #333 for text color instead of pure black makes it 
even harder. Come on, perhaps most of us already have some sort 
of vision defects, please do not make it worse.


2. Project READMEs now render with different font which looks 
weird. (OTOH, the README alone looks nicer and easier on eyes, 
because plain Helvetica or Arial are just better suited for 
on-screen reading than clumsy serif fonts like roboto slab).


3. Clicking the top-left dub logo directs to 
"http://code.dlang.org/packages/; which is 404.


4. List of available versions for a package is broken: the most 
recent version is repeated multiple times and is not a hyperlink.


Also, some parts of READMEs are not rendered the way they are on 
github, like: nested lists, [ ]/[x] progress ticks, syntax 
highlighting in code snippets.


Re: Dynamic Bindings to libui (x-platform GUI)

2016-05-24 Thread Basile B. via Digitalmars-d-announce

On Tuesday, 24 May 2016 at 20:52:54 UTC, extrawurst wrote:

Hey folks,

libui is a crossplatform GUI lib written in C. This makes it a 
perfect candidate to be used in D!


What they say about libui on their site:
"Simple and portable (but not inflexible) GUI library in C that 
uses the native GUI technologies of each platform it supports."


find libui on github:
https://github.com/andlabs/libui

So here are the inofficial Derelict Bindings to it: 
https://github.com/Extrawurst/DerelictLibui


Thx !



I tested them on both windows and mac osx so far. Any linux 
user is welcome to test it on there aswell.


Look at the pull requests ;)



Let me know if you find any issues.

-Stephan





Re: Sociomantic's short DConf2016 video

2016-05-24 Thread Bauss via Digitalmars-d-announce

On Tuesday, 24 May 2016 at 11:06:45 UTC, Leandro Lucarella wrote:
For the ones that missed it (and the ones that didn't too), 
here is a short video about the conference.


https://vimeo.com/167235872


Looks amazing. I hope, I can get to join the next one! :)


Re: Sociomantic's short DConf2016 video

2016-05-24 Thread Nick B via Digitalmars-d-announce

On Tuesday, 24 May 2016 at 12:36:44 UTC, Bastiaan Veelo wrote:
On Tuesday, 24 May 2016 at 11:06:45 UTC, Leandro Lucarella 
wrote:
For the ones that missed it (and the ones that didn't too), 
here is a short video about the conference.


https://vimeo.com/167235872


Well done.


agreed. A well done video.


Re: Sociomantic's short DConf2016 video

2016-05-24 Thread Andy Smith via Digitalmars-d-announce

On Tuesday, 24 May 2016 at 11:06:45 UTC, Leandro Lucarella wrote:
For the ones that missed it (and the ones that didn't too), 
here is a short video about the conference.


https://vimeo.com/167235872


Impressive . Most Impressive.

Darth Vader references aside I have to say I'm massively 
impressed with the job Sociomantic have done with DConf.


Cheers,

A.



Dynamic Bindings to libui (x-platform GUI)

2016-05-24 Thread extrawurst via Digitalmars-d-announce

Hey folks,

libui is a crossplatform GUI lib written in C. This makes it a 
perfect candidate to be used in D!


What they say about libui on their site:
"Simple and portable (but not inflexible) GUI library in C that 
uses the native GUI technologies of each platform it supports."


find libui on github:
https://github.com/andlabs/libui

So here are the inofficial Derelict Bindings to it: 
https://github.com/Extrawurst/DerelictLibui


I tested them on both windows and mac osx so far. Any linux user 
is welcome to test it on there aswell.


Let me know if you find any issues.

-Stephan


Re: Sociomantic's short DConf2016 video

2016-05-24 Thread Walter Bright via Digitalmars-d-announce

On 5/24/2016 4:06 AM, Leandro Lucarella wrote:

For the ones that missed it (and the ones that didn't too), here is a short
video about the conference.

https://vimeo.com/167235872


Sociomantic really did a great job with the conference and the video.


Re: foo => "bar" key/value literals in D!

2016-05-24 Thread Andrei Alexandrescu via Digitalmars-d-announce

On 5/23/16 3:00 PM, Adam D. Ruppe wrote:

Have I gone completely mad?!?!


This is very creative, thanks. Definitely make it part of TWID :o). 
Apparently it can be made to work with non-templates as well, see 
https://dpaste.dzfl.pl/c4b7a8b6978b. Regarding applying a hack/ingenious 
label, I'd cautiously say "looks interesting" and wait for a bit of 
experience to accumulate. -- Andrei




Re: Diamond - MVC / Template engine

2016-05-24 Thread Bauss via Digitalmars-d-announce

On Tuesday, 24 May 2016 at 15:03:28 UTC, Bauss wrote:

On Tuesday, 24 May 2016 at 15:00:34 UTC, Bauss wrote:

On Tuesday, 24 May 2016 at 14:57:03 UTC, Bauss wrote:

On Tuesday, 24 May 2016 at 14:54:27 UTC, Bauss wrote:

On Tuesday, 24 May 2016 at 13:09:28 UTC, Kagamin wrote:

The values are injected unescaped by default?


Yes. To escape there is the escape function.

Take a look at the comparison for the result.

I'm going to figure out a syntax for escaping though, so 
there'll be one for both.


Not sure what symbols to use though. @$=value_to_escape; is 
probably going to be the result.


Note: If you have a better suggestion, feel free to come with 
one :)


No wait I forgot it already is possible.

Using @(value_to_escape)


I am such a mess today and also wish there was an edit button 
for forum posts.


@(value_to_escape) will only escape text and not variables, so 
a syntax for an expression/variable is still up. I will go with 
the @$= syntax for now


A commit has now been done with escaping for variables / 
expressions.


Can be seen here:
https://github.com/bausshf/Diamond/commit/e082d63d2a351a9e57cfc7f8bee8182711919759

It'll come in version 0.2.4


Re: Release DUB 0.9.25, new logo and updated website design

2016-05-24 Thread Chris via Digitalmars-d-announce

On Monday, 23 May 2016 at 09:30:25 UTC, Chris wrote:

On Monday, 23 May 2016 at 09:23:45 UTC, Sönke Ludwig wrote:

Am 23.05.2016 um 11:22 schrieb Chris:
The flavicon is still the old one and appears in search 
engine results.


For some reason, favicons are cached aggressively. It has been 
updated, but it's hard to get the browsers pick it up.


I thought it might be a caching issue. I don't know about the 
search engines though. Can you inform them of the update? I 
opened the page in a different browser and it shows the new 
favicon, but in the search results it's still the old icon.


My search engine now shows the new favicon.


Re: Diamond - MVC / Template engine

2016-05-24 Thread Bauss via Digitalmars-d-announce

On Tuesday, 24 May 2016 at 15:00:34 UTC, Bauss wrote:

On Tuesday, 24 May 2016 at 14:57:03 UTC, Bauss wrote:

On Tuesday, 24 May 2016 at 14:54:27 UTC, Bauss wrote:

On Tuesday, 24 May 2016 at 13:09:28 UTC, Kagamin wrote:

The values are injected unescaped by default?


Yes. To escape there is the escape function.

Take a look at the comparison for the result.

I'm going to figure out a syntax for escaping though, so 
there'll be one for both.


Not sure what symbols to use though. @$=value_to_escape; is 
probably going to be the result.


Note: If you have a better suggestion, feel free to come with 
one :)


No wait I forgot it already is possible.

Using @(value_to_escape)


I am such a mess today and also wish there was an edit button for 
forum posts.


@(value_to_escape) will only escape text and not variables, so a 
syntax for an expression/variable is still up. I will go with the 
@$= syntax for now


Re: Diamond - MVC / Template engine

2016-05-24 Thread Bauss via Digitalmars-d-announce

On Tuesday, 24 May 2016 at 14:57:03 UTC, Bauss wrote:

On Tuesday, 24 May 2016 at 14:54:27 UTC, Bauss wrote:

On Tuesday, 24 May 2016 at 13:09:28 UTC, Kagamin wrote:

The values are injected unescaped by default?


Yes. To escape there is the escape function.

Take a look at the comparison for the result.

I'm going to figure out a syntax for escaping though, so 
there'll be one for both.


Not sure what symbols to use though. @$=value_to_escape; is 
probably going to be the result.


Note: If you have a better suggestion, feel free to come with 
one :)


No wait I forgot it already is possible.

Using @(value_to_escape)


Re: Diamond - MVC / Template engine

2016-05-24 Thread Bauss via Digitalmars-d-announce

On Tuesday, 24 May 2016 at 14:54:27 UTC, Bauss wrote:

On Tuesday, 24 May 2016 at 13:09:28 UTC, Kagamin wrote:

The values are injected unescaped by default?


Yes. To escape there is the escape function.

Take a look at the comparison for the result.

I'm going to figure out a syntax for escaping though, so 
there'll be one for both.


Not sure what symbols to use though. @$=value_to_escape; is 
probably going to be the result.


Note: If you have a better suggestion, feel free to come with one 
:)


Re: Release DUB 0.9.25, new logo and updated website design

2016-05-24 Thread Jacob Carlborg via Digitalmars-d-announce

On 2016-05-24 08:42, Sönke Ludwig wrote:


Since fetching dependencies usually saturates the network connection,
that wouldn't save much time (or do you just mean fetching the package
recipes in parallel?).


No, I mean fetching the full package in parallel.


But because it also requires full dependency
resolution, it would have a considerable impact on server load.


Does it really take that much resources?


And of course that would make it impossible to use a simple file server as a
package registry.


How important is that? The client could first try the API call to give 
the full set of dependencies, if that fail, fallback to the current 
approach.


--
/Jacob Carlborg


Re: Diamond - MVC / Template engine

2016-05-24 Thread Kagamin via Digitalmars-d-announce

The values are injected unescaped by default?


Boston meetup group created

2016-05-24 Thread Steven Schveighoffer via Digitalmars-d-announce
Anyone looking to join, please go here: 
http://www.meetup.com/Boston-area-D-Programming-Language-Meetup/


I haven't made a first meeting yet, I want to get feedback first on 
where/when it should be. If you feel more comfortable emailing me 
directly, please do: schvei...@yahoo.com.


-Steve


Re: Sociomantic's short DConf2016 video

2016-05-24 Thread Bastiaan Veelo via Digitalmars-d-announce

On Tuesday, 24 May 2016 at 11:06:45 UTC, Leandro Lucarella wrote:
For the ones that missed it (and the ones that didn't too), 
here is a short video about the conference.


https://vimeo.com/167235872


Well done.


Sociomantic's short DConf2016 video

2016-05-24 Thread Leandro Lucarella via Digitalmars-d-announce
For the ones that missed it (and the ones that didn't too), here 
is a short video about the conference.


https://vimeo.com/167235872


Re: matrix library

2016-05-24 Thread Seb via Digitalmars-d-announce

On Tuesday, 24 May 2016 at 07:53:15 UTC, Vlad Levenfeld wrote:
On Tuesday, 24 May 2016 at 05:52:03 UTC, Edwin van Leeuwen 
wrote:
You might be interested in joining the gitter channel where 
the mir developers hang out:

https://gitter.im/libmir/public


Thanks!


Yes you are very welcome @gitter / mir!

Btw as said Ilya is working on full BLAS support.
There are a couple of issue floating around in the libmir issue 
tracker,

but probably the best one to track is this:

https://github.com/libmir/mir/issues/48


Re: Better Voldemort types

2016-05-24 Thread wobbles via Digitalmars-d-announce
On Tuesday, 24 May 2016 at 01:29:53 UTC, Steven Schveighoffer 
wrote:
Blog post on making Voldemort types without the disk-space 
issues: 
http://www.schveiguy.com/blog/2016/05/have-your-voldemort-types-and-keep-your-disk-space-too/


-Steve


Very useful - thanks!


Re: Better Voldemort types

2016-05-24 Thread qznc via Digitalmars-d-announce
On Tuesday, 24 May 2016 at 01:29:53 UTC, Steven Schveighoffer 
wrote:
Blog post on making Voldemort types without the disk-space 
issues: 
http://www.schveiguy.com/blog/2016/05/have-your-voldemort-types-and-keep-your-disk-space-too/


Good illustration and reasonable solution.

"I will be splitting my functions Horcrux style". :)


Re: matrix library

2016-05-24 Thread Vlad Levenfeld via Digitalmars-d-announce

On Tuesday, 24 May 2016 at 05:52:03 UTC, Edwin van Leeuwen wrote:
You might be interested in joining the gitter channel where the 
mir developers hang out:

https://gitter.im/libmir/public


Thanks!


Re: mago-mi: GDB/MI compatible frontend for Mago debugger

2016-05-24 Thread Vadim Lopatin via Digitalmars-d-announce

On Tuesday, 24 May 2016 at 06:56:26 UTC, Rainer Schuetze wrote:



On 24.05.2016 08:47, Vadim Lopatin wrote:

On Tuesday, 24 May 2016 at 06:34:04 UTC, Rainer Schuetze wrote:


If you want to stay in sync, please consider a PR with your 
changes to

mago.


Actually, I would prefer to use static versions of all Mago 
libraries.
I really like that statically linked mago-mi.exe is only 1.5Mb 
in

Release build.
If it become possible to link MagoNatDE/MagoNatEE statically, 
I would

merge my changes to upstream.



MagoNatEE has been a static lib so far, but it could be 
eliminated long term, as it just a very thin layer to convert 
std::wstring to BSTR for some function arguments.


MagoNatDE now has configurations "Debug/Release StaticDE" which 
are also solution configurations. Anything else falls back to 
Debug/Release, but can link the static library within these 
solution configurations. See the MagoNatCC project.


Merged upstream.
Sent pull request.



Re: mago-mi: GDB/MI compatible frontend for Mago debugger

2016-05-24 Thread Rainer Schuetze via Digitalmars-d-announce



On 24.05.2016 08:47, Vadim Lopatin wrote:

On Tuesday, 24 May 2016 at 06:34:04 UTC, Rainer Schuetze wrote:


If you want to stay in sync, please consider a PR with your changes to
mago.


Actually, I would prefer to use static versions of all Mago libraries.
I really like that statically linked mago-mi.exe is only 1.5Mb in
Release build.
If it become possible to link MagoNatDE/MagoNatEE statically, I would
merge my changes to upstream.



MagoNatEE has been a static lib so far, but it could be eliminated long 
term, as it just a very thin layer to convert std::wstring to BSTR for 
some function arguments.


MagoNatDE now has configurations "Debug/Release StaticDE" which are also 
solution configurations. Anything else falls back to Debug/Release, but 
can link the static library within these solution configurations. See 
the MagoNatCC project.


Re: foo => "bar" key/value literals in D!

2016-05-24 Thread Jacob Carlborg via Digitalmars-d-announce

On 2016-05-23 21:00, Adam D. Ruppe wrote:

Have I gone completely mad?!?!

---
void main() {
 import std.stdio;
 writeln(obj!(
 foo => "bar",
 baz => 12
 ));
}
---

Prints out:

{
 foo: bar
 baz: 12
}



A few tweaks would make a whole loose typed hash thing more akin to Ruby
or PHP than D. What's obj? Behold:


string obj(T...)() {
 import std.conv, std.traits;
 string jsonResult = "{";
 foreach(arg; T) {
 jsonResult ~= "\n\t";

 // I don't know why the usual is(__parameters) trick
 // won't work here, but a stringof hack will!
 string hack = typeof(arg!string).stringof;
 import std.string;
 hack = hack[hack.indexOf("function(string ") +
"function(string ".length .. $];
 hack = hack[0 .. hack.indexOf(")")];

 jsonResult ~= hack;
 jsonResult ~= ": ";
 jsonResult ~= to!string(arg(""));

 }
 jsonResult ~= "\n}";
 return jsonResult;
}


That's pretty cool and pretty ugly :).


As you probably know, D has a couple lambda literal syntaxes. One of
these is the fat arrow, with a valid form of argument => return_expression.

The compiler makes templates out of these when you pass them around
and those templates contain the parameters, including the name, and are
callable code (if instantiated with a concrete type).

I was disappointed to see the ordinary reflection tools didn't work here
- I know, I'm abusing the language - but the trusty old .stringof hack
did! Combined with the magic knowledge that these things are templates,
I instantiated them (tbh I was a bit surprised it actually let me!) and
extracted the name of the argument.


__parameters doesn't work because an "untyped" lambda is a template and 
__parameters works with functions, but I guess you already know that. 
Instantiating the lambda and then using __parameters should work.


There's a PR for DMD which adds support for inspecting template 
parameters [1] that would help. Unfortunately it's closed.


Here's a version building an associative array mapping strings to variants:

import std.stdio : println = writeln;
import std.variant;

Variant[string] hash(T...)() {
import std.conv, std.traits;
Variant[string] aa;
foreach(arg; T) {
// I don't know why the usual is(__parameters) trick
// won't work here, but a stringof hack will!
string hack = typeof(arg!string).stringof;
import std.string;
hack = hack[hack.indexOf("function(string ") + "function(string 
".length .. $];

hack = hack[0 .. hack.indexOf(")")];

aa[hack] = Variant(arg(""));

}
return aa;
}

void main() {
auto h = hash!(
foo => 3,
bar => "asd"
);
writeln(h);
}

[1] https://github.com/dlang/dmd/pull/5201

--
/Jacob Carlborg


Re: mago-mi: GDB/MI compatible frontend for Mago debugger

2016-05-24 Thread Vadim Lopatin via Digitalmars-d-announce

On Tuesday, 24 May 2016 at 06:34:04 UTC, Rainer Schuetze wrote:



On 17.05.2016 10:06, Vadim Lopatin wrote:

Hello,

I'm working on GDB/MI compatible interface for Mago debugger 
on Windows.



Impressive work!

I'm currently working on improving integration in VS. For this, 
I also needed a static library version of MagoNatDE. I just 
pushed my changes, I hope it doesn't break anything for you.


If you want to stay in sync, please consider a PR with your 
changes to mago.


Actually, I would prefer to use static versions of all Mago 
libraries.
I really like that statically linked mago-mi.exe is only 1.5Mb in 
Release build.
If it become possible to link MagoNatDE/MagoNatEE statically, I 
would merge my changes to upstream.




Re: Release DUB 0.9.25, new logo and updated website design

2016-05-24 Thread Sönke Ludwig via Digitalmars-d-announce

Am 24.05.2016 um 08:24 schrieb Jacob Carlborg:

On 2016-05-23 17:40, Sönke Ludwig wrote:


Oh, okay, misunderstood that. The basic protocol is very simple:

GET /packages/index.json
Yields a JSON array with all package names

GET /packages/[package].json
Returns a JSON object with general information about a package,
including all available versions

GET /packages/[package]/[version].json
Returns a JSON object with the package recipe of a particular version
(dub.json format), augmented with some additional fields

GET /packages/[package]/[version].zip
Yields a zipped up version of the package


So dependencies are fetched when they are discovered based on a package?
Wouldn't it be more efficient to have an API call that given a list of
packages, returns the full set of dependencies in one call. Then it
would be possible to fetch the dependencies in parallel.



Since fetching dependencies usually saturates the network connection, 
that wouldn't save much time (or do you just mean fetching the package 
recipes in parallel?). But because it also requires full dependency 
resolution, it would have a considerable impact on server load. And of 
course that would make it impossible to use a simple file server as a 
package registry.


Re: mago-mi: GDB/MI compatible frontend for Mago debugger

2016-05-24 Thread Rainer Schuetze via Digitalmars-d-announce



On 17.05.2016 10:06, Vadim Lopatin wrote:

Hello,

I'm working on GDB/MI compatible interface for Mago debugger on Windows.

GDB/MI is line based machine interface for debugger. IDEs are using GDB
via this interface.

GDB/MI docs: https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI.html

Project page (mago fork) https://github.com/buggins/mago

Currently mago-mi supports subset of GDB commands enough for current
DlangIDE functionality.

Tested on DMD generated 32bit executables.

See readme details list of implemented commands:
https://github.com/buggins/mago/tree/master/MagoMI/mago-mi

Difference from baseline https://github.com/rainers/mago files are minimal:
- Static linking for MagoNatDE and MagoNatEE
- Disabled some Mago debug logging

Building mago-mi from source is easy. I've tried MS Visual Studio 2013
and 2015. Don't forget to edit properties in mago/PropSheets. Buld
mago-mi project.

Since DlangIDE v0.6.1, it includes prebuilt mago-mi.exe (it will be
copied into bin directory by dub build) and default Debugger settings
are changed from gdb to mago-mi by default on Windows. If you already
used DlangIDE on your computer, check Edit/Preferences/Debugger setting
- change to "mago-mi" if "gdb" is specified.

If you want to try mago-mi and DlangIDE which is using it, you can
download binaries from
https://sourceforge.net/projects/crengine/files/DlangUI/dlangide-v061-magomi-v010-x86.zip/download
(or just sync to latest dlangide and use `dub run`). Bundle includes
DlangIDE, mago-mi, dub, and sample workspaces (helloworld and tetris).
Download size is 5.4Mb (seems small enough for IDE+debugger).

I hope my work will be useful for other IDE developers who is targeting
on Windows.
(Any IDE which uses gdb/mi interface)
I tried gdb and lldb-mi before, but did not managed to find working
compiler + debugger configuration. (Best combination was gdb + gdc, but
it was showing global variables instead of locals. For lldb-mi, I
haven't managed to find compiler which produces compatible debug info).

Best regards,
Vadim



Impressive work!

I'm currently working on improving integration in VS. For this, I also 
needed a static library version of MagoNatDE. I just pushed my changes, 
I hope it doesn't break anything for you.


If you want to stay in sync, please consider a PR with your changes to mago.



Re: Release DUB 0.9.25, new logo and updated website design

2016-05-24 Thread Jacob Carlborg via Digitalmars-d-announce

On 2016-05-23 17:40, Sönke Ludwig wrote:


Oh, okay, misunderstood that. The basic protocol is very simple:

GET /packages/index.json
Yields a JSON array with all package names

GET /packages/[package].json
Returns a JSON object with general information about a package,
including all available versions

GET /packages/[package]/[version].json
Returns a JSON object with the package recipe of a particular version
(dub.json format), augmented with some additional fields

GET /packages/[package]/[version].zip
Yields a zipped up version of the package


So dependencies are fetched when they are discovered based on a package? 
Wouldn't it be more efficient to have an API call that given a list of 
packages, returns the full set of dependencies in one call. Then it 
would be possible to fetch the dependencies in parallel.


--
/Jacob Carlborg


Re: Release DUB 0.9.25, new logo and updated website design

2016-05-24 Thread Jacob Carlborg via Digitalmars-d-announce

On 2016-05-23 12:38, qznc wrote:


Mixing fonts is hard. Both fonts must have the same size, but also the
same x-height [0], which is the height of lowercase letters like x. This
can be seen very clearly with inline code like "contain a
dub.json" at the page you linked to. Zoom in (Ctrl+) and
you see the height difference between "a" and "u".

On websites where fonts are picked from whatever is available on the
system, this is nearly impossible to get right. You either live with it
or embed your own fonts via CSS, which bloats the page.

[0] https://en.wikipedia.org/wiki/X-height


A start is to use the same font size ;)

--
/Jacob Carlborg


Re: Release DUB 0.9.25, new logo and updated website design

2016-05-24 Thread Jacob Carlborg via Digitalmars-d-announce

On 2016-05-23 10:04, Sönke Ludwig wrote:


Okay, removed the old "Courier New" reference and both are rendered the
same now.


Looks better now.

--
/Jacob Carlborg