open-menu closeme
Home
RetroComp icon
Retro Computing Articles Composition Notebooks 8bit
DevOps icon
Automation K8s Done Right
GenAI icon
Fatlama Newsletter Generative AI
Projects icon
Software Projects Arduino Misterio Esp8266 SQLite
Status
Links icon
GitHub LinkedIn
About
github linkedin rss
  • TDD Reloaded

    calendar Jun 26, 2024 · 4 min read
     en evergreen lang software  · java tdd
     ·
    Share on: twitter facebook linkedin copy
    TDD Reloaded

    Test driven development is a beast to tame. I like TDD but in the past it was quite difficult to achive, at least in a pure-consultant approach with a "turn key" framework behind.

    There are two major concept often not grasped correctly.


    Read More
  • Latency numers every programmer should know

    calendar Aug 23, 2023 · 2 min read
     en featured knowledgebase lang retro-computing software
     ·
    Share on: twitter facebook linkedin copy
    Latency numers every programmer should know

    Modern computer are very very very fast. C/64 was about 1Mhz and you can hangs it just throwing a 10.000 cycle in interpreted BASIC v2 language.

    Slowest computer today are clocked 3Ghz (3000Mhz!) and are super scalar: it means they can usually execute 2 or more instructions per core in parallel, and you get at least 2 cores on the tiny one (RasperryPi2 has 4 ARM cores, for instance). The sow Intel centrino has at least 2 ALU and can execute between one and two instruction in parallel (mostly arithmetic one).


    Read More
  • HP48 and FORTH

    calendar Feb 4, 2023 · 1 min read
     programming_languages  en lang  · 6502 forth
     ·
    Share on: twitter facebook linkedin copy

    On these days I stumbled upon Forth, a 1970 programming language which is quite similar to HP48 internal programming language.

    Like the HP48 language, Forth uses RPN, it is stack based and have some success for being tiny and easy to implement.

    For a 6502 Forth compiler you can refer to https://github.com/piotr-wiszowaty/foco65


    Read More
  • On Constants

    calendar Oct 4, 2019 · 1 min read
     en humor lang software  · evil ideas java
     ·
    Share on: twitter facebook linkedin copy
    On Constants

    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
  • Rust Programming Language

    calendar Sep 23, 2019 · 1 min read
     en lang
     ·
    Share on: twitter facebook linkedin copy

    I have done a quick peek of the Rust Programming language: it is very popular on Internet, it rivals with Go on the popularity score.

    Anyway, I find it too much “Haskell-like”, with heavy rules and concept.

     

  • GraalVM

    calendar Jun 9, 2019 · 1 min read
     en java lang
     ·
    Share on: twitter facebook linkedin copy
     

    GraalVM is a universal virtual machine for running applications written in JavaScript, Python, Ruby, R, JVM-based languages like Java, Scala, Kotli

    n, Clojure, and LLVM-based languages such as C and C++.GraalVM removes the isolation between programming languages and enables interoperability in a shared runtime. It can run either standalone or in the context of OpenJDK, Node.js, Oracle Database, or MySQL.

    Source: GraalVM


    Read More
  • Comments are evil?

    calendar Apr 14, 2019 · 1 min read
     en lang software  · evil ideas java
     ·
    Share on: twitter facebook linkedin copy
    Comments are evil?

    In the 1980 comments were used to reduce the “gap” between unstructured code and “rationale” behind the code.

    1. C/64 Peek and poke where oscure.
    2. Gosub on function pointed by numbers was bad
    3. 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)
    4. C code was not expressive, but good code required little comment, as you can see here
    Today comments are used to:
    1. Comment obscure code -> instead of writing it better
    2. Comment caching code you will end up to commit breaking production ->instead of having a cache config to disable cache on dev machines
    3. Comment not working code will end up in production, producing functional breaks -> because you will forget it and  commit the bad version
    When I am sent on a Red Project, the code is often obscure and not commented at all. So I dare to suggest to deprecate comments at all, replacing it with a set of meta annotation like:
    @Comment("Documentation of this class/method/function/closure")
    @Fixme("Reason")
    @Todo("Why",  deadline=20230423)
     

     


    Read More
  • OOP is the your new legacy

    calendar Dec 19, 2016 · 2 min read
     en lang software  · erlang functional-programming ideas java javascript lisp
     ·
    Share on: twitter facebook linkedin copy
    OOP is the your new legacy

    Today I took a light rail with my son, to bring him to school. That tram is 90 years old. It has been maintained for 90 years. Milan city sold some of them to San Francisco too.


    Read More
  • Erlang: a lesson to learn…again!

    calendar Jun 25, 2015 · 5 min read
     programming_languages  en erlang evergreen featured knowledgebase lang  · erlang good great-ideas
     ·
    Share on: twitter facebook linkedin copy

    Erlang is a great language.

    [2019-UPDATE] Erlang 22 is OUT, so I wanna to come to the party!

    On April 2015, Erlang father’s Joe Armstrong give us a very interesting lesson I want to tell about.

    There was a long thread titled “Erlang and Akka, The Sequel” on the erlang mailing list, reasoning about the need of some standard pattern on Promises and Future. A lot of JavaScript libraries deal about that (also jQuery has its implementation). I want to report the Joe Amstrong reply because it give us a very clear understanding on the reason Erlang is different and you should at least try it once.


    Read More
  • Tool Command Language: il papa’ di Java

    calendar Dec 21, 2012 · 5 min read
     it lang  · embedded java javascript programming-languages python ruby scripting
     ·
    Share on: twitter facebook linkedin copy

    E’ notizia fresca di stampa il rilascio di Tcl 8.6, che introduce parecchie novità a dispetto del fatto che sia una “minor” release.

     

    In particolatre Tcl 8.6 introduce un motore “stackless”, integra nel linguaggio le estensioni OOP, ed aggiunge le coroutine.

    Parliamo quindi diffusamente di Tcl, un linuaggio che ho sempre trascurato perché mi sembrava macchinoso e un po’ brutto/fatto  male…ma mi sono dovuto ricredere.


    Read More
  • JavaScript Wars: Xtend

    calendar Nov 20, 2011 · 2 min read
     en lang  · java javascript javascript-war script war
     ·
    Share on: twitter facebook linkedin copy

    And so Java, the old old King is still alive.

    After Scala, Clojure, NodeJS, and Dart, a new hero is knocking to its castle: Eclipse Xtend

    Will he succeed? Hard to Say, but Xtend is very similar to CoffeScript: Xtend simplifies writing Java code, but it doesn’t aim take the grab the crown with a night ambush to the King’s IDE.


    Read More
  • (How to Write a (Lisp) Interpreter (in Python))

    calendar Oct 24, 2011 · 1 min read
     en featured lang python software  · lisp python
     ·
    Share on: twitter facebook linkedin copy
    (How to Write a (Lisp) Interpreter (in Python))

    I like a lot of programming languages. I do not love them with the same intensity.

    I do not love Lisp for its ((syntax))), but Lisp rocks for its purity: in a tiny bag of concept, you get a lot of stuff.

    This article, (How to Write a (Lisp) Interpreter (in Python)) show you how it is easy to write a lisp interpreter in python. It is 113 lines of code, and include the parser the executor and the basic functions to get started.


    Read More
  • Dart Sith move first

    calendar Oct 13, 2011 · 3 min read
     en featured humor knowledgebase lang software  · javascript javascript-war nodejs
     ·
    Share on: twitter facebook linkedin copy
    Dart Sith move first

    So Dart Sith has just launched his first DeathStar, my young JavaScript fellow: a site devoted to the Dart language

    Because I am a very old Jedi (1974, before ever the first WtartWars trilogy showdown)  I had to rest a bit before talking about it, so the news is 4-days old I know. I needed to think, reflect and write down: but now I am ready, Read on…


    Read More
  • JavaScript War: Prologue

    calendar Sep 15, 2011 · 3 min read
     en humor lang software  · google java javascript war
     ·
    Share on: twitter facebook linkedin copy

    Be strong young Jedi. This war will begin shortly. You can try to keep you jdk under your pillow, but the html5 will hit you in the middle of the night. And a knife in the dark will rise from shadow: JavaScript


    Read More
  • Functional Programming In Depth, part II:Python and Scala retrospection

    calendar Aug 29, 2011 · 3 min read
     en it lang python software  · functional-programming python
     ·
    Share on: twitter facebook linkedin copy

    This is the second article on functional programming. In the first one we talked about scala and the type inference system it brings in the Java Way of Life.

    I played a bit with python functional howto, building a small game. Before starting I surfing for a bit of libraries and documentation.


    Read More
    • ««
    • «
    • 1
    • 2
    • »
    • »»

Recent Posts

  • Postgres Take it All
  • La ruota del Destino
  • Darth Android
  • Vps Provider
  • Chat
  • RSS Readers
  • Vibe Coding: easy to say, difficult to survive

Latest comments

    Giovanni Giorgi

    Copyright 1999-  GIOVANNI GIORGI. All Rights Reserved

    to-top