Skip to main content


Showing posts from June, 2022

AGE - The Open Source PostgreSQL Extension For Graph Database Functionality

 Apache AGE, "A Graph Extension" was recently announced as an Apache Software Foundation Top-Level Project (TLP). What is the importance of that? The project was originally developed in 2019 as an extension to AgensGraph (Bitnine Global's multi-model database fork of PostgreSQL) and it entered the Apache Incubator in April 2020. The Apache Incubator is the primary entry path for projects and codebases wishing to become part of the efforts at The Apache Software Foundation. For a project to graduate from incubator into TPL shows great maturity and community involvement. It provides confidence in the longevity of a project and is great news for those wishing to adopt it. As to the project itself, AGE is graph database project which adds graph analytics functionality to traditional relational data platforms. Based on PostgreSQL, it aims to create a multi-model database that can handle both relational and graph model data so that users can use standard ANSI SQL along with ope

GitHub Skills - A Better Way to Learn Git and GitHub

 GitHub has just launched Github Skills, a new learning platform that replaces the current Learning Labs. This is a change for the better. Git and GitHub have something for everyone, beginners and pros alike. The trouble is that in order to master it you have to go through a steep learning curve where there's always something new to learn even when you thought you knew it all. For example, you just went through git merge but then you find out that there's cherry picking and rebase too. Which one should you go for? There's a gazillion of tutorials out there, but that also means that there's a large variation in quality too. Saying that, one of the best tutorials I've ever covered was Git and GitHub LiveLessons by Peter Bell, was back in 2014, but still holding its value. From the review: full article on i-programmer:

New Database Drivers for Oracle and PostgreSQL Released

 The PostgreSQL JDBC Team team has announced the release 42.4.0 of the JDBC driver for PostgreSQL. Meanwhile Oracle has released a Python-based driver for Oracle. Python and Java users rejoice! full article on i-programmer:

Perl 5.36 Released - What's New?

 Perl 5.36 was recently released and while we await Perl 7 it comes with many great features. First of all borrowing from Perl's 7 philosophy, 5.36 comes with modern and sensible defaults. That is, use 5.36; loads pragmas and features already being advised for years to programmers writing in Perl, like turning strict and warnings on, use 5.010 or importing Modern::Perl, which are now going to be set by default when you start writing a new program under this version.  According to Ricardo Signes, that directive in place does the following: full article on i-programmer:

Bash-Oneliner and GameShell Teach Unix Command Line

 Two great resources, one for beginners and one for intermediate users, for learning the Unix, well, Linux shell. Many wanted the command line bashed (pun intended), deprecated or replaced by something else. Still it has never gone away and never will, especially now that it has infiltrated even Windows through WSL. In "The PaSh Project - Advancing the Unix Philosophy One Step Further" I found that: full article on i-programmer:

pg_ivm - Materialised Views On Steroids

 pg_ivm is an extension module for PostgreSQL 14 that provides an Incremental View Maintenance (IVM) feature.That means that materialized views are updated immediately after a base table is modified. pg_ivm gives answer to the age old problem of when to refresh the materialized view. As a refresher or reminder, a materialized view versus a normal view is that the former keeps a copy of the data referenced to speed up querying since you actually query that copy, while the latter performs a live query every time. That might be great, but not ideal as you have to decide when to refresh that copy in order to avoid querying stale data.Until now in Postgres this could be done when running the command REFRESH MATERIALIZED VIEW. But again, when is the right time to run it, given the performance aspect of the time it takes for the operation to complete? full article on i-programmer: