Skip to main content


Showing posts from 2023

TornadoVM Reaches Version 1.0

  TornadoVM is a plug-in to OpenJDK that allows developers to automatically run Java programs on heterogeneous hardware. The project has just matured to version 1.0.

Microsoft Goes All Out On Educating Developers

  What better way to lure devs into the platform than to provide clear how-to instructions and deep educational material? Over the last couple of years, but especially during 2023, Microsoft has pumped up its educational facilities on . NET. For instance, it has released a number of self-paced projects we here at I Programmer have covered, such as:

The Visual Studio Code Oracle Java Platform Extension

  A new extension by Oracle makes the life of Java devs a little bit easier and more productive. The battle of the IDEs is hotting up. While previously the choice of the programming language would also direct the choice of the IDE, with the advent of the Language Server Protocol, which separates the language from the editor, the lines have been blurred because any IDE can nowadays support any given language.

.NET Conf 2023 Was A Blast!

  The biggest .NET virtual event reached its 13th online conference. All the sessions have been made available on YouTube. That's right; a huge playlist comprising of 102 videos. A lot to digest, that's why we picked the most interesting sessions in our opinion to watch.

Spring Boot 3.2.0 Comes With Virtual Threads and CRaC

  This release adds a significant number of new features and improvements and, thanks to CRaC, faster warm up times. There's been a lot of news and developments around the Java ecosystem lately. Java 21, Virtual Threads, OpenJDK builds with CRaC, are just a few.

Liberica Joins The Java CRaC Train

  CRaC is a novel technique that makes the JVM faster to start. Liberica's JDK build has just added support for it. Here are the details. Is CRaC the magic recipe to Java's warm up problems? The JVM is notorious for its hefty requirements in startup and warmup times. The main reason for the slow startup is that it takes much time to load, link, and initialize classes. Of course we are talking micro-seconds here but the delay can make a difference when trying to spin VMs on the Cloud and run Microservices. There are ideas for speeding things up and CRaC is one of them.

AWS Lambda Adopts Java 21

  AWS Lambda functions can now use all the new and useful language features as well as performance improvements introduced in Java 21 as part of the Amazon Corretto JDK implementation.

Spatial Data Management For GIS and Data Scientists

  Videos of the lectures taught in Fall 2023 at the University of Tennessee are now available as a YouTube playlist. They provide a complete overview of the concepts of GeoSpatial science using Google Earth Engine, PostgresSQL GIS , DuckDB, Python and SQL.

Microsoft's Generative AI for Beginners

  A free, self-paced online course about Generative AI is on offer from Microsoft's Azure Cloud Advocates. It's a 12-lesson curriculum targeted at complete novices to LLMs.

Helidon Microservices Framework Version 4 Reaches General Availability

  Helidon, the open source microservices framework by Oracle, has been updated to version 4, just a month after the release of Java 21. With this release Helidon becomes the world’s first virtual threads-based microservices framework.

Step CI - The API Quality Assurance Framework

  Power up your API testing inside your CI workflow with Step CI, a free open-source tool that has also introduced a paid Support Plan. Step CI is another tool to have in your developer's toolbelt.We had a look at a few others recently. These were OpenAPI Diff, AWS Smithy and Redocly CLI, each one having its own purpose: OpenAPI Diff, or Oasdiff for short, is an open source utility that takes comparing OpenAPI specs to identify breaking changes to a whole new level.

Perl Dancer2 Web Framework Updated

  Despite the project going back to 2009, the just announced release is 1.0.0. Let's look at this milestone release, adopting a retrospective attitude. Of course, we are talking about Dancer2 , the new generation of Dancer as a complete rewrite of Dancer1 based on Moo.

Introducing The MDN Front-End Developer Curriculum

  MDM launches another initiative to get developers up-to-date with the skills the industry looks for when looking to hire front-end web developers. The Core skills of Coding aside, the skill set presented includes soft skills, knowledge of a typical development environment and learning how you can expand your knowledge and develop specialities.

Devoxx Belgium Sessions Now Online

  A massive Youtube playlist features all 126 talks from the recent Devoxx Belgium Conference days event. If you feel spoilt for choice, here's some help in deciding where to start.

Introducing Spring AI

  At the recent SpringOne conference, the Spring team announced the Spring AI project. With it you can start integrating the OpenAI and Azure OpenAI services with your Java code to unleash the power of AI in your apps and leverage the power of LLMs from within your Spring code.

What's New Java 21?

  The recent release of Java version 21 marks a milestone for the language. It has been readied for the cloud native era and modernized enough to make it easy for beginners to pick up. JDK 21 goes over the top comprising of fifteen JEPs, including the final versions of Record Patterns (440), Pattern Matching for switch (441), and Virtual Threads (444):

AI Village Capture The Flag

  A CTF competition organized by the AI Village community and hosted on Kaggle, where hackers interact with various machine learning security challenges, has just started with a prize pool of $50,000.

Why Software Engineering Will Never Die

  A new published paper, "Preparing Students for the Software Industry New Demands", is ostensibly a study on how graduates can become job ready. However, it also prompts thinking about the extent to which programmer jobs are threatened by low code tools or ai-assisted tools.

IBM's Visualizing Data with Python Course

  This is a free and self-paced course by the IBM Developer Skills Network Team that demonstrates the principles of Data Visualization, with Python of course. On Coursera, it forms part of two IBM Professional Certificates.

Docker And Sysdig Partner Up To Secure The Software Supply Chain

  Today at DockerCon, Docker has announced the General Availability of Docker Scout. With the integration of Sysdig Runtime Insights, Docker Scout helps developers prioritize risk. This will significantly improve software supply chain security. Let's find out why.

Model Your APIs With AWS Smithy

  Smithy is an open source project by AWS with which you can model your APIs, generate code and documentation for clients and servers, as well as other artifacts, in many programming languages.

Turn PostgreSQL Into A Vector Store

  pg_vector is an extension for PostgreSQL that renders it a viable alternative to specialized vector stores used in LLMs. We show you how to use it and report on the latest, faster incarnation, written in Rust,

Learn Perl With FreeCodeCamp

  I was pleasantly surprised when I noticed that a Perl course has been published on FreeCodeCamp. Amongst the myriad of Javascript and Python courses, there it is, a lone star.

Introducing The LiveCodes Code Playground

  LiveCodes is a groundbreaking code playground with unique features. And it is free too. Currently in Beta. Let's look into it. What? Yet another playground? I thought we had a lot already. But LiveCodes deviates from the standard shape of the usual playgrounds. What are its unique features?

AWS Lambda Adopts Python 3.11

  Recently AWS Lamda switched from Python runtime 3.10 to 3.11, promising a lot of improvement. In which parts? Back in May we had a look at Amazon's adoption of the Python 3.10 runtime intened to take advantage of the performance improvements that version introduced, in both managed runtimes and container images. Python 3.10 enabled the use of the following enhancements when building lambda functions:

Azul To Tackle Java's Warm Up Issues

  Azul's ReadyNow is yet another attempt to tackle Java's warm up issues, on the cloud and large fleets of JVMs or JVMs in containerized environments. Lately a lot of investment has been put into making Java faster to start. This has to do that with Java re-emerging as a major player in the sector of Microservices and Cloud Native applications, due to some great and new language features, optimized JDKs along with frequent release rates;therefore performance should follow along.

Test Your Knowledge With The JS Is Weird Quiz

  How well do you know JavaScript? Put your knowledge to test with the interactive quiz tailored to devs who think they know it all.  It is true that all web applications are directly written or are transpiled to JavaScript. It does really drives the web because it's easy to get started with and with it you can make functional web sites quickly and without much ado.

The DevOps with Docker Course From Finland

  A course by Jami Kousa of University of Helsinki teaches Docker from zero to hero. It's free and self-paced and contains a lot of material you need to work through from start to finish.

Learn To Document Your API Correctly

  "API Documentation Best Practices" is a brand new short and free course by APISEC University which looks into why documenting your APIs should be an essential part of your software development cycle and not an afterthought.

Access LLMs From Java code With Semantic Kernel

  You can now do this thanks to Microsoft's Semantic Kernel SDK which integrates Large Language Models (LLMs) with conventional programming languages like C# and Python. The Java binding has recently been released too.

Learn To Chat with Your Data For Free

  "LangChain: Chat with Your Data" is a brand new free and short course by Harrison Chase, CEO of Langchain himself, to learn how to use LLMs to converse with your own data. With around an hour of content, it is hosted on Andrew Ng's Deeplearning AI platform.

Python Web Conference 2023 Sessions Now Online

  The talks presented at the 5th annual Python Web Conference are now available on YouTube. Topics ranged from AI/ML and Big Data to CI/CD, Serverless and more. Python Web Conference is one of the newest Python programming conferences. Year 2023 marked the 5th conference in the series, this time being hosted on "LoudSwarm", a virtual event platform by Six Feet Up.

You Can Now Code Websites With SQL

  SQLPage is a fun and innovative open source project that lets you do the presentation layer in plain SQL. With SQLPage your SQL skills reach beyond manipulating the Data layer of your application; you can now do HTML too without needing to know any of the traditional web programming languages and concepts. The difference is that your SQL includes and refers to UI components as columns.

Turn Your SQLite Database Into A Server

  ..with the 'sqld' daemon and access it over the network using  the PostgreSQL wire protocol. The use cases do not stop there. It seems that the Postgresql wire protocol, which enables you to migrate application code written for another dbms to Postgres, has set a trend. We've already checked BabelFish and MangoDB (now FerretDB) in action using it:

FerretDB The MongoDB Drop-In Replacement Is Production Ready

  FerretDB moves your application workloads from MongoDB to PostgreSQL. Why is that big a deal? FerretDB, previously MangoDB (yes, Mango, this is not a typo!) is: a stateless proxy, which converts MongoDB protocol queries to SQL, using PostgreSQL as a database engine. It is compatible with MongoDB drivers, and should work as a drop-in replacement to MongoDB in many cases.

Robots Address The United Nations

  The UN invited the current state of the art robots and their creators at the 2023 AI For Good Global Summit event to speak about AI and its future of becoming integrated into society. Among them were Sophia the first robot UN ambassador, Desdemona, the rock star robot, and Ai-Da, the robot artist who  had already addressed the UK's House of Lords . All these robots exhibited high sophistication in speaking and language, evidencing thinking skills as well as motor skills.

OpenAPI Diff Prevents API Breakages

  OpenAPI Diff, or Oasdiff for short, is an open source utility that takes comparing OpenAPI specs to identify breaking changes to a whole new level. The consensus is that despite have a multitude of tools available nowadays, designing and maintaining an API is still not an easy task to perform. One of the aspects that causes problems is the dreaded "breaking change". Why is that? Let Oasdiff main implementer and Tufin CTO, Reuven Harrison,explain:

AWS Database Encryption SDK for Amazon DynamoDB In Preview

  AWS Database Encryption SDK is an upgrade to the existing Amazon DynamoDB Encryption Client, that enables attribute level encryption of DynamoDB workloads client-side. DynamoDB has always had server-side encryption to ensure your data was encrypted at rest. This new SDK enables client- side encryption too, allowing you to protect the data in transit before it even leaves its origin. Previously, if you wanted client-side encryption you had to provision your own solution in your applications. With the SDK that's a thing of the past.

Chainguard's Enforce Platform Boosted With New Capabilities

  Enforce, Chainguard's enterprise-ready platform for supply chain security in containerized applications gets now an upgrade to unlock some new major features that enable secure software development across each step of the software supply chain.

Master LLMs On Data For Free

  The LangChain And Vector Databases in Production course is a joint effort by Activeloop, Towards AI and Intel Disruptor Initiative to equip professionals with the means to master Large Language Models (LLMs), going all the way from training to production. It's free and self paced. And leading to a certification as LangChain & Vector Databases in Production is part one of three which collectively comprise the Gen AI 360 Foundational Model Certification.

Apache Spark Now Understands English

  An   SDK   for Apache Spark has been released that takes English instructions and compiles them into   PySpark   objects, making Spark more user-friendly and accessible.

Perl 5.38.0 Released - An Appeal To New Blood?

  Perl, despite having fallen out of favor and tanking in terms of programming language popularity, still moves forward. It's business as usual with version 5. 38 just released. Maybe, just maybe, the new features introduced into the language in this newest version will attract much sought new talent. Perl is a language that while it doesn't attract new blood, is nevertheless resilient and embraced by a community of developers who really know the reasons that make it worth sticking to.

Continuous Delivery: Learn The Fundamentals

  A free short course on the concepts behind CD (Continuous Delivery). It is presented by Dave Farley. a software developer who has done pioneering work in DevOps, CD, CI, BDD, TDD and Modern Software Engineering.

The DbDev Package Manager For PostgreSQL TLEs

  TLE stands for Trusted Language Extension and DbDev by SupaBase now supports installing them in your PostgreSQL instance, like NPM does for Javascript packages. We've looked at TLEs before  in  Trusted Language Extensions Bring PostgreSQL Procedural UDFs To The Cloud   where I explained: PostgreSQL allows user defined functions to be written in other languages besides SQL and C. These other languages are generically called procedural languages (PLs). Procedural languages aren't built into the PostgreSQL server; they are offered by loadable modules. That way you can extend your database with powerful features not found in SQL. For instance you can write a PL/Perl procedure to accept a string from your SQL to apply regular expressions to it in order to tokenize it.

The Hugging Face NLP Course

  A free, self-paced and comprehensive course that will take you from beginner to expert in the topic of Natural Language Processing comes from Hugging Face, a data science platform with a community of data scientists, researchers, and ML engineers who contribute to open source projects.

Follow Google's Generative AI Learning Path

  Google has released a learning path for Generative AI. It's free and self paced and will introduce you to what Generative AI is, how it is used, and how it differs from traditional machine learning methods. Generative AI is all around us. It’s a type of AI that can map long-range dependencies and patterns in large training sets, then use what it learns to produce new content, including text, imagery, audio, and synthetic data.

Open 3D Engine-Next Gen Game Development

  Open 3D Engine, or O3DE for short, is a state of the art open source game dev engine. Its Foundation, O3DF in cooperation with the Rochester Institute of Technology, announced the funding of a team of students who will build a commercial game with 03DE, in an attempt to shape the game development landscape of the future.

Azul Zulu OpenJDK 17 Build Now Comes With CRaC

  CRaC is a novel technique that makes the JVM faster to start. Azul's JDK build has just added support for it. Here are the details. The JVM is notorious for its hefty requirements in startup and warmup times. The main reason for the slow startup is that it takes much time to load, link, and initialize classes. Of course we are talking micro-seconds here but the delay can make a difference when trying to spin VMs on the Cloud and run Microservices. There are ideas for speeding things up and CRaC is one of them.

Stable Diffusion Animation SDK For Python

  Stability AI has released its Stable Animation SDK, a toolkit designed for artists and developers to implement the Stability models in generating their animations. In general, the SDK allows users to generate animations from text, images, or video combined with text. More specifically, the SDK offers three ways to create animations:

Take Vanderbilt's Prompt Engineering for ChatGPT For Free

  Prompt Engineering is the latest topic that is proliferating online classes, with providers eager to join in, catch up with and go further than each other. Here is a new offering from a pedigree source. ChatGPT has been heralded as a tool that can work like a programmer, like a health professional, all the way to like a therapist. The quality of the answers and guidance you receive by interacting with the bot varies depending on the quality of the questions you feed it with.

Oracle Database 23c Free For Developers. How Free?

  Until now getting hold of a free Oracle database was a struggle - requiring account registration, negotiating pages full of legalese and safeguarded downloading bays. Does this "Free For Developers" product change that, or is it a rebranding of Oracle XE to make its use case clearer.

Grasshopper For API Load Testing With Python

  Grasshopper is a great library for automated load testing. It is made with Python and is open source. Grasshopper was started as a fork of Locust, another load testing library, in order to extend the former with extra capabilities deemed necessary for  Alteryx's  operations. Mainly to measure timings that span multiple HTTP requests and aggregate metrics for a or report those metrics to a time-series database.

The Interactive Map Of Github

  The Map Of Github lays out Github as a Graph. This gives rise to a few interesting and valuable properties. Let's discover them. The maker, Andrei Kashcha, has refined the Graph at different levels. At the first level he filtered the repos out according to the number of stars each repo is has accumulated.

The Fedora Python Classroom

  A Fedora distribution preloaded with Python goodies. Perfect for teaching Python in the classroom. The Python Classroom Lab first introduced with Fedora 26 and now updated to Fedora 38, is a ready-to-use operating system targeted to teachers and schools.

Bloomberg Supports FOSS With Funding

  Having realized that the open source community is what makes the web work, Bloomberg, a major player in the global financial markets as well as a major source of financial news and analysis, has pledged its support by establishing a sustainable funding scheme.

AWS Lambda Adopts Python 3.10

  AWS Lambda functions can now use all the new and useful language features of Python 3.10 as well as take advantage of the performance improvements this version introduces, in both managed runtimes and container images.

GPT For Regex - Pros And Cons

  RegExGPT is a online playground that lets you enter a source  and a target string to let GPT generate the regular expression for a match. But what are the pros and cons of the GPT approach to regex code generation? Despite their power, regular expressions come with their own challenges; they have a tendency to quickly become unreadable so that understanding them becomes a matter of deobfuscation as well as learning how to use them involves a steep curve.

Trusted Language Extensions Bring PostgreSQL Procedural UDFs To The Cloud

  Trusted Language Extensions on Amazon allow you to write PostgreSQL user-defined functions for its cloud database offerings in one of several supported programming languages. But let's take it from the beginning. PostgreSQL allows user defined functions to be written in other languages besides SQL and C. These other languages are generically called procedural languages (PLs). Procedural languages aren't built into the PostgreSQL server; they are offered by loadable modules. That way you can extend your database with powerful features not found in SQL. For instance you can write a PL/Perl procedure to accept a string from your SQL to apply regular expressions to it in order to tokenize it.

WCGI Is WebAssembly + Old School CGI

  WCGI combines the newest innovations with the technology of the old. To what end? CGI is dead. Long live WCGI! CGI (Common Gateway Interface) was a way for web servers and server-side programs to interact as simple as taking a request over STDIN and returning a response over STDOUT. The protocol however was inefficient because it required a new process to be respawned each time a page was served. As such it was superseded by technologies which were better, faster, more secure, with better integration with the web server. One such was FastCGI which was introduced as a middle ground between the PHP Apache Module and the CGI application. It allowed scripts to be executed by an interpreter outside of the web server and included the security benefits of CGI without any of the inefficiencies of CGI. For an example in Java, see Servlets.

Lost at SQL - The Game

  Do you want to get conversant with SQL? "Lost at SQL" offers a gamified approach to learning the basics of SQL addressed to total beginners. Build by Robin Lord who as a digital marketing strategy and SEO expert is particularly using SQL not for CRUD applications but mostly for analytics and data exploration in scenarios like :

Learn With The Spring Academy

  VMWare has launched a project-based learning platform that provides the Spring community with the knowledge and experience necessary to stay ahead of the curve. In surveying Spring developers about what they look for in educational material, they responded with tutorials, guides, sample code, how-to articles, reference architectures and patterns. Surely, there are many courses, blogs and tutorials on Spring develepment, but who knows better than the makers themselves, that is VMWare.

AWS Lambda Adopts Java 17

  AWS Lambda functions can now use all the new and useful language features as well as performance improvements introduced in Java 17 as part of the Amazon Corretto JDK implementation. The Corretto 17 build was available from September 2022, but the support for it by Lambda functions wasn't until this April, 2023. Till now the highest Java version that Lambdas could run on was 11. Consider that Corretto 11 wasn't supported by Lambda until after 8 months of its release, thus Lambdas are a little slow to pick up the latest changes.

Jakarta EE Gets Its Own Project Initializer

  About time. Spring had it for ages, and was one of its advantages over Jakarta. Will the new initializer turn the tide in Jakarta's favor? Of course it is not that simple. In  "Jakarta vs Spring - The War Goes On"  we saw that there's many aspects of a framework that will drive the decision of sticking or foregoing. But certainly as small as a project initializer's role can be, it nevertheless can make a big difference.

A Gentle Introduction To React, Visualized

  React quickly became a popular JavaScript framework. Here's a very useful interactive website by that showcases React's  capabilities and how it has helped in changing the face of the Web

Learn With Microsoft's Learning Rooms

  Microsoft's new Learning Rooms aim to bring instructors,experts and beginners together under one roof, and drive the learning experience around Microsoft tools many steps forward. This new initiative from Microsoft bolsters its existing support for users of its tools and technology. Back in 2020 we examined  ".NET on Q&A" , a forum similar to StackOverflow but .NET centric and with a twist. Behind its moderators there was a dedicated support team of MSFT employees and, as our coverage highlighted, it had the advantage that MVPs and Product Managers were answering people's questions:

Azure Workshop with Quarkus, Spring Boot and Micronaut

  This free self-paced workshop shows how to develop sample microservices in Quarkus, Spring Boot and Micronaut as well as how to package them in Docker containers, deploy them and monitor their performance. As if going through the modern workflow of packaging and deploying microservices wasn't important enough, add to that coding them in modern Java runtimes/frameworks.

NSA's Cybersecurity Curriculum

  The CLARK (Cybersecurity Labs and Resource Knowledge-base) Center from Towson and the NSA have published hundreds of cybersecurity learning courses and modules. Let's check what's on offer. CLARK is a platform for building and sharing free cybersecurity curricula. It provides cybersecurity educators with the building blocks to train the next wave of researchers and better prepare the cybersecurity workforce.

PlanetScale's MySQL Course For Developers

  Here's a free course on MySQL with a focus of using it as a Developer. While it is taught by Aaron Francis, Developer Educator at PlanetScale, the serverless MySQL platform, it applies to any MySQL instance and isn't PlanetScale-specific. Using a DBMS can be viewed from different angles depending on who's looking, the DBA or the Developer. As a dev you are not concerned about administration, system outages, system recovery, backing up, creating users and assigning roles nor do you need to get involved in security that is not application centric.

Learn Spring with React and MongoDB

  In this FreecodeCamp course, you will learn how to create a full stack application using MongoDB for the database, Java and Spring Boot for the back end and React for the front end. After covering  Dan Vega's 2023 Spring Boot Tutorial for Beginners  course, this is yet another Spring based one. What's the deal with Spring and why is there so much interest in it?

Cheerp C++ To Webassembly Compiler Now Open Source

  Cheerp is a C/C++ compiler for Web applications that lets you compile virtually any C/C++ code to WebAssembly and JavaScript. Its latest version 3.0 has been open sourced. Cheerp is used primarily to port existing C/C++ libraries and applications to HTML5, but can also be used to write high-performance Web applications and WebAssembly components from scratch. Using Cheerp, C/C++ code gets compiled into JavaScript/WebAssembly as well as becoming optimised with the right JavaScript interfaces being exposed, and can be easily integrated in a web application.

The Perfect Course On Java Basics

  Do you want a rapid and self paced tutorial on Java basics, OOP, and Intellij too as a total beginner? Then this course by Shai Almog is what you need. "Learn Java Basics" is free and up for grabs on Youtube as a playlist, comprised of 16 short videos, each up to 10 minutes in duration.

Bearer - A New SAST Tool On The Block

Bearer is a code security scanning tool (SAST) under secretive development for the last two years that discovers, filters and prioritizes security risks and vulnerabilities. Now it's ready and has been open sourced.

Github Provides Self-Service SBOMs

In another attempt to secure the precious software supply chain, GitHub has released a new Export SBOM functionality which generates an NTIA-compliant software bills of materials (SBOMs) on demand. The supply chain security aspect aside, this feature will also make it easier for software providers to comply with the US Executive Order 14028 on improving the nation’s cybersecurity, which introduced the requirements of providing SBOMs. full article on i-programmer: 

Dan Vega's 2023 Spring Boot Tutorial for Beginners

  A free crash course on Spring and Spring Boot for total beginners by none other than Dan Vega, the renowned Spring developer advocate for VMware. It's free and up for grabs on Youtube. The course, at the simplest of levels, answers two fundamental questions which tend to confuse those not familiar with Spring's ecosystem: full article on i-programmer: