Just pick a speaker is Daniel, yes, and we've talked about Amber Blank, please warmly welcome.
Thank you.
So, what is Amber Lang?
Amber Lang is a best transpiler, but he's a modern best transpiler.
Let's talk about the interesting facts about it.
Not me, but yeah, I have a Danielis Cachefrate.
I am involved with open source science a lot of years.
I also have wrote a free and open source book about it.
And contribute in a green and work process contribute for years.
And that's part of the Italian Inux Society Association in the Council.
And this is the Association in Italy that helps all the Inuxes group in Italy.
That's a promoting open source in Italy.
But I'm here just to talk about Amber Lang as I am one of the commentator and part of the project science through years, more or less.
So, I discovered years ago, and for me, it was interesting because it is a different way to see how to do scripts in your system.
Okay.
And so, I think everyone here knows what is best.
Best is a shell that is very old.
I don't want to say very old, but it's old.
And for us it's important to support old version, but the point is that it's old.
So, it's something that is a standard.
If you think Linux is best, I mean, there is no other way to say everyone just use something like this.
A console, a shell, to work with Linux.
So, everyone knows what is best on Linux.
And best has another opportunity for us, as developer develops, seesad, mean, a passionate, whatever.
Only Linux, that is basically everywhere.
Best is on Mac.
So, is another completely different platform.
But that's supported on Windows, but that's so, it is easy to get it on your Android phone.
So, we can see that is something that is basically everywhere where it is Linux.
So, for developers again, it's something that's simplified a lot, because we know something, we can use it everywhere.
So, it's just enough that it's there.
So, what are the opportunities again for a developer about using Bash, because when we promote this project,
we see a lot of people say, why have to use Bash when they respite on Node.js, PHP, and, see, well, I don't know whatever they say,
you can do everything you do with Bash with something else.
That is better or simple, I like it.
I don't know.
Well, there are some opportunity again for us.
I want to use that term, because if you can see important for developers understand that you can do the usual stuff in a different way that simplify your life.
And Bash doesn't help you often about simplify your life.
So, as we say, Bash is everywhere.
So, for me, it means that developing something, I know that I don't need to install anything, it's just copy,
the script, somewhere, just run, it's done.
It's, again, already started.
That's an example with Python.
You need to start a little bit more PHP, Node.js, whatever.
You need to install something always to use it.
So, it's not, in case you get a Docker container, really, we need Python.
Okay, but you need to start something with other interpreter.
With Bash, it's there.
So, it's there, except for comments, the bands, of course, what the script does,
because if you need a cat, a less, I don't know, three common, whatever it's there.
So, you don't need to start something.
So, simplify a bit, the setup of the system.
It's the standard.
It's very common, as an example, to use a kernel, the script, the Bash, to install it with Python, Bash, to install a project.
It's very common, it's one of the way outside, of course, the package managers.
So, it's a standard, the in-ninox to know Bash.
If you do, you try to get the LP certification, as I example, you need to use again, Bash.
So, the other side is that this syntax is not very lovable.
That's the way.
It's not something that when started was thinking about to evolve that way, and to be spread that way.
And so, it's a unique syntax.
I think that when someone reads Bash, scripts say, this is the unifconditioned,
and how I can stop the printing on console, I have no idea.
Where is the, I mean, there are a lot of problems with Bash, because it's starting away.
After 30 years, it's different.
The web and Linux, already, this has changed a lot.
So, the syntax is not something that developers today,
expect when you say, a scripting language.
And I think that is something that is not, it's a concept for me.
And also, it is easy to follow wrong practices, because 30 years,
there is not really standard, because the time and started different shell.
And also, there are different versions of Bash itself.
There is the posic standard and the known posic standard.
So, it's easy, when you write a Bash script,
you do something that is different.
It is the same script as something this is for Bash.
There are some things, another one.
So, it's very easy to follow wrong practices.
And we are doing, as an example, a CI, or something critical,
is not very good.
This is both a pro and a cons, because you need to know the Linux comments.
But if you are a Linux user, you know it.
If you are a newcomer, you need to learn it,
but it's something that you want to use Linux,
it's something that you have to deal with it.
I mean, it's part of the fun to use Linux to learn the console.
So, depends on what you think about it.
And also, it's very time consuming to write a complex script,
because at any one, I mean, after all, it's just executing commands,
but if you are doing, I don't know, a lot of conditions,
I need to read a Tom file, or a JSON,
and to download there, compile, can be not easy.
And you say, I want to use something else.
So, it's very difficult.
Also, if you're using an LAM, yeah, whatever,
now they can write for you a Bash script.
So, today depends on what you're doing in a winner
or whether you can do what you want.
But, at the end of the day, it's time consuming.
So, let's be introducing Amberlang.
Amberlang started a project as Pavel, that is not here.
So, I say, hi, probably is following in live streaming.
And started a few years ago, I switched the project.
And now, it's something on GitHub with the community.
We are doing various things.
There is the documentation line, it's on GitHub.
And now, let me explain what Amber is.
But, before I want to say, as something they repeat,
everyone joins the community.
Why is not doing this in that way?
We are an alpha project.
We are creating a programming language.
So, we are inventing syntax.
We are writing documentation.
We are creating a library.
We are creating everything from scratch.
So, maybe between a really something can change,
because we are creating something from scratch.
So, it's important to understand that we are enough.
Now, we are 0.5, and we are already working on the next one,
measure.
So, we are developing.
Let's talk about code.
So, what we have here.
We have an example code that undoes and makes sense.
But, it's important to understand some features of the language,
and the batch output from the compiler.
So, we can see something that is easy here.
I don't know, seeing concatenation.
We have parameters in the function.
We type validation.
We have a loop.
Loop is easy.
After all, in batch is not easy to read.
As I can say, we have an example here.
What we have.
We call it commons block.
We check, as an example here.
In example, the executor of the command.
And in case it's failing, it means the standard error is not zero.
And just confusing.
Anyway, in case it fails, we have this code.
Automatically executed.
In batch, you have to do something like that for the same thing.
So, at the end of the day, the same things.
It's more simple to read.
Something that always works because it's generated batch.
That is compatible.
And also doing various things.
I think that's what we have.
The type validation.
So, it's a compiler.
And the other way, a compiler optimized code.
In the actual value of things.
That's that compiling.
If you're passing a text and not a number, the file is not compiled.
So, we have that's another thing here.
We have an import, like Python, from the standard library to import all the functions that are there.
So, this is just an example that I'm a success.
But I think that is helpful to understand the various opportunities of this language,
to the best way.
Because I think that everyone here can agree that this is not something that we expect from a script in language as today in 2026 to do for a code.
So, this is not mixed-ense.
I want to talk about something that makes sense.
This is something that we use internally to check.
As an example, the best quality with the shell check,
because we are working to improve the compatibility with Bash in a simple way.
And in this way, we are just saying,
load all the member files, compile it,
check, create a text file, execute for every Bash file,
check, create a file and save it.
So, in this way, we can see the best quality with all our tests.
And so, it's run.
I would talk to you too much about code.
And this is another real example.
This one I do as a test case.
I did a 100 script that is called various language servers,
binary on my machine,
because someone is on a GDOS,
one is gem, one is python,
one is compiled, one is a binary.
Let's do a number script.
So, I use it to monitoring how the language changes.
And we can see as an example,
the function to do load,
in the standard library is just using
forget, curl, all other commands,
better than what's find in the machine.
So, it's more simple writing,
dollar that way that impides an example,
because you need to use request and so on.
So, what are the features?
We use this tool in case found it,
that is just a checker inside the Bash script
that inject on the top of the Bash file,
I code the checker, the command exists.
You're using, I don't know.
JQ checker, this is the machine,
otherwise block the script.
We support Bash 30 jugglers from some years ago,
and the Latest one, as soon as they achieve,
this syntax as you saw is easy to remember.
We have value type.
The standard library is written in poor
number, of course, is compiled in Bash,
and the built-in that are already implemented inside the language.
So, using that means that the Bash generated is the best one,
also tested with a profile,
so this kind of thing is written in Rust, all the project.
We have already played games for various editors,
and also a language server processor,
and 3-setter for this language.
These are a screen that we generated about
every release we do a lot of tests,
because as you saw, we use it internally to check
the code quality, or we're going
into everything we want to implement, we do a test, basically.
So, this is also a way to say the project is good,
because it's stable, we're testing everything.
We do a CI for every version of Bash,
that's also one for OSIX.
This is the roadmap,
but yesterday night was approved,
the direct-wasted adults had the less
built-in and others,
adopted a subpress command block,
that suppressed the standard error output.
We are also planning to do the dictionary
data structure, and a bit of OEP.
I usually explain it like an order M for commands.
Think of a find command,
you can concatenate the values parameters,
like in OEP,
and generate automatically for you the command
with Bash is generated.
And now what's we're looking for funding to
help out that is the main developer,
implemented this kind of things,
because it's an open-source project,
and this is really the sum of the stuff
that we want for the next measure,
but this depends how much time we can have
to implement and contribution for sure.
So, I have just in time,
I've gone faster, at the hand,
we have a documentation,
we have our Discord server,
we're all the community,
and we are discussing there in public,
as an example,
we have the maintainers room,
that is breathable,
just for us,
but it's a readable framework one,
and we discuss basically about what we want to do next.
So, my one is doing an operative system using Ember,
we have a package manager,
developed in Ember,
we are trying to do various things,
and understanding what is possible to do with the language.
So, I also have opened the documentation,
it is online,
we are working out to improve it,
I don't know how much is readable from there,
but it's online.
So, we are doing a lot of things,
also trying to keep up with the changes
that we are doing right now in the code,
and in the system.
So, you can download it,
it is already be compiled,
the results of the Debian package,
I want to try to do,
that Debian repository is an example for everyone,
and we are working hard
to get something that is improving time to time.
So, I think we have like one minute and half,
if there are questions,
or otherwise you can find me outside there.
So, thank you for your time.
There is a question there.
Oh, this is a paragonist.
It was just a change.
Hello.
Is it possible to take all of my old,
really crap bash grips,
and migrate them to Ember without manually writing them all out,
or whatever?
This was one of my idea to try to do a fine tune
at model,
using our test documentation
to provide something for free
that you put your best script,
or maybe have some Python,
and generate them the best.
It's something of our idea,
but we need to have time to do everything.
But yeah,
it was something that we wanted to do
because I am in the same situation.
I have huge collection of scripts,
I'll send you the languages,
so I want to create something more manageable.
Hi, thanks.
I have a project with a bunch of thousands of lines of bash
that I provide to people who write hundreds of thousands of bash lines,
based on my library.
So, it was wondering if you have any plans
for interoperability between Ember and Bash,
so that I can write in number,
and people can write in Bash.
Yeah, it's something that we are planning for both the situation,
we want to improve it,
also to get a better Bash output,
it is more easy to source the code.
So, yes, we are want to do it,
but before we have more,
we need to define the syntax of the project,
improving some things,
but yes,
it's something we are already planning
because we have people that is developing a lot
with Ember and want to do this kind of things.
So, yes,
is we have the issues for both the situation.
Open it.
Thank you very much.
Thank you.