Re: iopipe v0.2.0 - safe update

2020-06-28 Thread aberba via Digitalmars-d-announce

On Sunday, 28 June 2020 at 20:26:43 UTC, JN wrote:
On Sunday, 28 June 2020 at 18:57:22 UTC, Steven Schveighoffer 
wrote:
Just wanted to post that I finished my update of iopipe to be 
@safe. I still have some work to do with std.io so things are 
more usable (next on my list is to make standard handles 
accessible).


In this update, I've made it so nearly all of iopipe can be 
used in @safe code. The one exception is the RingBuffer, which 
can leave dangling pointers, hence the unsafety.


Inside iopipe is a RefCounted type that is @safe. It uses the 
GC for memory management, so while destruction is synchronous, 
the memory itself is left to the GC to clean up.


-Steve

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


What's iopipe and what does it do? How does it compare with 
std.process?


I my line of words, its what you'd use to stream large files and 
do processing on it. Like CSV, video??, Json, and the like. Its 
high performance cus it optimized to haven great performance even 
for large files. Designed to let you chain the processing 
pipeline using reusable functions...and  you can compose one 
yourself.


I'm curious myself how it differs from the NodeJs Stream API. 
Would you say iopipe is a Streaming API by definition?


Re: Talk by Herb Sutter: Bridge to NewThingia

2020-06-28 Thread aberba via Digitalmars-d-announce

On Monday, 29 June 2020 at 00:24:22 UTC, aberba wrote:
On Sunday, 28 June 2020 at 21:00:09 UTC, Dibyendu Majumdar 
wrote:

[...]


* Community
* Strong die hard advocate
* Tutorials, learning resources


Those are the stuff I personally think I can't contribute more.


I meant opposite, jeez 

Those are the stuff I'm personally trying to push and contribute 
to for D primarily.


Re: Talk by Herb Sutter: Bridge to NewThingia

2020-06-28 Thread aberba via Digitalmars-d-announce

On Sunday, 28 June 2020 at 21:00:09 UTC, Dibyendu Majumdar wrote:
On Saturday, 27 June 2020 at 15:48:33 UTC, Andrei Alexandrescu 
wrote:
How to answer "why will yours succeed, when X, Y, and Z have 
failed?"


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

Very insightful talk.


To be honest the analysis doesn't quite stack up. Because 
compatibility is not the reason for the success of Go, or Rust.


I would say the success of a language depends on many factors:

* Luck
* Timing - and a need to be filled
* Sufficient commercial usage
* Big name factor - Go authors tried a few times creating 
languages that did not succeed until they had Google backing.
* Language offers something sufficiently different solution 
than existing solutions

* Tooling
* Quality of implementation


* Community
* Strong die hard advocate
* Tutorials, learning resources


Those are the stuff I personally think I can't contribute more.


Re: iopipe v0.2.0 - safe update

2020-06-28 Thread Steven Schveighoffer via Digitalmars-d-announce

On 6/28/20 2:57 PM, Steven Schveighoffer wrote:
Just wanted to post that I finished my update of iopipe to be @safe. I 
still have some work to do with std.io so things are more usable (next 
on my list is to make standard handles accessible).


In this update, I've made it so nearly all of iopipe can be used in 
@safe code. The one exception is the RingBuffer, which can leave 
dangling pointers, hence the unsafety.


I forgot to mention (and was kindly reminded by Jon Degenhardt), this is 
the first release where Martin's std.io library 
(https://github.com/MartinNowak/io) is optional. In the future, iopipe 
will remove this dependency. The only thing that depends on std.io is 
the deprecated `openDev` function.


So if you were expecting iopipe to bring in that dependency, you will 
have to add it to your dub.json/dub.sdl file.


-Steve


Re: Talk by Herb Sutter: Bridge to NewThingia

2020-06-28 Thread Dibyendu Majumdar via Digitalmars-d-announce
On Saturday, 27 June 2020 at 15:48:33 UTC, Andrei Alexandrescu 
wrote:
How to answer "why will yours succeed, when X, Y, and Z have 
failed?"


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

Very insightful talk.


To be honest the analysis doesn't quite stack up. Because 
compatibility is not the reason for the success of Go, or Rust.


I would say the success of a language depends on many factors:

* Luck
* Timing - and a need to be filled
* Sufficient commercial usage
* Big name factor - Go authors tried a few times creating 
languages that did not succeed until they had Google backing.
* Language offers something sufficiently different solution than 
existing solutions

* Tooling
* Quality of implementation


Re: iopipe v0.2.0 - safe update

2020-06-28 Thread Clarice via Digitalmars-d-announce

On Sunday, 28 June 2020 at 20:26:43 UTC, JN wrote:
On Sunday, 28 June 2020 at 18:57:22 UTC, Steven Schveighoffer 
wrote:
Just wanted to post that I finished my update of iopipe to be 
@safe. I still have some work to do with std.io so things are 
more usable (next on my list is to make standard handles 
accessible).


In this update, I've made it so nearly all of iopipe can be 
used in @safe code. The one exception is the RingBuffer, which 
can leave dangling pointers, hence the unsafety.


Inside iopipe is a RefCounted type that is @safe. It uses the 
GC for memory management, so while destruction is synchronous, 
the memory itself is left to the GC to clean up.


-Steve

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


What's iopipe and what does it do? How does it compare with 
std.process?


Here's a pertinent dconf presentation that might help you: 
https://www.youtube.com/watch?v=un-bZdyumog

The abstract: http://dconf.org/2017/talks/schveighoffer.html



Re: iopipe v0.2.0 - safe update

2020-06-28 Thread Steven Schveighoffer via Digitalmars-d-announce

On 6/28/20 4:26 PM, JN wrote:


What's iopipe and what does it do? How does it compare with std.process?


Yeah, I guess I should be more specific in such announcements, sorry!

iopipe is a performance-oriented input/output library for D, which uses 
direct buffer access, and provides a similar experience to unix pipes, 
but for buffered data instead.


For example:

import std.io; // https://github.com/MartinNowak/io

foreach(line; File("input.txt.gz")
   .refCounted // std.io files are not copyable
   .bufd // buffer it
   .unzip // decompress it
   .assumeText // assume it's text (char[] instead of ubyte[])
   .byLineRange) // convert to a line-based range

-Steve


Re: iopipe v0.2.0 - safe update

2020-06-28 Thread JN via Digitalmars-d-announce
On Sunday, 28 June 2020 at 18:57:22 UTC, Steven Schveighoffer 
wrote:
Just wanted to post that I finished my update of iopipe to be 
@safe. I still have some work to do with std.io so things are 
more usable (next on my list is to make standard handles 
accessible).


In this update, I've made it so nearly all of iopipe can be 
used in @safe code. The one exception is the RingBuffer, which 
can leave dangling pointers, hence the unsafety.


Inside iopipe is a RefCounted type that is @safe. It uses the 
GC for memory management, so while destruction is synchronous, 
the memory itself is left to the GC to clean up.


-Steve

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


What's iopipe and what does it do? How does it compare with 
std.process?


iopipe v0.2.0 - safe update

2020-06-28 Thread Steven Schveighoffer via Digitalmars-d-announce
Just wanted to post that I finished my update of iopipe to be @safe. I 
still have some work to do with std.io so things are more usable (next 
on my list is to make standard handles accessible).


In this update, I've made it so nearly all of iopipe can be used in 
@safe code. The one exception is the RingBuffer, which can leave 
dangling pointers, hence the unsafety.


Inside iopipe is a RefCounted type that is @safe. It uses the GC for 
memory management, so while destruction is synchronous, the memory 
itself is left to the GC to clean up.


-Steve

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


Re: From the D Blog: A Pattern for Head-mutable Structures

2020-06-28 Thread Tove via Digitalmars-d-announce

On Sunday, 28 June 2020 at 16:31:35 UTC, Avrina wrote:

On Sunday, 28 June 2020 at 02:52:03 UTC, Mike Parker wrote:


If that's not good enough for you, then I have nothing else to 
say on the matter.


Replies like this one and andrei are why.

You are directing a community around a topic to an article 
about that topic. What do you think they are going to do? 
There's a reason why votes don't count when an article is 
linked directly. They didn't do it by mistake.


No worries, I'll post the direct link for you in the future. I 
got you covered.


I have a feature request to the forum engine, automatically 
delete all posts with hn deeplinks, problem solved.









Re: From the D Blog: A Pattern for Head-mutable Structures

2020-06-28 Thread Avrina via Digitalmars-d-announce

On Sunday, 28 June 2020 at 02:52:03 UTC, Mike Parker wrote:

On Saturday, 27 June 2020 at 17:58:50 UTC, Avrina wrote:



They are actually going against their rules and are actively 
trying to game their algorithm by telling D's community to 
search for the article instead of providing.


So actually, I'd they also wanted to follow tand respect the 
rules of another community, then they would be providing a 
direct link. What they are doing now is going against their 
rules by trying to bypass their algorithm for more fake 
internet points.


I don't know why you're so worked up about this, but please 
scroll up and read what I wrote. Nowhere have I asked for 
anyone to upvote the post. I want people to know it's there so 
that those who would like to do so can head over and comment. 
Whether you upvote or not is up to you, but if you do so I 
would like it to count. I also don't want direct links harming 
our ranking. That gets more eyes on the post and helps us all 
in the long run.


If that's not good enough for you, then I have nothing else to 
say on the matter.


Replies like this one and andrei are why.

You are directing a community around a topic to an article about 
that topic. What do you think they are going to do? There's a 
reason why votes don't count when an article is linked directly. 
They didn't do it by mistake.


No worries, I'll post the direct link for you in the future. I 
got you covered.


Re: Talk by Herb Sutter: Bridge to NewThingia

2020-06-28 Thread Jesse Phillips via Digitalmars-d-announce
On Saturday, 27 June 2020 at 15:48:33 UTC, Andrei Alexandrescu 
wrote:
How to answer "why will yours succeed, when X, Y, and Z have 
failed?"


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

Very insightful talk.


He touches on, why we should have @safe by default and the 
importance of the C++ call support.


The challenges in this community is that everyone has their own 
market they would like to see D displace. C, C++, web, .Net, 
gnome gui...