Archives For November 30, 1999

By releasing version 2.0 preview, DevToys is finally a cross-platform app that also works on Linux and macOS!

DevToys is a free and open-source tools for developers. It features a set of offline tools all in one app window. They include:

  • JSON <> YAML, Date, Number bases converters.
  • Encoders/Decoders for HTML, URLs, Base64, GZip, JWT, QR Code.
  • JSON, SQL, XML formatters.
  • Hash & Checksum, Lorem Ipsum, Password generators
  • Color Blindness Simulator, PNG/JPEG Compressor…
  • JSONPath, RegEx, XML testers
  • And text Utilities such as Markdown Preview, Text Comparer, Analyzer & Utilities…

Continue Reading…

Oracle announced the release of JDK 22 GA this Tuesday.

JDK 22 delivers 12 enhancements that are significant enough to warrant their own JDK Enhancement Proposals (JEPs), including seven preview features and one incubator feature. They cover improvements to the Java Language, its APIs, its performance, and the tools included in the JDK.
Continue Reading…

GNU Octave, the free open-source application for numerical computations, released new major 9.1.0 version! Here’s how to install it in Ubuntu 20.04, Ubuntu 22.04, Ubuntu 23.10, and Ubuntu 24.04.

The GNU website has not yet announced the new release, but it’s available in the download page.

According to the changelog, the new Octave 9.1.0 overhauled dec2base, dec2bin, and dec2hex. They now accept negative inputs and fractional inputs.

It re-architected the inputParser function to get a 60% performance improvement. And, the perms function has been made faster. The audiowrite function now supports writing to MPEG audio formats (including MP3) if the sndfile library supports it. The current directory of oruntests now changes to the directory containing the files with the tests for the duration of the test.

The release features new functions, including isenv, ismembertol, isuniform, tensorprod.

The disable_diagonal_matrix, disable_permutation_matrix, and disable_range functions have been removed! Replacements are optimize_diagonal_matrix, optimize_permutation_matrix, and optimize_range

Operators, such as .+, .+=, **, and .**= are removed. Replacements are +, +=, +=, ^, and .^=. And, following function are obsolete:

  • idx_vector::bool()
  • all_ok(const Array&) in Array-util.h.
  • octave_base_value::count

Continue Reading…

Visual Studio Code announced version 1.87 as the new February 2024 release!

The release features voice dictation support in editor. With VS Code Speech extension installed, user can use voice to dictate directly into the editor.

It can be started by pressing Ctrl+Alt+V on keyboard, and stop via Escape key. Or, press and hold the key combination (Ctrl+Alt+V) to enable walky-talky mode, that the voice recognition stops as soon as the keys released.

The VS Code Speech extension now has 26 supported languages support. Each language comes as its own extension. And user can choose between them using accessibility.voice.speechLanguage setting.

Other changes in the release include:

  • Multi-cursor inline completions are previewed and applied at both the primary and the secondary cursor positions.
  • Rename suggestions from Copilot.
  • Pylance extension for Python support now has an Add Imports code action for adding missing imports.
  • Enable sticky scroll by defaul, and increase maximum display number from 10 to 20.
  • GitHub Copilot Chat suggests templates and features when adding dev container configuration files to a workspace
  • Side-by-side preview refactoring – Preview refactorings across files with multi diff editor.

Continue Reading…

Gambas released new 3.19.0 few days ago. Here’s the new features and how to to install guide for Ubuntu users!

Gambas is a full-featured object-oriented language and development environment built on a BASIC interpreter. It’s made up of a compiler, interpreter, archiver, scripter, development environment, and many extension components, for easily developing command-line, GTK2/GTK3, Qt, Database, Web, SDL applications.

The latest version so far is Gambas 3.19.0 that includes many exciting new features. First, as you see above, it has a new app icon that’s called gambas-thin. Though, I personally prefer the old one a bit more.

old gambas3 icon

The new release brings huge improvements to interpreter, to make it faster than Python, Perl and Java interpreters in all benchmarks!
Continue Reading…

This simple tutorial shows how to install Python 3.13, which is still in beta development stage, in Ubuntu 24.04, Ubuntu 22.04, and/or Ubuntu 20.04 LTS.

Python 3.13 so far is in beta development stage. For testing or software developing purpose, you can install it in Ubuntu either from PPA or by building from source tarball.

Features in Python 3.13 so far, compare to the last 3.12:

  • New interactive interpreter, features multi-line editing and color support, as well as colorized exception tracebacks.
  • Experimental free-threaded build mode.
  • A preliminary, experimental JIT.
  • The (cyclic) garbage collector is now incremental.
  • Include a modified version of mimalloc, and enabled by default if supported by the platform.
  • Docstrings now have their leading indentation stripped, reducing memory use and the size of .pyc files.
  • The dbm module has a new dbm.sqlite3 backend that is used by default when creating new files.
  • Support for type defaults in type parameters.
  • New type narrowing annotation, typing.TypeIs.
  • New annotation for read-only items in TypeDicts.
  • Removals of many deprecated modules: aifc, audioop, chunk, cgi, cgitb, crypt, imghdr, mailcap, msilib, nis, nntplib, ossaudiodev, pipes, sndhdr, spwd, sunau, telnetlib, uu, xdrlib, lib2to3.

For more, see the beta release note.

Continue Reading…

GNU Octave released version 8.4.0 this Sunday. Here’s how to install it in Ubuntu 20.04, Ubuntu 22.04, and Ubuntu 23.10 via PPA.

GNU Octave, a high-level interpreted language for numerical computations, release new 8.4.0 few days ago. The release came with mainly bug-fixes and improvements.

The official announcement is not ready yet. But, according to the in-app release note dialog, the changes include:

  • mkoctfile: Skip parsing for less flags.
  • Fix getting number of non-zero elements in SuiteSparse matrices.
  • delaunayn.m: Avoid erroneous simplex removal for integer inputs
  • delaunayn: Add precision loss warning for large int inputs.
  • delaunayn: Also warn for negative integers with large magnitude
  • Correctly load all-zero sparse matrices from text files.
  • Allocate correct storage for interleaved complex mxArray objects
  • mkoctfile: Prefer parsing over passing on argument after unknown argument
  • fft: Avoid segmentation fault with ND-arrays.
  • fft: Avoid overwriting input for inplace operations.
  • intersect.m: Correct third output with “stable” flag.
  • Avoid use-after-free issue in parser.
  • betainc.m: Improve integer input logic and validation.
  • webread: Apply timeout also for initial connection.

There are as well a few build system changes and documentation updates. For more, keep an eye on the news page.

How to Install Octave 8.4.0 in Ubuntu:

GNU Octave does not provide official packages for Ubuntu, since the official PPA has been discontinued for very long time.

To get it in your Ubuntu Linux, there are so far 2 choices: Flatpak package and Ubuntu PPA.

Option 1: Flatpak

Flatpak is an universal package format for Linux. It can install in most Linux system, however run in sandbox.

To install Octave as Flatpak in Ubuntu, simply press Ctrl+Alt+T on keyboard to open terminal. Then, run the 2 commands below one by one:

  • First, make sure Flatpak daemon is installed by running command:
    sudo apt install flatpak
  • Then, install Octave as Flatpak via command:
    flatpak install

Tips: first time installing an app as Flatpak, needs a log out and back in to make app icon visible. And, it may have many downloads for run-time libraries.

Option 2: Ubuntu PPA

There are also few unofficial Ubuntu PPA contains the most recent Octave packages. And, I have made this PPA for Ubuntu 20.04, Ubuntu 22.04, Ubuntu 23.04 & 23.10 with both x86_64 and arm64/armhf support.

1. First, press Ctrl+Alt+T on keyboard to open terminal. When it opens, run command to add the PPA:

sudo add-apt-repository ppa:ubuntuhandbook1/octave

Type user password (no asterisk feedback) when it asks and hit Enter to continue.

2. After adding PPA, Linux Mint users need to manually refresh system package cache, though it’s done automatically in Ubuntu.

sudo apt update

3. Finally, either run command in terminal to install the software package:

sudo apt install octave

Or, use “Software Updater” (Update Manager) to install updates if an old version was installed on your system.


For choice, you can either downgrade Octave package to the stock version in system repository by purging the Ubuntu PPA. To do so, open terminal (Ctrl+Alt+T) and run command:

sudo apt install ppa-purge && sudo ppa-purge ppa:ubuntuhandbook1/octave

Or, remove Octave by running command in terminal:

sudo apt remove --autoremove octave octave-common

And remove the Ubuntu PPA by running command:

sudo add-apt-repository --remove ppa:ubuntuhandbook1/octave

If you installed Octave via Flatpak package, run the command below instead to remove it:

flatpak uninstall --delete-data org.octave.Octave

Also, run flatpak uninstall --unused to remove useless run-time libraries to free up some disk space.

This simple tutorial shows how to install the latest Clang compiler 17 and/or 16 in Ubuntu 20.04, Ubuntu 22.04, and Ubuntu 23.10.

Ubuntu includes several versions of Clang in its system repositories. But, it rarely builds newer releases into Ubuntu stable repositories.

You can easily install Clang 10, 11, 12, 13, 14, and 15 by running sudo apt install clang-xx (replace xx with major version number) command in terminal.

For the most recent 16 and 17, they are also easy to install via the official apt repository.

Step 1: Download the Automatic installation script

The official Clang repository, so far supports Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04, Ubuntu 23.04, and Ubuntu 23.10. It has a script to make adding repository and installing Clang as easy as few Linux commands.

1. First, press Ctrl+Alt+T on keyboard to open terminal. When terminal opens, run command to download the official installation script:


You may also use the script in Debian stable, though you may need to install wget first.

2. After downloading the script, add executable permission by running command:

chmod u+x

Step 2: Use the script to install Clang

The script automate the process of adding the official apt repository, updating package cache, and installing specific Clang version into your system.

All this can be done by running a single command. For example, install Clang-17:

sudo ./ 17

Replace 17 with 16 for installing Clang-16, or even 18 if it’s already released when you see this tutorial

During the process, it will ask to hit Enter to confirm adding the apt repository. Then, you may just wait until the process done.

Step 3: Verify

If everything’s done successfully, just run clang-xx --version and/or locate clang-xx to verify.


To remove the repository added by the script, just open terminal (Ctrl+Alt+T) and run command to remove the corresponding source file:

sudo rm /etc/apt/sources.list.d/archive_uri-http_apt_llvm_org_*.list

And, remove the repository key file via command:

sudo rm /etc/apt/trusted.gpg.d/

Or, launch “Software & Updates” and remove source line and key from “Other Software” and “Authentication” tabs.

To remove Clang packages (replace 17 accordingly), just run command:

sudo apt remove --autoremove clang-17 lldb-17 lld-17 clangd-17