Language Selection

English French German Italian Portuguese Spanish

Programming/Development Leftovers

Filed under
Development

  • raku = Easy | Hard – Physics::Journey

    In general, this pattern is used to have system experts do the low level, tricksy stuff (parsers, VMs, threads, optimisers) and domain experts can then employ a high level abstraction and for each to be able to focus on their specific domain(s) of interest.

    These patterns are often accompanied by the use of a powerful, low level language in the server, and a quick and flexible language in the client. You know the scene: Javascript and HTML accessing Java Object Oriented business logic and a SQL database with ACID transactions. And this asymmetric architecture has often made good sense, allowing the server to be fine tuned and type checked while still facilitating rapid application development and delivery via a variety of web / application presentations. Rust in general and the recently announced Rust rewrite of Apache come into this category

    But, when these specialisations turn into silos, then barriers may arise that can hamper adaptability, speed of delivery and front-to-back consistency. That’s one reason why bridges have arisen between server and client – Javascript and Node.js being one typical response from the market.

    Enter raku; like it predecessor perl, raku is a language that can ‘telescope’. From pithy one liners on the command line to deep class model introspection and mutation. Depending on the needs of the situation and the knowledge of the developer. So, raku combines an approachable on-ramp for less experienced coders and it offers power developers the keys they need to open up and adapt underlying structures to fit specialised requirements. Raku can even inline low level code (C, C++) where the limits of the language are reached. A reboot of the original perl philosophy of “making the easy things easy and the hard things possible”.

  • Building Qt WebEngine Against Other Qt Versions

    We have recently gotten the question of how to build and test Qt WebEngine 5.15.3 a lot, so I would like to provide the details and potential problem of a mixed version build here.

    This is also relevant for anyone building WebEngine 5.15.x against Qt 5.12.x, another mixed version combination we provide some support for.

    First ensure you have all the build dependencies, the dependencies for Linux are listed on Building Qt 5 from Git. For macOS and Windows, it mainly means ensuring a Python2 (yes 2, Chromium still hasn't fully migrated to Python3) and new for Qt 5.15.3, a node.js binary which is now used by Chromium to package certain web interfaces, and which can be downloaded from nodejs.org or using Homebrew on macOS. Bison and flex is also needed, but should be fairly standard on Mac and Linux and in qt5/gnuwin32 for Windows.

  • Khronos Releases SYCL 2020 For C++ Heterogeneous Parallel Programming - Phoronix

    SYCL as the single-source C++-based programming model for heterogeneous parallel programming is now revised to the SYCL 2020 specification released today by The Khronos Group.

    SYCL 2020 as the successor to the SYCL 1.2.x standard adds unified shared memory (USM) support, parallel reductions, work group and subgroup algorithm support, expanded interoperability, and SYCL atomic operations that more closely behave like C++ atomics. There are more than 40 new features of SYCL 2020 in full to enhance the programming experience from desktop and mobile through HPC deployments with this programming model based on C++.

  • Geolocation using Python | The Linux Rain

    Geolocating is the process of retrieving location-related information about a given IP address. And yes! It can be done using Python! So, let’s get right to it.

  • Pattern matching accepted for Python

    The Python steering council has, after some discussion, accepted the controversial proposal to add a pattern-matching primitive to the language. "We acknowledge that Pattern Matching is an extensive change to Python and that reaching consensus across the entire community is close to impossible. Different people have reservations or concerns around different aspects of the semantics and the syntax (as does the Steering Council). In spite of this, after much deliberation, reviewing all conversations around these PEPs, as well as competing proposals and existing poll results, and after several in-person discussions with the PEP authors, we are confident that Pattern Matching as specified in PEP 634, et al, will be a great addition to the Python language."

  • Understanding Word Embeddings Using Spacy Python

    In this post, we will go over "What are Word Embeddings" and how to generate Word embeddings for stock tweets using Python package Spacy.

  • Daniel Stenberg: curl supports rustls

    curl is an internet transfer engine. A rather modular one too. Parts of curl’s functionality is provided by selectable alternative implementations that we call backends. You select what backends to enable at build-time and in many cases the backends are enabled and powered by different 3rd party libraries.

  • Rust 1.50.0 pre-release testing

    The 1.50.0 pre-release is ready for testing. The release is scheduled for this Thursday, February 11th. Release notes can be found here.

  • Refactoring one Java CRUD Application via adding two constructors to Bean class

    The original application https://www.javatpoint.com/crud-in-jsp is using bean without any explicitly declared constructor . To be able invoke different constructors first one for "Update","Insert", "Delete" and another one for "Select" which is supposed to be invoked explicitly we've done following updates to bean User.java. The more intensively we start to use JSP when developing applications, the more imperceptible we come to JSF technology .

More in Tux Machines

digiKam 7.7.0 is released

After three months of active maintenance and another bug triage, the digiKam team is proud to present version 7.7.0 of its open source digital photo manager. See below the list of most important features coming with this release. Read more

Dilution and Misuse of the "Linux" Brand

Samsung, Red Hat to Work on Linux Drivers for Future Tech

The metaverse is expected to uproot system design as we know it, and Samsung is one of many hardware vendors re-imagining data center infrastructure in preparation for a parallel 3D world. Samsung is working on new memory technologies that provide faster bandwidth inside hardware for data to travel between CPUs, storage and other computing resources. The company also announced it was partnering with Red Hat to ensure these technologies have Linux compatibility. Read more

today's howtos

  • How to install go1.19beta on Ubuntu 22.04 – NextGenTips

    In this tutorial, we are going to explore how to install go on Ubuntu 22.04 Golang is an open-source programming language that is easy to learn and use. It is built-in concurrency and has a robust standard library. It is reliable, builds fast, and efficient software that scales fast. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel-type systems enable flexible and modular program constructions. Go compiles quickly to machine code and has the convenience of garbage collection and the power of run-time reflection. In this guide, we are going to learn how to install golang 1.19beta on Ubuntu 22.04. Go 1.19beta1 is not yet released. There is so much work in progress with all the documentation.

  • molecule test: failed to connect to bus in systemd container - openQA bites

    Ansible Molecule is a project to help you test your ansible roles. I’m using molecule for automatically testing the ansible roles of geekoops.

  • How To Install MongoDB on AlmaLinux 9 - idroot

    In this tutorial, we will show you how to install MongoDB on AlmaLinux 9. For those of you who didn’t know, MongoDB is a high-performance, highly scalable document-oriented NoSQL database. Unlike in SQL databases where data is stored in rows and columns inside tables, in MongoDB, data is structured in JSON-like format inside records which are referred to as documents. The open-source attribute of MongoDB as a database software makes it an ideal candidate for almost any database-related project. This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of the MongoDB NoSQL database on AlmaLinux 9. You can follow the same instructions for CentOS and Rocky Linux.

  • An introduction (and how-to) to Plugin Loader for the Steam Deck. - Invidious
  • Self-host a Ghost Blog With Traefik

    Ghost is a very popular open-source content management system. Started as an alternative to WordPress and it went on to become an alternative to Substack by focusing on membership and newsletter. The creators of Ghost offer managed Pro hosting but it may not fit everyone's budget. Alternatively, you can self-host it on your own cloud servers. On Linux handbook, we already have a guide on deploying Ghost with Docker in a reverse proxy setup. Instead of Ngnix reverse proxy, you can also use another software called Traefik with Docker. It is a popular open-source cloud-native application proxy, API Gateway, Edge-router, and more. I use Traefik to secure my websites using an SSL certificate obtained from Let's Encrypt. Once deployed, Traefik can automatically manage your certificates and their renewals. In this tutorial, I'll share the necessary steps for deploying a Ghost blog with Docker and Traefik.