Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(content): add analscript related journey first post #50

Merged
merged 2 commits into from
Jul 31, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 15 additions & 13 deletions content/english/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,17 @@ The possibility of being able to create tools that could make people's life bett
**passion** and later also **work**.

I currently work as a Software Engineer for a beautiful startup called
[hlpy](https://hlpy.co).
[hlpy][hlpy].
Being able to contribuite to a project with a similar impact, makes me
extremely satisfied and happy.

But hey, introductions aside, let me explain what leads me to write on
this blog.

## Why a blog?
## Why A Blog?
During 2022 I've decided to expose me publicly because I wanted to confront
myself with other professionals in the sector.
The reason? I have known [Progetto Happiness](https://progettohappiness.com/en/the-project/).
The reason? I have known [Progetto Happiness][progetto-happiness].

If you didn't know Progetto Happiness, it is an initiative aimed to
understanding what it is and how you can reach the **happiness** through a
Expand All @@ -52,7 +52,7 @@ world all the beauty that people that I know and interact with every day give me
During this year I've got an invaluable value from these experiences and I
want to share them with you.

## What can I read?
## What Can I Read?
As a great computer science enthusiast it seems absolutely obvious
to me that the main topic will be that. I will treat it, however, in my own way.

Expand All @@ -62,27 +62,29 @@ Beyond this, I'd like to build a bond with whoever reads what I write.
So expect to find totally generic articles, from time to time, about what
happens during my daily adventures.

## To whom it is addressed?
## To Whom It Is Addressed?
This blog is aimed to anyone looking for a different point of view, to
anyone who wants to question themselves or just learn something new.

Sure, okay, even if you want to find out why my name is `airscript`.

## Where can I find you?
## Where Can I Find You?
If you want to follow my adventures I'll leave some useful links below.

But before that, I remind you that this blog is **entirely Open Source**.
This means that you can contribute to both its development and the drafting
of articles, get inspiration and much more.

If you want to leave a star and support my project, you can find it at the
following [link](https://github.com/Airscripts/blog).
following [link][github-blog].
I would be delighted if you did!

And now, without too much delay here are the links that I promised you:
- [GitHub](https://github.com/Airscripts)
- [LinkedIn](https://www.linkedin.com/in/airscript/)
- [Twitter](https://twitter.com/airscript)
- [Telegram](https://t.me/airscript)

Not enough for you? Feel free to write an email at [email protected].
- [airscript.it][airscript-it]: here you can find everything you need, starting from my socials.
- [GitHub][github]: this is my GitHub profile where all my open source project are.

[hlpy]: https://hlpy.co
[airscript-it]: https://airscript.it
[github]: https://github.com/airscripts
[github-blog]: https://github.com/Airscripts/blog
[progetto-happiness]: https://progettohappiness.com/il-progetto/
2 changes: 1 addition & 1 deletion content/english/archives.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "Archive"
layout: "archives"
summary: "Archives of blog.airscript.it."
summary: "Blog's archives."
---
27 changes: 13 additions & 14 deletions content/english/posts/molivair/welcome-molivair.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@ It has been a while since the last time!
I've finally completed a project that I couldn't wait to share.
But first let's start from the beginning. I've co-founded **Molivair**.

## What is Molivair?
## What Is Molivair?
Molivair was born with the goal of making our surroundings more colorful.
How it does it it's very simple.
You have most likely come across art generated with the help of Artificial Intelligence. At Molivair we do just that!
We generate art that will then be shared and auctioned on dedicated marketplaces.

## How it was born?
## How It Was Born?
It all started with a simple message on Telegram a few months ago.
Marco, the mastermind behind it all, had had a wonderful idea that he decided to share with me.
After learning about it, we immediately set to work.
Expand All @@ -31,7 +31,7 @@ The idea he told me about, however, **will not** be covered in this post.
> There is a time and place for everything, but not now.
> *Professor Oak, Pokémon*

## What are you going to talk to us about, then?
## What Are You Going To Talk To Us About, Then?
Of course, I didn't come here empty-handed.
If you've been paying attention, I actually mentioned a project at the beginning.

Expand All @@ -42,21 +42,20 @@ Let me tell you: it is truly fascinating.
This collection was made as a springboard for the main project from which this all started. We wanted to get a feel for the market, understand how the tools involved work, and spread the word about Molivair.
We hope you will enjoy it as much as it was with us as we generated each and every pixel.

## How did you generate the paintings?
## How Did You Generate The Paintings?
If you are interested in knowing the process behind the creation of the paintings, you can let me know via the contact information I will leave at the end of the post. I would love to write something about it!

## Where can I find Outpaintings?
If you'd like to check it out, I'll leave below in plain text the address to reach it:
https://opensea.io/collection/molivair-outpaintings 🔗
## Where Can I Find Outpaintings?
If you'd like to check it out, you can find it on [OpenSea][opensea-molivair-outpaintings].

## Conclusion
We have seen what is Molivair, how it is born and where you can find the first art collection: Outpaintings.

## Contacts
You can find me at the following links:
- [GitHub](https://github.com/Airscripts)
- [LinkedIn](https://www.linkedin.com/in/airscript/)
- [Twitter](https://twitter.com/airscript)
- [Telegram](https://t.me/airscript)
## Share Support
If you have liked this post, just come and tell me!
Are you too shy for doing this? No problem. Just visit [airscript.it][airscript-it] and share your support following me on your preferrend social platform.
If you want to make me even more happier, just follow, share or star me and my projects on [GitHub][github].

Not enough for you? Feel free to email me at [email protected].
[airscript-it]: https://airscript.it
[github]: https://github.com/airscripts
[opensea-molivair-outpaintings]: https://opensea.io/collection/molivair-outpaintings
33 changes: 18 additions & 15 deletions content/english/posts/open-source/awesome-steam-deck.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,28 +12,28 @@ summary: "A presentation of a new open source Awesome List for Steam Deck."

## Introduction
Hey there! I am Francesco known as Airscript on the web.
Today with this blog post I want to share with you a new open source project that I'm developing: [Awesome Steam Deck](https://github.com/airscripts/awesome-steam-deck).
Today with this blog post I want to share with you a new open source project that I'm developing: [Awesome Steam Deck][awesome-steam-deck].

## Why an Awesome List?
## Why An Awesome List?
I've recently bought a Steam Deck and as always, I just started learning everything that I could learn about it.
So I've gathered information around all the web: from Reddit, independent blogs or even videos.

After all this research, something clicked in my mind and I told myself: "Maybe there is an Awesome List for this!"
I was wrong. Inside [Awesome](https://github.com/sindresorhus/awesome) I didn't find out something related. Only a few projects around GitHub but not updated anymore.
I was wrong. Inside [Awesome][awesome] I didn't find out something related. Only a few projects around GitHub but not updated anymore.
So I've decided to try in doing one myself, because I wanted to be of help to others and contribute to this wonderful ecosystem that Valve made.

## How have you started?
I started from looking at the [guidelines](https://github.com/sindresorhus/awesome/blob/main/create-list.md) of an Awesome List.
## How Have You Started?
I started from looking at the [guidelines][guidelines] of an Awesome List.
You need a lot of things to be compliant with Awesome, so I decided to learn about how to start properly first.
Next to this, I needed to gather information. Since I am familiar with interacting with communities, I found out one on Telegram called [Steam Deck Italia](https://t.me/SteamDeckIta).
Next to this, I needed to gather information. Since I am familiar with interacting with communities, I found out one on Telegram called [Steam Deck Italia][steam-deck-italia].
Here I have found some marvelous people that shared knowledge freely and I've later decided to do a partnership with them to give thanks for the indirect help they gave.

After I had a small basis, I tried to reach out a bigger audience on Reddit. What I found there was mindblowing.
The project has been loved by many and a few people also gave me their projects in order to be included and maintained by me into my GitHub repository.
That's where I just made the final changes and findings for the list.
People has started to share the list each other finding it useful and that just filled me up with happiness.

## What's next?
## What's Next?
In order to be a certified Awesome List, the list itself has to be as complete as possible and at least 30 days old.
Right now we're in the second week of life so there's much time ahead.
I've set some goals to reach before this three weeks finish up:
Expand All @@ -48,11 +48,14 @@ If you know spanish, french or german, it would be awesome and well appreciated
Otherwise other types of contributions are always welcome, you know that.
Thank you kindly for reading this article!

## Contacts
You can find me at the following links:
- [GitHub](https://github.com/Airscripts)
- [LinkedIn](https://www.linkedin.com/in/airscript/)
- [Twitter](https://twitter.com/airscript)
- [Telegram](https://t.me/airscript)

Not enough for you? Feel free to email me at [email protected].
## Share Support
If you have liked this post, just come and tell me!
Are you too shy for doing this? No problem. Just visit [airscript.it][airscript-it] and share your support following me on your preferrend social platform.
If you want to make me even more happier, just follow, share or star me and my projects on [GitHub][github].

[airscript-it]: https://airscript.it
[github]: https://github.com/airscripts
[steam-deck-italia]: https://t.me/SteamDeckIta
[awesome]: https://github.com/sindresorhus/awesome
[awesome-steam-deck]: https://github.com/airscripts/awesome-steam-deck
[guidelines]: https://github.com/sindresorhus/awesome/blob/main/create-list.md
104 changes: 104 additions & 0 deletions content/english/posts/open-source/building-anally-fast-stuff.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
---
date: "2023-08-02"
author: "Airscript"
title: "Building Anally Fast Stuff"
categories: ["open source", "esolangs"]
tags: ["airscript", "open source", "esolangs"]
images: ["/images/cover-analscript.png", "/logo-open-graph.png"]
summary: "A modern approach for writing anally fast stuff with Analscript."
---

![name](/images/cover-analscript.png#center)

## Introduction
Hey there! I am Francesco known as Airscript on the web.
Today I want to share with you my first experience building a joke [esoteric programming language][esolangs-org]: [Analscript](https://github.com/airscripts/analscript).
We will go through how I have started, what I have learned and how I have realized all of this.

## History Behind The Joke
All started the day I've decided to give my GitHub sponsors some perks.
One of those perks is the possibility to have their usernames written in a large variety of esolangs.
So, when a new sponsor came up, I had to ask for which esolang the username would be written it in...and then a wild AnalLang appeared.
Yes, you heard it right: [AnalLang][anallang].

## The Dad Of Analscript
I jumped right into the action and read about AnalLang onto the [bible of esolangs][esolangs].
The thing that jumps right in my face, during the lecture, is that the project got deleted. And with it also its creator.
All gone. Everything.
I tried to recover it from [npm][npm-js] but nothing was working, even if I had found the original project.
I took it personally and decided to make a new AnalLang, something that had everything his father had but with a modern approach.
And that is how my journey begins.

## Anal-yzing The Project
The first thing that I did was to learn how AnalLang worked, or at least how was intended to work originally.
It is very simple: you convert the characters to their corresponding [ASCII][ascii] code and then simply write N times this emoji combination: 🍑🍆.
This is, basically, AnalLang. Simple, right?

## Writing Down The Foundation
Now that I had a good idea about how everything worked, I just jumped out making some decisions.
The goal here was to give everything daddy had, even the basic runtime he used: [Node.js][node-js].
I've scaffolded a project with the latest LTS as of this time, v18, and jumped right in making the standard library.
The first thing I've worked on were the two main functions: **anallify** and **stringify**. Respectively one for transforming string to anal content and the other to reverse them.
Once done this, I was literally at a good point with the language.

## Exposing Everything
Once I had the standard library, I needed to choose first how users could consume this language.
I thought to start with two simple ways: a CLI and a simple import as a libary.
For the latter, it was really easy: I have just exposed the modules I wanted through the use of [ES Modules][javascript-modules].
The CLI was a little bit more interesting to do.
Did you know that you can add a bin key into your package.json and that just makes a binary for your lib? It is literally amazing.

```json
{
"bin": {
"analscript": "analscript.js"
}
}
```
> With this simple line, when bundling the project, you will have a fantastic binary to run everything from.

Once done this, I had to choose the commands to expose and everything was set.
At the end I've chosen to expose anallify and stringify for doing [JIT][jit] encoding and decoding for various use cases. Like making stuff in a simple pipeline for example.
Then I've added two special commands that gave us the power to use .anal files: run and compile.
Compile just compiles everything you give it into an .anal compliant file. Run...you can imagine or try it by yourself.

## Wrapping The Whole Package
At the end of the day, I wanted to give some robustness to everything.
My main goals were: testing, documentation, listing, automation and inclusion.
- **Testing**: this one was really simple to accomplish and I have just used vitest for writing all the unit tests.
With the help of [@mateonunez][mateo-nunez], we also improved code coverage of the whole project.
- **Documentation**: with this step I am still working. I have decided to make use of [Docusaurus][docusaurus], just to keep everything inside JavaScript ecosystem and of course to keep it comprehensible for future Analscripters.
- **Listing**: the world had to knew who is the new boss in the city. For this reason, I have added [Analscript to esolangs.org][esolangs-analscript].
- **Automation**: who doesn't love automation? Analscript for sure loves it. Thanks to [CircleCI][circleci] I was able to setup a fantastic workflow for running automated tests. And this closes the Circle...CI.
- **Inclusion**: what if I don't know how to run this project on my machine or am I having problems with it? Simple: I left a [container image][docker-hub-analscript] ready for you. Nothing more to say.

## What I Have Learned
After creating Analscript I learned something valuable, beside all the technical knowledge that I gathered from it: even the simplest project can be valuable if you give it the possibility to do it.
So just do what you want to do! Even if it is a simple Hello World.
You can always learn something new and obtain a lesson from it.

## Conclusion
So wrapping things up, we have seen the history behind the idea, what was AnalLang, how I've built everything and the main aspects that I have focused on when completing the project.
In the end everything has a lesson so why don't just share it with you too?
I hope that this post was fun and informative for you. I will see you in undefined days. Thank you kindly.

## Share Support
If you have liked this post, just come and tell me!
Are you too shy for doing this? No problem. Just visit [airscript.it][airscript-it] and share your support following me on your preferrend social platform.
If you want to make me even more happier, just follow, share or star me and my projects on [GitHub][github].

[node-js]: https://nodejs.org
[npm-js]: https://npmjs.com
[circleci]: https://circleci.com
[docusaurus]: https://docusaurus.io/
[airscript-it]: https://airscript.it
[esolangs-org]: https://esolangs.org
[github]: https://github.com/airscripts
[ascii]: https://en.wikipedia.org/wiki/ASCII
[mateo-nunez]: https://github.com/mateonunez
[anallang]: https://esolangs.org/wiki/AnalLang
[jit]: https://en.wikipedia.org/wiki/Lean_manufacturing
[esolangs-analscript]: https://esolangs.org/wiki/Analscript
[esolang]: https://esolangs.org/wiki/Esoteric_programming_language
[docker-hub-analscript]: https://hub.docker.com/r/airscript/analscript
[javascript-modules]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules
Empty file.
2 changes: 1 addition & 1 deletion content/english/search.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Search"
layout: "search"
summary: "Search something on blog.airscript.it!"
summary: "Search something on my blog!"
robotsNoIndex: true
---
20 changes: 11 additions & 9 deletions content/italian/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,15 @@ delle persone attraverso delle linee di codice, mi ha entusiasmato così tanto
da far divenire questo interesse, **passione** ed in seguito anche **lavoro**.

Attualmente lavoro come Software Engineer per una bellissima startup
chiamata [hlpy](https://hlpy.co).
chiamata [hlpy][hlpy].
Poter contribuire ad un progetto con un impatto simile, mi rende estremamente soddisfatto e felice.

Ma ehi, presentazioni a parte, lascia che ti spieghi cosa mi porta a scrivere su questo blog.

## Perché un blog?
Nel corso del 2022 ho deciso di espormi pubblicamente perché desideravo
confrontarmi con altri professionisti del settore.
Il motivo? Ho conosciuto [Progetto Happiness](https://progettohappiness.com/il-progetto/).
Il motivo? Ho conosciuto [Progetto Happiness][progetto-happiness].

Se non conoscessi Progetto Happiness, è un'iniziativa volta a comprendere
cosa sia e come si possa raggiungere la **felicità** attraverso una serie
Expand Down Expand Up @@ -76,13 +76,15 @@ Ciò significa che puoi contribuire sia al suo sviluppo che alla stesura degli
articoli, trarne ispirazione e tanto altro.

Se ti va di lasciare una stellina e supportare il mio progetto, lo trovi al
seguente [link](https://github.com/Airscripts/blog).
seguente [link][github-blog].
Sarei felicissimo se lo facessi!

Ed ora, senza troppi indugi ecco i link che ti avevo promesso:
- [GitHub](https://github.com/Airscripts)
- [LinkedIn](https://www.linkedin.com/in/airscript/)
- [Twitter](https://twitter.com/airscript)
- [Telegram](https://t.me/airscript)

Non ti bastano? Scrivimi pure una email a [email protected].
- [airscript.it][airscript-it]: qui trovi praticamente tutto quello di cui puoi avere bisogno, a partire dai miei socials.
- [GitHub][github]: questo è il mio profilo GitHub, dove trovi tutti i miei progetti open source.

[hlpy]: https://hlpy.co
[airscript-it]: https://airscript.it
[github]: https://github.com/airscripts
[github-blog]: https://github.com/Airscripts/blog
[progetto-happiness]: https://progettohappiness.com/il-progetto/
2 changes: 1 addition & 1 deletion content/italian/archives.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "Archivio"
layout: "archives"
summary: "Archivi di blog.airscript.it."
summary: "Archivi del blog."
---
Loading