Re: A New Era for the D Community

2023-05-03 Thread Ikey Doherty via Digitalmars-d-announce
Sounds awesome Mike, really does. As long as transparency remains 
a key objective, I think everyone is on board.


Re: DConf '23 August 29th - September 1 --- Early-Bird Registration is Open!

2023-03-25 Thread Ikey Doherty via Digitalmars-d-announce
On Saturday, 25 March 2023 at 10:32:49 UTC, Richard (Rikki) 
Andrew Cattermole wrote:

On 25/03/2023 10:57 PM, Ikey Doherty wrote:
I'd absolutely love to go but I need to check with work, as I 
have a commitment in Canada in August. Hopefully by then I'll 
have enough for tickets ^^


Do a talk and get tickets/hotel paid for :)


Walked into that one, didn't I. :)


Re: DConf '23 August 29th - September 1 --- Early-Bird Registration is Open!

2023-03-25 Thread Ikey Doherty via Digitalmars-d-announce
I'd absolutely love to go but I need to check with work, as I 
have a commitment in Canada in August. Hopefully by then I'll 
have enough for tickets ^^


Re: Serpent OS Infrastructure - Live

2023-03-24 Thread Ikey Doherty via Digitalmars-d-announce

On Thursday, 23 March 2023 at 19:31:12 UTC, M.M. wrote:

On Thursday, 23 March 2023 at 16:39:17 UTC, Ikey Doherty wrote:

So normally a post like this really isn't that interesting.
However, our infrastructure has been written in D and is now
live!

[...]


Wow! That's a whole lot of work, and very interesting one. I 
guess there's still a lot to be done. I go read more on the 
project website, and wish good luck with the project.


Oh there's so much to do! We took the decision to aim for our
PoC so we could buy approx. 6 months to build the rest of the
project out. Learning how to do CI/CD via DLang has been really
fun =)


Serpent OS Infrastructure - Live

2023-03-23 Thread Ikey Doherty via Digitalmars-d-announce

So normally a post like this really isn't that interesting.
However, our infrastructure has been written in D and is now
live!

We've had a couple of teething problems, notably libcurl on Alma
Linux is super outdated, and hit pthread_t exhaustion when using
`task!FN().executeInNewThread` so we switched to a thread pool ...

![img](https://serpentos.com/static/img/blog/infrastructure-launched/Featured.webp)

Other than that, it's rolling.

Blog post: 
https://serpentos.com/blog/2023/03/18/infrastructure-launched/


**Code**

Summit (dashboard): https://github.com/serpent-os/summit
Avalanche (builder as a service): 
https://github.com/serpent-os/avalanche

Vessel (repo manager): https://github.com/serpent-os/vessel
Boulder (build tool): https://github.com/serpent-os/boulder
Moss (package manager): https://github.com/serpent-os/moss
Shared service APIS: https://github.com/serpent-os/moss-service
Shared package APIS: https://github.com/serpent-os/libmoss

Instance: https://dash.serpentos.com

**Basics**

The build components are paired using a REST API, public keys and 
EdDSA JSON Web Tokens. The dashboard schedules builds using a 
graph, fetching the git recipes and determining missing builds. 
TLDR every missing build gets scheduled and ends up in the 
repository's public tree.


Right now we're running it at a small scale to find out various 
teething issues, but do have plans to scale it beyond the current 
setup. Long story short we're looking to a k8s style setup with 
separate postgresql (rather than lmdb), and transient builders 
rather than the current pairing system for blessed instances.


Also we're growing highly tired of relying on C libs that are 
host OS dependent, and are planning a rearchitecture of the core 
tooling around fibers (using vibe.d core APIs) which will lead to 
more natural idioms (allowing us to kill our predominantely OOP 
approach and move towards ducktyping and significantly less 
allocations)


Re: Serpent OS

2022-11-24 Thread Ikey Doherty via Digitalmars-d-announce

On Thursday, 24 November 2022 at 12:43:27 UTC, Ikey Doherty wrote:

On Thursday, 24 November 2022 at 10:42:47 UTC, Sergey wrote:

On Thursday, 24 November 2022 at 08:39:39 UTC, Mahdis wrote:

[...]


It will be interesting if D Monthly Meeting Foundation will 
invite to participate Ikey (if he would like). It seems he has 
something to share with core developers about building 
process, modern x64-86 architecture support and other things.


I dare say I have very little in the way of suggestions right 
now
as I'm navigating some BKMs for Serpent OS and perhaps defining 
some.


We've been banging this into shape for roughly 2 years now, so 
we'll
start our engagement at the bottom and work our way up ideally. 
Hopefully

we can provide some PRs and DIPs along the way. :)


Video demonstrating where we're at: https://youtu.be/SragDP7S_SU


Re: Serpent OS

2022-11-24 Thread Ikey Doherty via Digitalmars-d-announce

On Thursday, 24 November 2022 at 10:42:47 UTC, Sergey wrote:

On Thursday, 24 November 2022 at 08:39:39 UTC, Mahdis wrote:
Honestly, I am surprised that its tools like package manager 
are written with dlang:



https://www.phoronix.com/news/Serpent-OS-Infrastructure

Fortunately, D Lang is gradually gaining popularity


It will be interesting if D Monthly Meeting Foundation will 
invite to participate Ikey (if he would like). It seems he has 
something to share with core developers about building process, 
modern x64-86 architecture support and other things.


I dare say I have very little in the way of suggestions right now
as I'm navigating some BKMs for Serpent OS and perhaps defining 
some.


We've been banging this into shape for roughly 2 years now, so 
we'll
start our engagement at the bottom and work our way up ideally. 
Hopefully

we can provide some PRs and DIPs along the way. :)


Re: Serpent OS

2022-11-24 Thread Ikey Doherty via Digitalmars-d-announce

On Thursday, 24 November 2022 at 10:37:12 UTC, bauss wrote:

On Thursday, 24 November 2022 at 08:39:39 UTC, Mahdis wrote:
Honestly, I am surprised that its tools like package manager 
are written with dlang:



https://www.phoronix.com/news/Serpent-OS-Infrastructure

Fortunately, D Lang is gradually gaining popularity


The website is built with vibe.d also :)


I will admit the serpentos.com/ repo is a total hack. It was an 
effort
in running away from Hugo as quickly as possible for ease of 
maintenance

whilst getting things going quickly.

It lazily rebuilds a cache DB from hugo-compatible-ish markdown 
files and
processes them for rendering using a simple diet template. It's 
been running

for months now so I'm happy with it.

The new infra projects make use of vibe.d+moss-service, for 
authenticaton+
authorisation management with EdDSA JWTs and such. Very fluid 
right now as
we define the architecture but the plan is to have rolling builds 
very very

soon.


difflib-d: Port of Python's difflib

2022-06-21 Thread Ikey Doherty via Digitalmars-d-announce

Howdy all :)

We recently encountered an interesting issue during development 
of our automated packaging tool, (`boulder new`). The computation 
time for levenshteinDifference severely impeded performance when 
scanning LICENSE files and matching them with the SPDX data set.


As an experiment, we've begun porting Python's difflib to D and 
it can be found here:


https://gitlab.com/serpent-os/dlang/difflib-d

It's a bit ugly internally right now but it does implement the 
bare basics, i.e. `SequenceMatcher` with the following APIs:


- `longestMatch` - Return the longest match between two 
sequences

- `matchingBlocks` - Return Match[] of all encountered matches
- `ratio` - Similarity between two sequences, 0.0f-1.0f

Anyway, thought it may come in handy for people in future, so if 
there's interest

we can flesh it out beyond our own use case. :)