Re: DMD now incorporates a disassembler
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
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
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
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!
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!
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
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!
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
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
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
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
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
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
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
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
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
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
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
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!
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
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
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!
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!
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!
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
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!
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!
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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?
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!
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
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]
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]
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
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
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
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
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
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
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
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
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
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?
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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]
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]
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