Browsing for Images

READ ALSO: Image Variants in Web Applications READ ALSO: Images in Web Applications READ ALSO: Brief History of Images in Software In the early history of the Web, GIF was the first widely used image format. Short for Graphics Interchange Format, it was introduced by CompuServe in 1987, well before JPEG became practical for theContinue reading “Browsing for Images”

Brief History of Images in Software

READ ALSO: Image Variants in Web Applications READ ALSO: Images in Web Applications Today the acronym JPEG is so popular to be rightfully considered a synonym to the same term image. Yet there was a time—and not even that many years ago—in which computer science progressed without it. Let’s start with a brief history ofContinue reading “Brief History of Images in Software”

Dealing with Business Images with Variants

READ ALSO: Images in Web Applications Speaking of images in web applications, an additional point to consider—beyond choosing the most effective storage medium—is how to deal with multiple variants of the same image that may need to be stored and served. If, in general terms, storage can be one of a few options—database, file system,Continue reading “Dealing with Business Images with Variants”

Handling Business Images in Web Applications  

READ ALSO: Image Variants in Web Applications Across the millennium, a technical article explaining step by step how to save an image to—and read it from—a database column as a plain array of bytes was pure gold. At the time, images were almost invariably treated as separate files deployed in some folder on the webContinue reading “Handling Business Images in Web Applications  “

I ponti di Konigsberg al tempo dell’AI

The post discusses a reflection by Michele Sciabarrà on the relevance of programmers in an AI-driven world. He likens the situation to a historical problem posed by a mayor to mathematician Euler regarding the bridges of Konigsberg. It emphasizes that true business opportunities arise from solving real customer problems, suggesting a shift in the programmer’s role as AI evolves.

Inside async/await in C#

C# introduced the async/await feature in 2012 to simplify asynchronous programming, which was previously convoluted and error-prone. The compiler transforms async methods into state machines, allowing for non-blocking execution while maintaining a sequential code appearance. This innovation enhances code readability and optimizes resource management in both desktop and web applications.

Inside C# Record Types

In its younger years, every new version of C# brought concrete, factual features, whether LINQ, generics, or dynamic binding. At some point, the number of fundamental additions began to run out, and over the past decade, new versions have mostly added smart features like magic. What does this mean? Simply put, the compiler now acceptsContinue reading “Inside C# Record Types”

The Intelligence of the Steam Engine

The article draws parallels between the first industrial revolution, led by the steam engine, and today’s generative AI landscape. It highlights how AI, like the steam engine, requires integration into existing systems for impactful change. While technological innovation offers potential, the actual transformation will depend on organizational adaptation and thoughtful implementation within businesses.

L’intelligenza della macchina a vapore

Il post traccia parallelismi tra la Rivoluzione Industriale, in particolare l’impatto della macchina a vapore, e i progressi odierni dell’IA. Sottolinea come la macchina a vapore abbia rivoluzionato la produzione e il lavoro, generando cambiamenti sistemici. Allo stesso modo, l’IA rappresenta sfide e opportunità, richiedendo soluzioni su misura e adeguamenti organizzativi, piuttosto che un approccio unico per tutti.

Returning ZIP Files and Hypermedia in Minimal APIs

Minimal APIs in ASP.NET Core provide built-in results like Results.Ok(), but custom IResult implementations are essential for returning unique content types such as ZIP files or hypermedia responses. Custom IResult grants control over headers, serialization, and content types, allowing developers to handle complex data responses effectively and maintain clean endpoint code.