Skip to main content


Showing posts from 2021

Perl Turns 34 - A Retrospective

Venerable Perl, a language that you either love or love to hate, has just had its 34th birthday. Because of that let's take a quick look at its recent past and the milestones that defined it. If you missed it this birthday it happened on December 18th, I have to admit I missed it until I was notified by this HackerNews thread which records the initial commit by Larry Wall. Scouring through it you'll find the usual arguments; some are enthusiastic and wish Perl Happy Birthday while others claim that it's a dead language. Unfortunately that is the situation and has been as such for some years. The problem is that not being popular is treated by many as synonymous to being dead. While admittedly not popular anymore, it couldn't be farther from dead.The proof of that fact are the regular version releases, the number of new modules added to CPAN every day, the events and gatherings, and a wealth of ideas for evolving the language like the addition of Futures, Ovid's new
 Micronaut 3.2 Released for More Performant Microservices Micronaut, the JVM-based polyglot framework for building microservices applications in Java, Kotlin and Groovy has reached version 3. 2. Before we look at what's new, let's first take a look at what the framework does differently. Yes, there's other options of going Microservices than the combination of Spring Boot and Spring Cloud. Helidon, Dropwizard, Microprofile and Quarkus are some of those options. And there's Micronaut.  full article on i-programmer:

OSS Good Governance Handbook-Professional Open Source Software Management

 The OSS Good Governance Handbook is intended as guide for enterprises that fosters proper use of open source software as well as safeguarding businesses from technical, legal and IP threats. The handbook is the brain child of the newly formed Open Source Program Office (OSPO) alliance, a coalition of leading European open source non-profit organizations including OW2, Eclipse Foundation, OpenForum Europe, and Foundation for Public Code, with the mission to grow awareness for open source software and promote its structured and professional management by companies and administrations. There are two perspectives on managing an open source software project; one is that of manager/maintainer/contributor and the other that of the enterprise relying on it. I've covered the first aspect in "The Open Source Guides To Managing Open Source Software Projects" which looks at another handbook, a set of guides by Github detailing the ins and outs of launching, managing, maintaining and

Take Stanford's Introduction to Robotics For Free

 Take Stanford's Introduction to Robotics For Free As part of the Stanford Engineering Everywhere initiative, which expands the Stanford experience to students and educators online and at no charge, the content of CS223A - Introduction to Robotics has been made available for free to anyone in a self-paced version. The purpose of CS223A is to introduce you to basics of modeling, design, planning, and controlling robot systems. In essence, the material treated in this course is a brief survey of relevant results from geometry, kinematics, statics, dynamics, and control. full article on i-programmer:

RegexLearn And Other RegEx Resources

 RegexLearn is an intuitive online instruction led playground where you get to learn how to construct regular expressions. We also revisit other tools, advanced regex constructs, regex programming language portability and how to deter Regular expression Denial of Service attacks. full article on i=programmer:

Triple Treat Machine Learning

 Here are three great Machine Learning and Artificial Intelligence courses, two of them from prestigious academic institutions and one from Google, all available as free videos. "Thanks" to the pandemic, many noteworthy college classes that would be only accessible to their registered institutional students are making their way to the public and for free. We have already looked at Stanford's Natural Language Processing with Deep Learning and before that at Free Resources For Machine Learning  which included "Machine Learning with Graphs" from Stanford and "Introduction to Deep Learning" by Sebastian Raschka. Another three courses that we've examined before are: full article on i-programmer:  

Compose Multiplatform Goes Out of Beta

  Finally, after several milestones through Alpha and Beta versions, the multiplatform framework for building declarative UI applications goes stable with version 1. 0. Jetpack Compose started out as a declarative toolkit for building UI apps on Android but through its incarnation as Compose Multiplatform it has quickly become a common method of building user interfaces not just for Android but for the Desktop and Web too thanks to its a common codebase and UI components. After a few milestones, Alpha and Beta releases, we now have stable version 1. 0. In fact, there was so much fragmentation between Multiplatform's versions, components and updates that prompted us to clear up things with Jetpack Compose For Web - Putting Order To Chaos: "Compose this, Compose that, it's easy to loose track. So let's put order to this chaos!" So what does this new version have in store? full article on i-programmer:

LWJGL - The Lightweight Java Game Library Version 3.3 Released

 After more than two years, the long-awaited release of this open source library is finally here, and with a lot to offer. Per the the project's official definition , LWJGL is: a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL/Vulkan) , audio (OpenAL) and parallel computing (OpenCL) applications. The part to note in this definition is that LWJGL provides access to native APIs through Java. That it is a wrapper over the APIs doesn't mean that you should not be familiar with the semantics of the underlying API. Hence to get the most out of LWJGL a good understanding of the native APIs is essential too. full article on i-programmer:  

GraalVM 21.3 Released

 GraalVM, the runtime that compiles Java bytecode into native self-contained executables and capable of running programs in different languages other than Java, has reached version 21.3. Foremostly it comes with support for Java 17, as such it makes available all new features of the language. Further, from now on GraalVM Community distributions will be based on OpenJDK 11 and 17 only, hence OpenJDK version has been deprecated. This affects GraalVM Enterprise too that is based on the corresponding Oracle JDKs.   full article on i-programmer:

Hibernate goes Reactive - What Does That Mean?

 Hibernate Reactive Version 1.00 fosters non-blocking I/O access to the database plus reactive extensions. Let's get under the covers and find our why this helps. First a definition of the problem. JPA/JDBC was always blocking, meaning that any operation that touches the database through JDBC operations will block on socket IO, and when that's happening the thread it is running on will be blocked. So that means that when I make a call to the database from my main thread, the thread will block until the driver returns the results of the query. Then what about wrapping that call in a CompletableFuture to make the call asynchronous and wait on the Future instead, calling my callback when the database operation completes? That way don't I need a non-blocking driver after all?Perhaps, but since the stack is not non-blocking all the way down, there are certain disadvantages. But why should the stack be non-blocking all the way down? full article on i-programmer: https://www.i-pro

Take Stanford's Natural Language Processing with Deep Learning For Free

 The content of CS224n Natural Language Processing with Deep Learning, a graduate level, one-semester course originally provided to Stanford University Computer Science students, has been made available for free to anyone in a self-paced version. The main focus of CS224n is about investigating the fundamental concepts and ideas in natural language processing (NLP) under a deep learning approach, looking to convey the understanding of both the algorithms available for processing linguistic information as well as the underlying computational properties of natural languages. full article on i-programmer:

DataStax Adds gRPC To Stargate For Performant Microservices

You can now interact with the AstraDB multi-cloud DBaaS that is built on Apache Cassandra, through gRPC. This is a welcome addition to the already rich collection of APIs for accessing AstraDB over Stargate. This new API is added to Stargate Gateway, DataStax's data gateway that gets deployed between client applications and databases which, as we explained in "DataStax Extends Stargate" exposes the database layer as a multitude of APIs. full article on i-programmer:

Move Over To PostgreSQL With Babelfish and MangoDB

  Babelfish and MangoDB are two solutions that move your application workloads from SQL Server and MonoDB respectively to PostgreSQL. We have repeatedly outlined why PostgreSQL rules the DBMS world. Some examples are  PostgreSQL 14 Is Here - A Look At Its Past And Future  and  PostgreSQL Is DB-Engines DBMS of the Year For 2020 . While there are existing methods for moving from DBMS "A" to Postgres, as  The Complete Oracle to PostgreSQL Migration Guide  by EDB demonstrates, migrating application code is a whole different concept.To meet this need Babelfish and MangoDB let PostgreSQL understand queries from applications written for Microsoft SQL Server and MongoDB respectively. full article on i-programmer: .  

The DevOps Master Class - Go Behind The Concept

 Τhis free course by John Savil, a true Master, is 12-hours of superb material on everything you have to know in order to incorporate devops into your workflow. It really is a complete and structured resource covering every aspect of DevOps, code included. As it is structured it is meant to be watched in order, but that's just a recommendation. Starting with the definition of DevOps, Savill shows that it is not just about the tools: DevOps is the union of people, process, and products to enable continuous delivery of value to our end users full article on i-programmer:

The PaSh Project gives your POSIX script superpowers by utilizing parallelization in order to speed up execution times.

The PaSh Project gives your POSIX script superpowers by utilizing parallelization in order to speed up execution times. This leads to faster results for data scientists,  engineers,  biologists,  economists,  administrators,  and programmers. I remember the time when the saying was "Learn Perl so you don't have to learn the Shell and its hundreds of utilities". Fast forward some decades and the use of shell scripts still has not been eradicated. On the contrary, their use has increased due to the rise of containers, VM's, administering the cloud, and Linux itself. This also serves as a lesson to those who are quick to denounce technologies as 'dead'. There's a time where a new use case revitalizes an old technology. So what is meant by "Unix philosophy"?  full article on i-programmer:    

EdgelessDB - Taking Database Security To The Next Level

EdgelessDB is 100% compatible with MySQL enhanced with confidential computing capabilities based on secure enclaves on Intel SGX chips. These properties make it one of the safest database management systems on the market. There's a lot to assimilate here - Confidential computing, Intel SGX, Enclaves. So first of all let's tackle SGX: full article on i-programmer:

Jetpack Compose Multiplatform Beta Released

 Jetpack Compose started out as a declarative toolkit for building UI apps on Android but has quickly become a common method of building user interfaces not just for Android but for the Desktop and Web too thanks to its a common codebase and UI components. After a few milestones and an Alpha release we now have Beta. What does it have in store? Compose Multiplatform brings together three different components; Compose Desktop, Web and Android. The Alpha release promoted Compose for Desktop and Compose for Web to Alpha from their Milestone and Preview states and aligned their versioning with the rest of the Compose Multiplatform in order to: make use of the same declarative approach and APIs used for modern Android applications to create native-feeling user interfaces for desktop and web apps because at the time Compose for Desktop and Compose for Web were using separate sets of artifacts. Now the Beta version provides .. full article on

Fable - Write Front-end apps for the Web in F#

 How would it sound to be able to write front-end apps for the Web in  functional style and with type safety? Enter Fable, a F# to Javascript compiler with both those in mind. Fable transpiles F# to ES2015 JavaScript so code written in F# can run anywhere JavaScript runs - the browser, Node.js, Electron,React Native or generally V8. Yes of course with Typescript you can have type safety when transpiling to Javascript and since Fable does the same for F#, in terms of performance they should be equivalent. The difference is in the language itself. Although F# is a multi-paradigm language, it's big advantage is its concise syntax which renders it much easier to read and comprehend, and its default properties of immutability, rich types which let you easily represent your data or your domain and powerful pattern matching abilities for defining complex behaviors. full article on

Jetbrain's Qodana - More Than Just A Linter

 Qodana is a new offering by Jetbrains. It detects and flags programming errors, but it's much more than that - it's a complete Code Quality Platform. While Qodana's job is to identify and suggests fixes for bugs, security vulnerabilities, duplications, imperfections, anomalous code, probable bugs, dead code, etc, it is also a complete Code Quality Platform with the aim of improving the overall code structure of a project by applying best coding practices. In particular note that Qodana can "provide project analysis locally or in any CI" .As such developers can have the same universal set of inspections across their Jetbrains IDEs as well as their CI pipeline, including JetBrains Space, TeamCity, GitHub Actions, Jenkins, and GitLab CI. full article on

Microsoft's Data Science for Beginners

There's a new free, self-paced online course about Data Science from Microsoft's Azure Cloud Advocates. Its 20 lesson curriculum, expected to take 10 weeks to complete, is targeted at those new to Data Science.  it uses Python.   full article on

Ethics of AI-A Course From Finland

Α free online text-based course by the University of Helsinki for anyone who is interested in the ethical aspects of AI. The University of Helsinki has already a track record for its Elements of AI course which launched in 2018 as we reported in Free AI Course from Finland. Initally it offered Introduction to AI as a free online MOOC, provided in English and intended to  accessible to a very wide audience. Later a second course, Building AI, was added and according to its website 730,000 people of enrolled. Since many aspects of our society involve or are going to involve AΙ in the near future, the subject of AI Ethics is more relevant than ever and this new course is therefore a welcome counterpart. As we examined in "How Will AI Transform Life By 2030? Initial Report" there are several societal sectors which are going to be affected by AI: full article on

simdjson-A Lightening Fast JSON Parser Library

simdjson is a C++ library that can parse JSON documents very fast. Version 1. 0 has been just released. How does it compare? Does parsing 3 gigabytes of JSON per second sound fast enough? This library achieves it. In last year's benchmark against the fastest standard compliant C++ JSON parsers, RapidJSON and sajson, smidjson by far outperformed them. It can parse 4x faster than RapidJSON and 25x faster than Modern C++. full article on

DataStax Extends Stargate with GraphQL

DataStax, mostly known for AstraDB the multi-cloud database based on Apache Cassandra, has announced the addition of new capabilities to its Stargate Gateway product. Stargate is a data gateway deployed between client applications and databases. Its novelty lies in that it exposes the database layer as a multitude of APIs, that way offering flexibility to the way you expose your data. Needless to say, that's a big boon for developers. full article on :

PostgreSQL 14 Is Here - A Look At Its Past And Future

  The latest release of PostgreSQL has new and exciting features. We look the most worthwhile of them identified by Umair Shahid, Head of PostgreSQL at Percona while referring to the past ideas that shaped their foundation. Who would have thought back then in the 80's that the humble  Ingres  fork would,  according to the  Genealogy of Relational Databases , become one of the most, if not the most, successful DBMS of all time? There are two reasons behind its success;   full article on

Unicode Version 14 Announced [It's not just about Emojis...]

 The venerable Unicode standard gets an update. We report the news and go behind the scenes with a brief look at the standard's philosophy and practical use. Most people stop thinking about Unicode at the introduction of new Emoji characters. However, the main purpose of the Unicode standard isn't just sharing expressive characters to be used on mobile apps just for fun; it also facilitates communication in every humanly readable language as well as supporting science and research with its scientific symbols and ancient language s cripts. full article on

Dissecting the 2021 Jakarta EE Developer Survey

  This survey comes from the Eclipse Foundation and provides technical insights into enterprise Java that give answers to questions like which Java based framework is on the rise, whether Java is used for Cloud native development and much more.   Jakarta EE provides a way to modernize infrastructure and reuse the developer pool of the aging(?) Enterprise Java developers in a new setting. We saw something like that in   Vaadin Reaches Version 21 , about the Vaadin framework which supports using the Java stack for writing both the back and front ends of Web applications, without having to learn Javascript or another client framework like Vue or Angular. This is an obvious advantage for those working with long-established code which albeit reliable, is that agile compared to lighter and more modern software development shops. full article on

Keep Track Of Java Features with JEP Search

  Here we have a very practical resource for sorting, searching and filtering Java JEPs. But before we get to the details, what exactly is a JEP and why should we care?   full article on

Vaadin Reaches Version 21

 The versatile full stack Java-based framework that is a competitor to Spring MVC, continues to innovate with its new release of v21. But first, what exactly is Vaadin? full article on

Understand Gradle In Half An Hour

  Gradle, the build automation tool for multi-language software development that is widely used for Android is notoriously difficult to use. To help, here's a YouTube playlist on "Understanding Gradle" that is straight to the point. It could also be given the title  "How to make Gradle less dreadful" . In  Love It or Hate It, Gradle Reaches Version 7.0  I put forward some reasons why Gradle is not the most user-friendly tool: cryptic syntax, contradictory terms (see compile versus implementation) and peculiar blocks of elements. Furthermore Gradle is a tool that: always stirs arguments among developers and according to Bruce Eckel, author of Thinking in Java, Thinking in C++ and Atomic Kotlin amongst others: To do anything in Gradle you have to know everything full article on

A Deep Dive Into PostgreSQL Indexes

  If you are at all confused about which of PostgreSQL index to choose for a specific use case, there's a  free course from Percona University designed to help you. This free Percona University short course about the different kinds of indexes PostgreSQL supports. is available as a collection of videos on YouTube as well as on Google Classroom. It goes over the different types of indexes, when to use each and how to usethem  optimally in order to squeeze performance out. The premise is that not all indexes are appropriate for all circumstances and using a ‘wrong’ index can have the opposite effect to that you intended.   full article on

Free Resources For Machine Learning

  A browser extension and two free courses, "Machine Learning with Graphs" from Stanford and "Introduction to Deep Learning" by Sebastian Raschka are three excellent resources for mastering Machine Learning.   full artice on i-programmer

SQL Snippets - Crowdsourcing SQL Queries

  A curated collection of helpful and reusable SQL snippets sounds like a really good resource to know about and to contribute to. In  SQLBolt - Learn SQL The Interactive Way  I highlighted an interactive resource for learning the basics of SQL. Now I've found a way for you to store and share your own snippets of SQL code and find useful code to use without re-inventing it.   As you work with SQL day by day you'll accumulate a hefty amount of SQL code.  when just maybe you've written a state of the art query that you are eager to share with your colleagues or the rest of the world.That raises two questions:where do you store that snippet for clean and easy retrieval and afterwards how do you share it with the world? full article on

Microsoft's Machine Learning for Beginners

  A free, self-paced online course about Machine Learning is on offer from Microsoft's Azure Cloud Advocates. Its 24-lesson curriculum, expected to take 12-weeks to complete is targeted at those new to Machine Learning. There are plenty of advantages in attending  Machine Learning for Beginners . First you learn about the, currently trending, concepts of ML, acquiring skills highly sought after by employees. On top of that you learn them in conjunction with Python, the most popular and versatile language, also highly sought after. full article on  

HackerSploit Docker Security Essentials

  Docker has certainly become one of the most important parts of business infrastructure. Equally important is the question on how to secure it.This HackerSploit course, made in cooperation with Linode, has the answer. The HackerSploit: Docker Security Series aims to provide developers, system administrators and DevOps engineers the necessary skills to be able to audit, secure and manage Docker in the context of an organization or in their own personal projects.   full article on i-programmer

Jetpack Compose Multiplatform Alpha Released

  Jetpack Compose Multiplatform, an extension to the Jetpack Compose UI framework from JetBrains, now in Alpha, makes it possible to build Android, Desktop, and Web UIs with the same artifacts from a single codebase. But's let take things from the beginning. It all started with Jetpack Compose UI for Android, then moved on to Compose Desktop and finally Compose web.I've made an effort to put things into perspective with " Jetpack Compose For Web - Putting Order To Chaos ".The common denominator was and is to enable UI code sharing between desktop, Android and Web applications. full article on

SQLBolt - Learn SQL The Interactive Way

  As the world becomes more data-driven, SQL is increasingly moving from a "nice to have" skill to a first class requirement for disciplines like Data Science, Machine Learning and Business Intelligence. Here's a free resource for learning SQL right in your browser. With the fight between Python and Java on which will rank top of the TIOBE index, it is easy to forget that are other contenders filling the top 10. And one of those is SQL, moving up into 10th place this July, as reported in " Python Trending To Top Spot In TIOBE Index ". full article on

Program Deep Learning on the GPU with Triton

  Triton is a new, Python-like, language from OpenAI intended to ease programming for the GPU by providing an alternative to CUDA. NVIDIA's CUDA toolkit provides a development environment for speeding up computing applications by harnessing the power of GPUs, but it requires the code to be written code in C++. As C++ by default is not user-friendly and difficult to master,these properties subsequently rub off on the toolkit itself. Wouldn't it be easier to use a language that is user-friendly to write your GPU-accelerated deep learning applications in? Wish granted by Open AI which has announced: full article on

It Was About Time To Find A Shared Vision Of Perl

  The Perl Foundation (TPF) is looking pretty active lately, undertaking a number of initiatives which aim to advance Perl's ecosystem further. The start came with  "Coding in Perl? What support do you need?" , a survey into what help and guidance Perl beginners would find useful, which we reported in  "New To Perl? What Do You Need? The Results" . Among other findings, it was revealed that beginners would like a standardized way of doing things along the lines of a framework, they crave the security and agility that an IDE provides, and that, when they look for help, their preference is first books and then online courses and videos, relegating real-time chat and one-to-one contact at the final places.   full article on

Python3 Course For InfoSec Pros

  A free course by InfoSecAddicts, to teach Python from an Infosec Pro's perspective. It aims to cover the minimum Python that you can apply in the field to accomplish day-to-day Infosec tasks. full article on

Spring GraphQL Milestone One

  A new library aims to unify all the previous approaches of accessing GraphQL from Spring. The Spring GraphQL project, which has reached its initial milestone towards a 1.0 release, integrates GraphQL, Java and Spring and was developed as a collaboration between both teams. Until now the way you accessed GraphQL from Spring was through the standard GraphQL Java Spring project which at the minimum would expose a /graphql endpoint (something that as well as the transport agnostic, was missing from the original GraphQL Java library) in order to accept the GraphQL payloads over HTTP; or the newest counterpart, that of the Netflix DGS Framework (Domain Graph Service). full article on

GAN Theft Auto - The Neural Network Is The Game

  GAN Theft Auto is a fork of the Nvidia's GameGAN emulating dynamic game environments neural network but applied to Grand Theft Auto. A couple of researchers replicated a "simple" scene of Grand Theft Auto;a car driving around a highway.The difference is that the car as well as the surrounding environment obeys to rules not pre-written by a game engine but the neural network itself.   full article on

The Linux Upskill Challenge

  A compact and previously paid course is now free and open source. It teaches everything someone needs in order to transition to Linux. The range of subjects covered includes a treat for everyone;from setting up your own lab on a VPS and accessing it, to installing software, exploring the file structure, working with the CLI and its commands, to more advanced subjects like scripting on bash   full article on

Introduction to Machine Learning with Scikit-Learn

  A free course on the fundamentals of Machine Learning with Python, taught by Kevin Markham founder of Data School, helps you ease your way into ML and scikit-learn, one of the best-known libraries for this purpose. Python certainly is the most popular language of doing ML, mainly due to the number of relevant libraries available. scikit-learn is one of tho top Machine Learning libraries alongside PyTorch, NumPy, SciPy, TensorFlow and Theano. Additionally, scikit-learn is one of the easiest to learn as such perfect for beginning one's ML journey. That doesn't mean that it lacks functionality though; it is perfectly capable of pulling off many ML tasks such as classification, clustering, pre-processing, regression, etc. full article on

Learn Python with HackInScience

  HackInScience is a code challenge site that is mostly oriented towards learning than competing with others for a top ranking despite the presence of a Leaderboard. It's a playground of fun Python exercises, each with a user-friendly correction bot. In order to showcase this, let's look at a simple exercise,"Characters counting" which requires writing code to  "Print the number of characters in the given paragraph". full article on

Learn Kubernetes by Example

  Looking to understand Kubernetes and cloud native development? Here is a free and continuously updated online collection of resources on everything Kubernetes, by RedHat. Kubernetes as the forefront of Cloud native development is all the rage right now. I outlined its importance in my preview of Udacity's newest Nanodegree,  Udacity Cloud Native Application Architecture Nanodegree  and  in  my write-up , I describe that the Kubernetes (the Greek work for Captain) ecosystem is comprised of a number of elements: full article on