Resources

Creare una pagina web nel 2021 - HTML, SCSS, JS

categorie: 

Noel Berry: Sword 2 - Adventure of Frog

Sword 2 - Adventure of Frog
Sword 2 - Adventure of Frog è un gioco completo, sviluppato in C++ sul canale in streaming da Noel Berry (autore di Celeste).

E' un eccellente esempio su come si sviluppa un gioco completo in uno dei linguaggi più ostici da padroneggiare.

twitter
youtube

streaming - day 1
streaming - day 2

[via]

FastAPI e Rust

fastapi
FastAPI è una delle tecnologie più immediate per creare delle API. Ecco alcune delle feature:

- Documentazione automatica tramite OpenAPI, che permette di fare cose come generare codice Python che sappia parlare con le API.
- Documentazione sull'interfaccia utente che permette di comprendere facilmente e interagire direttamente con l'API.
- Validazione degli input tramite Pydantic, lo stesso strumento usato per generare gli schemi nella documentazione. Fondamentalmente basta annotare il vostro endpoint con gli input/output e questi vengono documentati e validati.
- Facile da testare usando qualcosa come pytest grazie ad alcuni fantastici strumenti inclusi e alla flessibilità dell'iniezione di dipendenza.
- La fantastica documentazione di FastAPI, alcuni dei migliori in giro, dà accesso ad alcune delle feature migliori.
- Facile da ospitare su AWS Lambda usando Mangum.

Ma qualcuno ha deciso di reimplementare il tutto in Rust

[via]

Intro to FastAPI - The Best Way to Create APIs in Python?

Learning FastAPI

Geek Gamers: Hackmaster RPG

Geek Gamers presenta Hackmaster RPG GameMaster's Guide e molte delle sue tabelle, alcune delle quali necessitano di un d10000 (si usano 4 d10).

Più si gioca a HackMaster, più ci si renderà conto di quanto sia diverso rispetto ad altri giochi del genere. Per la maggior parte dei manuali, avere qualche preconcetto su cosa aspettarsi o sull'esperienza di fondo rende la transizione da un altro sistema più facile. Ma spesso non è così con HackMaster; infatti, i principianti a volte hanno un netto vantaggio nell'apprendimento rispetto agli esperti di RPG. Questo perché mentre HackMaster si comporta come un gioco classico, ma la sua meccanica fluida è più simile alla vita reale rispetto a qualsiasi edizione precedente.

Hackmaster features


Questo Non Esiste - Online GAN generators

L'algoritmo MiniMax

minimax algorithm
L'algoritmo MiniMax è una regola utilizzata nell'intelligenza artificiale, nella teoria delle decisioni, nella teoria dei giochi, nella statistica e nella filosofia per ridurre al minimo la possibile perdita nel caso peggiore (perdita massima). Quando si tratta di guadagno, si parla di "maximin", per massimizzare il guadagno minimo. Originariamente formulata per la teoria dei giochi a somma zero per n giocatori, che copre sia i casi in cui i giocatori eseguono mosse alternate sia quelli in cui eseguono mosse simultanee, è stata estesa anche a giochi più complessi e a decisioni generali in presenza di incertezza.

Minimax Algorithm Guide: How to Create an Unbeatable AI

image credit: researchgate.net

Decision Analysis 1: Maximax, Maximin, Minimax Regret

Intermediate Minimax Algorithm for Tic-Tac-Toe using C#

Pyxel - The Python Retro Console

pyxel
Pyxel è un engine retro console 8-bit come Pico-8 per python. Solo 16 colori e 4 canali con 64 suoni definibili, per Win, Mac e Linux, il codice della cartuccia si scrive in python, legge come input keyboard, mouse e gamepad, editor di immagini e suoni integrato.

Sul README.md è tutto perfettamente documentato

Pyxel wiki
reddit
Learn Python by Building 12 Projects in This 3-Hour Course

discord

[via]

12 Beginner Python Projects - Coding Course

⌨️ (1:40) 1. Madlibs
⌨️ (6:54) 2. Guess the Number (computer)
⌨️ (13:17) 3. Guess the Number (user)
⌨️ (21:14) 4. Rock Paper Scissors
⌨️ (24:25) 5. Hangman
⌨️ (35:53) 6. Tic-Tac-Toe
⌨️ (59:59) 7. Tic-Tac-Toe AI
⌨️ (1:15:53) 8. Binary Search
⌨️ (1:27:16) 9. Minesweeper
⌨️ (1:51:55) 10. Sudoku Solver
⌨️ (2:05:34) 11. Photo Manipulation in Python
⌨️ (2:31:49) 12. Markov Chain Text Composer

Decompilare che Passione

dnspy
In questo articolo lo staff di dotnetsafer spiega alcune semplici tecniche per decompilare codice .NET.

Ci sono alcuni interessanti tool, per esempio uno è sicuramente dnSpy: un debugger e editor .NET assembly.

Inoltre c'è questo decompiler online che può essere utilissimo nel caso di una web application realizzata con Blazor.

[via]

Come realizzare una buona API

API Design
Johanne Andersen ci racconta nel suo articolo Practical Advice to Good API Design come realizzare una buona Application Programming Interface. Per farlo ha preso spunto da un famoso googletalk video di Joshua Bloch: How to build good APIs and why it matters by .

Quali sono le caratteristiche di una buona API ?
- Facile da imparare
- Facile da usare, anche senza documentazione
- Difficile da usare in modo improprio
- Il codice che la utilizza deve essere di facile lettura e manutenzione
- Abbastanza potente da soddisfare i requisiti
- Facile da evolvere
- Adeguata al pubblico

Nella pratica:
- Una API dovrebbe fare una cosa e farla bene
- Una API dovrebbe essere più piccola possibile, ma non esagerare
- Non inserire i dettagli di implementazione nella API
- Ridurre al minimo l'accessibilità di tutto
- I nomi contano !
- La documentazione è importante
- Mai deformare una API per le prestazioni
- Ridurre al minimo i cambiamenti
- Creare sottoclassi solo dove ha senso
- Progettare e documentare per l'ereditarietà o vietarla
- Non far fare al client tutto ciò che il modulo potrebbe fare
- Applicare il principio della minima sorpresa
- Fail fast - Gli errori devono essere segnalati il più presto possibile dopo che si sono verificati.
- Fornire un accesso programmatico a tutti i dati disponibili sotto forma di stringa
- Sovraccaricare con cura
- Utilizzare i tipi di parametri e di ritorno appropriati
- Utilizzare un ordine di parametri coerente tra i vari metodi
- Evitare lunghe liste di parametri
- Evitare i tipi di restituzione che richiedono un'elaborazione ulteriore

Tradotto con www.DeepL.com/Translator (versione gratuita)
[via]

How To Design A Good API and Why it Matters

La musica ispirata da Bach

In questo video: Songs Inspired By Bach, impariamo meglio l'influenza diretta del grande compositore tedesco, che si estende fino alla musica di 3 secoli dopo.

David Bennett è un pianista britannico che fa divulgazione musicale sul suo canale youtube.

Siti che raccolgono musica di dominio pubblico:
musopen.org
open music archive
freesound.org
freepd.com
Petrucci Music Library
Choral Wiki
ccmixter.org
free music public domain
free soundtrack music
audiolibrary channel
public domain 4u


Rust Hobogo

rust hobogo

Hobogo è un interessante gioco online realizzato da Emil Ernerfeldt in Rust. L'autore ha anche pubblicato il codice su github.

Il gioco si svolge in una scacchiera dove due giocatori si alternano nel collocare i propri segnalini. Si può piazzare un proprio segnalino solo se nelle adiacenze ci sono più amici che nemici. Il secondo giocatore è interpretato da una IA che esegue una MonteCarlo Blind Search nell'albero decisionale per 1 secondo, e non è affatto debole.

Hobogo è in realtà una demo di egui, una interfaccia web in "immediate mode" che esegure direttamente nel browser, sempre in rust, senza l'uso di html, dom, javascript.

Rust Windows in the browser with Egui demo


Linda Barry - Making Comics

Linda Barry - Making Comics
Making Comics è il nuovo libro di Linda Barry, rinomata autrice e insegnante di Comics all'università del Wisconsin.

Sul suo canale youtube c'è molto materiale rivolto a chiunque voglia muovere i primi passi. I fumetti sono un linguaggio ancestrale che non è dedicato solo a chi "sa disegnare". L'abilità nel disegno, dal punto di vista estetico, non è l'essenza dei fumetti. Gli storyboard dei film e delle serie e anche quelli relativi a progetti di altra natura ne sono la dimostrazione più evidente.

the near sighted monkey tumblr
playlists

[via]

David Whittaker sul DeepSID

David Whittaker

David Whittaker è il virtuoso inglese che ha accompagnato il nostro tempo libero nei tardi anni '80 con le sue composizioni per il 6501 del Commodore 64.

Tra i suoi brani più noti, le variazioni di "Lazy Jones", le colonne sonore di "Solomon's Key", "Star Wars", "The Living Daylights" e "License to Kill".

Tutta la sua produzione si può ascoltare direttamente online grazie al progetto DeepSID.

wikipedia
Video Game Music Preservation Foundation


Netlify

Netlify

Netlify è un servizio web con un tier free soddisfacente che funziona collegandosi al proprio repository GitHub per estrarre il codice sorgente, per poi eseguire un processo di build per pre-renderizzare tutte le pagine in HTML statico. In poche parole, Netlify crea un proprio tipo di repository che esegue push sia verso un repository Github che verso i propri microservizi. Poi, esegue e distribuisce i contenuti su una ampia CDN per fornire siti web statici pre-costruiti ai visitatori.

La cosa migliore di Netlify è che seleziona il CDN migliore e distribuisce i contenuti, il che si traduce in siti web pre-costruiti che si caricano più velocemente rispetto alle reti di hosting tradizionali. Invece di caricare il sito ogni volta che il visitatore va su una pagina, il visitatore ottiene una versione precaricata direttamente dal server geografico più vicino, riducendo drasticamente i tempi di caricamento.

documentation
custom domains
get started
Netlify CLI
Basic build settings

[via]

Netlify Tutorial - How to build and deploy websites using Netlify

categorie: 

Mads Torgersen - Lead Designer del C#

Mads Torgersen è il Lead Designer del C# alla Microsoft.

In questo video e il successivo spiega come mai il C# sia un linguaggio piacevole e cosa ci aspetta il futuro.

C# 9-0
C# @ dev.to
devblogs.microsoft.com

C# online console environment on repl.it


C# into the Future - Mads Torgersen

C# 8 - Mads Torgersen, Jon Skeet