Language Selection

English French German Italian Portuguese Spanish


Programming Leftovers

Filed under

  • Remi Collet: PHP version 7.4.18RC1 and 8.0.5RC1

    Release Candidate versions are available in testing repository for Fedora and Enterprise Linux (RHEL / CentOS) to allow more people to test them. They are available as Software Collections, for a parallel installation, perfect solution for such tests, and also as base packages.

    RPM of PHP version 8.0.5RC1 are available as SCL in remi-test repository and as base packages in the remi-php80-test repository for Fedora 32-34 and Enterprise Linux.

    RPM of PHP version 7.4.18RC1 are available as SCL in remi-test repository and as base packages in the remi-test repository for Fedora 32-34 or remi-php74-test repository for Enterprise Linux.

  • Interpreted vs. compiled languages: What's the difference?

    At a high level, the difference between a compiled and interpreted language is that an interpreted language is compiled into an intermediary form and not machine code. Compiled code can run faster, but, unlike interpreted code in Java, it is not platform agnostic.

    The code written in a compiled language is converted directly into machine code that is specific to the targeted runtime architecture. Interpreted code is compiled into an intermediary that runs on any architecture.

    But this clear distinction tends to fade when you examine the exact features and potential capabilities of any individual programming language.

  • Dirk Eddelbuettel: Announcing ‘Introductions to Emacs Speaks Statistics’

    A new website containing introductory videos and slide decks is now available for your perusal at It provides a series of introductions to the excellent Emacs Speaks Statistics (ESS) mode for the Emacs editor.

    This effort started following my little tips, tricks, tools and toys series of short videos and slide decks “for the command-line and R, broadly-speaking”. Which I had mentioned to friends curious about Emacs, and on the ess-help mailing list. And lo and behold, over the fall and winter sixteen of us came together in one GitHub org and are now proud to present the initial batch of videos about first steps, installing, using with spaceemacs, customizing, and org-mode with ESS. More may hopefully fellow, the group is open and you too can join: see the main repo and its wiki.

    This is in fact the initial announcement post, so it is flattering that we have already received over 350 views, four comments and twenty-one likes.


  • Proposal for Perl Foundation Memberships

    I believe this to be a wasted opportunity to increase engagement with stake holders in the Perl community, be they individuals, business or other organizations. And also to secure funding for vital Perl related activities arranged by the Perl Foundation.

Programming Leftovers

Filed under
  • Rust Compiler April Steering Cycle

    On Friday, April 9th, the Rust Compiler team had a planning meeting for the April steering cycle.

    Every fourth Friday, the Rust compiler team decides how it is going to use its scheduled steering and design meeting time over the next three Fridays.

  • Oil Shell 0.8.9 Is Released

    Oil Shell is a not-really drop-in replacement for Bash with its own programming language for "serious" shell programming. The latest release has some very minor changes to the oil-language and that's about it. It may be worth a look if you want a shell language where you can use variables without quotes.


    You can take a look at the "Oil Language Idioms" for examples of how regular bash compares to oil and acquire the technology from if you want to see how it works. None of the GNU/Linux distributions we looked at have OSH in their repositories, so you will have to compile it yourself. It is a quick and small compile with nearly no dependencies, so you'll have it up and running in less than a minute.

  • Twine the easiest game engine for non-coder

    In this article, we will give you a short introduction to a wonderful open-source tool called Twine that allows you to write your own interactive stories easily. What it is, why we should use it, we will recommend a tutorial and more.

  • Stupid RCU Tricks: rcutorture fails to find an RCU bug

    If you are running a kernel built with CONFIG_PREEMPT=y, RCU read-side critical sections can be preempted by higher-priority tasks, regardless of whether these tasks are executing kernel or userspace code. If there are enough higher-priority tasks, and especially if someone has foolishly disabled realtime throttling, these RCU read-side critical sections might remain preempted for a good long time. And as long as they remain preempted, RCU grace periods cannot complete. And if RCU grace periods cannot complete, your system has an OOM in its future.

    This is where RCU priority boosting comes in, at least in kernels built with CONFIG_RCU_BOOST=y. If a given grace period is blocked only by preempted RCU read-side critical sections, and that grace period is at least 500 milliseconds old (this timeout can be adjusted using the RCU_BOOST_DELAY Kconfig option), then RCU starts boosting the priority of these RCU readers to the level specified by the rcutree.kthread_prio kernel boot parameter, which defaults to FIFO priority 2. RCU does this using one rcub kthread per rcu_node structure. Given a default Kconfig, this works out to one rcub kthread per 16 CPUs.

  • Single-shot signal/slot connections

    Sometimes it’s useful to establish a connection between a signal and a slot that should be activated only once. This is not how signal/slot connections normally behave.


    The static_cast isn’t technically necessary, in this case. But it becomes necessary, should we want to also pass some other arguments (for instance, if we want the connection to be queued as well as single-shot). This closed a long-standing and very voted feature request. Sometimes, by removing the pebble in your shoe, you make many other people happy.

  • The 10 Best Agile Frameworks: Choosing The Right Framework For You

    Agile software development is a methodology related to application development focusing on an iterative process, where cross-functional teams collaborate to produce better solutions. Agile frameworks are unique methods or techniques in the development process following Agile principles. Most companies use these frameworks to mitigate their particular needs. Many popular Agile frameworks are available in the market. Different businesses utilize them according to their specific needs. It is significant for the product’s success to embrace a solid framework that aligns with the team’s requirements. That’s where we come in. Today we will help you to choose an Agile framework that matches your team requirements.

Programming Leftovers

Filed under
  • LLVM 12.0 Released With Alder Lake + Sapphire Rapids Support, More C++20 - Phoronix

    After the release cycle dragged on an extra month due to blocker bugs, LLVM 12 was officially tagged on Wednesday night as the latest half-year update to this open-source compiler stack.

    LLVM 12 is a big feature release with support for x86-64 micro-architecture feature levels (matching the behavior of the GNU/GCC toolchain), adds support for Intel Alder Lake and Sapphire Rapids processors, provides initial support for AMD Zen 3 with "znver3" (though further tuning is still to land), continued work around C++20, POWER optimizations, Clangd is enjoying lower memory use, continued AMDGPU back-end improvements, and much more.

  • Fail fast with Opossum circuit breaker in Node.js

    The microservices pattern is pretty standard for today’s software architecture. Microservices let you break up your application into small chunks and avoid having one giant monolith. The only problem is that if one of these services fails, it could have a cascading effect on your whole architecture.

    Luckily, there is another pattern that can help with this issue: The circuit breaker pattern.

    This article explains what a circuit breaker is and how to use the pattern in your Node.js applications. We’ll use Opossum, a Node.js implementation of the circuit breaker pattern.

  • Sujeevan Vijayakumaran: One year at GitLab: 7 things which I didn't expect to learn

    One year ago I joined GitLab as a Solution Architect. In this blog post I do not want to focus on my role, my daily work or anything all remote pandemic related. Also, there won’t be a huge focus in regard to all remote working. I rather want to focus on my personal experiences in regard to the work culture. I’ll focus on things which I certainly did not think about before I joined GitLab (or any other company before).

    Before joining GitLab I worked for four German companies. As a German with a Sri-Lankan Tamil heritage I was always a minority at work. Most of the time it wasn’t an issue. At least that’s what I thought. At all those previous companies there were mostly white male and with very few (or even none) non-males especially in technical and leading roles. Nowadays, I realize what a huge difference a globally distributed company makes with people from different countries, cultures, background and gender.

    There were sooo many small things which makes a difference and which opened my eyes.

  • Rethinking DevOps: What is it all About?

    Ever since I started working with diverse web-apps at Linux Handbook and High On Cloud, the DevOps term has grabbed my attention many a time since that is something we specifically cover at Linux Handbook.

    We've covered tutorials on many tools related to DevOps but we've never really tried to explore the actual concept in depth. Since Linux Handbook is dedicated to Linux Servers, we also need to explore their important role in the DevOps field.

    But before we do so, it is essential to understand what DevOps really is. DevOps is an extremely popular buzzword and you will find multiple definitions of it across the web. But based on my own experiences, I have arrived at the following conclusive definition and thoughts henceforth. This is an attempt to revisit existing DevOps norms and rethink them in the form of a new model that I propose here.

  • How the RESTful API Became a Gateway to the World

    We're all connected these days, and our giddy, sped-up world calls on computer programs to make these connections. More and more information sites boast, "We have an API" to permit consumption of data by remote computer programs. The sites’ owners understand that it's not enough to publish a document that humans can peruse. Sites must join their data with the vast computer processing infrastructure that spans Planet Earth—and beyond.

    Nowadays, when somebody says, "We have an API," they're talking about REST. Microservices—one of the most popular architectures for new applications—also communicate using REST. Many sites are moving to GraphQL, which uses many of the same concepts and tools as REST. So technological innovation continues on the web, but the invention of REST in particular was a historic turning point.

    The term REST was invented by Roy T. Fielding in a famous 2000 PhD dissertation, and stands for Representational State Transfer. In this article, I'll explain why previous attempts to create a universal data processing infrastructure failed, and what made today's REST-connected world possible.

  • Enrique Ocaña González: GStreamer WebKit debugging tricks using GDB (1/2)

    I’ve been developing and debugging desktop and mobile applications on embedded devices over the last decade or so. The main part of this period I’ve been focused on the multimedia side of the WebKit ports using GStreamer, an area that is a mix of C (glib, GObject and GStreamer) and C++ (WebKit).

    Over these years I’ve had to work on ARM embedded devices (mobile phones, set-top-boxes, Raspberry Pi using buildroot) where most of the environment aids and tools we take for granted on a regular x86 Linux desktop just aren’t available. In these situations you have to be imaginative and find your own way to get the work done and debug the issues you find in along the way.

    I’ve been writing down the most interesting tricks I’ve found in this journey and I’m sharing them with you in a series of 7 blog posts, one per week. Most of them aren’t mine, and the ones I learnt in the begining of my career can even seem a bit naive, but I find them worth to share anyway. I hope you find them as useful as I do.

  • Microsoft Gets into the OpenJDK Business: What Does it Mean for You? [Ed: Microsoft is attacking Java again; see in context what Microsoft itself said about this strategy]

    Microsoft is getting involved with Java again. They are going to provide OpenJDK builds.

  • This Week in Rust 386
  • Raku multiple dispatch with the new MoarVM dispatcher

    I recently wrote about the new MoarVM dispatch mechanism, and in that post noted that I still had a good bit of Raku’s multiple dispatch semantics left to implement in terms of it. Since then, I’ve made a decent amount of progress in that direction. This post contains an overview of the approach taken, and some very rough performance measurements.

  • Why some developers are avoiding app store headaches by going web-only

    Aboukhadijeh says that Wormhole has a long list of reasons for skipping mobile app stores, including the ease of developing for the web and the lack of platform gatekeepers to worry about. But for him, targeting the web is also just a matter of principle.

Programming Leftovers

Filed under
  • Niko Matsakis: Async Vision Doc Writing Sessions V

    This is an exciting week for the vision doc! As of this week, we are starting to draft “shiny future” stories, and we would like your help! (We are also still working on status quo stories, so there is no need to stop working on those.) There will be a blog post coming out on the main Rust blog soon with all the details, but you can go to the “How to vision: Shiny future” page now.

  • What exactly was the point of [ “x$var” = “xval” ]?

    The x-hack was indeed useful and effective against several real and practical problems in multiple shells.

    However, the value was mostly gone by the mid-to-late 1990s, and the few remaining issues were cleaned up before 2010 — shockingly late, but still over a decade ago.

    The last one managed to stay until 2015, but only in the very specific case of comparing opening parenthesis to a closed parenthesis in one specific non-system shell.

    I think it’s time to retire this idiom, and ShellCheck now offers a style suggestion by default.

  • Rakudo Weekly News: 2021.15 First Conf

    Andrew Shitov has announced the very first Raku Conference, to be held online on 7 August 2021. You can sign up if you want to attend, or want to give a presentation. Formats for presentations vary from a 5-minute lightning talk to an 8-hour workshop. The deadline for talk submissions is 15 July 2021. Of course, you can also sponsor this conference in various ways! Exciting to see our first Raku Conference planned like that!

  • Perl Weekly Challenge 108: Locate Memory and Bell Numbers

    In languages such as Perl and C, it is a fairly common task to take a reference or a pointer to a variable, and a reference or a pointer are essentially the memory addresses of such a variable (for some definition of memory address). In Raku, using the memory address of a variable is almost never necessary (except possibly for low-level debugging purpose). Actually, I originally wasn’t even completely sure I was going to find a way of doing that in Raku. However, the Metaobject Protocol (MOP) offers some metamethods, which are introspective macros that provide information about objects (including variables). One such metamethod is WHERE, which returns an Int representing the memory address of the object.

  • Logica: organizing your data queries, making them universally reusable and fun

    We present Logica, a novel open source Logic Programming language. A successor to Yedalog (a language developed at Google earlier) it is a Datalog-like logic programming language. Logica code compiles to SQL and runs on Google BigQuery (with experimental support for PostgreSQL and SQLite), but it is much more concise and supports the clean and reusable abstraction mechanisms that SQL lacks. It supports modules and imports, it can be used from an interactive Python notebook and it even makes testing your queries natural and easy.

  • Google Talks Up Logica As Open-Source Programming Language For Data Manipulation - Phoronix

    Google engineers are responsible for a number of programming languages like Go and Dart while their newest one to be made public is Logica.

    Logica is the successor to Yedalog, another language out of Google. Logica compiles to SQL and can run on Google BigQuery with experimental support for PostgreSQL and SQLite databases.

  • Make Conway's Game of Life in WebAssembly |

    Conway's Game of Life is a popular programming exercise to create a cellular automaton, a system that consists of an infinite grid of cells. You don't play the game in the traditional sense; in fact, it is sometimes referred to as a game for zero players.

    Once you start the Game of Life, the game plays itself to multiply and sustain "life." In the game, digital cells representing lifeforms are allowed to change states as defined by a set of rules. When the rules are applied to cells through multiple iterations, they exhibit complex behavior and interesting patterns.

  • 12 Backend Development Tools For Web Developers

    While Frontend Web Development is concerned with the designing of the user interface of the website using web technologies like HTML, CSS, JavaScript, etc. – Backend Web Development (or you can say Server-Side Development) is responsible for the appropriate functioning of the website.

  • Eclipse Foundation aims open VS Code registry at Microsoft

    VS Code)extension users and providers argue that the industry needs a fully open source marketplace for the extensions. That's because Microsoft forbids the use of its marketplace for non-Microsoft-branded products, as noted in the marketplace user agreement, which reads: "Marketplace Offerings are intended for use only with Visual Studio Products and Services and you may only install and use Marketplace Offerings with Visual Studio Products and Services."

  • 5 dead programming languages we should never forget [Ed: Many programming languages that Chris Tozzi called "dead" are not dead at all! Is he trying to bury things alive?]

    Just as some spoken languages have faded into history, programming languages also face the risk of obsolescence and extinction. Though their profound influence on development techniques and coding styles certainly still resonates, languages like ALGOL and LISP don't enjoy nearly as much prominence and acclaim as they once did. It's only natural that some of the languages we use today will follow the same path.

    In no way does that mean these languages will disappear entirely. There will be plenty of legacy codebases written in these prophetically dead programming languages, and a need for developers with the know-how to understand and maintain them. Just look at legacy languages like COBOL, which still sits at the heart of countless enterprise software systems (including Fortune 500 companies).


    Perl was conceived in the 1980s as a scripting language designed for Unix system administration tasks, and subsequently gained popularity as a general-purpose programming language. Despite its age, the language hovers in 19th place on the TIOBE index, as it remains important in areas like data science and analytics. However, Perl commands much less mindshare now than it did a decade ago.

    The release of Raku in 2019 -- a Perl spinoff designed by the language's creator, Larry Wall -- profoundly undercut community enthusiasm for Perl. Plans for future version releases counter the argument that Perl is already a dead programming language, but it is quickly turning into one that may find itself confined to legacy codebases.

  • 11 Open Source DevOps Tools We Love For 2021

    DevOps isn’t just a cultural shift — it requires great tools to come to fruition. Below, we’ve pulled together a list of some of the most well-loved DevOps tools available today. But, throwing loads of money into fancy SaaS solutions can quickly gobble up the cloud budget. These DevOps tools all are open source, and enable everything from container builds and orchestration to microservices networking, configuration management, CI/CD automation, full-stack monitoring and more. Here are some of our favorite open source DevOps tools for 2021.

  • Excellent Free Tutorials to Learn Haml - LinuxLinks

    Haml (HTML Abstraction Markup Language) is a markup language that’s used to cleanly and simply describe the HTML of any web document, without the use of inline code.

  • Steinar H. Gunderson: plocate 1.1.6 released

    I've released version 1.1.6 of plocate with some minor fixes; changelog follows.

  • Tools and Practices I Use In Every Real-World Software Project

    There are very few books written for junior-to-mid level developers that answer the question “How do I run a real-world software project?”. Industry best practices often arise as the result of cross-pollination and institutional/tacit knowledge rather than explicitly prescribed rules that you can read about in a book.

    For developers working alone or in small organizations such as startups, these norms may not be obvious. Knowing which tools one needs to deploy a production-scale application is crucial knowledge.

    In 2019 I published the article “Software Tools for Hobby-Scale Projects.” It is still one of my most popular blog entries. This post will explore the same idea within a professional context and hopefully help new or solo developers get guidance on tools and practices for new projects at small to mid-scale organizations.

    Objective: Provide a list of tools and practices that apply to a majority of real-world software projects.

    Intended audience: Developers familiar with software authorship wishing to learn about real-world software deployments and practices.

  • The Sacred “Back” Button

    Younger readers will find it hard to conceive of a time in which every application screen didn’t have a way to “Go Back”. This universal affordance was there, a new thing, in the first Web browser that anyone saw, and pretty soon after that, more or less everything had it. It’s a crucial part of the user experience and, unfortunately, a lot of popular software is doing it imperfectly. Let’s demand perfection.

    Why it matters · Nobody anywhere is smart enough to build an application that won’t, in some situations, confuse its users. The Back option removes fear and makes people more willing to explore features, because they know they can always back out. It was one of the reasons why the nascent browsers were so much better than the Visual Basic, X11, and character-based interface dinosaurs that then stomped the earth.

    Thus I was delighted, at the advent of Android, that the early phones had physical “back” buttons.

  • An easy to use MTP implementation for your next embedded Linux project

    Did you know you could run a permissively-licensed MTP implementation with minimal dependencies on an embedded device? Here's a step-by-step guide on how to easily run cmtp-responder on a Rock Pi 4 or any other board equipped with a UDC.

    To recap: In part1 of this series I introduced you to the concept of USB gadgets, their configfs composition interface, available opensource tools and basic systemd integration. In part2 I wrote about one particular USB gadget function - FunctionFS - and its integration with systemd. Then I presented cmtp-responder, a permisively-licensed MTP responder implementation and showed how to play with it on your PC with dummy_hcd driver. It is in this latter post that I promised you running cmtp-responder on real hardware. You can also watch me talking about USB gadgets at ELC 2019 and Linux Piter 2019.

  • Gradle Release Notes

    This release enables file system watching by default to make your incremental builds faster, expands support for building projects with Java 16, and adds support for building on Macs using Apple Silicon processors (such as M1).

  • Gradle 7.0 released

    The latest release of the Gradle build tool is now available. Gradle 7.0 enables file system watching by default to make incremental builds faster and expands support for building projects with Java 16 as well as Apple Silicon support.

    When the file system is enabled in the new version, Gradle keeps what it learned from the file system in memory and skips reading from the file system on each build, reducing the amount of disk I/O needed to determine what has changed, the team explained.

    The release also introduces a feature preview for centralized dependency versions and it enables build validation errors to make builds more reliable.

Programming Leftovers

Filed under
  • Create Beautiful Websites Using Emacs Org Mode

    In my never-ending quest to find the perfect way to create beautiful (yet minimal) websites, I had to try out Org Export in Emacs. Since I tend to write everything in Org Mode these days, it would be amazing to simply be able to convert my Org docs into HTML, and maybe add a little CSS to spice things up.

  • Qt Creator 4.15: New CMake Features

    Qt Creator 4.15 comes with a bunch of features and bug fixes for the CMake Project Manager.

    Below, you have a list of what’s new and a few tips and tricks which would hopefully improve your CMake experience in Qt Creator.

  • 7 Popular Open Source CI/CD Tools

    DevOps is a software development strategy that incorporates agile practices for fast, efficient product creation and release. It focuses on integration of development and operations teams, continuous integration/continuous delivery (CI/CD) and automation of tasks and processes.

    Typically, DevOps teams use pipelines to streamline and standardize processes. DevOps pipelines are toolchains that teams can use to automate tasks and provide visibility into the software development life cycle. In this article, we’ll cover seven popular open source CI/CD tools.

  • Community Member Monday: Gökçe Kuler

    I’m from Aydın, Turkey. Currently I’m studying in my final years at the Computer Engineering department of Çanakkale Onsekiz Mart University. I’m interested in free software – and enjoy working with free software projects and learning new things aboutthemit. I met free software when I started university via my advisor Necdet Yücel.

    I like playing the guitar and the kalimba. Also, I recently started painting with acrylic paints. I’m vegetarian, and actively participate in animal protection and gender equality projects.

  • App Showcase: Drawing

    Drawing is a simple app in the PureOS store to doodle on a digital canvas.

Programming Leftovers

Filed under

  • Claudio Cambra: On finishing Season of KDE: improving Kirigami docs

    I wrote my first Season of KDE blog-post 3 months ago… and have since forgotten to write any updates. It’s time to address that!

    Since January, I’ve been working mainly on improving the documentation for Kirigami. Back then, the Develop wiki had some pages teaching newcomers how to create a Kirigami application, but these were a little disjointed and didn’t really lead readers towards any specific goal.

    There were also a lot of aspects and components of Kirigami that weren’t properly documented. Some of the existing materials also needed revising in terms of style, structure, and clarity.

  • Getting Started With MicroPython on the Raspberry Pi Pico

    The Raspberry Pi Pico is the first microcontroller-based development board from the Raspberry Pi Foundation. Instead of the Linux operating system found on other Raspberry Pi boards, the Pico must be attached to another computer to program it.

    Microcontroller programming is a difficult subject to learn, but luckily the Raspberry Pi foundation has made it easy to get up and running with the Pico. Today you'll learn how to install all the tools needed to get started with the Raspberry Pi Pico.

    These instructions focus on Windows, but Linux and Mac installation are very similar, just make sure to get the tools for your operating system instead.

  • Calculating EV battery charge pricing with Perl

    Presently I have great interest in “EVs” Electric Vehicles but I haven’t seen any data on how much it would cost to charge an electric vehicle from 0 % to 100 % battery charge at home in NYC ( So I wrote a Perl script to do just that ) but before we dig in into it I explain a few things about Electric Vehicles.

    Electric Vehicles will have a battery capacity that is represented by kilowatt-hour units or kWh for short.

    An EV’s driving range is represented in miles units ( In the US ) and the average mileage is determined by the EPA battery range rating ( the bigger the battery capacity usually means the more driving range you will have in a car ) after conducting a few tests ( so in reality your mileage will vary ).

    Electric vehicles have an onboard charger which determines its charging rate in Kilowatt per Hour and it varies by car makers. Most EV car owners will install a Level 2 charger that is usually capable of charging cars up to 7.2 kWH rate using 220 volt electric circuit with 32 amps of power ( but there are chargers that can go at a higher rate ).

    Ok now that I explained a few things lets dig into the data used to make my script.

    I checked my electric bill and found that my electricity rate in NYC is $0.13 cents per kWh.

    For comparison I phoned a friend in Florida to get electricity rates where he lives which is $ 0.07 cents per kWh. ( Almost half of NY rate )

  • How to Install and Use Ruby on Linux Distributions

    Ruby is one of the most used and easy to use programming languages. Ruby is an open-source, object-oriented interpreter that can be installed on a Linux system. Many programmers prefer Python over Ruby to start learning basic programming, but Ruby can handle large web-frameworks and web applications. Once you start learning Ruby, you would find it less machine-like and not repetitive. If you’re confused between Ruby and Ruby on Rails, I must mention that they are not the same; Ruby is a programming language; on the other hand, Ruby on Rails is a web framework.

Python Leftovers

Filed under
  • Create a JSON Response in Python

    JSON (JavaScript Object Notation) file is a very popular medium to interchange data between different formats. It contains data in text format that is supported by various languages such as Python, PHP, PERL, etc. The main purpose of the JSON file is to transfer data between the server and the client. The requests are generated by Python to retrieve the data from a particular resource URI. If the response of the request is returned in JSON format then the content of the response can be retrieved using the response.json() function. It returns the response by using a Python dictionary object. How this function can be used to parse JSON response using the Python request library will be shown in this tutorial.

  • Use of Django Request and Response Objects – Linux Hint

    The Request-response cycle is used to transfer the data between the client and server in all types of web APIs. The client-server architecture is used in the Django framework to implement the web application. The request and response are the two main components of the client-server application. An HttpRequest object is created in the Django application when a client requests any resource. A particular view function is used to handle the request and send the response using the HttpResponse object. The uses of different attributes and methods of HttpRequest and HttpResponse classes of the Django framework will be explained in this tutorial.

  • Form Validation in Django – Linux Hint

    Form validation is a very important task for any web application to enter valid data in the database. The users of the application will not be able to insert invalid data if the form data are validated before submitting. Django is called MVT (Model View Template) based framework where the task of the controller is done by this framework itself. The database-related tasks are done by Model and the data are presented to the template using View. The fields of a form are generated based on the particular model that will insert data into the Django database after validation. One type of validation is done by the browser-based on the field type that is defined in the model. Using the is_valid() function is another way to check the form data whether they are valid or not after submitting the form. This tutorial will show you how the data can be inserted into the Django database after validating the form.

  • How to Build a Basic Search for a Django Site? – Linux Hint

    A particular content of any site is normally retrieved by the users through Google search. However, if this search option is implemented on the website, then the users can easily find their desired content within the site without using Google search. . Another benefit of adding a search option within a website is that the developer can manage the searching output properly. That means he can control which content of the site will appear or not. This tutorial will show the process of implementing the basic search in the Django site.

Programming Leftovers

Filed under
  • Open Source Software Leader the Eclipse Foundation Launches the Adoptium Working Group for Multi-Vendor Delivery of Java Runtimes for Enterprises
  • AWS's Shane Miller to head the newly created Rust Foundation

    Miller, who leads the Rust Platform team for AWS, has been a software engineer for almost 30 years. At AWS, Miller has been a leader in open-source strategic initiatives and software engineering and delivery. Miller's Rust Platform team includes Rust language and compiler maintainers and contributors and developers on the Tokio runtime for writing reliable asynchronous applications with Rust. Under Miller's leadership, the AWS Rust team is crafting optimizations and tools for the features that engineers will use to build and operate services which take full advantage of Rust's performance and safety.

  • Inkscape compiled in OpenEmbedded

    Cross-compiling can be a challenge with some packages, and some of the big ones, such as SeaMonkey, LibreOffice and Inkscape, I have compiled in a running EasyOS (with the "devx" SFS loaded).
    I have previously compiled LibreOffice in OE, see the Pyro series. But it was a lot of work.

  • Felix Häcker: New Shortwave release

    Ten months later, after 14.330 added and 8.634 deleted lines, Shortwave 2.0 is available! It sports new features, and comes with the well known improvements, and bugfixes as always.


    Shortwave has always been designed to handle any screen size from the beginning. In version 2.0 we have been able to improve this even further. There is now a compact mini player for desktop screens. This still offers access to the most important functions in a tiny window.

  • 5 signs you're a groff programmer

    I first discovered Unix systems in the early 1990s, when I was an undergraduate at university. I liked it so much that I replaced the MS-DOS system on my home computer with the Linux operating system.

    One thing that Linux didn't have in the early to mid-1990s was a word processor. A standard office application on other desktop operating systems, a word processor lets you edit text easily. I often used a word processor on DOS to write my papers for class. I wouldn't find a Linux-native word processor until the late 1990s. Until then, word processing was one of the rare reasons I maintained dual-boot on my first computer, so I could occasionally boot back into DOS to write papers.

    Then I discovered that Linux provided kind of a word processor. GNU troff, better known as groff, is a modern implementation of a classic text processing system called troff, short for "typesetter roff," which is an improved version of the nroff system. And nroff was meant to be a new implementation of the original roff (which stood for "run off," as in to "run off" a document).

Programming Leftovers

Filed under

  • The Simplicity of Making Librem 5 Apps

    The “quick start” video below that I made for the Librem 5 developers documentation demonstrates how quickly you can get up and running with making your own GTK applications on a Librem 5.

    In this video, I have attached a Librem 5 to an external keyboard, mouse and monitor through a USB-C hub, and I use GNOME Builder to quickly create a new GTK application project, build it and run it on both the big desktop monitor and the small mobile screen with just a drag and drop across the screens.

    Yes, I do all that with the computing power of the Librem 5 only! There are no special effects nor a hidden desktop computer. I even did the screencast recording with an external device so it shows the real speed of the Librem 5 when driving a 32″ Full HD monitor.

  • Stream event data with this open source tool

    An event stream is a pipeline between a source you define and a destination of your choice. Rudderstack provides you with SDKs and plugins to help you ingest event data from your website, mobile apps, and server-side sources — including JavaScript, Gatsby, Android, iOS, Unity, ReactNative, Node.js, and many more. Similarly, Rudderstack's Event Stream module features over 80 destination and warehouse integrations, including Firebase, Google Analytics, Salesforce, Zendesk, Snowflake, BigQuery, RedShift, and more, making it easy to send event data to downstream tools that can use it as well as build a customer data lake on a data warehouse for analytical use cases.

  • Linux Fu: Shell Script File Embedding | Hackaday

    You need to package up a bunch of files, send them somewhere, and do something with them at the destination. It isn’t an uncommon scenario. The obvious answer is to create an archive — a zip or tar file, maybe — and include a shell script that you have to tell the user to run after unpacking.

    That may be obvious, but it assumes a lot on the part of the remote user. They need to know how to unpack the file and they also need to know to run your magic script of commands after the unpack. However, you can easily create a shell script that contains a file — even an archive of many files — and then retrieve the file and act on it at run time. This is much simpler from the remote user’s point of view. You get one file, you execute it, and you are done.

Programming Leftovers

Filed under
  • SoK Final Status Report

    For the Season of KDE 2021, I decided to work on Okular’s website. Okular is a multifaceted program that I use almost every day for my PDF reading and annotating needs, although it can do much more. Sadly, its website was a bit outdated and not mobile friendly. I thus proposed to rewrite the Okular website using the HUGO framework, in a similar way as was done with the main website, and keeping consistency with other KDE applications such as Konsole.

  • Gping: Rust Clones For Everyone And Everything

    I've covered tons of rust rewrites/clones on this channel and today we're covering another one, this is Gping, a rust clone of Ping but with a graph, however it does a bit more than just pinging servers.

  • Improve Your Python Skills by Coding a Snake Game

    Snakes like to eat apples. At least in the game you are about to code.

    We just published a course on the YouTube channel that will teach you how to create a snake game using Python and Pygame.

    This course was developed by Dhaval Patel from the popular codebasics YouTube channel.

    This course is for beginners. All you need to know is basic Python. You will learn to build a complete end-to-end project in Python.

  • HPVM 1.0 Released As LLVM-Based Compiler For CPUs / GPUs / FPGAs / Accelerators

    The latest open-source compiler infrastructure effort seeking to target a wide spectrum of devices from CPUs through GPUs, FPGAs, and accelerators is HPVM. The HPVM project today celebrated its 1.0 milestone.

    Like most compiler projects these days, HPVM is based on the LLVM compiler stack. HPVM was also born at the University of Illinois where LLVM itself was first started. We covered the initial work on HPVM more than a year ago in University of Illinois Releases HPVM As Heterogeneous Parallel Systems Compiler.

Syndicate content

More in Tux Machines

Noise With Blanket

Videos/Audiocasts/Shows: Linux Journal Expats, Linux Experiment, and Krita Artwork

  • You Should Open Source Now, Ask Me How!

    Katherine Druckman chats with Petros Koutoupis and Kyle Rankin about FOSS (Free and Open Source Software), the benefits of contributing to the projects you use, and why you should be a FOSS fan as well.

  • System76 starts their own desktop environment, Arch goes the easy route - Linux & Open Source news

    This time, we have System76 working on their own desktop environment based on GNOME, Arch Linux adding a guided installer, Google winning its court case against Oracle on the use of Java in Android, and Facebook is leaking data online, again. Become a channel member to get access to a weekly patroncast and vote on the next topics I'll cover

  • Timelapse: inking a comic page in Krita (uncommented)

    An uncommented timelapse while inking this page 6 of episode 34 of my webcomic Pepper&Carrot ( ). During the process, I thought about activating the recorder and I even put a webcam so you can see what I'm doing on the tablet too. I'm not doing it for everypages; because you can imagine the weight on disk about saving around 10h of videos like this; and also how it is not multi-tasking: when I record, you don't see me open the door to get the mail of the postman, you don't see me cleaning temporary accident of a cat bringing back a mouse at home, you don't see me typing to solve a merge request issue to merge a translation of Pepper&Carrot.

Kernel Leftovers

  • [Intel-gfx] [RFC 00/28] Old platform/gen kconfig options series
  • Patches Resubmitted For Linux With Selectable Intel Graphics Platform Support

    Back in early 2018 were patches proposed for selectable platform support when building Intel's kernel graphics driver so users/distributions if desired could disable extremely old hardware support and/or cater kernel builds for specific Intel graphics generations. Three years later those patches have been re-proposed. The patches then and now are about allowing selectable Intel graphics "Gen" support at kernel configure/build time so that say the i8xx support could be removed or other specific generations of Intel graphics handled by the i915 kernel driver. This disabling could be done if phasing out older hardware support, seeking smaller kernel images, or other similar purposes. The patches don't change any default support levels but leaves things as-is and simply provides the knobs for disabling select generations of hardware.

  • Linux Kernel Runtime Guard 0.9.0 Is Released

    Linux Kernel Runtime Guard (LKRG) is a security module for the Linux kernel developed by Openwall. The latest release adds compatibility with Linux kernels up to soon to be released 5.12, support for building LKRG into kernel images, support for old 32-bit x86 machines and more. Loading the LKRG 0.9.0 module will cause a kernel panic and a complete halt if SELinux is enabled.

  • Hans de Goede: Logitech G15 and Z-10 LCD-screen support under Linux

    A while ago I worked on improving Logitech G15 LCD-screen support under Linux. I recently got an email from someone who wanted to add support for the LCD panel in the Logitech Z-10 speakers to lcdproc, asking me to describe the process I went through to improve G15 support in lcdproc and how I made it work without requiring the unmaintained g15daemon code.

Devuan 4.0 Alpha Builds Begin For Debian 11 Without Systemd

Debian 11 continues inching closer towards release and it looks like the developers maintaining the "Devuan" fork won't be far behind with their re-base of the distribution focused on init system freedom. The Devuan fork of Debian remains focused on providing Debian GNU/Linux without systemd. Devuan Beowulf 3.1 is their latest release based on Debian 10 while Devuan Chimaera is in the works as their re-base for Debian 11. Read more