-
Voglio raccontarvi una storia, per spiegarvi quanto è difficile conciliare la vendita di un prodotto commerciale con lo sviluppo di un software "open". Al giorno d’oggi le calcolatrici scientifiche sono un mercato con parecchia concorrenza, e lo prenderò come esempio.
Read More -
Some time ago I stumbled upon this Hacker News discussion on how disable Spectre mitigation.
(For what Meltdown and Spectre is, refer to this article on 2018)
It is sad to say but my Intel NUC centrino was slowed down a lot by these mitigation, and the same faith is shared by old Intel server. Disabling it on Linux and Windows has a very huge improvements.
Read More -
Good insights from this article:
How to strangle a legacy codebase
The strategy is simple:Progressively delete the old code base, in favor of a new one.
Here’s the plan:
- Have the new code acts as a proxy for the old code. Users use the new system, but it just redirects to the old one.
- Re-implement each behavior to the new codebase, with no change from the end-user perspective.
- Progressively fade away the old code by making users consume the new behavior. Delete the old, unused code.
[...]
More here -
In Microservices architecture, you decompose your services in a set of fine-grained services. These services are full-stack software, from front end API down to database layer.
Each microservice is responsible and owns its data.
For instance if you have a MovieInventory service and a CheckIn/Checkout services, they must communicate each other via API.
Read More -
Sono un fan di node js, ed è una grande community.
Però è un ecosistema cresciuto in modo tumultuoso, in cui il progetto più piccolo colleziona dipendenze a rullo… finché poi vedi durante le build cose come del tipo:
cioè io non so chi sia sto zloirock però non mi è mai successo di mettere un messaggio del tipo “assumimi” durante l’installazione di un software…. peraltro nella fase di post-install.
Read More -
QB64: basic Revenge
Jun 27, 2020 · 1 min read ·
Quick Basic64 is a QBasic compatible programming language actively mantained.

It produce C-compiled code and works under Linux and MacOS too. It resemble the original QBasic IDE, and supports its dialect.
If you have some old qbasic code to "update", QB64 is your best friend:Give it a try!
Read More -
runif
May 28, 2020 · 2 min read ·
Idempotent and minimal python 3 library for rapid scripting. Provide support for creating file, adding data to them, patching and so on.
Why?
(Ba)sh scripting is very easy to setup. So we end up using it all the time for simple procedural script.
Read More -
Se vi dicessi che il 20% delle comunicazioni che il vostro smartphone attua per consentirvi di usare Whatupp o leggere il giornale è verso i server pubblicitari di google, facebook, amazon, come reagireste?
Questo è un articolo divulgativo su uno strumento che è possibile installarsi a casa propria, per proteggere la propria rete Internet dalla pubblicità, e rafforzare la privacy della propria famiglia.
Chi ha bambini piccoli a casa sa che oramai sono in grado di giocare su smartphone o guardare filmati su Youtube. Si pone quindi un problema che va dal controllo di ciò che guardano, alla loro privacy, passando anche per una riduzione della loro esposizione alla pubblicità.
Per intenderci, Youtube non ha una grossa considerazione dello spettatore: le pubblicità non sono correlate con i contenuti, e anche abilitando i filtri per adulti il risultato è che non c’è un controllo su cosa vedono i nostri figli; tradotto in parole semplici, pubblicità inappropriate possono apparire durante la visione di un cartone animato LEGO.
Sto parlando di tutte cose che ho toccato con mano, e fornirò conferme con riferimenti ad altri articoli. Non è mia intenzione allarmare nessuno, ma sensibilizzare tutti sulla esistenza di una onda crescente che sta cercando (in sordina) di imporci un modo di vivere che non dobbiamo per forza abbracciare.
Read More -
The project has been renamed into “runif”. This page left only for Google Search happiness.
Pybash is a python library to make python script as easy as in Bourne Again Shell (Bash).
Bash scripting is very easy to setup. So we end up using it all the time for simple procedural script.
Read More -
I think constants are evil (just joking but….I will explain why).
I am tired of seeing a lot of Java classes filled with the same constants repeated over and over again, instead of collecting them in a common file, which in C Language was called include files (ooooah!).
Read More -
In the 1980 comments were used to reduce the “gap” between unstructured code and “rationale” behind the code.
- C/64 Peek and poke where oscure.
- Gosub on function pointed by numbers was bad
- 8-bit systems was tight on command names and so on (think to write a python interpreter in Arduino/bbc:Micro, or look at the memory consumed by the COMMAND STRINGS on C/64 Basic v2)
- C code was not expressive, but good code required little comment, as you can see here
- Comment obscure code -> instead of writing it better
- Comment caching code you will end up to commit breaking production ->instead of having a cache config to disable cache on dev machines
- Comment not working code will end up in production, producing functional breaks -> because you will forget it and commit the bad version
@Comment("Documentation of this class/method/function/closure") @Fixme("Reason") @Todo("Why", deadline=20230423)
Read More -
Character encoding is a very bad beast when you write code, but UTF-8 will save us.
Belive me: You will love the Big Brother and the UTF-8.
Source: UTF-8 and Unicode Standards Also read this: https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/Unicode Transformation Format 8-bit is a variable-width encoding that can represent every character in the Unicode character set. It was designed for backward compatibility with ASCII and to avoid the complications of endianness and byte order marks in UTF-16 and UTF-32.
-
The department of defense, has published a nice document to “detect” agile bullshit. The document is called DIB_DETECTING_AGILE_BS_2018.10.05 and was published on October 2018.
We saved a copy on our site, because we think it is very very interesting…
-
Because some friend of mine did not know about RUP, and deal with waterfall process, I decided to make a small recall for all poor young Project Manager dealing with bad developers, bad consultants and so on, out of there. From Wikipedia:
The Rational Unified Process (RUP) is an iterative software development process framework created by the Rational Software Corporation, a division of IBM since 2003.[1] RUP is not a single concrete prescriptive process, but rather an adaptable process framework, intended to be tailored by the development organizations and software project teams that will select the elements of the process that are appropriate for their needs. RUP is a specific implementation of the Unified Process.
Read More -
In this second article I will continue my jorney on LambdaMoo code base. The C code is very well written. Sometimes the API abuse global variable to avoid passing around identifier like output database file descriptor or the like.
Because a lot of the system has been written in the Moo language, the core is composed of:
Read More
