Re: DMD now incorporates a disassembler

2022-01-08 Thread Andre Pany via Digitalmars-d-announce

On Friday, 7 January 2022 at 21:41:55 UTC, Walter Bright wrote:

Compile with -vasm to see it! Enjoy!

For the file test.d:

  int demo(int x)
  {
return x * x;
  }

Compiling with:

  dmd test.d -c -vasm

prints:

  _D4test4demoFiZi:
  :   89 F8   mov EAX,EDI
  0002:   0F AF C0imulEAX,EAX
  0005:   C3  ret


https://github.com/dlang/dmd/pull/13447


Great news, this worth a hn / reddit post!

Kind regards
Andre


Re: code-d 0.23.0

2021-11-20 Thread Andre Pany via Digitalmars-d-announce

On Saturday, 20 November 2021 at 17:57:40 UTC, WebFreak001 wrote:

Hi everyone,

I just released a new version of my Visual Studio Code 
extension "code-d"


[...]


Thank you so much for your work on this extension.

By chance, do you consider to make your extension compatible for 
vscode.dev ?


Kind regards
Andre


Re: Printing shortest decimal form of floating point number with Mir

2020-12-29 Thread Andre Pany via Digitalmars-d-announce

On Tuesday, 29 December 2020 at 16:14:59 UTC, Atila Neves wrote:

On Thursday, 24 December 2020 at 14:14:33 UTC, 9il wrote:

On Thursday, 24 December 2020 at 14:08:32 UTC, welkam wrote:

On Wednesday, 23 December 2020 at 18:05:40 UTC, 9il wrote:

It was a mockery executed by Atila

Read the all comments and didnt saw any mockery


Yes, it wasn't explicit. He didn't write bad words, he did a 
bad decision. Bad for D.


I apologise if what I wrote came across as mockery; it 
certainly wasn't intended that way.


How would you have liked for me to have handled it better?


From my day to day experience as developer, some topics you 
cannot discuss using mail / forum posts/ github pr.


Face to face communication is best and phone communication is 
second best.


If a pr is in a stuck situation, you may think of having a phone 
call if possible.

(Maybe slack/discord supporting this).

In many cases this will help to have a better understanding of of 
the pov of the other developer.


Kind regards
Andre


Re: DIP 1030-- Named Arguments--Formal Assessment

2020-12-07 Thread Andre Pany via Digitalmars-d-announce

On Monday, 7 December 2020 at 12:13:35 UTC, zoujiaqing wrote:
On Thursday, 17 September 2020 at 12:58:06 UTC, Mike Parker 
wrote:

[...]


Very practical features, similar to trailing closures, are 
expected.


Implementing the DIP is added to the list of possible gsoc21 
projects. Hopefully D is this year elected.


https://github.com/dlang/projects/issues/76

It will also make porting python libraries to D easier as it 
minimizes coding differences.


Kind regards
Andre


Re: Mir vs. Numpy: Reworked!

2020-12-05 Thread Andre Pany via Digitalmars-d-announce

On Saturday, 5 December 2020 at 07:04:59 UTC, 9il wrote:

On Thursday, 3 December 2020 at 16:50:39 UTC, Andre Pany wrote:

On Thursday, 3 December 2020 at 16:27:59 UTC, 9il wrote:

[...]


Hi Ilya,

Thanks a lot for sharing the update. I am currently working on 
porting a python package called FMPY to D. This package makes 
usage of numpy and I hope I can use MIR here.


Probably you may want to express FMI entities as Algebraic 
types rather than classes. mir.algebraic can be really helpful 
here


http://mir-core.libmir.org/mir_algebraic.html

Somehow it is hard to get started to learn MIR. What maybe 
could help python developers is to have some articles showing 
numpy coding and side by side the equivalent MIR coding.


It is hard for me to write articles. I will try to write a 
small one this year, but it would be Mir only. Maybe this 
benchmark can be used as an example and if one wishes to write 
a side-by-side comparison with NumPy I would be happy to 
comment and explain the D implementation and what it is doing 
internally.


What I miss in MIR is a function to read and write CSV files. 
Is s.th. like numpy.genfromtxt planned?


Unlikely I would add it but can do a code review.

Currently, we can load/safe NumPy binary data with numir

https://libmir.github.io/numir/io.html

Kind regards,
Ilya


Thanks a lot for the tipps. I will work through the documentation 
of mir_algebraic. Currently I follow the strategy to have the D 
coding as similiar as possible to the python coding. Fmpy is in 
active development and I want to backport changes easily.


I totally missed the fact that MIR can load / safe numpy binary 
data. This is really great.


Kind regards
Andre


Re: Mir vs. Numpy: Reworked!

2020-12-03 Thread Andre Pany via Digitalmars-d-announce

On Thursday, 3 December 2020 at 16:27:59 UTC, 9il wrote:

Hi all,

Since the first announcement [0] the original benchmark [1] has 
been boosted [2] with Mir-like implementations.


D+Mir:
 1. is more abstract than NumPy
 2. requires less code for multidimensional algorithms
 3. doesn't require indexing
 4. uses recursion across dimensions
 5. a few times faster than NumPy for non-trivial real-world 
applications.


Why Mir is faster than NumPy?

1. Mir allows the compiler to generate specialized kernels 
while NumPy constraints a user to write code that needs to 
access memory twice or more times.


Another Mir killer feature is the ability to write generalized 
N-dimensional implementations, while Numpy code needs to have 
separate implementations for 1D, 2D, and 3D cases. For example, 
the main D loop in the benchmark can compile for 4D, 5D, and 
higher dimensional optimizations.


2. @nogc iteration loop. @nogc helps when you need to control 
what is going on with your memory allocations in the critical 
code part.


[0] 
https://forum.dlang.org/post/pemharpztorlqkxdo...@forum.dlang.org

[1] https://github.com/typohnebild/numpy-vs-mir
[2] https://github.com/typohnebild/numpy-vs-mir/pull/1

The benchmark [1] has been created by Christoph Alt and Tobias 
Schmidt.


Kind regards,
Ilya


Hi Ilya,

Thanks a lot for sharing the update. I am currently working on 
porting a python package called FMPY to D. This package makes 
usage of numpy and I hope I can use MIR here.


Somehow it is hard to get started to learn MIR. What maybe could 
help python developers is to have some articles showing numpy 
coding and side by side the equivalent MIR coding.


What I miss in MIR is a function to read and write CSV files. Is 
s.th. like numpy.genfromtxt planned?


Kind regards
Andre


Re: Preparing for Google Summer of Code 2021

2020-11-24 Thread Andre Pany via Digitalmars-d-announce
On Tuesday, 24 November 2020 at 08:12:18 UTC, Jacob Carlborg 
wrote:
On Monday, 23 November 2020 at 13:34:14 UTC, Petar Kirov 
[ZombineDev] wrote:


Thanks, I've just added the gsoc2020 label for these issues. I 
will ping someone to give you permissions for the repo ;)


Shouldn't it be gsoc2021? We're already past GSoC 2020 ;)

--
/Jacob Carlborg


Thanks:) I corrected it.

Kind regards
Andre


Re: DConf Online 2020 was a big success!

2020-11-23 Thread Andre Pany via Digitalmars-d-announce

On Monday, 23 November 2020 at 07:39:58 UTC, Walter Bright wrote:
I enjoyed #DConfOnline very much, though I miss seeing everyone 
in person.


[...]


Thanks a lot to all speakers, and yes especially to Mike!

Kind regards
André



Re: Preparing for Google Summer of Code 2021

2020-11-23 Thread Andre Pany via Digitalmars-d-announce

On Sunday, 15 November 2020 at 10:46:01 UTC, Mike Parker wrote:
Recently, Google put out an announcement on the GSoC mailing 
list about their plans for GSoC 2021. They're doing things 
differently this time.


A big change is that the event is being cut down to 10 weeks, 
with 2 evaluations rather than 3. That means we will need to 
think of project ideas that fit into a shorter time period than 
in the past.


Everyone, please start thinking of suitable projects and 
submitting your ideas to the dlang/projects repository:


https://github.com/dlang/projects

Mentor stipends on the new schedule are set at $400, so it's 
not much less than before. We encourage those of you with solid 
D experience, or domain experience related to any of the 
potential projects in the repository above, to put yourself 
forward as a potential mentor.


They're also relaxing the eligibility requirements to allow 
participation from a broader range of applicants:


"In 2020 there are many ways students are learning and we want 
to acknowledge that so we will be allowing students who are 18 
years old AND currently enrolled (or accepted into) a 
post-secondary academic program as of May 17, 2021 or have 
graduated from a post-secondary academic program between 
December 1, 2020 and May 17, 2021 to apply to the GSoC program.


What this means is that now the program will be open to folks 
participating in a variety of different academic programs, not 
just accredited university programs. This includes licensed 
coding camps, community colleges, and many other programs that 
may not be accredited yet but are post-secondary academic 
programs."


I created two issues in the repository 
(https://github.com/dlang/projects)

but I do not know, how to set the gsoc2020 label. I assume others
may have edit authorizations on the repository and therefore are 
able

to set the labels.
For now, I prefixed the issue titles with gsoc2020:

https://github.com/dlang/projects/issues/75
https://github.com/dlang/projects/issues/76

Kind regards
André



Re: requests 2.0.0 release

2020-11-02 Thread Andre Pany via Digitalmars-d-announce

On Sunday, 1 November 2020 at 14:00:34 UTC, Jacob Carlborg wrote:

On 2020-11-01 11:13, Sönke Ludwig wrote:

ddb marks the vibe-d dependency as optional, so it *should* 
not trigger a download by itself.


It does not trigger a download. The downside is that user of 
the library needs to manually add vibe.d as a dependency.


Thanks, learned something new.

Kind regards
Andre


Re: requests 2.0.0 release

2020-10-30 Thread Andre Pany via Digitalmars-d-announce

On Friday, 30 October 2020 at 13:34:24 UTC, Jacob Carlborg wrote:

On Thursday, 29 October 2020 at 06:42:54 UTC, ikod wrote:

Hi,

requests 2.0.0 released with single change - support for 
vibe-d moved to separate subpackage.


The goal of this update is to prevent dub from downloading 
vibe-d packages for optional subConfiguration.


Another approach is to check if vibe.d is available using 
version conditions [1]. This is how the DDB [2] package 
supports both vibe.d sockets and Phobos sockets.


[1] 
https://github.com/pszturmaj/ddb/blob/97bc3652b05492e7917888c92e59f4576a69dfa8/source/ddb/postgres.d#L189-L216

[2] https://code.dlang.org/packages/ddb

--
/Jacob Carlborg


The important point here is, fetching and building "requests" 
does no longer trigger downloads of vibe.d packages.
This is the case for ddb(?). Therefore I see the pattern 
"requests" is using, is also highly interesting for ddb.


Kind regards
Andre


Re: requests 2.0.0 release

2020-10-29 Thread Andre Pany via Digitalmars-d-announce

On Thursday, 29 October 2020 at 06:42:54 UTC, ikod wrote:

Hi,

requests 2.0.0 released with single change - support for vibe-d 
moved to separate subpackage.


The goal of this update is to prevent dub from downloading 
vibe-d packages for optional subConfiguration.


Important in case you use requests with vibe-d: starting from 
this release instead of using subConfiguration for requests in 
your dub.json you have to use package requests:vibed in 
dependencies.



dlang-requests is http/ftp client library inspired by python 
requests

https://github.com/ikod/dlang-requests

best regards,
Igor


This is fantastic work, thanks a lot. It could also serve as 
template for other projects how to integrate with vibe-d without 
actually depending on it.


Kind regards
Andre


Re: DIP 1030-- Named Arguments--Formal Assessment

2020-10-28 Thread Andre Pany via Digitalmars-d-announce

On Wednesday, 28 October 2020 at 02:22:14 UTC, Q. Schroll wrote:

On Thursday, 8 October 2020 at 14:05:14 UTC, Andre Pany wrote:

[...]


Good catch. The DIP doesn't mention opDispatch and it's 
probably too late to change. I also don't really see a 
non-breaking way to tell opDispatch about parameter names.
Giving opDispatch a string[] of named arguments' names (with "" 
for a name-less argument) would probably do the job, but it's a 
breaking change.


[...]


Thank you a lot for your analysis. Once the feature is 
implemented I will create a feature request and add your proposal.


Kind regards
Andre


Re: LDC 1.24.0

2020-10-24 Thread Andre Pany via Digitalmars-d-announce

On Saturday, 24 October 2020 at 15:11:08 UTC, kinke wrote:

Glad to announce LDC 1.24 - some highlights:

- Based on D 2.094.1+.
- Support for LLVM 11. The prebuilt packages use v11.0.0, and 
the x86 packages newly include the LLVM backend for AMD GPUs.
- Experimental support for targeting macOS on 64-bit ARM. The 
macOS package includes prebuilt druntime/Phobos libraries for 
cross-compilation via `-mtriple=arm64-apple-macos`.


Full release log and downloads: 
https://github.com/ldc-developers/ldc/releases/tag/v1.24.0


Thanks to all contributors & sponsors!


Thank you for another great release.

Kind regards
Andre


Re: LDC 1.24.0-beta1

2020-10-19 Thread Andre Pany via Digitalmars-d-announce

On Monday, 19 October 2020 at 18:48:11 UTC, notna wrote:

On Sunday, 18 October 2020 at 22:40:53 UTC, aberba wrote:


It would be convenient if you provided a .exe installer as 
well. Not sure what to do with the .7z file without manual 
tinkering.


use scoop for Windows package mgmt in a user context. build 
with developers in mind. for installation see:

https://scoop.sh/

simple as:
* scoop install dmd
* scoop install ldc

stay always up to date:
* scoop update
* scoop update *

... and MUCH more, see https://github.com/lukesampson/scoop/wiki


Also Microsoft is working on a package manager which might be an 
option in the future 
https://docs.microsoft.com/de-de/windows/package-manager/


Kind regards
Andre


Re: mir-stat

2020-10-08 Thread Andre Pany via Digitalmars-d-announce

On Thursday, 8 October 2020 at 18:17:30 UTC, jmh530 wrote:

On Thursday, 8 October 2020 at 17:53:53 UTC, Andre Pany wrote:

[snip]

Thanks for this great piece of software. Does Mir provides 
s.th. similar like Pandas DataFrame, especially the feature to 
give columns a name and marking as inde x columns?


Kind regards
Andre


Magpie [1] was an initial effort as a summer of code project. 
The last commit was September 2019.


There is also some basic support in mir (example at [2]). Ilya 
can speak more about long-term plans for enhancing that.


One limitation in mir is that Slice's only allow for the same 
type throughout. For instance, a Slice!(double*, 1u) is a 
1-dimensional slice of doubles. Data frames in R or Pandas 
DataFrames allow for columns with different types, so for 
instance you can calculate some summary statistic based on some 
category (like color). So to really get the same functionality, 
you need to support slices with heterogeneous types.


[1] https://github.com/Kriyszig/magpie
[2] 
https://github.com/libmir/mir-algorithm/blob/f30ccd9f7abc63166c9179e04b2817bf656764bd/source/mir/ndslice/allocation.d#L330


Thanks for these info. Magpie looks huge and really useful. I 
will give it a try.


I am also highly interested in the long term plans of Mir, as you 
explained the current limitations. Still in my scenario it is 
always the same type. A 2d array of doubles, read from parquet 
files, transformed and written into a new parquet file.


Kind regards
Andre



Re: mir-stat

2020-10-08 Thread Andre Pany via Digitalmars-d-announce

On Thursday, 8 October 2020 at 16:40:01 UTC, 9il wrote:
It is a pleasure to announce the Dlang Statistical Package by 
John Michael Hall.


[...]


Thanks for this great piece of software. Does Mir provides s.th. 
similar like Pandas DataFrame, especially the feature to give 
columns a name and marking as inde x columns?


Kind regards
Andre


Re: DIP 1030-- Named Arguments--Formal Assessment

2020-10-08 Thread Andre Pany via Digitalmars-d-announce

On Thursday, 17 September 2020 at 12:58:06 UTC, Mike Parker wrote:

DIP 1030, "Named Arguments", has been accepted.

During the assessment, Walter and Atila had a discussion 
regarding this particular criticism:


https://forum.dlang.org/post/mailman.1117.1581368593.31109.digitalmar...@puremagic.com

"Named arguments breaks this very important pattern:

auto wrapper(alias origFun)(Parameters!origFun args)
{
  // special sauce
  return origFun(args);
}"

They say that, though it's true that `Parameters!func` will not 
work in a wrapper, it "doesn't really work now"---default 
arguments and storage classes must be accounted for. This can 
be done with string mixins, or using a technique referred to by 
Jean-Louis Leroy as "refraction", both of which are clumsy.


So they decided that a new `std.traits` template and a 
corresponding `__traits` option are needed which expand into 
the exact function signature of another function.


They also acknowledge that when an API's parameter names 
change, code depending on the old parameter names will break. 
Struct literals have the same problem and no one complains (the 
same is true for C99). And in any case, when such a change 
occurs, it's a hard failure as any code using named arguments 
with the old parameter names will fail to compile, making it 
easy to see how to resolve the issue. Given this, they find the 
benefits of the feature outweigh the potential for such 
breakage.


Hi,

how to this new feature interact with opDispatch? Will there be 
any possibility

to extract the argument names in opDispatch?

If yes, this "might" increase the usability of pyd:
auto df = pd.DataFrame.unpack_call(
  py(tuple()),
  py(tuple!("data", "columns")(numpyArray, py(["a", "b"];

vs.

auto df = pd.DataFrame(data=numpyArray, columns=["a", "b"]);

Kind regards
André


Re: Release D 2.094.0

2020-10-05 Thread Andre Pany via Digitalmars-d-announce

On Monday, 5 October 2020 at 13:56:51 UTC, notna wrote:
On Monday, 5 October 2020 at 09:17:13 UTC, Andrej Mitrovic 
wrote:

[...]


Well, the "signature" topic is a constantly reoccurring issue 
and you can find plenty complains in the news group / forum... 
some examples:
- 
https://forum.dlang.org/post/mailman.3930.1592291554.31109.digitalmars-d-b...@puremagic.com
- 
https://forum.dlang.org/post/mailman.2853.1587904820.31109.digitalmars-d-b...@puremagic.com


[...]


I thought someone proposed to enhance the error message with the 
info about the update command.


This would be a starting point and easy to implement.

Kind regards
Andre


Re: Github Actions now support D out of the box!

2020-08-22 Thread Andre Pany via Digitalmars-d-announce

On Friday, 21 August 2020 at 02:03:40 UTC, Mathias LANG wrote:

Hi everyone,
Almost a year ago, Ernesto Castelloti (@ErnyTech) submitted a 
PR for Github's "starter-workflow" to add support for D out of 
the box (https://github.com/actions/starter-workflows/pull/74). 
It was in a grey area for a while, as Github was trying to come 
up with a policy for external actions. I ended up picking up 
the project, after working with actions extensively for my own 
projects and the dlang org, and my PR was finally merged 
yesterday 
(https://github.com/actions/starter-workflows/pull/546).


[...]


Fantastic, thanks a lot. I already using it on github.com for 
private projects. Hopefully Github Actions is released on Github 
Enterprise soon, then I can also use it at work too.


Kind regards
Andre


Re: Article: the feature that makes D my favorite programming language

2020-07-25 Thread Andre Pany via Digitalmars-d-announce

On Friday, 24 July 2020 at 20:34:17 UTC, aberba wrote:
Wrote something on the feature that makes D my favorite 
programming language


https://opensource.com/article/20/7/d-programming


Great article. I assume you didn't chained writeln by purpose, 
same for import std?


```
import std;

int[] evenNumbers(int[] numbers)
{
return numbers.filter!(n => n % 2 == 0).array;
}

void main()
{
[1, 2, 3, 4].evenNumbers.writeln;
}
```

Kind regards
Andre


Re: dubproxy: Easy private repos and code.dlang.org mirror

2020-06-25 Thread Andre Pany via Digitalmars-d-announce
On Tuesday, 20 August 2019 at 10:24:41 UTC, Martin Tschierschke 
wrote:

On Monday, 19 August 2019 at 15:29:55 UTC, Andre Pany wrote:
[...]


Ok, we should add some more info to Dub help page explaining 
the different repository providers (dub/maven/file system).



Yes! Please :-)


Finally you can find the information here:
https://dub.pm/package-suppliers

Kind regards
André


Re: Quick Start for Hunt Framework!

2020-06-08 Thread Andre Pany via Digitalmars-d-announce

On Monday, 8 June 2020 at 17:43:03 UTC, Andre Pany wrote:

On Monday, 8 June 2020 at 11:09:01 UTC, Heromyth wrote:

[...]


The dub package registry of type `file` works differently. You 
specify here a folder containing dub packages as zip file.


In your example you can instead use dub add-local command to 
register local folder `custom-dub-init`. See 
https://dub.pm/commandline.html#add-local


Then your command is just `dub init -n SimpleDemo -t 
custom-dub-init-dubpackage -- --foo=bar`


Kind regards
Andre


Correction:

Command is:

`dub init -n SimpleDemo -t custom-dub-init -- --foo=bar`


Re: Quick Start for Hunt Framework!

2020-06-08 Thread Andre Pany via Digitalmars-d-announce

On Monday, 8 June 2020 at 11:09:01 UTC, Heromyth wrote:

On Wednesday, 3 June 2020 at 08:11:55 UTC, Andre Pany wrote:

On Wednesday, 3 June 2020 at 05:11:47 UTC, zoujiaqing wrote:

Look this:
https://github.com/huntlabs/hunt-framework/wiki/Quick-Start


By having a dub sub package `init-exec` in huntlabs dub 
package,
a dub user can just execute `dub init -n mypackage -t 
hunt-framework`

to create a skeleton, with source code provided by you.

See example here:
https://github.com/dlang/dub/blob/master/test/issue1651-custom-dub-init-type/custom-dub-init-dubpackage-1.0.1.zip?raw=true

Kind regards
André


I got a failed test. Here is the log, and I'm not sure what's 
wrong with this:


➜  ~ cd dlang/dub-demo
➜  dub-demo pwd
/Users/putao/dlang/dub-demo
➜  dub-demo ll custom-dub-init
total 8
-rw-rw-r--@ 1 putao  staff   123B  3  9  2019 dub.json
drwxrwxr-x@ 4 putao  staff   128B  3 10  2019 init-exec
drwxrwxr-x@ 3 putao  staff96B  3 10  2019 source

➜  dub-demo dub init -n SimpleDemo -t 
custom-dub-init-dubpackage --skip-registry=all 
--registry=file:///Users/putao/dlang/dub-demo/custom-dub-init 
-- --foo=bar

Couldn't find package: custom-dub-init-dubpackage.


The dub package registry of type `file` works differently. You 
specify here a folder containing dub packages as zip file.


In your example you can instead use dub add-local command to 
register local folder `custom-dub-init`. See 
https://dub.pm/commandline.html#add-local


Then your command is just `dub init -n SimpleDemo -t 
custom-dub-init-dubpackage -- --foo=bar`


Kind regards
Andre







Re: Quick Start for Hunt Framework!

2020-06-08 Thread Andre Pany via Digitalmars-d-announce

On Monday, 8 June 2020 at 11:09:01 UTC, Heromyth wrote:

On Wednesday, 3 June 2020 at 08:11:55 UTC, Andre Pany wrote:

On Wednesday, 3 June 2020 at 05:11:47 UTC, zoujiaqing wrote:

Look this:
https://github.com/huntlabs/hunt-framework/wiki/Quick-Start


By having a dub sub package `init-exec` in huntlabs dub 
package,
a dub user can just execute `dub init -n mypackage -t 
hunt-framework`

to create a skeleton, with source code provided by you.

See example here:
https://github.com/dlang/dub/blob/master/test/issue1651-custom-dub-init-type/custom-dub-init-dubpackage-1.0.1.zip?raw=true

Kind regards
André


I got a failed test. Here is the log, and I'm not sure what's 
wrong with this:


➜  ~ cd dlang/dub-demo
➜  dub-demo pwd
/Users/putao/dlang/dub-demo
➜  dub-demo ll custom-dub-init
total 8
-rw-rw-r--@ 1 putao  staff   123B  3  9  2019 dub.json
drwxrwxr-x@ 4 putao  staff   128B  3 10  2019 init-exec
drwxrwxr-x@ 3 putao  staff96B  3 10  2019 source

➜  dub-demo dub init -n SimpleDemo -t 
custom-dub-init-dubpackage --skip-registry=all 
--registry=file:///Users/putao/dlang/dub-demo/custom-dub-init 
-- --foo=bar

Couldn't find package: custom-dub-init-dubpackage.


Maybe I have some time in the evening for
A deeper look. For the moment, there is the dub test
https://github.com/andre2007/dub/blob/master/test/issue1651-custom-dub-init-type.sh
 which exactly test the behavior you try.
Did you already had a look here?

Kind regards
Andre




Re: German D tutorial: Sichere Docker images für cloud Anwendungen erstellen

2020-06-03 Thread Andre Pany via Digitalmars-d-announce

On Wednesday, 3 June 2020 at 11:16:15 UTC, WebFreak001 wrote:

On Friday, 29 May 2020 at 15:49:31 UTC, Andre Pany wrote:

Hi,

This tutorial describes how to run a vibe-d http server within 
a docker scratch image for the purpose of security.


https://d-land.sepany.de/tutorials/cloud/sichere-docker-images-fuer-cloud-anwendungen-erstellen/

Kind regards
Andre


Sehr schick. Jetzt wo Alpine auch D unterstützt, ist es schon 
möglich das ganze auch über Docker zu verwenden? (anstatt 
ubuntu:focal als base) Ich würde denken dass das die erste 
Build Zeit verbessern wird weil weniger Dependencies geladen 
werden. Bin mir jetzt aber nicht sicher ob das danach immer 
noch einen Vorteil bietet.


Linken die Alpine D compiler mit musl C? Könnte ja sein dass 
das ganze Image dadurch sogar noch kleiner wird.


Ich habe Alpine ausprobiert, und werde das Tutorial noch 
erweitern.
Die build Zeit ist gefühlt genau so lang, oder noch ein bisschen 
länger.
Die Grösse vom Final Image ändert sich auch kaum (15 Mb vs 16 Mb, 
mit `-b release` Argument).


Die Grösse vom final Image lässt sich noch reduzieren wenn man 
die static libraries von druntime/phobos nimmt. Per default 
werden die SO Dateien eingebunden. Das macht auch noch ein paar 
MB aus.


Viele Grüße
Andre



Re: Quick Start for Hunt Framework!

2020-06-03 Thread Andre Pany via Digitalmars-d-announce

On Wednesday, 3 June 2020 at 11:05:24 UTC, WebFreak001 wrote:

On Wednesday, 3 June 2020 at 07:44:24 UTC, Greatsam4sure wrote:

On Wednesday, 3 June 2020 at 05:11:47 UTC, zoujiaqing wrote:

Look this:
https://github.com/huntlabs/hunt-framework/wiki/Quick-Start



Thanks for this.

We still need a more detail documentation and better tutorial. 
For example how do I build my desire ui? Can you guys not 
discuss with webfreak to add hunt project to code-d, so that 
anyone can just create a hunt project by a single click?


hi, I wanted to add hunt for a while but the project creator is 
pretty dated code. I would much rather like to remove it from 
code-d and make a separate more flexible extension for auto 
generating projects (and update and provide all the templates 
using an API)


For this scenario the dub skeleton functionality (sub package 
init/init-exec) perfectly fits.
Just run the dub init command with -t MAIN_PACKAGE automatically 
from code-d.


PS. Unfortunately `init` sub package is not implemented yet, but 
there more sophisticated `init-exec`.


Kind regards
Andre


Re: Quick Start for Hunt Framework!

2020-06-03 Thread Andre Pany via Digitalmars-d-announce

On Wednesday, 3 June 2020 at 05:11:47 UTC, zoujiaqing wrote:

Look this:
https://github.com/huntlabs/hunt-framework/wiki/Quick-Start


By having a dub sub package `init-exec` in huntlabs dub package,
a dub user can just execute `dub init -n mypackage -t 
hunt-framework`

to create a skeleton, with source code provided by you.

See example here:
https://github.com/dlang/dub/blob/master/test/issue1651-custom-dub-init-type/custom-dub-init-dubpackage-1.0.1.zip?raw=true

Kind regards
André


Re: German D tutorial: Sichere Docker images für cloud Anwendungen erstellen

2020-06-02 Thread Andre Pany via Digitalmars-d-announce

On Tuesday, 2 June 2020 at 06:47:55 UTC, Jan Hönig wrote:

On Friday, 29 May 2020 at 15:49:31 UTC, Andre Pany wrote:

Hi,

This tutorial describes how to run a vibe-d http server within 
a docker scratch image for the purpose of security.


https://d-land.sepany.de/tutorials/cloud/sichere-docker-images-fuer-cloud-anwendungen-erstellen/

Kind regards
Andre


Sehr gute Anleitung. Danke dafür.
Ich kannte deinen Blog noch gar nicht.


Danke :)

Viele Grüße
Andre


German D tutorial: Sichere Docker images für cloud Anwendungen erstellen

2020-05-29 Thread Andre Pany via Digitalmars-d-announce

Hi,

This tutorial describes how to run a vibe-d http server within a 
docker scratch image for the purpose of security.


https://d-land.sepany.de/tutorials/cloud/sichere-docker-images-fuer-cloud-anwendungen-erstellen/

Kind regards
Andre


Re: BindBC Updates: new loader function, SDL_net, streamlined SDL_* version indentifiers

2020-05-16 Thread Andre Pany via Digitalmars-d-announce

On Wednesday, 13 May 2020 at 14:39:13 UTC, Mike Parker wrote:
I've recently implemented some improvements centered on 
bindbc-sdl.


[...]


A little bit off topic. I wondered whether it is possible to 
combine dpp and bindbc. Maybe a separate Tool which creates a 
bindbc packages based on dpp output or even integrates into dpp?


Did you already considered s.th. like that?

Kind regards
Andre


Re: Beta 2.091.0

2020-03-09 Thread Andre Pany via Digitalmars-d-announce

On Monday, 9 March 2020 at 09:27:26 UTC, rikki cattermole wrote:

On 09/03/2020 10:16 PM, Andre Pany wrote:
On Wednesday, 26 February 2020 at 12:17:43 UTC, Martin Nowak 
wrote:

[...]


Similar problem like missing dub in bin64 folder is for rdmd.
You either need to copy it from bin to bin64 folder or have
both folders in environment path variable in correct order.
I was facing this issue while building DFMT using dub. 
(dub.json calls rdmd)

(https://github.com/dlang-community/dfmt/issues/472).

Is it planned to support it in future and therefore can be also
copied to bin64 folder? I also heard several times it is 
deprecated

in favor of dmd -run.

Kind regards
André


dmd -i -run

It gets close but as far as I know rdmd is not deprecated.


The disadvantage of `dmd -i -run` is, it is compiler dependent 
while

`rdmd` is included in dmd and ldc (gdc I do not know).

Maybe we should include a 64 bit rdmd in the bin64 folder.

Kind regards
André


Re: Beta 2.091.0

2020-03-09 Thread Andre Pany via Digitalmars-d-announce
On Wednesday, 26 February 2020 at 12:17:43 UTC, Martin Nowak 
wrote:
Glad to announce the first beta for the 2.091.0 release, ♥ to 
the 55 contributors.


http://dlang.org/download.html#dmd_beta 
http://dlang.org/changelog/2.091.0.html


Due to updating several components in the build pipeline, this 
beta and release are unfortunately delayed. 2.091.0 is now 
planned to be released one week later on March 8th.


As usual please report any bugs at
https://issues.dlang.org

-Martin


Similar problem like missing dub in bin64 folder is for rdmd.
You either need to copy it from bin to bin64 folder or have
both folders in environment path variable in correct order.
I was facing this issue while building DFMT using dub. (dub.json 
calls rdmd)

(https://github.com/dlang-community/dfmt/issues/472).

Is it planned to support it in future and therefore can be also
copied to bin64 folder? I also heard several times it is 
deprecated

in favor of dmd -run.

Kind regards
André


Re: Beta 2.091.0

2020-03-04 Thread Andre Pany via Digitalmars-d-announce

On Tuesday, 3 March 2020 at 08:08:35 UTC, Rainer Schuetze wrote:



On 26/02/2020 15:23, Andre Pany wrote:
On Wednesday, 26 February 2020 at 14:11:58 UTC, Andre Pany 
wrote:
On Wednesday, 26 February 2020 at 12:17:43 UTC, Martin Nowak 
wrote:


Thank you so much Rainer for adding the 64 bit dmd compiler 
to the
windows installation package. Also building DMD with LDC is 
such a

huge improvement. Thank you Sebastian.
This is really great news!

Kind regards
André


Small remark: To get dub working you need to copy it from bin 
folder to bin64 folder manually. Just adding folders `bin64` 
and `bin` to PATH does not work because Dub will you `dmd` 
from current folder.


I guess by "working" you mean that dub uses the 64-bit version 
of dmd. We could add a 64-bit version of dub to the bin64 
folder, too, but I'm not sure the bin64 version of the compiler 
has to be the default. It uses almost twice as much memory and 
hence is a bit slower:


dmd.exe -m64 -c -unittest std\regex\internal\tests.d

32-bit dmd:  853 MB, 3.280 sec
64-bit dmd: 1445 MB, 3.740 sec



I just tested the performance improvement and it feels twice 
as fast as before!


dmd 2.090.0: 879 MB, 10.230 sec (released without optimizations)
dmd 2.090.1: 873 MB,  5.300 sec


Yes, adding a64 bit version of dub to bin64 would solve the issue.
I also agree with you, there is no need to make the 64 version 
the default.
It should just be possible, by extracting the DMD zip archive and 
setting
environment variable PATH to bin64 to have a working dmd & dub 
integration.


Another solution would also be to have 2 dmd windows zip archives 
like you have it

for FreeBSD:
dmd.2.090.0.freebsd-32.zip
dmd.2.090.0.freebsd-64.zip
But this requires more effort I assume, maybe this is a solution 
for the long
ran and the low hanging fruit for the moment is to add a 64 dub 
executable

to the dmd zip archive.

Kind regards
André


Re: Beta 2.091.0

2020-02-26 Thread Andre Pany via Digitalmars-d-announce

On Wednesday, 26 February 2020 at 14:11:58 UTC, Andre Pany wrote:
On Wednesday, 26 February 2020 at 12:17:43 UTC, Martin Nowak 
wrote:


Thank you so much Rainer for adding the 64 bit dmd compiler to 
the windows installation package. Also building DMD with LDC is 
such a huge improvement. Thank you Sebastian.

This is really great news!

Kind regards
André


Small remark: To get dub working you need to copy it from bin 
folder to bin64 folder manually. Just adding folders `bin64` and 
`bin` to PATH does not work because Dub will you `dmd` from 
current folder.


I just tested the performance improvement and it feels twice as 
fast as before!


Kind regards
André


Re: Beta 2.091.0

2020-02-26 Thread Andre Pany via Digitalmars-d-announce
On Wednesday, 26 February 2020 at 12:17:43 UTC, Martin Nowak 
wrote:
Glad to announce the first beta for the 2.091.0 release, ♥ to 
the 55 contributors.


http://dlang.org/download.html#dmd_beta 
http://dlang.org/changelog/2.091.0.html


Due to updating several components in the build pipeline, this 
beta and release are unfortunately delayed. 2.091.0 is now 
planned to be released one week later on March 8th.


As usual please report any bugs at
https://issues.dlang.org

-Martin


Thank you so much Rainer for adding the 64 bit dmd compiler to 
the windows installation package. Also building DMD with LDC is 
such a huge improvement. Thank you Sebastian.

This is really great news!

Kind regards
André


Re: German D tutorial: HTML5 Anwendung mit GTK3 schreiben

2020-02-14 Thread Andre Pany via Digitalmars-d-announce

On Friday, 14 February 2020 at 12:53:29 UTC, Adam D. Ruppe wrote:

is this part of what you're doing with cgi.d this week?!


In this tutorial there is no http server component in the D code 
but it is provided  by Gtk3 itself (executable broadwayd).


There is already another tutorial using cgi.d (native aws elastic 
beanstalk apps) and hopefully if I find time, I will write a 
separate Websocket tutorial using cgi.d and vibe.d as comparison.


Kind regards
Andre



Re: German D tutorial: HTML5 Anwendung mit GTK3 schreiben

2020-02-14 Thread Andre Pany via Digitalmars-d-announce
On Friday, 14 February 2020 at 08:44:11 UTC, Petar Kirov 
[ZombineDev] wrote:

On Thursday, 13 February 2020 at 22:48:32 UTC, Andre Pany wrote:

Hi,

Dieses Tutorial zeigt, wie GTK3 zum Erstellen von HTML5 
Anwendungen verwendet werden kann.


http://d-land.sepany.de/tutorials/gui/html5-anwendungen-mit-gtk3-schreiben

Viele Grüße
Andre


Hi Andre,

I quickly skimmed through your article and I noticed that 
you're making a copy of the D-style `string[] args`, so you can 
guarantee that you have null terminated C-style `const char** 
argv`. You can avoid this by directly accessing the original 
args that were passed to the C main:


void main()
{
import core.stdc.stdio : printf;
import core.runtime : Runtime;
const args = Runtime.cArgs;
foreach (i; 0 .. args.argc)
printf("%s\n", args.argv[i]);
}


Thanks a lot. I was searching for such thing while writing the 
article but was not able to find it in the api documents.

I will change it.

Kind regards
Andre


German D tutorial: HTML5 Anwendung mit GTK3 schreiben

2020-02-13 Thread Andre Pany via Digitalmars-d-announce

Hi,

Dieses Tutorial zeigt, wie GTK3 zum Erstellen von HTML5 
Anwendungen verwendet werden kann.


http://d-land.sepany.de/tutorials/gui/html5-anwendungen-mit-gtk3-schreiben

Viele Grüße
Andre


Re: D-Ecke: A German D-website

2020-02-10 Thread Andre Pany via Digitalmars-d-announce
On Monday, 10 February 2020 at 15:59:24 UTC, Martin Tschierschke 
wrote:

On Monday, 3 February 2020 at 09:13:19 UTC, Jan Hönig wrote:

On Tuesday, 28 January 2020 at 15:00:11 UTC, berni44 wrote:
I setup my own D-website: http://d-ecke.de (in German 
language)


I hope, you enjoy reading it.


Schaut sehr vielversprechend aus :)


Ja, aber wo ist die Ecke hina 404 Not Found error was 
encountered...


Kommt ein Mann an die Ecke ist der Bus weg,
fährt der Bus um die Ecke, ist der Mann weg,
sitzt der Mann im Bus ist die Ecke Weg! :-)


Kannte ich noch nicht:)

Unfortunately the author was disappointed with some of the 
processes and decided to leave the D community ):


See the 3 months of waiting thread in the general forum.

Kind regards
Andre




Re: FeedSpot Recognizes the GtkDcoding Blog

2020-02-07 Thread Andre Pany via Digitalmars-d-announce

On Friday, 7 February 2020 at 23:39:34 UTC, jmh530 wrote:

On Friday, 7 February 2020 at 23:14:28 UTC, Andre Pany wrote:

[snip]

All what you say is completely true. Still, the license makes 
it a very hard job to advertise the D Programming Language at 
the place I work. It is already hard, and I do not want also 
get into discussions with IP department about license issues.


[snip]


You keep emphasizing the problem with LGPL. That is also a 
problem with any use of Gtk. If you used Gtk with any other 
language, then you would likely have the exact same issue. 
PyGTK is LGPL, for instance. Your issue isn't with D or GtkD, 
except to the extent that other GUI libraries aren't as 
developed or don't have licenses you are happy with either.


GTK was already evaluated by IP department and I could use it as 
long I do dynamic linking and do not copy any code snippets from 
gtk code base.


Kind regards
Andre


Re: FeedSpot Recognizes the GtkDcoding Blog

2020-02-07 Thread Andre Pany via Digitalmars-d-announce

On Friday, 7 February 2020 at 20:36:41 UTC, Bastiaan Veelo wrote:

On Friday, 7 February 2020 at 14:23:58 UTC, Andre Pany wrote:

Also from me congratulations!

GtkD (GTK) are a great piece of software and your tutorials 
are fantastic to get into it.


Now the sad part. I would like to use GtkD at work but I 
can't. The license is really dangerous for companies (you 
compile lGpl source code into your application), therefore it 
is a complete no go from the IP department. The license is a 
huge blocker for GtkD commercial usage.


This is just FUD, and not true. Did you read the license? [1] 
It explicitly states additional freedoms not present in the 
LGPL. You may even link statically without the license 
infecting your proprietary code!


It seems to me it is the incompetence of your IP department 
that is your problem, not the GtkD license.


I would like to run GTK applications in the browser (broadway 
html5). Due to the license issue I have to use the C api):


What difference does that make, legally? AFAIK the C api 
license is more restrictive than GtkD’s license.



I hope the authors of GtkD could change their mind in future.


In what way? I’d advise your IP department to talk to Mike Wey 
directly.


Bastiaan.

[1] https://github.com/gtkd-developers/GtkD/blob/master/COPYING


Are this point of time I didn't contacted the IP department. I 
try to advertise the D Programming Language at the place I work. 
There are multiple programming languages used and no one has 
heard of D before.
Although you are right, the label lgpl makes my job harder. From 
a risk management perspective I understand if a team architect 
decides for any other language just to be 100% on the safe side.


This is the point I want to stress.

Kind regards
Andre


Re: FeedSpot Recognizes the GtkDcoding Blog

2020-02-07 Thread Andre Pany via Digitalmars-d-announce

On Friday, 7 February 2020 at 20:44:32 UTC, jmh530 wrote:

On Friday, 7 February 2020 at 19:51:52 UTC, Andre Pany wrote:

[snip]
Now it gets more complicated, GtkD has some additions to the 
lgpl rules.


I cannot judge how high the risk is for companies to use this 
component, but as an employee I do anything to avoid any risk 
for the company I work for.


Kind regards
Andre


The changes are the following:
1) Modification to work on another platform is not a modified 
or derivative work
2) Static linking is not a modified or derivative work and you 
do not need to include source code.

3) You have to identify that you use GtkD.

If anything, 1 and 2 should make it easier to use GtkD with 
your company versus a standard LGPL. The price you pay is #3. 
So long as you do #3, it isn't any worse than a normal LGPL 
license.


I work in an industry where the goal is to take smart risks and 
be compensated for it. Almost everything is a risk. The 
question is if the risk is worth it or not. If using GtkD saves 
you X more hours a year in programming time than the C API, 
then that helps put a dollar value of the benefit. I think the 
cost is relatively minor, but that's for your company to decide.


I am in the position to convince the team architect to use an 
unknown programming language which gui framework is of type lgpl. 
The team architect of course say, why can't we use programming 
language x, y or z where there is no license question at all? 
From a risk management perspective I would also decide for any 
other language just to be 100% on the safe side.


All what you say is completely true. Still, the license makes it 
a very hard job to advertise the D Programming Language at the 
place I work. It is already hard, and I do not want also get into 
discussions with IP department about license issues.


And still, GtkD is in my opinion the best UI for D. If GtkD would 
have any other type of license, I could just use without getting 
in contact with IP department.


Kind regards
Andre




Re: FeedSpot Recognizes the GtkDcoding Blog

2020-02-07 Thread Andre Pany via Digitalmars-d-announce

On Friday, 7 February 2020 at 18:16:37 UTC, Les De Ridder wrote:

On Friday, 7 February 2020 at 14:23:58 UTC, Andre Pany wrote:

[...]

Now the sad part. I would like to use GtkD at work but I 
can't. The license is really dangerous for companies (you 
compile lGpl source code into your application), therefore it 
is a complete no go from the IP department. The license is a 
huge blocker for GtkD commercial usage.


I'm not sure why LGPL is an issue. Does GtkD not allow dynamic 
linking?


I am not an expert at all in the topic of licensing. This is my 
understanding:


Gtk has the license lgpl. As long as you link dynamically to the 
shared object files, you can use it in commercial products.


GtkD is a D wrapper for GTK. It is D source code which ease the 
access to the C api of Gtk. GtkD has also the license lgpl. To 
use GtkD in my application I have to statically link the D source 
code.
Now it gets more complicated, GtkD has some additions to the lgpl 
rules.


I cannot judge how high the risk is for companies to use this 
component, but as an employee I do anything to avoid any risk for 
the company I work for.


Kind regards
Andre




Re: FeedSpot Recognizes the GtkDcoding Blog

2020-02-07 Thread Andre Pany via Digitalmars-d-announce

On Friday, 7 February 2020 at 13:21:00 UTC, Ron Tarrant wrote:
On Friday, 7 February 2020 at 10:33:36 UTC, Patrick Schluter 
wrote:


These are exactly the things that were a little bit missing in 
the D world. Usage of it and advertisement of its usage.


Indeed. If anyone has more ideas on how to get the word out for 
D, GtkD, and GtkDcoding, please jump in.



Congrats for your blog.


Thanks, Patrick.


Also from me congratulations!

GtkD (GTK) are a great piece of software and your tutorials are 
fantastic to get into it.


Now the sad part. I would like to use GtkD at work but I can't. 
The license is really dangerous for companies (you compile lGpl 
source code into your application), therefore it is a complete no 
go from the IP department. The license is a huge blocker for GtkD 
commercial usage.


I would like to run GTK applications in the browser (broadway 
html5). Due to the license issue I have to use the C api):


I hope the authors of GtkD could change their mind in future.

Kind regards
Andre


Re: My Android project nearing beta

2019-12-31 Thread Andre Pany via Digitalmars-d-announce

On Tuesday, 31 December 2019 at 03:59:58 UTC, Adam D. Ruppe wrote:

On Wednesday, 18 December 2019 at 15:53:14 UTC, kinke wrote:
Heh, it looks like the Wiki page 
(https://wiki.dlang.org/Cross-compiling_with_LDC - I've added 
an exemplary Android section there as well, using `-gcc` to 
specify the NDK's preconfigured clang) needs some overhaul 
then if not even you guys seem to find the relevant 
information.



Well, I worked this into my setup program. It changes ldc2.conf 
so then you can just


dub build --compiler=ldc2 -a i386-none-linux-android
@mv libdubtest.so 
BasicActivity/app/src/main/jniLibs/x86 || true

#
dub build --compiler=ldc2 -a armv7a-none-linux-android
@mv libdubtest.so 
BasicActivity/app/src/main/jniLibs/armeabi-v7a || true

#
dub build --compiler=ldc2 -a x86_64-none-linux-android
@mv libdubtest.so 
BasicActivity/app/src/main/jniLibs/x86_64 || true

#
dub build --compiler=ldc2 -a aarch64-none-linux-android
@mv libdubtest.so 
BasicActivity/app/src/main/jniLibs/arm64-v8a || true


I really wish dub had a way to specify the output directory on 
its command line which would eliminate the need for those ugly 
mv commands :(


but meh now it works without the helper programs - just a setup 
step.




Meanwhile, I wrote a class/jar -> D interface converter and it 
works beautifully. Alas, dmd is giving me "forward reference" 
errors in there :(


so the crtp trick is triggering a bunch of internal compiler 
bugs.


ugh.


I have to check in detail if I can find some free time, but maybe 
in dub.json of d_android a postGenerateCommands line could be 
defined which calls a dub single package responsible for copying 
the binary to the right place depending on the actual 
architecture.


"preGenerateCommands": ["$DUB copy.d"]

Inside of the coding of copy.d all needed information can be 
retrieved from environment variables (see list of environment 
variables here 
https://dub.pm/package-format-json.html#environment-variables).


Kind regards
Andre


Re: Beta 2.090.0

2019-12-22 Thread Andre Pany via Digitalmars-d-announce

On Sunday, 22 December 2019 at 15:23:32 UTC, Martin Nowak wrote:
Glad to announce the first beta for the 2.090.0 release, ♥ to 
the 48 contributors.


http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.090.0.html

As usual please report any bugs at
https://issues.dlang.org

-Martin


The unittest default mode might cause some issues for unittest 
frameworks like d-unit. They need a main but due to a dub bug, 
passing DRT affects the Dub executable but not the spawned 
application. Open bug issue 
https://github.com/dlang/dub/issues/1280


Kind regards
Andre


Re: Article about D in the iX magazine

2019-12-21 Thread Andre Pany via Digitalmars-d-announce
On Saturday, 21 December 2019 at 09:15:26 UTC, Robert burner 
Schadek wrote:

On Friday, 20 December 2019 at 21:26:00 UTC, Andre Pany wrote:
In the new iX (1 Januar 2020) there is also a Leserbrief for 
the article;)


Kind regards
André


I assume you wrote it? As I think the Jan. issue isn't out yet.
I hope you are not destroying the article too hard ;-)



It is out since a few days. Yes, my comment from 
https://www.heise.de/forum/heise-online/Kommentare/Multiparadigmensprache-Programmieren-in-D/Sehr-zu-empfehlen/posting-35645917/show/ was added to the print edition.


Kind regards
Andre



Re: Article about D in the iX magazine

2019-12-20 Thread Andre Pany via Digitalmars-d-announce
On Friday, 22 November 2019 at 08:11:11 UTC, Ozan Nurettin Süel 
wrote:

Hi
A famous german computer magazine "iX" published this month an 
article about D.


I'm so excited to find it in my prefered mag. Thanks to Robert 
Schadek.

Link: https://www.heise.de/select/ix/2019/12/1913713393109056137

Regards, Ozan


In the new iX (1 Januar 2020) there is also a Leserbrief for the 
article;)


Kind regards
André


Re: My Android project nearing beta

2019-12-19 Thread Andre Pany via Digitalmars-d-announce
On Wednesday, 18 December 2019 at 19:57:43 UTC, Adam D. Ruppe 
wrote:

On Tuesday, 17 December 2019 at 18:29:32 UTC, H. S. Teoh wrote:
Runtime initialization is now working, and you can create a 
Java VM


I now have this tested and working on Windows and Linux.


- Method overloading;


This is fixed in the newest commit too.


```D
import arsd.jni;

final class Test : JavaClass!("wtf", Test) {
@Import this();
@Import void cool();
}

void main() {
auto jvm = createJvm();

auto h = new Test();
h.cool();
}
```

```Java

package wtf;

public class Test {
public native void test_();
void test() { test_(); }

void cool() {
System.out.println("* super cool 
***");

}
}
```


As you can see there, the D code uses the java class almost as 
if it was native D. Overloads work now too as well as many 
types in many places, but not all in all cases. Still a good 
chunk of work to do but already super cool.



I've gotta shift my attention to COM and .net for a little 
while now though...



Thanks a lot for this fantastic work. I want to do s.th. similar
for Delphi (For developing windows, android and ios applications)
and your work gives me some good inspiration.

I wonder whether D could be enhanced in future to make the CRTP
idiom a little bit nicer:

  class JavaClass(string javaPackage, CRTP) : IJavaObject {}

  final class Hello : JavaClass!("", Hello) {}


It would be nice, if I could specify s.th. like that:

  class JavaClass(string javaPackage = "", CRTP = @child) : 
IJavaObject {}


then I could just say:

  final class Hello : JavaClass

Kind regards
André





Re: dud: A dub replacement

2019-11-25 Thread Andre Pany via Digitalmars-d-announce

On Monday, 11 November 2019 at 13:44:28 UTC, Robert Schadek wrote:
So dub has some problems, and personally I find its code base 
very hard to get

into.
At Symmetry we are a very heavy user of dub, resulting in many 
wasted hours.


So I started to write dud [1]. I kept some boring/nice parts 
from dub, but most

code so far is a complete rewrite.

The goal of dud is mostly do what dub does, but more 
understandable.

dud will/does aim for a tasteful subset of dub's features.
Meaning, most dub files should be good with dud.
If they are not, you will/should get an error message telling 
you whats wrong.
The bigger goal, at least personally, is to have a code base of 
pure functions

that is "trivial" to understand and debug.
The rules of thumb is: "When your line gets longer than 80 
characters,

restructure your code!", "Branch statements are code smells."

So what can dud do right now.

$ dud convert

works.
IMO that is an important step, as this involves ingesting 
dub.(json|sdl) into

a common representation.

I use dubproxy [2] to get all ~1.6k packages from 
code.dlang.org and create a

git working tree for all the versions of all the packages.
Currently, that results in ~60k (package|dub).(json|sdl) files.
Then, I run dud on those and see what breaks.
Only a few percent are not ingestable by dud, and those are in 
IHMO not valid

anyway (to be fair, there is some strange  out there).

Now that dud can parse dub files, the next step will be a 
semantic phase,

checking the input for errors.
After that, path expansion and dependency resolution.

PR's are always welcome.

Destroy!

[1] https://github.com/symmetryinvestments/dud
[2] https://github.com/symmetryinvestments/dubproxy


Is there any chance you can be convinced to join our force to 
improve Dub?
A lot of developers invested their time to either improve Dub in 
general

or to get their needed scenarios running.

My gut feeling is, it would take years to rebuild the same set of 
functionality

starting from the green field.

The code base of Dub isn't that bad. I also invested time and 
there are some
parts you can easily get into. Of course there are also some 
parts which are quite
complex but I would say this is caused by their nature 
(Dependency resolution

is a quite complex topic).
But really the other parts are straightforward.

The biggest issue with Dub is to find out whether some specific 
parts a bugs
or intended feature. But this issue you will also face if you 
rebuild the
functionality of Dub. You never know whether it was intended or 
it is a bug,

or you should it work.

Every effort which is put into Dub is immediately available for 
the whole
D community, free developers and also companies from small size 
to the biggest size.


(In no way I want to say you should not work on Dud, it is just 
my hope we can

win you to help working on Dub).

Kind regards
André


Re: Proposal for porting D runtime to WebAssembly

2019-11-23 Thread Andre Pany via Digitalmars-d-announce
On Saturday, 23 November 2019 at 09:51:13 UTC, Sebastiaan Koppe 
wrote:
This is my proposal for porting D runtime to WebAssembly. I 
would like to ask you to review it. You can find it here: 
https://gist.github.com/skoppe/7617ceba6afd67b2e20c6be4f922725d


While I can't say anything on the details, the document looks 
well prepared. Thanks a lot for your work, it is very good 
starting point.


Kind regards
Andre


Re: Apache shiro for D is ported and release 1.0.0

2019-11-19 Thread Andre Pany via Digitalmars-d-announce

On Tuesday, 19 November 2019 at 10:10:17 UTC, zoujiaqing wrote:
Apache Shiro is a powerful and easy-to-use Java security 
framework that performs authentication, authorization, 
cryptography, and session management. With Shiro’s 
easy-to-understand API, you can quickly and easily secure any 
application – from the smallest mobile applications to the 
largest web and enterprise applications.


http://shiro.apache.org/

PS: Shiro for D ported from Apache Shiro 1.4.0

Code for DLang:
https://code.dlang.org/packages/hunt-shiro

Github repository:
https://github.com/huntlabs/hunt-shiro


Fantastic, thanks a lot for this work.

Kind regards
Andre


Re: I've created a binding for an LZW library

2019-10-27 Thread Andre Pany via Digitalmars-d-announce

On Sunday, 27 October 2019 at 00:59:00 UTC, solidstate1991 wrote:

https://github.com/ZILtoid1991/lzwford

The hardest part was to find one that could work with D easily.

I guess now Imageformats (and my own dimage) can have GIF and 
TIFF file support.


That is really great.

Side question, did you considered to rewrite a C library (e.g. 
https://github.com/vapier/liblzw) to D?


Kind regards
Andre


Unleash the geek! Register now for CodinGame contest with D

2019-10-01 Thread Andre Pany via Digitalmars-d-announce

Hi all,

the next coding competition of CodingGame UNLEASH THE GEEK will 
start on October 4.

You can play contest with the greatest programming language:)

Registration is free of charge and you can win some nice prizes.

More information here:
https://www.codingame.com/contests/unleash-the-geek-amadeus

Kind regards
André


Re: CodinGame adds support for 2 new programming languages

2019-10-01 Thread Andre Pany via Digitalmars-d-announce

On Tuesday, 1 October 2019 at 06:55:10 UTC, Bastiaan Veelo wrote:
On Thursday, 26 September 2019 at 15:58:46 UTC, Andre Pany 
wrote:

Hi,

Based on the voting results 
(https://www.codingame.com/forum/t/poll-what-programming-language-would-you-like-codingame-to-support-next) Codingame is currently adding 2 new programming languages, Type Script and D!


Thanks for your votes, they made it happen!

Kind regards
Andre


That's great, I'm looking forward to this!

Bastiaan.


It is available now:)

Also see here
https://forum.dlang.org/post/eereattcwpelnzvkv...@forum.dlang.org

Kind regards
André


CodinGame adds support for 2 new programming languages

2019-09-26 Thread Andre Pany via Digitalmars-d-announce

Hi,

Based on the voting results 
(https://www.codingame.com/forum/t/poll-what-programming-language-would-you-like-codingame-to-support-next) Codingame is currently adding 2 new programming languages, Type Script and D!


Thanks for your votes, they made it happen!

Kind regards
Andre


D Listing Coverage plugin for Jenkins CI

2019-09-18 Thread Andre Pany via Digitalmars-d-announce

Hi,

with the plugin "D Listing Coverage" Jenkins is now able to read 
D coverage files.


https://plugins.jenkins.io/dlisting-cov

Kind regards
André


Re: Github Action: cross-platfrom D compiler installation

2019-09-12 Thread Andre Pany via Digitalmars-d-announce

On Thursday, 12 September 2019 at 13:52:14 UTC, Mihails wrote:

https://github.com/marketplace/actions/d-compiler-installation
https://github.com/mihails-strasuns/setup-dlang

[...]


Fantastic, thanks a lot for your work!

Kind regards
Andre


Re: Build your dub packages with Github Actions

2019-09-08 Thread Andre Pany via Digitalmars-d-announce

On Saturday, 7 September 2019 at 22:34:03 UTC, CodeMyst wrote:

On Friday, 6 September 2019 at 22:02:06 UTC, Andre Pany wrote:

Hi,

Just a small info, building your D application using Github 
Actions just works out of the box thanks to the install.sh 
script!


This configuration will install a "dub build" pull request 
voter:


https://github.com/andre2007/coding-puzzles/blob/master/.github/workflows/blank.yml

Kind regards
Andre


Here's my take on it: 
https://github.com/CodeMyst/ghactions-test/blob/master/.github/workflows/blank.yml


It doesn't use the install.sh script, this way you don't have 
to run the source command for every step. It just downloads the 
official deb package and installs it (since GitHub VMs have 
Ubuntu installed).


Thanks, I also had a look at the "container functionality". 
Unfortunately using containers or installing the dmd.deb package 
is rather slow compared to the install.sh script.


The complete runtime of the job is about 17 seconds by using 
install.sh and about 60 seconds for using the container / 
installing the dmd.deb package.


Kind regards
André


Re: Build your dub packages with Github Actions

2019-09-07 Thread Andre Pany via Digitalmars-d-announce
On Saturday, 7 September 2019 at 09:20:23 UTC, Ernesto 
Castellotti wrote:
On Saturday, 7 September 2019 at 07:56:28 UTC, Jacob Carlborg 
wrote:

On 2019-09-07 00:02, Andre Pany wrote:

Hi,

Just a small info, building your D application using Github 
Actions just works out of the box thanks to the install.sh 
script!


This configuration will install a "dub build" pull request 
voter:


https://github.com/andre2007/coding-puzzles/blob/master/.github/workflows/blank.yml


Oh, cool. I didn't know about GitHub actions. Of course, 
there's no D template among the other languages [1] :(


[1] https://github.com/actions/starter-workflows/tree/master/ci


I sent a PR a few days ago
https://github.com/actions/starter-workflows/pull/74


Fantastic, thanks a lot.

Kind regards
Andre


Build your dub packages with Github Actions

2019-09-06 Thread Andre Pany via Digitalmars-d-announce

Hi,

Just a small info, building your D application using Github 
Actions just works out of the box thanks to the install.sh script!


This configuration will install a "dub build" pull request voter:

https://github.com/andre2007/coding-puzzles/blob/master/.github/workflows/blank.yml

Kind regards
Andre


Re: dubproxy: Easy private repos and code.dlang.org mirror

2019-08-19 Thread Andre Pany via Digitalmars-d-announce

On Monday, 19 August 2019 at 15:11:54 UTC, Guillaume Piolat wrote:

On Friday, 16 August 2019 at 14:31:14 UTC, Robert Schadek wrote:

classic noob error: forget the urls

* https://code.dlang.org/packages/dubproxy
* https://github.com/symmetryinvestments/dubproxy


UP

This sounds super useful for those of use stuck with path-based 
dependencies. Easier than self-hosting a DUB registry probably?


As side remark, in addition to self-hosting a Dub registry in the 
meantime you can also use a Maven repository (artifactory/nexus) 
or just use a local folder/network folder (using Dub file system 
provider).


Ok, we should add some more info to Dub help page explaining the 
different repository providers (dub/maven/file system).


Kind regards
Andre


Re: SAOC - Looking for a mentor

2019-08-09 Thread Andre Pany via Digitalmars-d-announce

On Friday, 9 August 2019 at 05:50:22 UTC, Ionuț Mihalache wrote:

Hi everyone,

I want to participate to Symmetry Autumn of Code 2019 with the 
project DUB: D's package manager, DEP5 (build system support 
for C/C++). I have here [1] my project proposal, could you give 
me some opinions about it(if it's ok, what should be changed or 
added, maybe removed).
Before sending the application I would like to find somenone to 
be my mentor, so if there is someone who would be interested in 
being my mentor for this project, please let me know as soon as 
possible.


[1] - 
https://drive.google.com/open?id=1JhX_r99YKMgRQ6tMHjMSJxJW4mc7j1iKLaAz_yavgrc


Thanks,
Ionuț


Hi Ionuț,

I do not have much knowledge in this area.I just wonder whether 
adding the support
of passing a triple 
(https://github.com/dlang/dub/pull/1541#issuecomment-417252200) is
much related to your project and you might also need it, or maybe 
it is completely unrelated?


If it is related to your work you might consider also adding it 
to your project proposal.


Kind regards
André





Re: Intellij: Support for TextMate Bundled

2019-08-01 Thread Andre Pany via Digitalmars-d-announce

On Thursday, 25 July 2019 at 16:20:15 UTC, Andre Pany wrote:

Hi,
Intellij added support for TextMate bundles. By adding the 
DLang TextMate Bundle[1] you get syntax highlighting.


If you want also code completion, formatting and linting you 
can install the LSP plugin from marketplace and setup DLS [2].


In addition there is also the complete D support including 
debugging by installing the IntelliJ D plugin from marketplace.


[1] https://github.com/textmate/d.tmbundle
[2] https://github.com/d-language-server/dls

Kind regards
Andre


There is an answer from Intellij why there are highlighting 
issues:

https://youtrack.jetbrains.com/oauth?state=%2Fissue%2FIDEA-219012

Textmate plugin doesn't support named captures which are 
actively used in D bundle.


As a workaround, you can use https://github.com/Pure-D/code-d 
bundle instead. Note that you still need to wait for the next 
version (or 2019.2.2) as at the moment that bundle is not 
registered for d extension, only for ds. I've just fixed this.<<


Kind regards
Andre





Project Piper: Support for D added

2019-07-27 Thread Andre Pany via Digitalmars-d-announce

Hi,

The Project "Piper" offers default pipelines to easily implement 
CI/CD processes integrating SAP systems. The corresponding 
"Shared Library" provides a set of "steps" to build your own 
scenarios beyond defaults.

With version 0.12 also D is supported.

This step was build for D
https://sap.github.io/jenkins-library/steps/dubExecute/

These steps were enhanced for D:
https://sap.github.io/jenkins-library/steps/pipelineStashFilesBeforeBuild/
https://sap.github.io/jenkins-library/steps/pipelineStashFilesAfterBuild/
https://sap.github.io/jenkins-library/steps/artifactSetVersion/
https://sap.github.io/jenkins-library/steps/whitesourceExecuteScan/


Project Piper: https://github.com/SAP/jenkins-library

Kind regards
André


Re: Intellij: Support for TextMate Bundled

2019-07-27 Thread Andre Pany via Digitalmars-d-announce

On Saturday, 27 July 2019 at 11:38:28 UTC, JN wrote:

On Thursday, 25 July 2019 at 18:46:00 UTC, bachmeier wrote:

On Thursday, 25 July 2019 at 16:20:15 UTC, Andre Pany wrote:

Hi,
Intellij added support for TextMate bundles. By adding the 
DLang TextMate Bundle[1] you get syntax highlighting.


If you want also code completion, formatting and linting you 
can install the LSP plugin from marketplace and setup DLS [2].


In addition there is also the complete D support including 
debugging by installing the IntelliJ D plugin from 
marketplace.


[1] https://github.com/textmate/d.tmbundle
[2] https://github.com/d-language-server/dls

Kind regards
Andre


Curious if there are a lot of D programmers using IntelliJ. 
It's $500 just for the first year.


I tried to give it a go, but this bug 
https://github.com/intellij-dlanguage/intellij-dlanguage/issues/455 is killing me and I always go back to VSCode w/ Code-D


Yes, calling on every keystroke a DCD client executable which 
itself calls DCD server executable via TCP just doesn't work.
Instead, in addition  to the D plugin, I installed LSP plugin and 
the D Language Language Server DLS.

DLS will also call DCD but as library.

Another performance issue is, the D Intellij plugin executes Dub 
very often for syntax checking. There is currently only a hack to 
disable it 
(https://github.com/intellij-dlanguage/intellij-dlanguage/issues/331)


At the moment there is some manual work needed (1 hour) to setup 
the D Intellij plugin. But if you invest it, it is a great IDE 
and makes a lot of fun.



Kind regards
Andre


Re: Intellij: Support for TextMate Bundled

2019-07-25 Thread Andre Pany via Digitalmars-d-announce

On Thursday, 25 July 2019 at 18:46:00 UTC, bachmeier wrote:

On Thursday, 25 July 2019 at 16:20:15 UTC, Andre Pany wrote:

Hi,
Intellij added support for TextMate bundles. By adding the 
DLang TextMate Bundle[1] you get syntax highlighting.


If you want also code completion, formatting and linting you 
can install the LSP plugin from marketplace and setup DLS [2].


In addition there is also the complete D support including 
debugging by installing the IntelliJ D plugin from marketplace.


[1] https://github.com/textmate/d.tmbundle
[2] https://github.com/d-language-server/dls

Kind regards
Andre


Curious if there are a lot of D programmers using IntelliJ. 
It's $500 just for the first year.


The community edition is free to use even for commercial usage.

Kind regards
Andre


Intellij: Support for TextMate Bundled

2019-07-25 Thread Andre Pany via Digitalmars-d-announce

Hi,
Intellij added support for TextMate bundles. By adding the DLang 
TextMate Bundle[1] you get syntax highlighting.


If you want also code completion, formatting and linting you can 
install the LSP plugin from marketplace and setup DLS [2].


In addition there is also the complete D support including 
debugging by installing the IntelliJ D plugin from marketplace.


[1] https://github.com/textmate/d.tmbundle
[2] https://github.com/d-language-server/dls

Kind regards
Andre


Re: What's Up on Reddit?

2019-07-12 Thread Andre Pany via Digitalmars-d-announce

On Friday, 12 July 2019 at 11:23:29 UTC, Ron Tarrant wrote:
I decided to take matheus' (and others') advice and post the 
gtkDcoding face-lift announcement on Reddit, but for some 
reason, I have to get permission to post to the dlang group? I 
was sure I'd done it before.


Anyway, I sent the required request a few days ago, but I'm 
still not allowed to post.


Anybody here have admin status for any of the dlang Reddit 
groups? If so, please give sackadoo (my Reddit moniker) 
permission to post.


You could also post it to r/programming

Kind regards
Andre


Re: I was able to write some D last week!

2019-07-11 Thread Andre Pany via Digitalmars-d-announce

On Thursday, 11 July 2019 at 14:09:09 UTC, Adam D. Ruppe wrote:

On Thursday, 11 July 2019 at 13:40:50 UTC, matheus wrote:

Do you think that your libraries could fill this gap for D?


Possibly. So I'm trying to convince my bosses at work to let me 
use D on the core product and one of the points I made is that 
D is really easy for new devs to use.




An important aspect here is the eco system. If you can show that 
it also has a nice IDE (e.g. Intellij IDE) that's a plus point. 
The next question which will come: how it integrates with the 
existing build system / build artefact repository. Also can the 
unittest results, linter and coverage results displayed and even 
further evaluated (e.g. Jenkins or SonarQube).

From a management point of view these are important points.
D is getting better and better here, but is a slow process.

Kind regards
Andre


Jenkins Warnings Next Generation Plugin: DScanner added

2019-07-06 Thread Andre Pany via Digitalmars-d-announce

Hi,
starting with version 5.3.0, Jenkins Warnings Next Generation 
Plugin can now read DScanner json files.


More information here:

https://github.com/jenkinsci/warnings-ng-plugin

Kind regards
Andre



Re: Release Candidate [was: Re: Beta 2.087.0]

2019-07-03 Thread Andre Pany via Digitalmars-d-announce

On Wednesday, 3 July 2019 at 06:43:50 UTC, Eugene Wissner wrote:

On Wednesday, 3 July 2019 at 05:13:34 UTC, Andre Pany wrote:


Hi,

for this coding

```
import std;

void main()
{
assert("abc123".all!(c => (c.isAlpha && c.isUpper == 
false) || c.isDigit));

}
```


2.087.0 RC throws an error:

C:\D\dmd2\windows\bin\..\..\src\phobos\std\algorithm\searching.d(123): Error: static 
assert:  "_lambda isn't a unary predicate function for range.front"
unary.d(5):instantiated from here: all!string

Is this a bug?

Kind regards
André


Both, std.uni and std.ascii have isAlpha and isUpper.


Thanks, you helped me to find the issue. The productive coding 
looks like this:


import std.algorithm : all;

void main()
{
import std.ascii : isAlpha, isDigit;
assert("abc123".all!(c => (c.isAlpha && c.isUpper == false) 
|| c.isDigit));

}

With previous dmd version, although import isUpper was not 
defined, somehow it worked.
This seems to be fixed now. This issue was the missing isUpper 
import statement.

The error message is a little bit odd:
Error: static assert:  "_lambda isn't a unary predicate function 
for range.front"


Kind regards
André


Re: Release Candidate [was: Re: Beta 2.087.0]

2019-07-02 Thread Andre Pany via Digitalmars-d-announce

On Saturday, 29 June 2019 at 22:21:42 UTC, Martin Nowak wrote:

On Sunday, 16 June 2019 at 22:47:57 UTC, Martin Nowak wrote:
Glad to announce the first beta for the 2.087.0 release, ♥ to 
the 66 contributors.


Release Candidate is live.

http://dlang.org/download.html#dmd_beta 
http://dlang.org/changelog/2.087.0.html


As usual please report any bugs at
https://issues.dlang.org

-Martin


Hi,

for this coding

```
import std;

void main()
{
assert("abc123".all!(c => (c.isAlpha && c.isUpper == false) 
|| c.isDigit));

}
```


2.087.0 RC throws an error:

C:\D\dmd2\windows\bin\..\..\src\phobos\std\algorithm\searching.d(123): Error: static 
assert:  "_lambda isn't a unary predicate function for range.front"
unary.d(5):instantiated from here: all!string

Is this a bug?

Kind regards
André


Re: A tutorial teaching the basics about multimedia with the arsd library

2019-06-30 Thread Andre Pany via Digitalmars-d-announce

On Sunday, 30 June 2019 at 23:46:27 UTC, Murilo wrote:
Hi everyone, I am writing a tutorial teaching the basics about 
multimedia programming using the arsd library. This is a 
library all D programmers should have since it is very useful 
and easy. In this tutorial I will teach in a fun and easy way 
how to use it for GUIs, image displays, games, etc...


Here is the GitHub link: 
https://github.com/MuriloMir/arsd_multimedia_tutorial
And please join the official facebook Dlang group: 
https://www.facebook.com/groups/ProgrammingInD/


Hi,

please consider using Dub, this will reduce a lot of complexity 
of the tutorial.
Everything you need to run this arsd based application is just 
use 1 command: dub app.d


```
/+ dub.sdl:
name "application"
dependency "arsd-official:cgi" version="3.0.1"
subConfiguration "arsd-official:cgi" "embedded_httpd"
+/

import arsd.cgi;

void main()
{
cgiMainImpl!(handle, Cgi, defaultMaxContentLength)(["--port", 
"5000"]);

}

void handle(Cgi cgi)
{
cgi.setResponseStatus("204 No Content");
}
```

Kind regards
André


Re: LDC 1.16.0

2019-06-21 Thread Andre Pany via Digitalmars-d-announce

On Friday, 21 June 2019 at 14:22:16 UTC, Martino wrote:

On Thursday, 20 June 2019 at 17:36:45 UTC, kinke wrote:

Glad to announce LDC 1.16:

* Based on D 2.086.1.
* Non-Windows x86: Faster `real` versions of 
std.math.{tan,expi}.

* Windows: Fix linking DLLs with MinGW-based libs.
* WebAssembly: No need for an explicit `-L--export-dynamic` 
anymore.


Full release log and downloads: 
https://github.com/ldc-developers/ldc/releases/tag/v1.16.0


Thanks to all contributors!


The linux-armhf is no longer available? The last I know is for 
the 1.13.0 version...


It was provided manually by a developer no longer around the D 
community. The same for the MUSL build.
If someone has the knowledge, an automatic build should be added 
to the pipeline.


It is still possible to cross compile from x86_64 to armhf.

If you really need armhf native LDC compiler you need to stay on 
1.13.0.


Kind regards
Andre


Re: DConf 2019 Livestream

2019-05-08 Thread Andre Pany via Digitalmars-d-announce

On Wednesday, 8 May 2019 at 10:13:35 UTC, Ethan wrote:

On Wednesday, 8 May 2019 at 07:57:40 UTC, Mike Parker wrote:
The venue uses WebEx for livestreaming. All the information is 
available in this PDF:


https://drive.google.com/open?id=1yekllbfOmxHqJNuuWIVeP9vNeROmfp1I


Good news everyone! A Youtube stream will be arriving after the 
lunch break.


Cheers for your patience.


Thanks for the good news. Was the recording working for the 
seasons?


Kind regards
Andre


Re: Beta 2.086.0

2019-04-20 Thread Andre Pany via Digitalmars-d-announce
On Saturday, 20 April 2019 at 19:41:09 UTC, Guillaume Piolat 
wrote:
On Saturday, 20 April 2019 at 18:00:02 UTC, Nick Sabalausky 
(Abscissa) wrote:
Wow! A whole bunch of great, long-awaited stuff! There's 
--lowmem, reflection of privates, less optlink, import std, 
copy ctors...


The changelog has some formatting errors in the section "dub 
run will now automatically fetch a package if it's not found 
locally".


Yes, very curious about this release!

Thanks a lot for -lowmem, copy ctor and DUB single request!

I don't understand full the new `dub init -t 
custom-dub-init-dubpackage` capabilities, the 
`custom-dub-init-dubpackage` has to be a package name on the 
DUB registry?


Any dub package can now define a sub package init-exec which will 
be used to create an app skeleton. Just use the package name as 
argument -t in dub init command.



Kind regards
Andre




Re: Beta 2.086.0

2019-04-20 Thread Andre Pany via Digitalmars-d-announce

On Saturday, 20 April 2019 at 14:16:09 UTC, Martin Nowak wrote:
Glad to announce the first beta for the 2.086.0 release, ♥ to 
the 52 contributors.


This beta started a little later than planned because we had to 
solve a FreeBSD build issue 
(https://github.com/dlang/dmd/pull/9569#issuecomment-484017911). I'd still try to ship the release on May 1st unless we figure out that more time is needed to fix regressions.


http://dlang.org/download.html#dmd_beta 
http://dlang.org/changelog/2.086.0.html


As usual please report any bugs at
https://issues.dlang.org

-Martin


Thank you so much. The -lowmem switch finally enables usage of D 
in CloudFoundry (your application is usually compiled on 
CloudFoundry and you very likely have a limit of 1024 MB).


Also I currently try to convince the people from Codeingame to 
support D. They have a limit of 768 MB.


The import std; will also become quite handy for the Codeingame 
use case.


Kind regards
Andre


Re: Containerize Your D Server Application

2019-04-19 Thread Andre Pany via Digitalmars-d-announce

On Friday, 19 April 2019 at 20:45:12 UTC, Valeriy Fedotov wrote:

On Thursday, 14 March 2019 at 12:38:30 UTC, Mike Parker wrote:

[...]


Seems that multithe tutorial no longer works.

```
The dependency resolution process is taking too long. The 
dependency graph is likely hitting a pathological case in the 
resolution algorithm. Please file a bug report at 
https://github.com/dlang/dub/issues and mention the package 
recipe that reproduces this error.

```

[...]


This question occurs from time to time. Dub version 1.8. is very 
old and the error you mentioned is fixed in the meantime. Your 
issue is fixed by update to a recent compiler (which includes a 
recent dub).


Kind regards
Andre



Re: New DConf Blog Post

2019-04-09 Thread Andre Pany via Digitalmars-d-announce

On Monday, 8 April 2019 at 17:01:25 UTC, matheus wrote:

On Monday, 8 April 2019 at 16:48:19 UTC, Seb wrote:

On Monday, 8 April 2019 at 16:42:50 UTC, matheus wrote:

On Sunday, 7 April 2019 at 07:03:34 UTC, bauss wrote:

[...]


Design is a complicated matter and thankfully I'm mostly 
back-end developer.


[...]


Please move this discussions and ideas to DFeed ;-)

https://github.com/CyberShadow/DFeed


Sorry this may sound weird but I don't have a github account.

But if you think this could be useful please go ahead. :)

Matheus.


I created an issue to have your proposal persisted

https://github.com/CyberShadow/DFeed/issues/108

Kind regards
Andre


Re: DPP on the D Blog

2019-04-08 Thread Andre Pany via Digitalmars-d-announce

On Monday, 8 April 2019 at 10:28:04 UTC, Mike Parker wrote:
I've just published a new Project Highlight, this one on dpp. 
Atila shares some anecdotes about how and why the project came 
together. He'll be speaking more about it at DConf next month.


The blog:
https://dlang.org/blog/2019/04/08/project-highlight-dpp/

Reddit:
https://www.reddit.com/r/programming/comments/bas2my/dpp_include_c_and_c_headers_directly_in_your_d/

Somewhere on HN:
https://news.ycombinator.com/


Great functionality and great article.
I just realized DPP would be a perfect candidate for a Dub plugin.
Just write the .dpp files, add the dependency to DPP in dub.json 
and the Dub plugin mechanism (to be implemented) will do all the 
rest for you.


Kind regards
Andre




Re: hunt-time library 1.0.0 beta1 released

2019-04-04 Thread Andre Pany via Digitalmars-d-announce

On Thursday, 4 April 2019 at 10:49:46 UTC, zoujiaqing wrote:

Hunt time released the first beta version.

hunt-time is a time library and similar to Joda-time and 
Java.time api.


[...]


I am not sure but did you rewrote the java.time library 
(copyright of Oracle) from Java to D? I am not an expert but I 
have some fear using this library due to legal consequences. Did 
you contacted Oracle and asked wheter that is ok?


I honor your work, but if I want to develop commercial 
applications i have to think twice which libraries I use to avoid 
any legal issues.


Kind regards
Andre


Re: What is the purpose of the ARM backend?

2019-03-26 Thread Andre Pany via Digitalmars-d-announce

On Tuesday, 26 March 2019 at 06:36:52 UTC, babatnvn wrote:

Hi every one;

I finding something for ARM backend...
but I have a question related with its.
What is the ARM backend?


Your question is not clear, therefore I just assume what your 
question is. DRuntime has specific parts to support computers 
based on ARM processors, like the Raspberry Pi. To be more clear, 
for each C Library, (glibc, muslc,...) the different processor 
types needs to be implemented in DRuntime.


Some implementation is currently missing, ARM for Musl C is 
currently not implemented.


kind regards
Andre


Re: Compiler benchmarker for D, C, C++, Go, Rust with more to come

2019-03-18 Thread Andre Pany via Digitalmars-d-announce

On Monday, 18 March 2019 at 12:33:12 UTC, Seb wrote:

On Monday, 18 March 2019 at 11:02:55 UTC, aliak wrote:

On Monday, 18 March 2019 at 10:05:40 UTC, Jacob Carlborg wrote:

On 2019-03-17 21:09, Per Nordlöw wrote:


I thought that already is the case...


No, the official binaries are built with DMD as the host 
compiler.


How come they're not built with LDC (for example) and then 
distributed? I'd think it'd be shit tonnes more performant?


Yes it would be _a lot_ faster, but the release process is 
pretty complicated [1] and at the moment Martin is the only one 
who fully understands it and he's pretty busy with his day job 
and other tasks.


[1] https://github.com/dlang/installer


It would be great if a campaign (donations) could be created to 
overwork the release process. There are some quite important 
topics like 64 bit DMD for windows or the LDC builds.


Also the process should be easier and maybe even documented.

Kind regards
Andre


Re: Containerize Your D Server Application

2019-03-14 Thread Andre Pany via Digitalmars-d-announce
On Thursday, 14 March 2019 at 18:02:31 UTC, Arun Chandrasekaran 
wrote:

On Thursday, 14 March 2019 at 12:38:30 UTC, Mike Parker wrote:
One of the items on my list of "things I'd like to do if I 
only had the time" is to create a Mud server with D and deploy 
it with Docker. Just for kicks. If I ever do get around to it, 
my ignorance of all things Docker will not be the time sink it 
could have been thanks to this latest post on the D Blog by 
Kai Nacke.


The Blog
https://dlang.org/blog/2019/03/14/containerize-your-d-server-application/

Reddit
https://www.reddit.com/r/programming/comments/b0zqck/containerize_your_d_server_application/


Can we make dub generate the docker container as well? CMake 
can do that. The usage would be simply


```
dub build -b release
dub build docker


There is a plugin system planned for dub. This requirement seems 
to be a very good use case.


https://github.com/dlang/dub/wiki/DEP3

If you have time, please contribute to Dub by adding this feature.

Kind regards
Andre



Re: Release D 2.085.0

2019-03-03 Thread Andre Pany via Digitalmars-d-announce

On Sunday, 3 March 2019 at 14:01:03 UTC, aliak wrote:

On Saturday, 2 March 2019 at 18:19:37 UTC, Martin Nowak wrote:

Glad to announce D 2.085.0, ♥ to the 49 contributors.

This release comes with context-aware assertion messages, 
lower GC memory usage, a precise GC, support to link custom 
GCs, lots of Objective-C improvements¹, and 
toolchainRequirements for dub. This release also ended 
official support for OSX-32.


http://dlang.org/download.html 
http://dlang.org/changelog/2.085.0.html


¹: There is a pending Objective-C fix
(https://github.com/dlang/dmd/pull/9402) that slipped 2.085.0 
but will

be released with 2.085.1 soon (~1.5 weeks).

-Martin


I'm not sure what's happening here but with 2.085.0 I'm getting 
linking errors all of a sudden. Could it be dub?


To reproduce, init a new dub project, add dependency on "ddash" 
and use this main:


import std.stdio;

void main() {
import ddash: stringifySeperatedBy;
writeln([1, 2, 3].stringifySeperatedBy("."));
}

Linking results in:

Linking...
Undefined symbols for architecture x86_64:
  "__D5ddash12__ModuleInfoZ", referenced from:
  __D3app12__ModuleInfoZ in blah.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to 
see invocation)



When I set compiler back to 2.084.1 then:

Linking...
To force a rebuild of up-to-date targets, run again with 
--force.

Running ./blah
1.2.3

Any ideas?


After upgrading DMD in most cases I have to either delete the 
cached dub packages in the user directory or execute dub with the 
--force argument to rebuild all dependent dub packages.
In theory dub should be able to recognize a changed compiler 
version and automatically rebuild all dependencies but I do not 
know how hard it would be to implement this.


Kind regards
Andre


Re: Sublime Text Syntax Definition Rewrite

2019-02-28 Thread Andre Pany via Digitalmars-d-announce
On Thursday, 28 February 2019 at 00:30:24 UTC, Benjamin Schaaf 
wrote:

Hello all,

I've recently gotten a massive rewrite of the D syntax 
highlighting merged into the Sublime Text default packages. 
This has since been deployed in the most recent development 
version 3192 (license required) and will be shipping with the 
next stable.


[...]


Great work! There is also the "D Language Server" available 
(https://github.com/d-language-server/dls) which can be used to 
add code completion, linting and formatting.
You may check whether you can make direct use of DLS in your 
plugin without usage

of the generic LSP plugin (https://github.com/tomv564/LSP).

Kind regards
André


Re: Beta 2.085.0

2019-02-26 Thread Andre Pany via Digitalmars-d-announce

On Tuesday, 26 February 2019 at 08:09:00 UTC, Andre Pany wrote:

On Sunday, 24 February 2019 at 22:31:53 UTC, Martin Nowak wrote:

[...]


I just found this regression for linux and windows, starting 
with 2.084.1 and still

occurring in this second beta:

[...]


Issue created
https://issues.dlang.org/show_bug.cgi?id=19701


Re: Beta 2.085.0

2019-02-26 Thread Andre Pany via Digitalmars-d-announce

On Sunday, 24 February 2019 at 22:31:53 UTC, Martin Nowak wrote:
On Saturday, 16 February 2019 at 15:06:51 UTC, Martin Nowak 
wrote:
Glad to announce the first beta for the 2.085.0 release, ♥ to 
the 49 contributors.


http://dlang.org/download.html#dmd_beta 
http://dlang.org/changelog/2.085.0.html


Second beta is live now.


I just found this regression for linux and windows, starting with 
2.084.1 and still

occurring in this second beta:

app.d
import std.string;
void main(){}

dmd -m64 -c -ofdlang-sample.o -unittest -Xfdocs.json 
-Df__dummy.html -Isource app.d && dmd -ofdlang-sample 
dlang-sample.o -m64


dlang-sample.o: In function 
`_D3std8typecons__T5TupleTaTaZQl6toHashMxFNaNbNiNfZm':

app.d:(.text._D3std8typecons__T5TupleTaTaZQl6toHashMxFNaNbNiNfZm[_D3std8typecons__T5TupleTaTaZQl6toHashMxFNaNbNiNfZm]+0x19):
 undefined reference to `_D6object__T6hashOfTxaZQlFNaNbNiNfKxaZm'
app.d:(.text._D3std8typecons__T5TupleTaTaZQl6toHashMxFNaNbNiNfZm[_D3std8typecons__T5TupleTaTaZQl6toHashMxFNaNbNiNfZm]+0x32):
 undefined reference to `_D6object__T6hashOfTxaZQlFNaNbNiNfKxaZm'
collect2: error: ld returned 1 exit status
Error: linker exited with status 1

I currently do not have access to Issues, will create an issue 
later.


Kind regards
André


Re: Fireside chat with Walter Bright, the creator of the D programming language

2019-02-15 Thread Andre Pany via Digitalmars-d-announce

On Thursday, 14 February 2019 at 23:34:40 UTC, Ali Çehreli wrote:

February 21, 2019
7pm

  
https://www.meetup.com/D-Lang-Silicon-Valley/events/zhpvlqyzdbcc/


We will post a streaming link at the time of the meetup.

What specific questions would you like answered?

Ali


It would be quite interesting to hear what D goals Walter has for 
2019, he want to achieve.


This would be also interesting to hear from the other DLang 
foundation members.


Kind regards
Andre


Re: Beta 2.084.1

2019-02-05 Thread Andre Pany via Digitalmars-d-announce

On Tuesday, 5 February 2019 at 04:18:55 UTC, Martin Nowak wrote:
Glad to announce the first beta for the 2.084.1 point release, 
♥ to the 6 contributors.


http://dlang.org/download.html#dmd_beta 
http://dlang.org/changelog/2.084.1.html


As usual please report any bugs at
https://issues.dlang.org

-Martin


This beta again has this issue:
lld-link.exe: error: could not open msvcrt100.lib: no such file 
or directory
lld-link.exe: error: could not open OLDNAMES.lib: no such file or 
directory


(It is caused if you have a visual studio / build tools 
installation, then

lld gets confused).

It was already solved in the nightly build, I downloaded some 
days ago.


Kind regards
André


Re: GtkD Blog Now Up and Running

2019-01-26 Thread Andre Pany via Digitalmars-d-announce

On Saturday, 26 January 2019 at 09:32:53 UTC, Andre Pany wrote:

On Friday, 25 January 2019 at 21:16:59 UTC, Ron Tarrant wrote:

Hi y'all,

As of January 11, 2019, http://gtkdcoding.com is up. It's a 
blog, it's a github page, it's simple examples of how to use 
GtkD for all that GUI stuff.


My approach is to lay out a firm foundation for both 
imperative and object-oriented paradigms, then build from 
there, taking things one step at a time.


This being Friday, the 4th post went up this morning. Please 
do let me know if you find it useful.


And why did I wait until now to announce? Well, on day one, it 
seemed a bit silly to announce with only one post. After the 
second and third, well... I still didn't feel there was enough 
to warrant excitement. But four posts? Now that's something to 
speak up about, ain't it?


Yup. That's what I thought, too.


Great posts! Is there a reason you do not use dub? With dub it 
is even possible to set default architecture to x86_64 in the 
settings file. And the command line looks a bit less cryptic 
for new users.


Defintely worths a post on r/programming!

Kind regards
Andre


There was even the idea to support custom skeletons for dub init:

dub init sample1 -t gtdk

This would create a dub skeleton folder with a sample gtkd source 
file.


Martin Nowak had here a great idea how to achieve this

https://github.com/dlang/dub/pull/600

This feature would become quite handy.

Kind regards
Andre


Re: GtkD Blog Now Up and Running

2019-01-26 Thread Andre Pany via Digitalmars-d-announce

On Friday, 25 January 2019 at 21:16:59 UTC, Ron Tarrant wrote:

Hi y'all,

As of January 11, 2019, http://gtkdcoding.com is up. It's a 
blog, it's a github page, it's simple examples of how to use 
GtkD for all that GUI stuff.


My approach is to lay out a firm foundation for both imperative 
and object-oriented paradigms, then build from there, taking 
things one step at a time.


This being Friday, the 4th post went up this morning. Please do 
let me know if you find it useful.


And why did I wait until now to announce? Well, on day one, it 
seemed a bit silly to announce with only one post. After the 
second and third, well... I still didn't feel there was enough 
to warrant excitement. But four posts? Now that's something to 
speak up about, ain't it?


Yup. That's what I thought, too.


Great posts! Is there a reason you do not use dub? With dub it is 
even possible to set default architecture to x86_64 in the 
settings file. And the command line looks a bit less cryptic for 
new users.


Defintely worths a post on r/programming!

Kind regards
Andre


Re: Last Year in D

2019-01-24 Thread Andre Pany via Digitalmars-d-announce

On Thursday, 24 January 2019 at 13:58:59 UTC, Mike Parker wrote:
I said in my annual D Blog retrospective that I wanted to do a 
similar post focused on D at large. Sebastian Wilzbach sent me 
a tremendously helpful info dump of all sorts of goings on, 
most of which I knew nothing about. When I sat down to write 
the post, it occurred to me that since Adam Ruppe had recently 
revived 'This Week in D', it would be fun to have him write up 
a 'Last Year in D'. I asked, he accepted, I sent him Seb's data 
(thanks Seb!) and the result is now live on the blog.


The blog:
https://dlang.org/blog/2019/01/24/last-year-in-d/

Reddit:
https://www.reddit.com/r/d_language/comments/ajclv0/last_year_in_d_the_d_blog/


I totally aggree, 2018 was such a fantastic year for D. There are 
a lot of small and big improvements, it is just a pleasure now to 
use D.


Thanks to everyone making this possible!!!

Kind regards
Andre


Re: My Meeting C++ Keynote video is now available

2019-01-14 Thread Andre Pany via Digitalmars-d-announce

On Monday, 14 January 2019 at 21:08:50 UTC, Ben Jones wrote:
On Saturday, 12 January 2019 at 15:51:03 UTC, Andrei 
Alexandrescu wrote:

https://youtube.com/watch?v=tcyb1lpEHm0

If nothing else please watch the opening story, it's true and 
quite funny :o).


Now as to the talk, as you could imagine, it touches on 
another language as well...



Andrei


A lot of the questions were about documenting the hook API and 
catching misspelling errors when defining a hook.


It seems like it would be nice if you could list the hook 
method names a static array or dictionary or struct containing 
a field for each method, etc.  One each for the required and 
optional methods.


The hook author could grab the name/signature of the method 
they're intending to implement from that data structure and any 
misspellings would be caught immediately.


Is it possible to declare a function whose name is a CTFE 
computed string?


For ranges there are concepts like Input Range. A struct/class 
must have several methods to be compliant. You can check the 
compliance using function isInputRange
 
https://dlang.org/library/std/range/primitives/is_input_range.html


Maybe something similiar can be done here. Not checking 
individual methods, but concepts...


Kind regards
Andre


Re: Release D 2.084.0

2019-01-05 Thread Andre Pany via Digitalmars-d-announce

On Saturday, 5 January 2019 at 08:54:45 UTC, Walter Bright wrote:

On 1/2/2019 5:25 AM, Martin Nowak wrote:

Glad to announce D 2.084.0, ♥ to the 53 contributors.


Have we ever had 53 for one release before? Wow!


There are even more;), contributors to dub repository aren't 
listed here, if they haven't also contributed to other 
repositories (dmd, druntime,...) too.


Kind regards
Andre


Re: now it's possible! printing floating point numbers at compile-time

2019-01-04 Thread Andre Pany via Digitalmars-d-announce

On Sunday, 30 December 2018 at 15:14:08 UTC, 0xEAB wrote:
On Thursday, 27 December 2018 at 12:46:06 UTC, Nick Treleaven 
wrote:

Is the MIT license compatible with Boost?
Simply put, no. The MIT license comes with the additional 
requirement of including the copyright notice and license in 
all copies (incl. binary form), whereas BSL-1.0 requires this 
only for source form.


PS: I am not a lawyer.


Fantastic news
https://github.com/night-shift/fpconv/blob/master/license

night-shift was so kind to release it under boost license.

Kind regards
Andre


Re: Release Candidate [was: Re: Beta 2.084.0]

2018-12-30 Thread Andre Pany via Digitalmars-d-announce

On Saturday, 29 December 2018 at 19:14:29 UTC, Andre Pany wrote:
On Saturday, 29 December 2018 at 15:21:32 UTC, Martin Nowak 
wrote:

On 12/17/18 10:38 PM, Martin Nowak wrote:

Release Candidate for 2.084.0 is live now.

http://dlang.org/download.html#dmd_beta 
http://dlang.org/changelog/2.084.0.html


As usual please report any bugs at https://issues.dlang.org

-Martin


The Runtime.loadLibrary issue is a heavy regression 
(https://issues.dlang.org/show_bug.cgi?id=19498).


Is there a workaround for the issue? Should the workaround info 
be added to the release note?


Kind regards
Andre


Thanks a lot Rainer for solving this issue 
(https://github.com/dlang/druntime/pull/2425)


Kind regards
Andre


Re: Release Candidate [was: Re: Beta 2.084.0]

2018-12-29 Thread Andre Pany via Digitalmars-d-announce

On Saturday, 29 December 2018 at 15:21:32 UTC, Martin Nowak wrote:

On 12/17/18 10:38 PM, Martin Nowak wrote:

Release Candidate for 2.084.0 is live now.

http://dlang.org/download.html#dmd_beta 
http://dlang.org/changelog/2.084.0.html


As usual please report any bugs at https://issues.dlang.org

-Martin


The Runtime.loadLibrary issue is a heavy regression 
(https://issues.dlang.org/show_bug.cgi?id=19498).


Is there a workaround for the issue? Should the workaround info 
be added to the release note?


Kind regards
Andre


  1   2   >