Re: Beerconf April

2024-04-25 Thread Steven Schveighoffer via Digitalmars-d-announce
On Saturday, 13 April 2024 at 18:39:29 UTC, Steven Schveighoffer 
wrote:

# BEERCONF!

To celebrate taxes, a great eclipse (and my birthday), we will 
have a nice online meetup known as Beerconf. This month it is 
on the 27-28.


Just a friendly reminder, this is happening in 2 days!

See you then

-Steve


Re: photon v0.7.0 with Windows support(!)

2024-04-24 Thread Steven Schveighoffer via Digitalmars-d-announce

On Tuesday, 23 April 2024 at 19:05:48 UTC, Dmitry Olshansky wrote:

On Tuesday, 23 April 2024 at 17:15:13 UTC, Sönke Ludwig wrote:
I guess that the Darwin support will be restricted to freely 
distributed macOS applications, as calling `__syscall` surely 
is a private API that cannot be used in any AppStore 
application, right?


You tell me;)
API looks just like any other libc function.


I can tell you right off that this will not be allowed in 
approved apps. Not just for the `__syscall`, but for overriding 
the normal system calls of all libraries. I can't imagine Apple 
will be OK with that.


-Steve


Beerconf April

2024-04-13 Thread Steven Schveighoffer via Digitalmars-d-announce

# BEERCONF!

To celebrate taxes, a great eclipse (and my birthday), we will 
have a nice online meetup known as Beerconf. This month it is on 
the 27-28.


Obligatory link to beerconf T's: 
https://www.zazzle.com/store/dlang_swag/products?cg=196874696466206954


## What is Beerconf?

Check out the [wiki article](https://wiki.dlang.org/Beerconf)

## Presentations?

The next live dconf is in 
[September](https://dconf.org/2024/index.html), and submissions 
are due on May 17. This means April beerconf might be a good time 
to try out some ideas for a presentation. Let me know if you have 
anything you want to schedule, via discord, email, or anywhere 
you find me. I will announce it, and get you an audience!


Cheers! 

-Steve


Re: Release D 2.108.0

2024-04-01 Thread Steven Schveighoffer via Digitalmars-d-announce

On Monday, 1 April 2024 at 22:34:14 UTC, Iain Buclaw wrote:

Glad to announce D 2.108.0, ♥ to the 36 contributors.

This release comes with 8 major changes and 36 fixed Bugzilla 
issues, including:


- In the language, named arguments for functions have been 
implemented and documented.

- In phobos, std.uni has been upgraded to Unicode 15.1.0.
- In dub, the fetch command now supports multiple arguments, 
recursive fetch, and is project-aware.



Also in this release -- Interpolation Expression Sequences 
(a.k.a. string interpolation).


Looks like a pretty sweet release to upgrade to!

-Steve


Re: Beerconf March (dconf online)

2024-03-22 Thread Steven Schveighoffer via Digitalmars-d-announce
On Monday, 18 March 2024 at 22:15:49 UTC, Richard (Rikki) Andrew 
Cattermole wrote:
Perhaps we can do the usual end of month time as well, I'll 
give you a ping if I can do it.


Depends upon how the week leading up to it for me goes (may not 
go well).


I missed everything, due to being on a trip -- still haven't even 
watched the talks!


And I should remind you that the last weekend of March is Easter 
(and I also would not be able to be there due to other events).


-Steve


Beerconf March (dconf online)

2024-03-09 Thread Steven Schveighoffer via Digitalmars-d-announce

# BEERCONF!

Dconf online is upon us next weekend! Instead of holding the 
normal beerconf at the end of the month, this month we will do a 
special early edition, to coincide with dconf online. We will 
start it on the 16th, and go through Sunday as usual.


## What is Beerconf?

Check out the [wiki article](https://wiki.dlang.org/Beerconf)

## Presentations?

Um... yeah, there [are 
some](https://dconf.org/2024/online/index.html)


Cheers! 

-Steve


Re: D Language Foundation November 2023 Monthly Meeting Summary

2024-03-04 Thread Steven Schveighoffer via Digitalmars-d-announce

On Monday, 4 March 2024 at 11:07:07 UTC, Mike Parker wrote:


### Steve and Me
I have to apologize to Steve. I managed to botch the initial 
recording, so whatever he and I said at the top of the meeting 
is lost. I'm pretty sure I talked about preliminary planning 
for DConf '24, but beyond that, I don't recall. I also know 
that whatever Steve reported, it wasn't anything that sparked 
debate. The first audible words I have from him are, "That's 
about all I have, really."


Sorry, I can't remember what I talked about in that timeframe. 
Lost to history I guess.


(UPDATE: Ultimately, [Átila finished the 
proposal](https://github.com/atilaneves/DIPs/blob/string-interpolation/Interpolation.md). After [a long discussion in the forums](https://forum.dlang.org/thread/unhv5u$1gps$1...@digitalmars.com), Walter approved the feature and [it was merged](https://github.com/dlang/dmd/pull/15715). Steven Schveighoffer [is working on a spec PR](https://github.com/schveiguy/dlang.org/blob/istring/spec/istring.dd).)


The spec is updated (that link is dead because I deleted the 
branch, always good to use the `y` button on github to get a link 
to the direct commit). You can still see the PR here: 
https://github.com/dlang/dlang.org/pull/3768


To see the spec, just go to [the current 
spec](https://dlang.org/spec/istring.html), for some reason we 
publish the master branch of the spec as the current release.


-Steve



Re: Beerconf February 2024

2024-02-22 Thread Steven Schveighoffer via Digitalmars-d-announce
On Saturday, 10 February 2024 at 17:07:04 UTC, Steven 
Schveighoffer wrote:

# BEERCONF!

February is the short month, but it's a tad bit longer this 
year. However, beerconf doesn't care about this, we still just 
pick the last weekend, and that isn't any different. This 
means, Feb 24-25 is the time for having conversations about D 
and other fun stuff!


What day is it? It's the day I tell you that Beerconf is nigh!

See you in a couple days.

-Steve


Re: Crow programming language

2024-02-16 Thread Steven Schveighoffer via Digitalmars-d-announce

On Thursday, 15 February 2024 at 23:46:10 UTC, andy wrote:

On Thursday, 15 February 2024 at 15:24:37 UTC, IchorDev wrote:


You can make a scope with `nothrow`, `@nogc`, etc.:


I've been setting `@safe @nogc pure nothrow:` at the top of 
(almost) every module, but then I still have to do it at the 
top of each struct in the module (if it has functions) and 
after each delegate type.


`@safe` permeates into structs, the others do not.



If you make global variables `immutable`, you can access them 
in `pure` functions.


Is it as simple as that? I'd have to cast away the `immutable` 
when adding a new interned string though. Is that still the 
correct way to do it?


No, this is not correct.

What you are doing is something that is logically immutable, but 
not actually immutable.


What you need to do is to section this off into its own module, 
and then use language tricks to lie to the compiler. For 
instance, cast a function pointer that is not pure to a pure 
function. Then you need to carefully review the module for 
correctness from an API standpoint.


The language does something similar with memory allocation, which 
uses a global data structure to allocate memory, but effectively 
is giving you back memory that is unique while it is valid.


-Steve


Beerconf February 2024

2024-02-10 Thread Steven Schveighoffer via Digitalmars-d-announce

# BEERCONF!

February is the short month, but it's a tad bit longer this year. 
However, beerconf doesn't care about this, we still just pick the 
last weekend, and that isn't any different. This means, Feb 24-25 
is the time for having conversations about D and other fun stuff!


Obligatory link to beerconf T's: 
https://www.zazzle.com/store/dlang_swag/products?cg=196874696466206954


## What is Beerconf?

Check out the [wiki article](https://wiki.dlang.org/Beerconf)

## Presentations?

We have dconf online coming up next month, but if you had 
something to talk about that isn't as formal, send me a note on 
discord or slack, and I will announce it here.


Last month, Chibisi presented his library to hook D to the R 
programming langauge, and it was quite interesting! I uploaded a 
recording of it 
[here](https://forum.dlang.org/post/uleppyzlyiatpkhck...@forum.dlang.org), in case you missed it.


See you in a few weeks!

Cheers! 

-Steve


Re: Beerconf January 2024

2024-02-08 Thread Steven Schveighoffer via Digitalmars-d-announce
On Sunday, 21 January 2024 at 02:27:03 UTC, Steven Schveighoffer 
wrote:

Hi everyone!

On Saturday the 27th, at 17:00 UTC, github user Chibisi has 
asked to give a presentation on his project, 
[Saucer](https://github.com/chibisi/saucer).


The purpose of the saucer project is to create bidirectional 
interop between R, the statistics programming language and D. 
The aim is that in time, it will have easily accessible 
capabilities similar to libraries like Rcpp in terms of its 
features and capability, but with the added advantage that the 
D programming language is used with R, and can bring it’s 
expressive power and other capabilities to build analytical 
software that can be made available in R as well as D being 
able to access R’s rich API. A live demonstration of the 
library in use will be included by way of an example.


Hope you all can join us! I'll post a reminder just before it 
happens.


Thanks to @realdoigt, we have a recording of this! And of course, 
thanks to Chibisi for the great library and presentation!


https://www.youtube.com/watch?v=sA1SeDNAqCc

-Steve


Re: Preparing for the New DIP Process

2024-01-27 Thread Steven Schveighoffer via Digitalmars-d-announce

On Thursday, 25 January 2024 at 15:03:41 UTC, Max Samukha wrote:
On Monday, 22 January 2024 at 23:28:40 UTC, Jonathan M Davis 
wrote:




Of course, ultimately, different programmers have different 
preferences, and none of us are going to be happy about 
everything in any language.


It's not only about preferences. The feature is inconsistent 
with how 'invariant' and 'synchronized' are specified. They 
imply class-instance-level private, while the language dictates 
module-level. Consider:


```d
synchronized class C
{
private int x;
private int y;

invariant () { assert (x == y); }

static void foo(C c)
{
// mutate c
}
}
```

Same thing. Yet would still break with some sort of "class-only 
private"


the unittest case is also similar -- what happens if you put the 
unittest next to the function being tested? It's now in the 
class, so it can access "true" private data. Same problems, this 
even can happen in Java. I don't see what the difference is. Same 
code, same file, just in a different spot? Seems more like you 
just need to... not do that.


-Steve


Re: Beerconf January 2024

2024-01-27 Thread Steven Schveighoffer via Digitalmars-d-announce
On Saturday, 27 January 2024 at 16:05:46 UTC, Richard (Rikki) 
Andrew Cattermole wrote:
Reminder Chibisi's talk on https://github.com/chibisi/saucer is 
in an hour!


The purpose of the saucer project is to create bidirectional 
interop between R, the statistics programming language and D. 
The aim is that in time, it will have easily accessible 
capabilities similar to libraries like Rcpp in terms of its 
features and capability, but with the added advantage that the 
D programming language is used with R, and can bring it’s 
expressive power and other capabilities to build analytical 
software that can be made available in R as well as D being 
able to access R’s rich API. A live demonstration of the 
library in use will be included by way of an example.



Talk starting now!

-Steve


Re: Beerconf January 2024

2024-01-25 Thread Steven Schveighoffer via Digitalmars-d-announce
On Sunday, 14 January 2024 at 20:29:06 UTC, Steven Schveighoffer 
wrote:

# BEERCONF!

Happy new year! It's getting to be that time again, where we 
chat about our favorite language, and enjoy some beverages! If 
it seems like it's been a long time, that's because it has. 
Last month's Beerconf was early, but now that the holidays are 
over, we are back to a normal schedule. The next one will be 
January 27-28, and I hope to see you all there!


Just a reminder that this is happening in 2 days!

-Steve


Re: Would this be a useful construct to add to D? auto for constructor call.

2024-01-23 Thread Steven Schveighoffer via Digitalmars-d-announce

On Tuesday, 23 January 2024 at 11:11:00 UTC, ryuukk_ wrote:
On Tuesday, 23 January 2024 at 06:30:08 UTC, Jonathan M Davis 
wrote:
That being said, I expect that it would be pretty easy to 
write a mixin to do something like that if you really wanted 
to. Also, if you're simply looking to not have to name the 
type, you could do


dataGrid = new typeof(datagrid)(15);



You like to turn off people before they get the chance to 
develop further, this is bad


Would you like to encourage proposals/work/effort that will 
ultimately not be accepted? I don't. I would rather tell someone 
no early than tell them no later. And I agree with Jonathan, zero 
proposals that infer type from how they are used have been 
accepted by Walter, this one probably will be no different.


To the OP, I think the value of the feature needs to be more than 
just avoiding repeating the name of the type.


You also can do some library tricks (unfortunately this won't 
count as construction, but probably is fine in most cases)


```d
auto create(T, Args...)(out T val, Args args)
{
   static if(is(T == class))
  val = new T(args);
   else static if(...) // do eveyrything else.
}

...

dataGrid.create(15);
```

-Steve


Re: sqlite support added to sqlbuilder

2024-01-21 Thread Steven Schveighoffer via Digitalmars-d-announce

On Sunday, 21 January 2024 at 21:27:30 UTC, zoujiaqing wrote:


Thank you! I want postgresql :)


It should be pretty straightforward. I had to rewrite a lot of it 
to fit the API of sqlite, those changes should make it easier to 
add postgresql (which is on my todo list).


-Steve


Re: Beerconf January 2024

2024-01-20 Thread Steven Schveighoffer via Digitalmars-d-announce
On Sunday, 14 January 2024 at 20:29:06 UTC, Steven Schveighoffer 
wrote:

# BEERCONF!
The next one will be January 27-28, and I hope to see you all 
there!


Hi everyone!

On Saturday the 27th, at 17:00 UTC, github user Chibisi has asked 
to give a presentation on his project, 
[Saucer](https://github.com/chibisi/saucer).


The purpose of the saucer project is to create bidirectional 
interop between R, the statistics programming language and D. The 
aim is that in time, it will have easily accessible capabilities 
similar to libraries like Rcpp in terms of its features and 
capability, but with the added advantage that the D programming 
language is used with R, and can bring it’s expressive power and 
other capabilities to build analytical software that can be made 
available in R as well as D being able to access R’s rich API. A 
live demonstration of the library in use will be included by way 
of an example.


Hope you all can join us! I'll post a reminder just before it 
happens.


-Steve


Beerconf January 2024

2024-01-14 Thread Steven Schveighoffer via Digitalmars-d-announce

# BEERCONF!

Happy new year! It's getting to be that time again, where we chat 
about our favorite language, and enjoy some beverages! If it 
seems like it's been a long time, that's because it has. Last 
month's Beerconf was early, but now that the holidays are over, 
we are back to a normal schedule. The next one will be January 
27-28, and I hope to see you all there!


Obligatory link to beerconf T's: 
https://www.zazzle.com/store/dlang_swag/products?cg=196874696466206954


## What is beerconf?

Check out the [wiki article](https://wiki.dlang.org/Beerconf)

## Presentations?

I'm always happy to schedule some time to give a presentation on 
something. Please contact me via the D discord or slack and I 
will announce it here.


Cheers! 

-Steve


Re: sqlite support added to sqlbuilder

2024-01-04 Thread Steven Schveighoffer via Digitalmars-d-announce

On Thursday, 4 January 2024 at 18:03:56 UTC, Leonardo wrote:
On Saturday, 30 December 2023 at 22:11:55 UTC, Steven 
Schveighoffer wrote:
auto andrei = db.fetchOne(select(ads).where(ads.firstname, 
" = 'Andrei'"));


How SQL injection are avoided here?


SQL injection is avoided by passing parameter data. You use the 
`param` wrapper.


So if you had unqualified user input, it would be:

```d
string personname = getFromUser();
auto author = db.fetchOne(select(ads).where(ads.firstname, " = ", 
personname.param);

```

For everything except strings, it is a static error to pass them 
in without the `.param` wrapper. For strings, I can't help it, 
there is no mechanism to find out whether you are writing SQL or 
giving me a parameter.


This should be fixable if interpolation ever happens (and I can 
get rid of the requirement for `.param`).


-Steve


Re: Release D 2.106.1

2024-01-01 Thread Steven Schveighoffer via Digitalmars-d-announce

On Tuesday, 2 January 2024 at 02:48:29 UTC, Andrej Mitrovic wrote:
Does anyone know when did named arguments initially land in the 
compiler, as part of which release..? I never saw it as a 
headline feature in any previous release notes.


They are not finished yet, which is why they were not announced. 
Judging by run.dlang.io, it was in 2.103.


-Steve


sqlite support added to sqlbuilder

2023-12-30 Thread Steven Schveighoffer via Digitalmars-d-announce

https://code.dlang.org/packages/sqlbuilder

This project is something I use extensively in my work project, 
and allows dynamic building of SQL statements in a way that 
automatically deals with joins.


It also automatically serializes directly to structs representing 
database rows. It was featured in my dconf 2022 online talk -- 
Model all the things.


I just added support to use sqlite. The API isn't stable yet, but 
still super useful. It's one of those build-it-as-I-need-it 
things, so while there's a semblance of a plan, things that are 
finished are things that I've needed.


An example (with sqlite):

```d
import d2sqlite3;

import std.stdio;
import std.file : exists;
import std.array;

// yeah, I know, I need a package include here...
import sqlbuilder.uda;
import sqlbuilder.dataset;
import sqlbuilder.dialect.sqlite;
import sqlbuilder.types;

import d2sqlite3;

struct Author
{
@primaryKey @autoIncrement int id;
string firstname;
string lastname;
static @refersTo!Book @mapping("author_id") Relation books;
}

struct Book
{
@primaryKey @autoIncrement int id;
string title;
string description;
@mustReferTo!Author("author") int author_id;
}

void main()
{
auto shouldInitialize = !exists("books.sqlite");
auto db = Database("books.sqlite");
if(shouldInitialize)
{
// create the tables
db.execute(createTableSql!Author);
db.execute(createTableSql!Book);

// add some books and authors
Author walter = Author(
firstname: "Walter",
lastname: "Bright");
db.create(walter); // automatic serialization to sql 
insertion statement

Author andrei = Author(
firstname: "Andrei",
lastname: "Alexandrescu");
db.create(andrei);

db.create(Book(
title: "The D Programming Language",
description: "The OG D manual",
author_id: andrei.id));
db.create(Book(
title: "Modern C++ Design",
description: "The OG C++ template manual",
author_id: andrei.id));
db.create(Book(
title: "The D specification",
description: "The Spec of the D programming 
language",

author_id: walter.id));
}

// get an author by name
DataSet!Author ads;
auto andrei = db.fetchOne(select(ads).where(ads.firstname, " 
= 'Andrei'"));

// do some selections based on the dataset of books
DataSet!Book bds;
foreach(booktitle, author; db.fetch(select(bds.title, 
bds.author)))

{
writefln("Found book %s, written by %s %s",
 booktitle, author.firstname, 
author.lastname);

}
auto andreiBooks = db.fetch(select(bds)
.where(bds.author_id, " = ", 
andrei.id.param)).array;

writeln("Andrei's books: ", andreiBooks);
}
```

Code is very similar for using mysql as well, just import 
mysql-native and sqlbuilder.dialect.mysql.


Next up would be postgresql, not sure when I'll have a need to 
build that...


-Steve


Re: jsoniopipe now supports JSON5

2023-12-29 Thread Steven Schveighoffer via Digitalmars-d-announce

On Friday, 29 December 2023 at 08:04:31 UTC, Zz wrote:

Any plans on having an interface similar to std.json?


I replied on the [learn 
forum](https://forum.dlang.org/post/szepssmksyrcdzbvs...@forum.dlang.org).


-Steve


Re: Beerconf December 2023

2023-12-14 Thread Steven Schveighoffer via Digitalmars-d-announce
On Saturday, 2 December 2023 at 21:48:21 UTC, Steven 
Schveighoffer wrote:

# BEERCONF!

So it's now down to December 16-17, which is in 2 weeks.


Now in 2 days. See you there!

-Steve


Beerconf December 2023

2023-12-02 Thread Steven Schveighoffer via Digitalmars-d-announce

# BEERCONF!

Beerconf this month is not on December 30-31, because that's new 
years eve.


It's not on December 23-24 because that's Christmas eve

So it's now down to December 16-17, which is in 2 weeks.

Note that even though I didn't get much response to the poll I 
posted on Beerconf scheduling, it seems like the majority of 
those who answered like the current schedule, so we will keep 
that.


Looking for the perfect gift for yourself? 
https://www.zazzle.com/store/dlang_swag/products?cg=196874696466206954


## What is beerconf?

Check out the [wiki article](https://wiki.dlang.org/Beerconf).

## Presentations?

If anyone has anything they want to share with the D world, 
please let me know via slack or discord and I will announce it 
here!


Cheers! 

-Steve


Re: Beerconf November

2023-11-23 Thread Steven Schveighoffer via Digitalmars-d-announce
On Sunday, 12 November 2023 at 20:59:57 UTC, Steven Schveighoffer 
wrote:

# BEERCONF!

This month we will be having beerconf in 2 weeks on November 
25-26. Online as usual, hope to see you all there!


Happy Thanksgiving to my American friends! Beerconf in 2 days.

If you haven’t yet voted, I posted a poll on moving beerconf. 
https://forum.dlang.org/post/igntdbcczalroyxex...@forum.dlang.org


-Steve


Re: DLF September 2023 Planning Update

2023-11-15 Thread Steven Schveighoffer via Digitalmars-d-announce

On Tuesday, 14 November 2023 at 20:09:53 UTC, Dennis wrote:
On Tuesday, 14 November 2023 at 19:13:38 UTC, Steven 
Schveighoffer wrote:
As I understand the current thinking, that is not what D is 
intending to do.


Additional changes don't require a new edition to be enabled, 
only breaking changes. I expect editions to mostly subtract 
code, by turning existing deprecations into errors and enabling 
preview switches like nosharedaccess, dip1000, 
fixImmutableConv, systemVariables.


This sounds like it's not the mechanism being envisioned for 
modifying phobos or druntime.


Looking forward to the full description!

-Steve


Re: Beerconf November

2023-11-15 Thread Steven Schveighoffer via Digitalmars-d-announce

On Sunday, 12 November 2023 at 21:12:34 UTC, Sergey wrote:


At last beerconf was discussion that last week of the month is 
always under pressure of deadlines and plans.. There were 
proposals to postpone it in the middle of the month


I must not have been online during that discussion. I'm certainly 
open to moving it to another weekend, I can drink a beer any time 
of month ;)


I'll set up a poll.

I also just realized, this is the weekend after Thanksgiving... 
But my turkey coma should be over by then.


-Steve


Re: DLF September 2023 Planning Update

2023-11-14 Thread Steven Schveighoffer via Digitalmars-d-announce

On Tuesday, 14 November 2023 at 18:40:58 UTC, Adam D Ruppe wrote:
On Tuesday, 14 November 2023 at 17:57:36 UTC, Steven 
Schveighoffer wrote:
That's not any better. If you have to opt-in to the language 
as it exists, people are going to quit immediately.


Counterpoint: javascript's "use strict".


The absence of "use strict" does not prevent you from using 
latest features. If you use the later features, it infers you 
meant "use strict". As I understand the current thinking, that is 
not what D is intending to do.


This could potentially work for D editions -- if you use a newer 
syntax/feature, then you have opted into that version of the 
language? But I am not sure this is worth the complication. Much 
easier to do the dumb thing and require specification.


Does "use strict" involve library API changes?

-Steve


Re: DLF September 2023 Planning Update

2023-11-14 Thread Steven Schveighoffer via Digitalmars-d-announce

On Tuesday, 14 November 2023 at 16:07:26 UTC, Mike Parker wrote:


Experience with deprecations has shown people don't want to 
take extra steps to make their outdated dependencies compile. 
The goal with editions is that you should never have to take 
any extra steps to use older code in your program. You can't do 
that if the default edition changes with every new compiler 
release. But you can do that if each module explicitly declares 
which edition it needs.


What do we want the first experience with D to be like?

A person trying out D, who writes a one-file simple application 
using phobos *does not care* that a lib abandoned in 2018 still 
compiles. So why should they be the ones paying the penalty?


I get that we want to stop breaking builds. But the answer there 
is simple -- provide a way to do it by attributing the files, or 
by telling the compiler "these files are edition X" or whatever. 
And once you attribute it, it never breaks again. Sounds like a 
reasonable cost to me for those who want long-lasting code!


There are other options here. Like use the filesystem to identify 
the edition either via config or filenames.


An option to specify the latest edition via the attribute came 
up in our discussions, so I'm sure we'll have that. And I 
anticipate there'll be some way to generate source files with 
the appropriately decorated module declarations, probably 
through third-party tools like code-d, maybe from a tool that 
ships with (or is built into) the compiler.


That's not any better. If you have to opt-in to the language as 
it exists, people are going to quit immediately. I'm not joking 
about this. Imagine spending 2 hours trying to figure out why 
your app that is trying out some new feature doesn't compile, 
only to find out after posting online that it was looking at some 
ancient version of phobos.


-Steve


Re: First Beta 2.106.0

2023-11-14 Thread Steven Schveighoffer via Digitalmars-d-announce

On Thursday, 2 November 2023 at 00:57:23 UTC, Iain Buclaw wrote:
Glad to announce the first beta for the 2.106.0 release, ♥ to 
the 33 contributors.



Kind of buried in the changelog (because it's just a few issues 
closed) is a really significant change coming to this version: 
the much-hated "statement is not reachable" warning is being 
removed.


This might be one of the greatest releases of D ever.

-Steve


Re: DLF September 2023 Planning Update

2023-11-14 Thread Steven Schveighoffer via Digitalmars-d-announce

On Tuesday, 14 November 2023 at 08:18:20 UTC, Mike Parker wrote:
* Editions will most likely be implemented via an attribute on 
the module declaration. We haven't discussed any details about 
that, but for now, just imagine something like `@edition(2024) 
module foo;`.


When considering how this should work, I would strongly suggest 
it be the default to work with the current edition of the 
language. Nobody wants to always have to attribute their module 
(or whatever other opt-in mechanism) to use current features. 
It's going to be a WTF moment for all newcomers to D.


This brings us to the problem that no prior libraries have 
editions marked on them. So I think there needs to be an external 
mechanism to be able to set the edition for a package or module 
from the command line, or somehow in a config file. Or you can 
set the "assumed" edition using a switch (but it should still 
default to "current").


-Steve


Beerconf November

2023-11-12 Thread Steven Schveighoffer via Digitalmars-d-announce

# BEERCONF!

This month we will be having beerconf in 2 weeks on November 
25-26. Online as usual, hope to see you all there!


The usual post for the official beerconf t-shirt: 
https://www.zazzle.com/store/dlang_swag/products?cg=196874696466206954


## What is beerconf?

Check out the [wiki article](https://wiki.dlang.org/Beerconf).

## Presentations?

If you want to give a presentation, please let me know either by 
email or discord or slack. I will make sure to announce it here!


Cheers! 

-Steve



Re: Beerconf October 2023

2023-10-27 Thread Steven Schveighoffer via Digitalmars-d-announce
On Saturday, 14 October 2023 at 20:15:49 UTC, Steven 
Schveighoffer wrote:

# BEERCONF!

This month we will be having beerconf in 2 weeks on October 
28-29. Online as usual, hope to see you all there!


A reminder that this is tomorrow!

-Steve


Beerconf October 2023

2023-10-14 Thread Steven Schveighoffer via Digitalmars-d-announce

# BEERCONF!

This month we will be having beerconf in 2 weeks on October 28-29. 
Online as usual, hope to see you all there!


Halloween is coming up, need a costume? 
https://www.zazzle.com/store/dlang_swag/products?cg=196874696466206954


## What is beerconf?

Check out the [wiki article](https://wiki.dlang.org/Beerconf).

## Presentations?

If you want to give a presentation, please let me know either by email 
or discord or slack. I will make sure to announce it here!


Cheers! 

-Steve


Re: Beerconf September 2023

2023-09-21 Thread Steven Schveighoffer via Digitalmars-d-announce
On Thursday, 14 September 2023 at 13:34:46 UTC, Steven 
Schveighoffer wrote:

# BEERCONF! Recovery edition...

Holy smokes! I just looked at the calendar, and the last full 
weekend in September is a week from Saturday. So I'm a bit late 
announcing this one (again), but the beerconf this month will 
be Sept 23-24.


Just a reminder this is happening in 2 days!

-Steve


Re: DConf '23 Talk Videos

2023-09-21 Thread Steven Schveighoffer via Digitalmars-d-announce

On Thursday, 21 September 2023 at 04:00:29 UTC, Mike Parker wrote:

On Thursday, 21 September 2023 at 01:11:13 UTC, matheus wrote:

Not a HW expert, but lowering the GPU settings couldn't at 
least get the job done (Slower but... done).




Not in this case. Turns out the graphics card's fans have 
stopped spinning. He's taking it to the service center today.


A family friend had the exact same thing happen. It was a 
software change to get them spinning again.


-Steve


Re: Bram Molenaar passed away

2023-09-18 Thread Steven Schveighoffer via Digitalmars-d-announce

On 9/18/23 3:55 PM, M. M. wrote:
See, e.g., https://j11g.com/2023/08/07/the-legacy-of-bram-moolenaar/ for 
a look-back post on Bram's legacy.


Any users of vim / neovim out there in the dlang world?

R.I.P. Bram.


Wow, RIP. So young too.

Been using vi/vim/neovim for over 25 years.

-Steve


Re: Warning for anyone who was at DConf.

2023-09-03 Thread Steven Schveighoffer via Digitalmars-d-announce

On Saturday, 2 September 2023 at 20:41:33 UTC, Dukc wrote:
Just a while ago I was hit by some sort of a violent ailment. I 
first noticed it like an hour ago, and I'm shivering as I stand 
in a well-heated house, despite having had a sauna just a while 
ago. Temperature already high.


I wouldn't rule out having contracted it at DConf, and could 
well be the Covid. Please watch your health for a few days if 
you were at DConf or related events.


Fwiw it’s definitely Covid. I tested positive today. Now trapped 
in London Heathrow for another week. A bizarre incident, I was on 
the plane going to Boston and they did a 180 after 30 minutes and 
booked us the next day. But of course, there is now this. Ugh


-Steve


Re: Beerconf July 2023

2023-07-27 Thread Steven Schveighoffer via Digitalmars-d-announce

On 7/16/23 9:09 PM, Steven Schveighoffer wrote:

# BEERCONF!

Beerconf for July is happening 2 weeks from now, on the 29-30.


A reminder to all that Beerconf is in a couple days!



Note that if we do Beerconf for August, it will be early, since 
real-life Beerconf will be happening at the live conference at the end 
of the month.


Last year, we did Beerconf in July before dconf on the 16th. Is everyone 
good with August 19th-20th? This is just over 1 week before actual dconf.


I will be unable to attend, as I have a previous plan for that time. But 
someone will turn the lights on!


-Steve


Beerconf July 2023

2023-07-16 Thread Steven Schveighoffer via Digitalmars-d-announce

# BEERCONF!

Beerconf for July is happening 2 weeks from now, on the 29-30.

Note that if we do Beerconf for August, it will be early, since 
real-life Beerconf will be happening at the live conference at the end 
of the month.


Want a beerconf T shirt? We know you do. 
https://www.zazzle.com/store/dlang_swag/products?cg=196874696466206954


## What is beerconf?
Check out the [wiki article](https://wiki.dlang.org/Beerconf).

## Presentations?

As always, I'm interested in having people present some topic. If you 
have something you want to reserve a time for, please send me a message 
in any of the channels (here, email, discord, slack, etc.) and I'll make 
sure to announce it.


Last month's Beerconf we had a presentation by YuQian Zhou on his design 
pattern to solve the C++ diamond problem. If you missed it, I posted the 
recording [on youtube](https://www.youtube.com/watch?v=8Ck0SgLKNcc)


Cheers! 

-Steve


Re: A New Era for the D Community

2023-07-06 Thread Steven Schveighoffer via Digitalmars-d-announce

On 7/6/23 12:16 AM, IchorDev wrote:

On Wednesday, 5 July 2023 at 21:50:37 UTC, Andrew wrote:


Why not just improve Phobos itself? Make PRs to add new modules to 
std.experimental, announce them here and elsewhere on the web, and get 
the community to support it.


Earlier in this thread it was pointed out that it's too arbitrary 
whether new modules will get accepted into `std.experimental` or not, 
therefore a fork that's more open to community contributions (whether 
good or bad), would be of value. As it is, some of Phobos is really 
great, some of it could do with more nothrow/custom allocator 
alternatives or a nicer API that clashes with itself less often, and 
some of it is just horrid.


Yeah, we are better off going the std.sumtype route -- release on dub, 
and then incorporate into Phobos if desired.




P.S. Who chose this silly name "std.experimental"? It might as well be 
"std.nonstandard".


It's purposely unattractive. We learned from `javax` of Java. It was 
supposed to be an "experimental" package, but people complained about 
the possibility of moving things into `java` so much that they had to 
leave packages there.


So we wanted to be very clear that packages in that branch of phobos are 
unstable, and could be removed/moved at any time. Use at your own risk.


-Steve


Re: Beerconf June 2023

2023-07-04 Thread Steven Schveighoffer via Digitalmars-d-announce

On 6/22/23 10:34 PM, Steven Schveighoffer wrote:
YuQian has asked that I post the abstract for the talk being given. A 
reminder that the talk is on Saturday at 19:00 UTC.



## Stop inheriting data fields!


Hi everyone, I recorded this presentation and put a video about it on 
youtube (with YuQian's permission). If you missed it during beerconf you 
can watch it here.


https://www.youtube.com/watch?v=8Ck0SgLKNcc

-Steve


Re: DasBetterR

2023-06-29 Thread Steven Schveighoffer via Digitalmars-d-announce

On 6/29/23 7:51 PM, bachmeier wrote:
I've been using D and R together for a decade. I wrote [a blog post for 
the D 
Blog](https://dlang.org/blog/2020/01/27/d-for-data-science-calling-r-from-d/) on the eve of the pandemic. I released the [embedrv2 library](https://github.com/bachmeil/embedrv2) in late 2021. It's useful for writing D functions that are called from R, using D's metaprogramming to write the necessary bindings for you.


My programs usually take the opposite approach, where D is the primary 
language, and I call into R to fill in missing functionality. I've 
accumulated a large collection of code snippets to enable all kinds of 
things. The problem is that they were scattered across many projects, 
there was no consistency across programs, documentation didn't exist, 
and they were more or less useless to anyone other than me.


[This Github repo](https://github.com/bachmeil/betterr) includes D 
modules, tests demonstrating most of the functionality, documentation, 
and some posts about how I do specific things. I'm sharing publicly all 
the things I've been doing in case it has value to anyone else.


Examples of functionality:

- Creating, accessing, and mutating R data structures, including vector, 
matrix, data frame, list, array, and time series types. Reference 
counting handles memory management.
- Basic statistical functionality like calculating the mean. Many of 
these functions use Mir for efficiency.

- Linear algebra
- Random number generation and sampling
- Parallel random number generation
- Numerical optimization: direct access to the C libraries used by R's 
optim function

- Quadratic programming
- Passing D functions to R without creating a shared library. For 
example, you can use a D function as the objective function you pass to 
constrOptim for constrained optimization problems.


[Project website](https://bachmeil.github.io/betterr/)


This is very cool! I've never used R, but I have wanted to learn more 
about such languages.


There's more detail on the website, but I used the name "Better R" 
because the entirety of R is available inside your D program and you can 
use D to improve on it as much as you'd like. Feel free to hate the name.


Awfull, awfull name...

-Steve


Re: Beerconf June 2023

2023-06-24 Thread Steven Schveighoffer via Digitalmars-d-announce

On 6/24/23 6:52 PM, Chris Katko wrote:

On Saturday, 24 June 2023 at 22:43:50 UTC, Steven Schveighoffer wrote:

On 6/24/23 9:01 AM, Richard (Rikki) Andrew Cattermole wrote:

Linkity link link https://meet.jit.si/Dlang2023JuneBeerConf


Unfortunately, we were getting some spam joiners. So if you want to 
join, the password is now `DlangRox`




Will there be a YouTube/whatever mirror of the conference afterward?


I have recorded the talk, and I will post a video at some point. But 
it's just the talk that was presented.


-Steve


Re: Beerconf June 2023

2023-06-24 Thread Steven Schveighoffer via Digitalmars-d-announce

On 6/24/23 9:01 AM, Richard (Rikki) Andrew Cattermole wrote:

Linkity link link https://meet.jit.si/Dlang2023JuneBeerConf


Unfortunately, we were getting some spam joiners. So if you want to 
join, the password is now `DlangRox`


-Steve


Re: Beerconf June 2023

2023-06-24 Thread Steven Schveighoffer via Digitalmars-d-announce

On 6/22/23 10:34 PM, Steven Schveighoffer wrote:

On 6/11/23 4:48 PM, Steven Schveighoffer wrote:

# BEERCONF!

Beerconf for June is happening 2 weeks from now, on the 24-25.


A reminder that this is happening in 2 days!

YuQian has asked that I post the abstract for the talk being given. A 
reminder that the talk is on Saturday at 19:00 UTC.


Just a reminder that this talk is happening, in about 5 minutes.

-Steve



Re: Beerconf June 2023

2023-06-23 Thread Steven Schveighoffer via Digitalmars-d-announce

On 6/22/23 10:34 PM, Steven Schveighoffer wrote:

On 6/11/23 4:48 PM, Steven Schveighoffer wrote:

# BEERCONF!

Beerconf for June is happening 2 weeks from now, on the 24-25.


A reminder that this is happening in 2 days!

YuQian has asked that I post the abstract for the talk being given. A 
reminder that the talk is on Saturday at 19:00 UTC.


YuQian also would like to mention that the work presented is patent 
pending as disclosed in the original paper pdf: 
https://github.com/joortcom/DDIFI/blob/main/ddifi.pdf


-Steve


Re: Beerconf June 2023

2023-06-22 Thread Steven Schveighoffer via Digitalmars-d-announce

On 6/11/23 4:48 PM, Steven Schveighoffer wrote:

# BEERCONF!

Beerconf for June is happening 2 weeks from now, on the 24-25.


A reminder that this is happening in 2 days!

YuQian has asked that I post the abstract for the talk being given. A 
reminder that the talk is on Saturday at 19:00 UTC.


See you there!

-Steve

## Stop inheriting data fields!

A new design pattern DDIFI (Decoupling Data Interface From data 
Implementation) as a clean and general solution to multiple inheritance


### Abstract

Traditionally in class based OOP languages, both the fields and methods 
from the super-classes are inherited by the sub-classes. However this 
may cause some serious problems in multiple inheritance, e.g. most 
notably the diamond problem. In this paper, we propose to stop 
inheriting data fields as a clean and general solution to such problems. 
We first present a design pattern to cleanly achieve multiple 
inheritance in C++, which can handle class fields of the diamond problem 
exactly according to the programmers’ intended application semantics. It 
gives programmers flexibility when dealing with the diamond problem for 
instance variables: each instance variable can be configured either as 
one joined copy or as multiple independent copies in the bottom class.


The key ideas are:

1. decouple data interface from data implementation;
2. in the regular methods implementation use virtual property methods 
instead of direct raw fields; and
3. after each semantic branching add (and override) the new semantic 
assigning property.


Then we show our method is general enough, and also applicable to any 
OOP languages that natively support multiple inheritance (e.g. C++, 
Python, Eiffel, etc.), or single inheritance languages that support 
default interface methods (e.g. Java, C# etc.).


For example, in the diamond inheritance problem of Faculty, and ResearchAssistant>,
we want to achieve the ideal application semantics: each 
ResearchAssistant should only have:

*  one (joined) copy of `_name` field, but
*  two (separated) different address fields:
   - one `_student_addr` ("dorm") as Student to takeRest(), and
   - one `_faculty_addr` ("lab") as Faculty to doBenchwork()

Our new design pattern can achieve this.

Also it works for the current D! although it's a bit hackish. With 
default interface methods it will be better (less convoluted).

(ref: https://github.com/joortcom/DDIFI/blob/main/d/MI.d)

### Speaker Bio

Ph.D Oxford Univ.; previous Google engineer; startup founder.


Re: Beerconf June 2023

2023-06-19 Thread Steven Schveighoffer via Digitalmars-d-announce

On 6/11/23 4:48 PM, Steven Schveighoffer wrote:

# BEERCONF!

Beerconf for June is happening 2 weeks from now, on the 24-25.


Just a quick update for this weekend's Beerconf, YuQian Zhou has 
contacted me about presenting on a new design pattern called DDIFI - 
Decoupling Data Interface From data Implementation. Presented as a clean 
and general solution to multiple inheritance. There is demo code for 
both C++ and Java, and the hope is that D can find use for it.


YuQian has agreed to join us for Beerconf and show the presentation on 
Saturday at 19:00 UTC!


I'll ping again this week to remind everyone, and ping again when this 
presentation starts.


See you then!

-Steve


Beerconf June 2023

2023-06-11 Thread Steven Schveighoffer via Digitalmars-d-announce

# BEERCONF!

Beerconf for June is happening 2 weeks from now, on the 24-25.

Wow, only a couple more months until dconf, can't wait to see everyone 
again! If you haven't booked yet, the early bird window is closing! 
https://dconf.org/2023/index.html


Want a beerconf T shirt? We know you do. 
https://www.zazzle.com/store/dlang_swag/products?cg=196874696466206954


## What is beerconf?
Check out the [wiki article](https://wiki.dlang.org/Beerconf).

## Presentations?

As always, I'm interested in having people present some topic. If you 
have something you want to reserve a time for, please send me a message 
in any of the channels (here, email, discord, slack, etc.) and I'll make 
sure to announce it.


Last month was a nice Q session with Mike talking about the IVY 
system. Thanks to him for coming on and sharing!


Cheers! 

-Steve


jsoniopipe now supports JSON5

2023-05-29 Thread Steven Schveighoffer via Digitalmars-d-announce

https://code.dlang.org/packages/jsoniopipe

This little project is one that I've tinkered with for a long time, I 
use it in a few places.


I just updated it to support [JSON5](https://json5.org), which is a 
format much more suited to configuration than straight JSON.


AFAIK, this is the first D project that parses JSON5!

-Steve


Re: Beerconf May 2023

2023-05-27 Thread Steven Schveighoffer via Digitalmars-d-announce

On 5/25/23 10:39 AM, Steven Schveighoffer wrote:

Mike Parker is going to be doing a Q session around 15:00 UTC on 
Saturday on IVY!


I'll send out a reminder here and elsewhere when it starts.


Happening now!

-Steve



Re: Beerconf May 2023

2023-05-25 Thread Steven Schveighoffer via Digitalmars-d-announce
On Monday, 15 May 2023 at 15:42:02 UTC, Steven Schveighoffer 
wrote:

# BEERCONF!

Beerconf for May is happening 2 weeks from now, on the 27-28.


A reminder that this is happening in 2 days!


## Presentations?

As always, I'm interested in having people present some topic. 
If you have something you want to reserve a time for, please 
send me a message in any of the channels (here, email, discord, 
slack, etc.) and I'll make sure to announce it.


Mike Parker is going to be doing a Q session around 15:00 UTC 
on Saturday on IVY!


I'll send out a reminder here and elsewhere when it starts.

-Steve


Beerconf May 2023

2023-05-15 Thread Steven Schveighoffer via Digitalmars-d-announce

# BEERCONF!

Beerconf for May is happening 2 weeks from now, on the 27-28.

The topic is still the same -- D and other stuff. Hope you can all join us!

Want a beerconf T shirt? We know you do. 
https://www.zazzle.com/store/dlang_swag/products?cg=196874696466206954


## What is beerconf?
Check out the [wiki article](https://wiki.dlang.org/Beerconf).

## Presentations?

As always, I'm interested in having people present some topic. If you 
have something you want to reserve a time for, please send me a message 
in any of the channels (here, email, discord, slack, etc.) and I'll make 
sure to announce it.


If you missed it, be sure to check out Hipreme's talk on his build 
system, uploaded here: https://www.youtube.com/watch?v=QGwQ4uZp5I4


Cheers! 

-Steve


Re: DIP1044---"Enum Type Inference"---Formal Assessment

2023-05-11 Thread Steven Schveighoffer via Digitalmars-d-announce

On 5/11/23 10:10 AM, Paul Backus wrote:

On Thursday, 11 May 2023 at 13:31:58 UTC, Steven Schveighoffer wrote:

On 5/10/23 11:22 PM, Paul Backus wrote:
In fact, for this particular example, there are actually two enums in 
the DMD source code that these symbols could be coming from: `enum 
TargetOS` in `cli.d`, and `enum OS` in `target.d`. So you would have 
to scroll up and look at the imports to disambiguate.


Then you misunderstand the DIP (as did Walter). There is only one enum 
that can be involved -- typeof(target.os).


Oh no, I'm perfectly aware that, from the compiler's perspective, it 
would be unambiguous--only one of the two enums would actually be in 
scope.


Scope has nothing to do with it. The wrong enum might be the only one in 
scope, and it will still use the correct one. Both enums might be in 
scope, and it still uses the correct one.


But as a human reader, in order to figure out which one, I'd have 
to scroll to the top of the file and read through ~25 lines of imports 
(or rely on tooling, but there are contexts where that isn't available, 
like a Github code review).


It's no different than:

```d
if(target.os == target.os.Solaris)
```

It's not very hard to understand, nor harder to figure out. What type is 
`target.os`? It's an enum from that type.


-Steve


Re: DIP1044---"Enum Type Inference"---Formal Assessment

2023-05-11 Thread Steven Schveighoffer via Digitalmars-d-announce

On 5/10/23 11:22 PM, Paul Backus wrote:
In fact, for this particular example, there are actually two enums in 
the DMD source code that these symbols could be coming from: `enum 
TargetOS` in `cli.d`, and `enum OS` in `target.d`. So you would have to 
scroll up and look at the imports to disambiguate.


Then you misunderstand the DIP (as did Walter). There is only one enum 
that can be involved -- typeof(target.os).


-Steve


Re: Beta 2.104.0

2023-05-10 Thread Steven Schveighoffer via Digitalmars-d-announce



This reminds me of an LDC bug fixed recently. I bet DMD suffers from a 
similar problem: https://github.com/ldc-developers/ldc/issues/3864


-Steve


Recording of last Beerconf presentation

2023-05-09 Thread Steven Schveighoffer via Digitalmars-d-announce

Hi everyone.

At the last Beerconf, Hipreme showed us his build system for his new 
game engine.


Cobbled together from various recording sources, here is the recording 
of that presentation.


https://www.youtube.com/watch?v=QGwQ4uZp5I4

If you want to show off something during any beerconf, just let me know 
and I can announce and potentially record.


Next time, I'll have a better setup for recording for sure...

-Steve


Re: A New Era for the D Community

2023-05-03 Thread Steven Schveighoffer via Digitalmars-d-announce

On 5/3/23 7:13 AM, Mike Parker wrote:

Our enthusiasm is high, and we're ready to get going. I think you'll 
like where we're headed.


This all sounds awesome!

-Steve


Re: Beerconf April 2023

2023-04-30 Thread Steven Schveighoffer via Digitalmars-d-announce

On 4/27/23 1:42 PM, Steven Schveighoffer wrote:

On 4/16/23 11:39 AM, Steven Schveighoffer wrote:

# BEERCONF!

Beerconf for April is happening 2 weeks from now, on the 29-30.


A reminder that this is happening in 2 days!


## Presentations?



This beerconf, we have another presentation! Hipreme will show off the 
HipremeEngine build system:


Cross compiling D for Android, WebAssembly, MacOS, and any new future 
platform in any host environment, with 0 manual configuration : How 
HipremeEngine solves that problem without any kind of initial setup 
(even for non D users)


The time for this will be 17:30 Sunday, April 30


A quick note that this is happening in 15 minutes!

https://meet.jit.si/Dlang2023AprilBeerConf

-Steve



Re: Beerconf April 2023

2023-04-29 Thread Steven Schveighoffer via Digitalmars-d-announce

On 4/16/23 11:39 AM, Steven Schveighoffer wrote:

# BEERCONF!


Beerconf is inviting you to a meeting!

https://meet.jit.si/Dlang2023AprilBeerConf

See you there

-Steve



Re: D Language Foundation April 2023 Quarterly Meeting Summary

2023-04-28 Thread Steven Schveighoffer via Digitalmars-d-announce

On 4/28/23 11:42 AM, jmh530 wrote:
2) It would be cool to have a built-in way to profile unittests by 
module. So for instance, the output would be how long it took the unit 
tests to run, broken out by module and then with a total.


This is a runtime thing. You can customize it:

https://dlang.org/phobos/core_runtime.html#.Runtime.extendedModuleUnitTester

-Steve


Re: Beerconf April 2023

2023-04-28 Thread Steven Schveighoffer via Digitalmars-d-announce

On 4/28/23 2:37 AM, Greggor wrote:


Darn, I'm working on Sunday until 2:40pm, so I can't make it. (the talk 
is 1:30 PM in my timezone)

Any chance anyone can record it?


I'll see if that can be done. I would not want to record it without 
Hipreme's approval.


-Steve


Re: Beerconf April 2023

2023-04-27 Thread Steven Schveighoffer via Digitalmars-d-announce

On 4/27/23 2:17 PM, Sergey wrote:

On Thursday, 27 April 2023 at 17:42:30 UTC, Steven Schveighoffer wrote:

On 4/16/23 11:39 AM, Steven Schveighoffer wrote:

# BEERCONF!

Beerconf for April is happening 2 weeks from now, on the 29-30.


A reminder that this is happening in 2 days!


## Presentations?



This beerconf, we have another presentation! Hipreme will show off the 
HipremeEngine build system:


Cross compiling D for Android, WebAssembly, MacOS, and any new future 
platform in any host environment, with 0 manual configuration : How 
HipremeEngine solves that problem without any kind of initial setup 
(even for non D users)


The time for this will be 17:30 Sunday, April 30





Awesome! Could you please specify the time zone.. CET, GMT, UTC?



Oof, totally forgot that. It's UTC. Thanks!

-Steve


Re: Beerconf April 2023

2023-04-27 Thread Steven Schveighoffer via Digitalmars-d-announce

On 4/16/23 11:39 AM, Steven Schveighoffer wrote:

# BEERCONF!

Beerconf for April is happening 2 weeks from now, on the 29-30.


A reminder that this is happening in 2 days!


## Presentations?



This beerconf, we have another presentation! Hipreme will show off the 
HipremeEngine build system:


Cross compiling D for Android, WebAssembly, MacOS, and any new future 
platform in any host environment, with 0 manual configuration : How 
HipremeEngine solves that problem without any kind of initial setup 
(even for non D users)


The time for this will be 17:30 Sunday, April 30

See you all there!

-Steve


Re: Article on incremental compilation

2023-04-23 Thread Steven Schveighoffer via Digitalmars-d-announce

On 4/22/23 7:33 PM, Zachary Yedidia wrote:

Hi everyone,

I've been tinkering with setting up incremental compilation in my D 
projects by using `.di` files to ensure that a module is only recompiled 
if its interface changes (not its implementation). I've written an 
article about it here: 
https://zyedidia.github.io/blog/posts/4-incremental-d-knit/. Hopefully 
you find it interesting! Thanks!


Nice! Your build system sounds pretty cool.

On your section on "Areas for improvements in D interface files":

The previous section holds the answer -- templates. Templates must be 
included in full because they are instantiated by the caller. But a 
template can still use:


* private variables/functions
* private types
* private imports

etc. Basically anything that can be used in the implementation. The only 
thing that's hidden is non-template function implementations.


In order to avoid copying those things, the compiler would have to prove 
that no template inside the module can use these things.


One possible mechanism could be if *no* templates exist, it could 
exclude them. But to determine whether an existing template might use 
them, I believe is the halting problem.


So we are stuck with it.

-Steve


Beerconf April 2023

2023-04-16 Thread Steven Schveighoffer via Digitalmars-d-announce

# BEERCONF!

Beerconf for April is happening 2 weeks from now, on the 29-30.

The topic is still the same -- D and other stuff. Hope you can all join us!

Want a beerconf T shirt? We know you do. 
https://www.zazzle.com/store/dlang_swag/products?cg=196874696466206954


## What is beerconf?
Check out the [wiki article](https://wiki.dlang.org/Beerconf).

## Presentations?

As always, I'm interested in having people present some topic. If you 
have something you want to reserve a time for, please send me a message 
in any of the channels (here, email, discord, slack, etc.) and I'll make 
sure to announce it.


Cheers! 

-Steve


Re: Beerconf March 2023

2023-03-24 Thread Steven Schveighoffer via Digitalmars-d-announce

On 3/13/23 11:58 AM, Steven Schveighoffer wrote:

# BEERCONF!

Beerconf for March is happening a little sooner than 2 weeks from now 
(sorry, was busy on Sat/Sun, so I didn't get to this post), on the 25-26.




Missed sending out the reminder yesterday, but sending it today. This is 
happening starting tomorrow!


-Steve



Beerconf March 2023

2023-03-13 Thread Steven Schveighoffer via Digitalmars-d-announce

# BEERCONF!

Beerconf for March is happening a little sooner than 2 weeks from now 
(sorry, was busy on Sat/Sun, so I didn't get to this post), on the 25-26.


Want a beerconf T shirt? We know you do. 
https://www.zazzle.com/store/dlang_swag/products?cg=196874696466206954


## What is beerconf?
Check out the [wiki article](https://wiki.dlang.org/Beerconf).

## Presentations?

As always, I'm interested in having people present some topic. If you 
have something you want to reserve a time for, please send me a message 
in any of the channels (here, email, discord, slack, etc.) and I'll make 
sure to announce it.


Cheers! 

-Steve


Re: Objective-C D metal binding

2023-03-11 Thread Steven Schveighoffer via Digitalmars-d-announce

On 3/10/23 4:10 PM, ryuukk_ wrote:

On Friday, 10 March 2023 at 20:53:23 UTC, Hipreme wrote:

Hello guys. I have been working for some time into binding Metal to D.
This has been quite an interesting journey and today I've reached a 
point where it is usable.
It is far from complete, but I included a lot of comments from Apple's 
documentation, and also have tested and got an entire Metal hello 
world working in D.


The API I worked on is really nice, I manually put the opIndex, 
opIndexAssign, wrapped Objective C Runtime Arrays to a strongly typed 
array in D. The main point into this binding is getting Metal to run 
on Hipreme Engine, so, I don't plan into supporting what I don't use. 
That said, I still welcome any contribution to make this a standard 
way to program using Apple's Metal.


I'll put an example folder the moment I get a dub fix for macOS.

![Metal MacOS D Hello 
World](https://user-images.githubusercontent.com/10136262/224425800-e417414e-b6be-4e92-93b4-9087b1b281a2.png)


https://code.dlang.org/packages/d-metal-binding


Congrats!

But metal obj-c? do you mean DMD support only? so no Apple Silicon 
(intel only)?


I don't think Intel stuff on mac ecosystem will be a thing for too long, 
PPC era already vanished from history


There is the official C++ headers that you can use to make things easier

https://developer.apple.com/metal/cpp/


From that page:

 No measurable overhead compared to calling Metal Objective-C 
headers, due to inlining of C++ function calls.


D will not inline C++ function calls. So there will be overhead.

Objective-C support is better. Getting Obj-C support into LDC is the 
right path. And I'm with you too -- we need ARM support for Metal. 
Looking forward to it!


-Steve


Re: Beerconf February 2023

2023-02-23 Thread Steven Schveighoffer via Digitalmars-d-announce

On 2/11/23 11:05 AM, Steven Schveighoffer wrote:

# BEERCONF!

Beerconf for February is happening 2 weeks from now, on the 25-26.


Just a friendly reminder that this is happening soon (in 2 days for me)

Don't forget to tune in for Garrett's demo of tree-sitter-d on Saturday 
At UTC 18:00 (see other post for details).


-Steve


Blog post on figuring out attribute inference failure

2023-02-19 Thread Steven Schveighoffer via Digitalmars-d-announce
Ever faced with an attribute inference fail, and you don't know what 
caused it? I have honed some techniques to try and figure it out.


Just posted this: 
https://www.schveiguy.com/blog/2023/02/spelunking-attribute-inference-in-d/


Hopefully it helps.

-Steve


Re: Beerconf February 2023

2023-02-18 Thread Steven Schveighoffer via Digitalmars-d-announce

On 2/11/23 11:05 AM, Steven Schveighoffer wrote:


## Presentations?

As always, I'm interested in having people present some topic. If you 
have something you want to reserve a time for, please send me a message 
in any of the channels (here, email, discord, slack, etc.) and I'll make 
sure to announce it.


About a week away, and I'd like to announce that Garrett D'Amore will 
speak about his tree-sitter-d project, located 
[here](https://github.com/gdamore/tree-sitter-d).


For those who aren't aware, Tree-sitter is a framework for language 
grammars used by github, various editors. His project creates a 
tree-sitter grammar for D, and he will demonstrate how it works in 
several editors.


Roughly speaking this will be Saturday, Feb 25 at UTC 18:00.

Hope to see you all there! Will post a message here when it's starting.

Cheers! 

-Steve


Re: mysql-native v3.2.0 - the safe update

2023-02-18 Thread Steven Schveighoffer via Digitalmars-d-announce

On 2/14/23 9:22 AM, Rey Valeza wrote:

Hi Steve, I just want you to know that I updated the Vibe.d tutorial I 
wrote last year to emphasize database operations using mysql-native and 
is now viewable here:


https://reyvaleza.gitbook.io/vibe.d-tutorial/


Nice! I see that you just import `mysql`. Have you tried with 
`mysql.safe`? I'm curious if it works, it should mostly just work.


-Steve



Beerconf February 2023

2023-02-11 Thread Steven Schveighoffer via Digitalmars-d-announce

# BEERCONF!

Beerconf for February is happening 2 weeks from now, on the 25-26. I'm 
hoping to join for this one, totally missed the last one.


Want a beerconf T shirt? We know you do. 
https://www.zazzle.com/store/dlang_swag/products?cg=196874696466206954


## What is beerconf?
Check out the [wiki article](https://wiki.dlang.org/Beerconf).

## Presentations?

As always, I'm interested in having people present some topic. If you 
have something you want to reserve a time for, please send me a message 
in any of the channels (here, email, discord, slack, etc.) and I'll make 
sure to announce it.


Cheers! 

-Steve


Re: LDC 1.31.0

2023-02-11 Thread Steven Schveighoffer via Digitalmars-d-announce

On 2/11/23 8:47 AM, kinke wrote:

Glad to announce LDC 1.31.0. Major changes:

* Based on D 2.101.2.
   * ImportC: The C preprocessor isn't invoked yet.
* mac/iOS arm64: Linking with `-g` is working again without unaligned 
pointer warnings/errors.

* *Preliminary* support for LLVM 15. Thanks @jamesragray for helping out!
* Initial ABI support for 64-bit RISC-V. Thanks @Ast-x64!

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


Thanks to all contributors & sponsors!


Great work!

-Steve


Re: Release D 2.102.0

2023-02-02 Thread Steven Schveighoffer via Digitalmars-d-announce

On 2/2/23 10:01 AM, jmh530 wrote:

I was reading through some of the PRs referenced in [issue 
23548](https://issues.dlang.org/show_bug.cgi?id=23548), and a little 
confused by the takeaway. It currently searches for Di, then D files. If 
it finds none of them, then it searches for C/h files. Is that right? Is 
this search order described in the spec anywhere?


Previously, it would search in each path, and look for the files in the 
order of di, then d, then i, then c. So based on the order of the paths, 
it might find a matching C file before a matching D file in a later 
import path.


Now, it searches all the paths for D files first, then all the paths for 
C files second, ensuring that it will prefer D files.


The spec I don't think covers how files are searched for module 
definitions. The compiler command line docs have some information on 
what files are expected to contain, but doesn't seem to specify 
priorities or how they are searched. I don't know if it should be 
covered in the spec or the compiler docs.


-Steve


Re: Beerconf January 2023

2023-01-26 Thread Steven Schveighoffer via Digitalmars-d-announce

On 1/14/23 2:03 PM, Steven Schveighoffer wrote:

# BEERCONF!

Happy new year! Beerconf this month falls on January 28-29.


Just a friendly reminder, this is happening soon. 2 days.

I likely will be on late, but I'm sure someone will start it and post a 
message here with the link.


-Steve



Beerconf January 2023

2023-01-14 Thread Steven Schveighoffer via Digitalmars-d-announce

# BEERCONF!

Happy new year! Beerconf this month falls on January 28-29. It may seem 
like it's been a while, and that's because it has. Dconf online last 
month moved up the gathering by a couple weeks, and so we will be 6 
weeks out from the last one. The last one was pretty good, with many of 
the participants in the conference, be sure to watch some of those 
videos if you haven't yet: 
https://www.youtube.com/playlist?list=PLIldXzSkPUXV2Uz4ODqHxRAP_Y4FxYon-


Note that there is an additional talk added afterwards which did not 
premier during dconf online, you may have missed it.


Want a beerconf T shirt? We know you do. 
https://www.zazzle.com/store/dlang_swag/products?cg=196874696466206954


## What is beerconf?
Check out the [wiki article](https://wiki.dlang.org/Beerconf).

## Presentations?

As always, I'm interested in having people present some topic. I had 
hoped to have something for this, but my schedule didn't allow it. If 
you have something you want to reserve a time for, please send me a 
message in any of the channels (here, email, discord, slack, etc.) and 
I'll make sure to announce it.


Cheers! 

-Steve


Re: Release D 2.101.0

2022-12-03 Thread Steven Schveighoffer via Digitalmars-d-announce

On 12/3/22 2:17 PM, zoujiaqing wrote:

Thank you!!!

When will it support Apple M1 processors?

My macbook has been unable to use D for months.


I can use dmd and ldc on my M1. rosetta works great, and ldc supports 
arm. I have not tried gdc.


-Steve


Beerconf for dconf online 2022

2022-12-02 Thread Steven Schveighoffer via Digitalmars-d-announce

# BEERCONF!

As it was last year, and the year before, this month's beerconf will 
coincide with the annual [Dconf 
Online](https://dconf.org/2022/online/index.html). That means December 
17-18.


Everything will be mostly the same, except we will probably be spending 
a lot of time on the actual Dconf Online stream, so during the 
conference many participants won't be on the beerconf stream.


However, before/after the main events, it is a pretty good hangout space.

To remind everyone about beerconf, here is the [Wiki 
article](https://wiki.dlang.org/Beerconf).


See you there!

-Steve


Re: Beerconf Noveber 2022 -- Turkey edition

2022-11-26 Thread Steven Schveighoffer via Digitalmars-d-announce

On 11/25/22 11:40 AM, Steven Schveighoffer wrote:

On 11/12/22 4:51 PM, Steven Schveighoffer wrote:

## Presentations?

With dconf online so close, I'm pretty sure no presentations would be 
forthcoming, but if you have something, let me know, and I'll schedule 
it.


In this upcoming beerconf, Stefan Koch is going to have a talk about 
meta-programming in his new language, 
[meta-c](https://github.com/UplinkCoder/metac).


It's scheduled for 17:00 UTC on Saturday (tomorrow). I'll post again 
when it's starting!


Starting now! Please see the link that Rikki posted!

-Steve



Re: Beerconf Noveber 2022 -- Turkey edition

2022-11-25 Thread Steven Schveighoffer via Digitalmars-d-announce

On 11/12/22 4:51 PM, Steven Schveighoffer wrote:

## Presentations?

With dconf online so close, I'm pretty sure no presentations would be 
forthcoming, but if you have something, let me know, and I'll schedule it.


In this upcoming beerconf, Stefan Koch is going to have a talk about 
meta-programming in his new language, 
[meta-c](https://github.com/UplinkCoder/metac).


It's scheduled for 17:00 UTC on Saturday (tomorrow). I'll post again 
when it's starting!


-Steve


Re: Beerconf Noveber 2022 -- Turkey edition

2022-11-24 Thread Steven Schveighoffer via Digitalmars-d-announce

On 11/12/22 4:51 PM, Steven Schveighoffer wrote:

# BEERCONF!

Let's hope my US compatriots can drag themselves out of their 
turkey-induced comas to have some D discussions! The dates are November 
26-27.


Forthcoming! Happy Thanksgiving everyone! 旅

See you in a couple days. 

-Steve



Re: Release D 2.101.0

2022-11-15 Thread Steven Schveighoffer via Digitalmars-d-announce

On 11/15/22 7:41 PM, zjh wrote:

On Tuesday, 15 November 2022 at 20:54:03 UTC, Iain Buclaw wrote:

Glad to announce D 2.101.0, ♥ to the 63 contributors.
...


Thank you very much, but can we have commands like `'dmd update'` to 
update dmd directly?




https://github.com/jacob-carlborg/dvm

`dvm install 2.101.0`

-Steve


Beerconf Noveber 2022 -- Turkey edition

2022-11-12 Thread Steven Schveighoffer via Digitalmars-d-announce

# BEERCONF!

Let's hope my US compatriots can drag themselves out of their 
turkey-induced comas to have some D discussions! The dates are November 
26-27.


This is the last beerconf before actual [Dconf 
online](https://dconf.org/2022/online/index.html), which will coincide 
once again with

Beerconf as an online hangout.

Want a beerconf T shirt? We know you do. 
https://www.zazzle.com/store/dlang_swag/products?cg=196874696466206954


## What is beerconf?
Check out the [wiki article](https://wiki.dlang.org/Beerconf).

## Presentations?

With dconf online so close, I'm pretty sure no presentations would be 
forthcoming, but if you have something, let me know, and I'll schedule it.


Cheers! 

-Steve


Re: raylib-d v4.2.1 - introducing install script

2022-11-03 Thread Steven Schveighoffer via Digitalmars-d-announce

On 11/3/22 6:25 AM, bauss wrote:


Thanks for this project Steve,

Just trying it out and already enjoying it :)


You're welcome!

I should also mention that I fixed the issue with the macos binaries not 
properly installing, so my note about that not working is moot. I still 
have not figured out how to use rpath on Linux, I don't have a Linux box 
that has a GUI to test with.


Also I added the latest version of raygui to the project, so that is now 
usable (thanks to ctod).


-Steve


Re: D Language Foundation October 2022 Quarterly Meeting Summary

2022-11-02 Thread Steven Schveighoffer via Digitalmars-d-announce

On 11/2/22 6:06 PM, Walter Bright wrote:

On 11/2/2022 4:19 AM, Steven Schveighoffer wrote:
On one of the only articles using ImportC (which otherwise shines a 
positive light on the feature), this specific issue is the only one 
that comes up as a blocker:


The easiest option would be to simply ignore "const" when it is "const 
pointer to mutable".


Please see the mentioned bug report, that's what we all are suggesting 
as well!


-Steve


Re: D Language Foundation October 2022 Quarterly Meeting Summary

2022-11-02 Thread Steven Schveighoffer via Digitalmars-d-announce

On 11/2/22 8:58 AM, ryuukk_ wrote:

On Wednesday, 2 November 2022 at 04:42:06 UTC, Mike Parker wrote:
Following that, he had begun adding colors in the stack trace because 
he thought they were unreadable, and adding colors was not that much 
work. He had a proof-of-concept but still had a few things to work out.


That's a little detail, but it makes a big impact, thanks!


Seconded! I even asked for this recently on discord. Looking forward to it!

-Steve


Re: D Language Foundation October 2022 Quarterly Meeting Summary

2022-11-02 Thread Steven Schveighoffer via Digitalmars-d-announce

On 11/2/22 12:42 AM, Mike Parker wrote:
Walter said that ImportC doesn't support head const. His experience with 
C is that people generally mean const in C to be transitive. So in 
ImportC, he turned the head const cases into transitive const and it 
appears to work well.


On one of the only articles using ImportC (which otherwise shines a 
positive light on the feature), this specific issue is the only one that 
comes up as a blocker:


https://briancallahan.net/blog/20220704.html

Specifically in the "running make" part:


There was one more file that DMD couldn't compile:

dmd -g -O -P=-DEMACS -P=-DVI -ofexpr.o -c expr.c
expr.c(204): Error: cannot modify `const` expression `(*es).tok`
expr.c(205): Error: cannot modify `const` expression `(*es).val`

I wonder if this is a bug in ImportC. No other C compiler we've tried fails on 
this code.


Having translated C code myself, and running into const issues where 
I've had to cast away const, I do not think this is a wise decision. 
Walter should reconsider. An ImportC that can't compile pretty standard 
C code as-is is nearly useless.


-Steve


Re: Beerconf October 2022

2022-11-01 Thread Steven Schveighoffer via Digitalmars-d-announce

On 11/1/22 12:02 PM, data pulverizer wrote:

On Tuesday, 1 November 2022 at 15:05:48 UTC, Mike Parker wrote:


I don't think anyone involved in organizing BeerConf knew that was 
there. That's the first I've seen it.


I'd suggest that it is either removed or replaced with something more 
informative, so that people know what is coming and what events that 
have taken place. The only reason I noticed is because I was looking for 
prospective D events, and went to the most obvious place.


To a stranger a calendar like that gives the impression that nothing has 
been happening in the community and there is no interaction within the D 
community, or outreach.



It's been removed: https://github.com/dlang/dlang.org/pull/3451



There should also be details of DConf and such things. I'd contrast this 
with the Rust community page and calendar.


Right now I don't even know how to find out about DConf from the dlang 
website. I might get lucky and find out through Twitter or something, 
but if I didn't know it existed, it would be pretty difficult for me to 
find out.


Don't underestimate the power of FOMO! If on the events page you're 
seeing pictures and details of things from the conference and events 
you've missed, for those interested (and there will be some) it will 
make them more determined to take part next time.


Typically, we do have information on the home page for dconf when it is 
coming up. Considering it's just over a month away, there should be 
something there soon.


-Steve


Re: Beerconf October 2022

2022-11-01 Thread Steven Schveighoffer via Digitalmars-d-announce

On 11/1/22 7:54 AM, data pulverizer wrote:

It might just be my browser (Chrome) but I've noticed that there's 
nothing in the events calendar (https://dlang.org/calendar.html). 
Wouldn't it be helpful to include these sorts of things in the calendar 
so that people visiting the site would be aware of them?


The empty calendar gives the impression that it is broken or that there 
are no events at all. If there is technical maintenance required even a 
simple list of event titles, dates, times and locations would suffice.


It is broken. I get a big old 400 error from google:

400. That’s an error.

The server cannot process the request because it is malformed. It should 
not be retried. That’s all we know.


Like Mike, I was not aware of the calendar existing.

-Steve


Re: Beerconf October 2022

2022-10-29 Thread Steven Schveighoffer via Digitalmars-d-announce

On 10/29/22 2:00 PM, FeepingCreature wrote:

On Saturday, 29 October 2022 at 10:14:31 UTC, rikki cattermole wrote:

And now for some good news!

Its almost Halloween, so grab your candy and any spooky brews you may 
have, and join us for a ghostly chat!


https://meet.jit.si/Dlang2022OctoberBeerConf


I wish you'd announce the time a bit in advance. :)


I don't want to announce a time, because I don't know what time it can 
be started. I'm in the US, so I'm usually asleep when it's started.


But I do try to announce 2 weeks before and then 2 days before.

-Steve


Re: Beerconf October 2022

2022-10-27 Thread Steven Schveighoffer via Digitalmars-d-announce

On 10/16/22 8:04 AM, Steven Schveighoffer wrote:

# BEERCONF!

Beerconf this month is on October 29-30, one day before Halloween.


Beerconf in 2 days, see you then!

-Steve



Beerconf October 2022

2022-10-16 Thread Steven Schveighoffer via Digitalmars-d-announce

# BEERCONF!

Beerconf this month is on October 29-30, one day before 
Halloween. Feel free to wear your D costume, might I suggest a 
beerconf T shirt? 
https://www.zazzle.com/store/dlang_swag/products?cg=196874696466206954


## What is beerconf?
Check out the [wiki article](https://wiki.dlang.org/Beerconf).

## Presentations?

As usual, anyone who wants to reserve some time to talk about 
something, let me know.


Cheers! 

-Steve


Re: ctod: a tool that translates C code to D

2022-10-13 Thread Steven Schveighoffer via Digitalmars-d-announce

On 10/13/22 3:18 PM, Dennis wrote:

The output is supposed to be a good starting point for manual 
translation: tedious syntax changes are done for you, but you're left 
with the task of translating (non-trivial) macros, fixing errors because 
of D's stricter type system, and other misc things ctod doesn't 
translate properly yet (see also [issues on 
GitHub](https://github.com/dkorpel/ctod/issues) ).


I want to say, this has been incredibly useful to me! I spent many hours 
translating one file in raylib, which was about 6000 lines (it's still 
not completely finished, but only because I'm not currently supporting 
WASM). Dealing with all the rote tedious issues was the biggest pain.


There are tens of thousands of lines of code left to translate, and most 
of them reside in header-only libraries that raylib sniped from other 
projects (seen in the "external" directory). In a few hours time, with 
ctod, I've already translated 3 of these files, and the result means 
less requirements for C building.


My original plan was to just leave the internal stuff as C since it's 
only used internally for raylib (e.g. audio file reading, compression, 
etc.). I was going to actually ship binary libraries of the internal C 
stuff for various architectures so you could just use dub.


But now with this tool, I think we have a shot of making a complete 
port, so no external tools or dependencies are needed!


With the rise of ImportC the use cases for this tool decrease, but in 
case you still find yourself translating C to D, I hope this is of use 
to you!


I want to say something about this. ImportC is great if you want to use 
an existing library. But it still means you are using a C library. e.g. 
raylib uses null-terminated strings for all text processing. It uses 
malloc/free for memory management (and it is actually pretty full of 
buffer overflow possibilities, as a typical C project might be). Not to 
mention the lack of overloads...


With ImportC I might be able to just use raylib with it's current C API. 
But with ctod, I can build upon raylib to make a D library that is even 
more fun and intuitive to use.


Thanks Dennis!

-Steve


Re: Beerconf September 2022

2022-09-22 Thread Steven Schveighoffer via Digitalmars-d-announce
On Sunday, 11 September 2022 at 23:44:45 UTC, Steven 
Schveighoffer wrote:

# BEERCONF!

This month, beerconf is going to be happening without me, 
unfortunately. But it is still happening!


The dates are Sept 24-25, 2 weeks from yesterday.


A quick reminder that this is coming up in 2 days!

-Steve


raylib-d v4.2.1 - introducing install script

2022-09-18 Thread Steven Schveighoffer via Digitalmars-d-announce

Hi everyone,

I've released version 4.2.1 of raylib-d. This version is an attempt to 
fix the issues with linking on Windows.


It introduces a new subproject, `raylib-d:install`, which will copy a 
pre-built binary library of the appropriate version to your project 
directory. While this is far from complete, it provides a required 
feature for Windows. Namely, a fix for a faulty bug in the new symbol 
introduced for raylib 4.2.0 that allows us to validate the binding is 
correct. The symbol I use was not properly exported for the dll version 
of raylib.


I have included in the repository a *correctly* built raylib.dll, which 
now allows linking on Windows.


At present, the only platform supported with the raylib-d:install script 
is Windows on X86_64. If you need a pre-build binary for your platform, 
please open an issue. Note the docs say I have binaries for MacOS x86_64 
and arm64, but these are not working at the moment. There is an issue 
with dub, where it does not properly clone symbolic links, which I 
believe is caused by Phobos std.zip. I will eventually work around this 
issue, and eventually I plan to be smarter about the binary files.


However, for those of you who have wanted to upgrade to raylib-d for 
4.2.0 on Windows, but have ran into linker errors, this is the solution. 
Please read carefully the new README as I have rewritten it to include 
detailed instructions (including how to run the new install script)


I expect a further release to fix the issues with installing MacOS 
binaries soon.


-Steve

https://code.dlang.org/packages/raylib-d
https://github.com/schveiguy/raylib-d/blob/master/README.md


Beerconf September 2022

2022-09-11 Thread Steven Schveighoffer via Digitalmars-d-announce

# BEERCONF!

This month, beerconf is going to be happening without me, unfortunately. 
But it is still happening!


The dates are Sept 24-25, 2 weeks from yesterday. Nothing really special 
to report, just a regular-old beerconf. Oh, and October 9th would be the 
deadline for submitting a proposal for the online dconf this year, so if 
you want to bounce ideas off of a really smart crowd, this would be the 
place.


Want a stylish beerconf t-shirt? Look here: 
https://www.zazzle.com/store/dlang_swag/products?cg=196874696466206954


## What is beerconf?

Check out the [wiki article](https://wiki.dlang.org/Beerconf).

## Presentations?

As usual, anyone who wants to reserve some time to talk about something, 
let me know. I'll make sure to announce here, and hopefully another host 
will be able to organize!


Cheers! 

-Steve


Re: Walter's Edited DConf Talk Video -- Feedback Request

2022-09-08 Thread Steven Schveighoffer via Digitalmars-d-announce

On 9/8/22 11:34 AM, Ali Çehreli wrote:
I agree that the slides should take more room. The speaker can get more 
space at the start, at the end, and occasionally as he/she is not 
talking directly on any slide.


Other than that, I think Mike is overdoing a great work! ;)


Agreed! None of this takes away from the job that Mike is doing with the 
raw footage he already has.


I'm just mentioning this for future conferences.

-Steve


  1   2   3   4   5   6   7   8   >