Re: New DConf Blog Post

2019-04-11 Thread wjoe via Digitalmars-d-announce

On Saturday, 6 April 2019 at 22:30:58 UTC, bauss wrote:

On Friday, 22 March 2019 at 13:58:01 UTC, Mike Parker wrote:
The DConf schedule was announced last Sunday. I've just 
published a write-up about it on the blog for the 
world-at-large. Please help us out by sharing this post in 
your social media circles.


The blog:
https://dlang.org/blog/2019/03/22/dconf-2019-london-programme/

Reddit:
https://www.reddit.com/r/programming/comments/b45bxp/dconf_2019_london_programme/


Just going to respond to this:

"If you haven’t visited the site in a while, you’ll surely 
notice that it’s been redesigned. The old version was not 
responsive and was quite annoying to manipulate on small 
screens."


The design is terrible and it really looks unprofessional.

While the old site wasn't responsive, the design was at least 
slightly better.


It just doesn't look very well done.

I'm not trying to be negative or anything, but it looks like 
someone who just learn html/css in 1999 tried to make the 
design of the page.


No offense, but http://motherfuckingwebsite.com/

I'd just tag a Planet-earth-with-a-green-leaf icon and a speech 
bubble reading "Thank you!"


J/K

But seriously I prefer the '19 version over the '18 one. The '18 
version is super bloated and slow.


Re: New DConf Blog Post

2019-04-12 Thread wjoe via Digitalmars-d-announce
On Thursday, 11 April 2019 at 16:56:27 UTC, Nick Sabalausky 
(Abscissa) wrote:

On 4/11/19 10:11 AM, wjoe wrote:


No offense, but http://motherfuckingwebsite.com/



That is the best website EVER. Times a billion. Says exactly 
the things I've been wanting to scream at jet-engine volume 
straight into the faces of every web designer and full-stacker 
in the world.


"Responsive web" always made me cringe. 
HTML-freaking-version-ONE was responsive. And semantic. It was 
specifically *designed* to be. But then the designers and the 
know-nothing software managers came, hated that stuff, and 
killed it all with fire. Then when the sausage-finger small 
screens came (not to mention browser diversity and "emerging 
markets"), they shit a brick and started over-re-engineering 
everything that was already there all along (plus some extra 
garbage nobody needs). Idiots.


Yeah, that, and it respects a browser's font and size 
configuration :)
Visiting a web-site I often think to myself: Fail! You can still 
manage to read that 7pt font by attaching your eyeballs to the 
screen! If you don't want people to be able to read it, you 
should remove that text altogether! Saves you all the effort, too.


These so called web designers who work s hard to find all 
possible ways to stop you from comfortably reading the thing with 
tons of useless java script "coolness" and distracting banners 
and drop downs and otherwise hidden information you need to find 
the spot to tickle to make it appear (is that a secret cry for 
help?) and pictures that stalk you but can't make text flow 
around a picture without using DIV - and then need to nail 
everything else in place with more DIVs. Amusing :)


They can't even make normal hyperlinks work and spend tons of 
effort trying to imitate it with java script. Delicious :)


And their white on black design which makes you see nothing but 
zebras for the rest of the day or so after spending 2 minutes on 
it...love it! :)




Re: GCC 10.2.1 Released

2020-08-27 Thread wjoe via Digitalmars-d-announce

Thank you :)




Re: GCC 10.2.1 Released

2020-08-31 Thread wjoe via Digitalmars-d-announce

On Saturday, 29 August 2020 at 18:40:36 UTC, Iain Buclaw wrote:

On Thursday, 27 August 2020 at 04:05:15 UTC, M.M. wrote:

On Monday, 24 August 2020 at 23:49:42 UTC, Iain Buclaw wrote:

[...]


Likely the deciding factor will come down to how much free 
time I will get to do so.  There's still a few outstanding 
issues in dmd-master and gcc middle-end that have hampered 
progress by a few weeks.


Thank you for your work. I cross my fingers for you to have 
enough free time in the upcoming months!


If people want to share my workload on gdc, then it'll 
certainly help.


I'm exactly 100% unfamiliar with the code base. How can I help ? 
Where do I start ?


Re: GCC 10.2.1 Released

2020-08-31 Thread wjoe via Digitalmars-d-announce

On Monday, 31 August 2020 at 13:24:50 UTC, wjoe wrote:
I'm exactly 100% unfamiliar with the code base. How can I help 
? Where do I start ?


Reading this again after a few hours it comes across in sort of a 
rude way - apologies if that was the case.


The question is if I haven't got any experience with GCC and GDC, 
how to get involved - where to get started ?


Re: GCC 10.2.1 Released

2020-09-04 Thread wjoe via Digitalmars-d-announce

On Tuesday, 1 September 2020 at 17:53:04 UTC, Iain Buclaw wrote:


Some parts of the infrastructure could do with some TLC.


I'm not familiar with the acronym 'TLC'.



CI currently uses semaphore CI for native x86_64, and Buildkite 
with a couple
hosted Linux VMs for testing various cross-compilers.  I used 
to have ARM and
ARM64 bare metal servers with Scaleway, but sadly they decided 
to scrap them.


Ideas that could be investigated:

  1. Is Cirrus CI good enough to build gdc?  And if so, look 
into adding

 Windows, MacOSX, and FreeBSD platforms to the pipeline.



What does 'good enough' mean ?


I found this reply (March/2019) by Johannes Pfau here [1]:
We use https://github.com/D-Programming-GDC/gcc for CI, but 
commits will go to the GCC SVN first, so GCC SVN or snapshot 
tarballs is the recommended way to get the latest GDC.


Is this information still up to date ?

There's a semaphore folder. I suppose that's the one currently 
used with Semaphore CI. Is there something else ?



[1] 
https://forum.dlang.org/thread/lqdjlwmgrfstifcbu...@forum.dlang.org


PS. Sorry for the Announce group abuse.



Re: GCC 10.2.1 Released

2020-09-05 Thread wjoe via Digitalmars-d-announce

On Friday, 4 September 2020 at 22:00:51 UTC, Iain Buclaw wrote:

On Friday, 4 September 2020 at 15:12:54 UTC, wjoe wrote:

PS. Sorry for the Announce group abuse.


We can take this to D.gnu instead. :-)


I continued this thread here:

https://forum.dlang.org/thread/kruxkrrzithkrswoq...@forum.dlang.org



Re: gamut v0.0.7 ask for what you want

2022-08-08 Thread wjoe via Digitalmars-d-announce

On Friday, 29 July 2022 at 10:59:02 UTC, Guillaume Piolat wrote:

Ask for what you want...


Since it's super easy to calculate the amount of memory required 
to hold the decompressed data... If  you'd add a buffer parameter 
(akin to std.stdio.File.rawRead/Write), a slice to allocated 
memory that holds the decompressed data, people could use their 
allocator of choice to allocate the buffer and your lib would not 
just be @nogc but @no_allocation.


Re: gamut v0.0.7 ask for what you want

2022-08-11 Thread wjoe via Digitalmars-d-announce

On Tuesday, 9 August 2022 at 22:02:37 UTC, Guillaume Piolat wrote:

On Monday, 8 August 2022 at 16:07:54 UTC, wjoe wrote:

your lib would not just be @nogc but @no_allocation.


All image decoders in gamut need to malloc more than just for 
pixel data.
Even STB allocates for format conversion, zlib buffers, 16-bit 
<-> 8-bit, etc. it's not just pixel data.
Single allocation pessimizes the size a lot because since you 
haven't encoded yet, you need to prepare a buffer for a large 
worst-case.


I imagined you could allocate internal buffers for 
encoding/decoding on the stack but your reply suggests otherwise.


However shouldn't a single function call back be enough? 
Something like


``` D
void[] need_more_ram(size_t amount, void[] old_chunk, void* user)
{
  MyAllocator* a = cast(MyAllocator*)user;
  void[] result = a.alloc(amount); // MyAllocator would return an 
empty slice if amount == 0
  if (amount && chunk.length) result[0..chunk.length] = chunk; // 
it is assumed that on re-allocation amount > chunk.length

  a.free(chunk.ptr);
  return result;
}
```


Re: I have a plan.. I really DO

2018-07-04 Thread wjoe via Digitalmars-d-announce

On Wednesday, 4 July 2018 at 08:50:57 UTC, Ecstatic Coder wrote:
But indeed, being able use D in a GC-free environment (like C++ 
and Rust do) would be something many people may NEED, for 
instance to be able to EASILY use D for soft-realtime 
applications like games.


This has to be the no. 1 excuse.


Why is C++ the language of choice currently? My bet is 
productivity and economic concerns. Amongst other things the 
productivity gain from resource management via constructor and 
destructor. Which solves like 75% of the headaches of manual 
resource management and goto nightmares.


Back in the day when C was used to make games, the excuse not to 
use C++ was vtable, exception and RTTI overhead. Now it's called 
the bare metal best performance language which everything and 
their grandma is measured against. This C++ overhead didn't make 
C any slower or C++ any faster than C but it made C++ superior in 
productivity.


This was around 2002/03, and C++, at the time, some 23+ years old.

Games have been made with GC'd languages, 3D games, even. And 
successfully, too.
Minecraft, a very successful one, comes to mind, which is or at 
least was made in Java.

Plenty of games are made in C#, too.

My bet, again, would be productivity and economic concerns. The 
countless hours wasted on debugging memory leaks and cyclic 
dependencies are better spent making the actual game/software.
And smart pointers introduce overhead of their own which makes 
them inferior to C's bare metal raw pointer performance - or GC'd 
pointers for that matter. The culprit being the collection cycle.


The best thing about this whole argument, however, is the claim 
for GC no can do and with the next breath they pull LUA into 
their games. A scripting language that brings a VM, GC and 
extraordinarily inflated loading times when the scripts are 
compiled to byte code at the end user's PC which make C64 loading 
times shine.
The reasoning probably being productivity again and C++'s lunch 
break compile times.


Using the D compiler as a library, instead of LUA, D code could 
be used for 'scripting', as well, and compiled to native machine 
code. In a snap.


I have no metrics between any AAA game engine and their port to D 
but I do know that I wrote a sound/music player library in Java, 
which folks like you claim impossible because GC, never bothered 
with GC and had no performance issues whatsoever - and I don't 
expect any porting it to D.


And there is EASTL. A STL made by Electronic Arts. Because the 
standard implementation shipped with the compiler is too slow ? 
Even though written by C++ wizards ?



Slow code is slow and allocating memory in a tight loop is a huge 
performance killer - regardless of language.


Also, why do you feel like a GC is inacceptable for games but 
doesn't matter for your file handling program? Handling dozens, 
maybe thousands, of files sounds like an awful lot of memory 
management involved and whether a e.g. grep takes 15 seconds to 
do it's job or under 1 matters not?


Nothing forces anyone to use the GC, memory can be managed 
manually via malloc/free and you get to do it with scope 
statements/nested functions which makes it nicer than in C. You 
could also implement shared/weak ptr stuff in D - warts and all.
If you need a GC free standard library, I believe there is an 
ongoing effort -or several- at code.dlang.org and probably other 
places.



You said do this and that, GC, etc. to motivate C++ folks to come 
to D. I say it's an excuse not to use D and no matter the effort 
of advertising, a GC free phobos, etc. on part of the D-Lang 
Foundation and contributors would make these folks switch. They 
would simply find a different excuse.


And where's the usefulness of toy examples like 2 line web 
servers which essentially do nothing?
And how is that helping with getting attention from the game devs 
?
Putting on the front page a 12 line maze game which can be 
imported from the standard library? Not using the GC?


Re: I have a plan.. I really DO

2018-07-05 Thread wjoe via Digitalmars-d-announce

On Wednesday, 4 July 2018 at 19:29:55 UTC, Ecstatic Coder wrote:
First, to be clear, I mainly use D as a scripting language for 
file processing, and for this use case, having a GC is a 
blessing.


This is a non issue and a GC doesn't matter at all in this case. 
You could allocate all you wanted and never free and as long as 
there's enough memory to finish the script you couldn't tell the 
difference. Once a script or program is done the OS reclaims all 
memory.


But memory leaks in software, running in some kind of main loop, 
become real performance bottlenecks eventually and a time sink to 
debug.


You say that garbage collection is not a real problem for game 
development.


No, what I'm saying is that I've hadn't had any issues with the 
GC so far and that I don't expect any.
I'm also saying that I keep hearing this argument against using D 
but it was never backed up by anthing substantial so it sounds 
like an excuse by folks who never really considered D in the 
first place.


Like, what does it matter if a collection cycle is triggered 
during a loading screen ?
Performance aware C++ folks do have to do resource management at 
some point, too, and that's not free either and is usually done 
while the loading screen is displayed.


For instance, have you read Unity's own official 
recommandations on how to overcome this problem ?


No, I haven't.
It probably boils down to pre-allocation, object pools, reusing 
objects, don't allocate in a loop, caching data, be mindful of 
what you do and when and how, etc, etc.


Which would be good advice for game development in general and 
I'd do exactly that in C/C++, or any non-GC'd language, too.



And about developing video games in C++, actually most studios 
use orthodox C++. This means no exceptions, no RTTI, few 
virtual methods, fast lightweight smart pointers and 
collections, etc.


They could get that with -betterC which also does not use a GC.


And about the scripting language, it's not my fault if some 
game engine developers don't care for the performance or GC 
issues when adding a scripting language to their game engine.


Never said it was your fault, just pointed out the fact that it's 
a very common occurance.


So, as I said, those who use C++ or Rust because D's GC is a 
problem for them, won't probably use D in its current state.


Or any other language tagged GC for that matter, except maybe LUA.

Nobody and nothing forces anyone to use the GC or features which 
use it. Just go ahead and  manage your memory manually. They will 
not be using features like dynamic arrays, the standard library, 
and such but that's not a loss since they'd roll their own, more 
performant implementations, anyways.


But I'm convinced that they wouldn't consider D - even if there 
was a GC-free Phobos.

They would find the next excuse.

Those who are willing find solutions, those who are not find 
excuses.






Re: I have a plan.. I really DO

2018-07-06 Thread wjoe via Digitalmars-d-announce

On Friday, 6 July 2018 at 13:15:43 UTC, Ecstatic Coder wrote:
Just by curiosity, can you tell me how many successful 
commercial games based on a D game engine are released each 
year ?


Just out of curiosity, how many games have been released based on 
a C++ game engine in 1998 ?



The original Unreal engine was almost completely written in asm, 
back in the late 90ies.


The first C++ game engine I found was the Object Oriented 
Graphical Redering Engine, started some time around 2001.


Carmack resisted C++ for a longer time and I believe I read 
something about the engine was  ported to C++ when they developed 
Id Tech 4 around 2004.





Re: I have a plan.. I really DO

2018-07-06 Thread wjoe via Digitalmars-d-announce

On Friday, 6 July 2018 at 15:30:22 UTC, Ecstatic Coder wrote:

On Friday, 6 July 2018 at 15:07:41 UTC, wjoe wrote:

[...]


Actually, as I said, even today many game engines are still 
written in a C-inspired manner, i.e. C + classes, templates and 
polymorphism, mainly for performance reasons (cache friendly 
data oriented designs, etc).


You can do that in D.



Re: I have a plan.. I really DO

2018-07-06 Thread wjoe via Digitalmars-d-announce

On Friday, 6 July 2018 at 15:53:56 UTC, Ecstatic Coder wrote:
With D, ANY forgotten allocation during the game loop (and I 
really mean even JUST ONE hidden allocation somewhere in the 
whole game or engine), may cause the game to regularly freeze 
at the wrong time, because of an unwanted GC. Hence the phobia.


You make it sound like a C++ game codes, debugs, profiles and 
optimizes itself.

And like there are no gotchas with C++.

Anyway, I know I'm on a D forum here, so "those who don't want 
to understand won't, and those who want will", to paraphrase a 
former poster here.


Well, it appears that you don't.

And since you point out the D forum folks, I know game developers 
are a very special lot, too, with ther mantra like repetition of 
GC is the devil, acting like it's 1985 and the need to count 
clock cycles and top-of-the-food-chain I-never-make-mistakes 
arrogance like nobody else knows how to write fast code, yet most 
games of those clever guys are bug ridden pieces of poor quality 
even years after release, including top AAA titles *cough* TES. 
Despite - or more likely because - being made in C++.


Maybe performance aware game developers would do well to also 
adopt the idea of code quality and D offers a lot in that regard. 
Plus C++ish performance on top of that.


Re: I have a plan.. I really DO

2018-07-06 Thread wjoe via Digitalmars-d-announce

On Friday, 6 July 2018 at 17:26:26 UTC, wjoe wrote:
And since you point out the D forum folks, I know game 
developers are a very special lot, too ...


Edit: This should read: I know game developers who are a very 
special lot


My point was to only refer to the people I know, not game 
developers in general.





Re: I have a plan.. I really DO

2018-07-12 Thread wjoe via Digitalmars-d-announce

On Tuesday, 10 July 2018 at 17:25:11 UTC, Yuxuan Shui wrote:
(Although I don't quite agree with you. Some people DO resist 
change, that's why some decades old languages are still 
popular. But look at the popularity of new languages like Go, 
and Rust, and the ever-change landscape of front-end 
development. There're tons of people who adapt certain 
technology just because it is new, why can't that happen to D?)


Because they are humans.
Because the masses fly to hip stuff like moths to light.
Because people make decisions out of a mood or because of peer 
pressure and based on opinion rather than facts.

Because a lot of people use it so it can't be bad !?

You can see that phenomenon in Hardware and end user software and 
really every other aspect of life, too, by the way. It's almost 
always the hyped shh-stuff that gets wide spread use.


How many of these people are using it because they want to ? How 
many are happy with the language, rather than just being part of 
the flock ? To be able to call oneself hip ? To be part of the 
group ?


Whether or not rust, go, etc. are just as or more popular than 
C++ or Java in 30 years remains to be seen.