Language Selection

English French German Italian Portuguese Spanish

Programming Leftovers

Filed under
Development
  • The 32 Best IDEs/Text Editors for C++ | Terminal Root

    Not everyone has the same tastes and when it comes to development C++ the form and environment can vary from person to person.

    Many are not satisfied with the development environment they use or plan to test others to see if things run better.

    Based on that I decided to build the biggest list of Text Editors and IDEs for C++ where many of these alternatives will also work for other programming languages, mainly for Linguagem C.

  • What's new with Qt Design Studio 2.3

    Qt Design Studio 2.3 will be released this year.

    Qt Design Studio is a UI design and development tool that enables designers and developers to rapidly prototype and develop complex UIs. The next version Qt Design Studio 2.3 will be released this year and you can already check out the beta version of Qt Design Studio 2.3 using the online installer. In this blog post, we want to show some of the new features introduced in Qt Design Studio 2.3.

  • 3D Arrays C++

    The importance of arrays in C++ can be realized because it is one of the most commonly used data structures for storing large bulks of data of similar types. We all know that it is very easy to deal with 1D arrays, and it is relatively difficult to manipulate with the 2D arrays. However, this complexity level keeps on increasing as we move towards the higher dimensional or n-dimensional arrays. In the higher dimensional arrays, the 3D or three-dimensional arrays are the most commonly used ones since it gets extremely complex to implement the arrays that have more than three dimensions. Therefore, we have designed this guide to teach you the usage of the 3D arrays in C++ in Ubuntu 20.04.

  • is_null function in PHP

    The null value is used in PHP to indicate that no specific value is assigned to the variable. The null value does not define that the value is empty, and the value of the variable will be null if the null value is assigned to it. PHP has many built-in functions for testing data. The is_null() function is one of them that is used to check whether the variable contains the null value or not. The different ways of using the is_null() function in PHP are provided in this tutorial.

  • Set Session Timeout in PHP

    The inactivity of a registered user is checked by the session timeout. When a user login into a website then a session creates for that user and the session is destroyed when the user logout or closes the browser. The session timeout is used to set the time limit for the inactivity of the user. Suppose, if the session timeout limit is set to 60 seconds and the user is inactive for 60 seconds then the session of that user will be expired and the user will require to log in again to access the site. The way to set or update the session timeout in PHP has shown in this tutorial.

  • Godot Engine - Release candidate: Godot 3.4.1 RC 2

    Godot 3.4 was released a month ago, and it went fairly smoothly! Many thanks to all the contributors who worked on it, including all testers who tried beta and RC releases to ensure that the 3.4-stable branch would be an easy and worthwhile upgrade path for all users.

    No software release is perfect though, so there will always be some things to iron out, which is why we usually provide maintenance releases for stable branches, focusing on bugfixing and preserving compatibility (see our release policy). A number of fixes have been queued already in the 3.4 branch for Godot 3.4.1, so here's a new release candidate to validate them.

  • Java in a Container World

    The redhat talk I gave at UK Systems '21 was entitled "Java in a Container World: What we've done and where we're going".

  • Rusty Linux kernel draws closer with new patch • The Register [Ed: Microsoft Tim keeps pushing Rust for Linux; says a lot who stands to benefit from the move (clue: the company that owns and controls and occasionally manipulates GitHub)]

    The new patch will "add support for Rust as a second language to the Linux kernel," alongside the current C language. The previous patch was in July this year.

    Notable in this latest patch is use of the stable release of the Rust compiler, though the project still requires some compiler features that are unstable.

    "We will keep upgrading until we do not rely on any unstable features," wrote project lead Miguel Ojeda.

  • Lazy fishy | Playing Perl 6␛b6xA Raku

    AoC day 6 is asking us to simulate a swarm of fish that happily reproduces every 6 days after getting mature at 8 days. My first attempt was to keep track of every single fish. For the requested 80 days, that is no problem at all. Calculating the swarm size after 256 days consumes several GB of RAM and takes halve an hour. According to Larry, laziness is a programmers virtue. All fish of the same age behave the same way. Instead of herding all the cats — I mean fish — we only need to keep track of 8 age-groups.

  • Day 8 – Practice… on Advent of Code – Raku Advent Calendar

    The head elf Fooby Nimblecalmy was trying to to read an interesting article on Ramsey Theory, but was having a hard time because the latest addition in Santa’s IT Operations Buzz Bargoosey was steaming like a kettle.

    Anyway, Fooby was determined to go through the article, so decided to deliberately ignore Buzz.

More in Tux Machines

India's government may foster home-grown mobile OS

India's minister of state for Electronics and IT Rajeev Chandrasekhar has revealed the nation's government intends to develop a policy that will encourage development of an "indigenous mobile operating system". Speaking at the launch of a policy vision for Indian tech manufacturing, Chandrasekhar said India's Ministry of Electronics and Information Technology believes the market could benefit from an alternative to Android and iOS and could "even create a new handset operating system" to improve competition, according to the Press Trust of India. "We are talking to people. We are looking at a policy for that," Chandrasekhar told local media, adding that start-ups and academia are being considered as likely sources of talent and expertise to build the OS. "If there is some real capability then we will be very much interested in developing that area because that will create an alternative to iOS and Android which then an Indian brand can grow,” he added. The minister offered no timeframe for a decision on whether to proceed with the policy, nor the level of assistance India's government might provide. Nor did he say much to suggest he knows that past attempts to create alternative mobile operating systems, or national operating systems, have cratered. Even Microsoft, famously, failed to make an impact with Windows Phone despite throwing billions at the OS and acquiring Nokia to ensure supply of handsets to run it. Mozilla's Firefox OS was discontinued after efforts to crack India's mobile market with low-cost devices failed. The Linux Foundation's Tizen hasn't found a lot of love. Read more

Keyboard Hacks With Raspberry Pi and Arduino

  • Turn On Sarcasm With the Flip Of a Switch

    Sarcasm is notoriously difficult to distinguish in online communities. So much, in fact, that a famous internet rule called Poe’s Law is named after the phenomenon. To adapt, users have adopted several methods for indicating implied sarcasm such as the /s tag, but more recently a more obvious sarcasm indicator has appeared that involves random capitalization througout the sarcastic phrase. While this looks much more satisfying than other methods, it is a little cumbersome to type unless you have this sarcasm converter for your keyboard. The device, built by [Ben S], is based around two Raspberry Pi Pico development boards and sits between a computer and any standard USB keyboard. The first Pi accepts the USB connection from the keyboard and reads all of the inputs before sending what it reads to the second Pi over UART. If the “SaRcAsM” button is pressed, the input text stream is converted to sarcasm by toggling the caps lock key after every keystroke.

  • Reverse engineering an '80s NeXT keyboard | Arduino Blog

    Working with vintage computer technology can feel a bit like the digital equivalent of archeology. Documentation is often limited or altogether absent today — if it was ever even public in the first place. So you end up reverse engineering a device’s functionality through meticulous inspection and analysis. Spencer Nelson has a vintage NeXT keyboard from the ’80s and wanted to get it working with modern computers via USB. To make that happen, he reverse engineered the protocol and used an Arduino as an adapter. NeXT was a computer company founded by Steve Jobs in the ’80s, in the period after he left Apple. A little over ten years later, Apple bought NeXT and Jobs rejoined the company. NeXT only released a few computers, but they are noteworthy and desirable to collectors. This particular keyboard is from 1988 and worked with the first generation NeXT Computer. Unlike modern keyboards that share the USB protocol, keyboards from this era utilized proprietary protocols. This particular model had an enigmatic protocol that Nelson became obsessed with deciphering.

  • Reverse Engineering The NeXT Computer Keyboard Protocol | Hackaday

    The NeXT computer was introduced in 1988, with the high-end machine finding favor with universities and financial institutions during its short time in the marketplace. [Spencer Nelson] came across a keyboard from one of these machines, and with little experience, set about figuring out how it worked. The keyboard features a type of DIN connector and speaks a non-ADB protocol to the machine, but [Spencer] wanted to get it speaking USB for use with modern computers. First attempts at using pre-baked software found online to get the keyboard working proved to be unreliable. [Spencer] suspected that the code, designed to read 50 microsecond pulses from the keyboard, was miscalibrated.

KDE Plasma 5.24 Will Be the Next LTS Release Receiving Support Until KDE Plasma 6

KDE Plasma 5.24 (currently in public beta testing) is set to be the next LTS release of the acclaimed and widely used desktop environment for GNU/Linux distributions, replacing the KDE Plasma 5.18 LTS series, which reached end of life in October 2021. Set to arrive on February 8th, 2022, two years after the release of Plasma 5.18 LTS, the Plasma 5.24 LTS series promises cool new features like support for fingerprint readers to unlock the screen or authenticate in apps that require administration password or with sudo on the command-line. Read more

Programming Leftovers: LibreOffice, KDE, and More

  • Nibble Stew: Building a part of LibreOffice on Windows using only Meson and WrapDB

    In earlier posts (starting from this one) I ported LibreOffice's build system to Meson. The aim has not been to be complete, but to compile and link the main executables. On Linux this is fairly easy as you can use the package manager to install all dependencies (and there are quite a few of them). [...] It does on my machine. It probably won't do so on yours. Some of the deps I used could not be added to WrapDB yet or are missing review. If you want to try, the code is here. The problematic (from a build system point of view) part of compiling an executable and then running it to generate source code for a different target works without problems. In theory you should be able to generate VS project files and build it with those, but I only used Ninja because it is much faster.

  • Regression fix: Missing lines in docx

    Interoperability is a very important aspect of the LibreOffice. Today, LibreOffice can load and save various file formats from many different office applications from different companies across the world. But bugs (specially regression bugs) are inevitable parts of every software. There are situations where the application does not behave as it should, and a developer should take action and fix it, so that it will behave according to the expectation of the user. What if you encounter a bug in LibreOffice, and how does a developer fix the problem? Here we discuss the steps needed to fix a bug. In the end, we provide a test and make sure that the same problem does not happen in the future. [...] The bug reporter should carefully describe the “actual results” and why it is different from the “expected results”. This is also important because the desired software’s behavior is not always as obvious as it seems to be for the bug reporter. Let’s talk about a recently fixed regression bug: The “NISZ LibreOffice Team” reported this bug. The National Infocommunications Service Company Ltd. (NISZ) has an active team in LibreOffice development and QA.

  • Beginning with Season of KDE 2022 - post #1

    I usually learn something between semesters when I have holidays. During September - October 2021, I tried learning some Qt and looking around codebase for KDE apps. But something just didn't work out. I suspect my leaning style wasn't correct.

  • KDE Gear 22.04 release schedule finalized

    It is available at the usual place https://community.kde.org/Schedules/KDE_Gear_22.04_Schedule Dependency freeze is in six weeks (March 10) and Feature Freeze a week after that, make sure you start finishing your stuff!

  • Python sets, frozensets, and literals

    A Python "frozenset" is simply a set object that is immutable—the objects it contains are determined at initialization time and cannot be changed thereafter. Like sets, frozensets are built into the language, but unlike most of the other standard Python types, there is no way to create a literal frozenset object. Changing that, by providing a mechanism to do so, was the topic of a recent discussion on the python-ideas mailing list. [...] In the end, this "feature" would not be a big change, either in CPython, itself, or for the Python ecosystem, but it would remove a small wart that might be worth addressing. Consistency and avoiding needless work when creating a literal frozenset both seem like good reasons to consider making the change. Whether a Python Enhancement Proposal (PEP) emerges remains to be seen. If it does, no major opposition arises, and the inevitable bikeshed-o-rama over its spelling ever converges, it just might appear in an upcoming Python—perhaps even Python 3.11 in October.

  • Terraform For Each Loop Examples - buildVirtual

    The Teraform for each meta argument allows you to use a map or a set of strings to deploy multiple similar objects (such as virtual machines) without having to define a separate resource block for each one. This is great for making our Terraform plans more efficient! Note: for_each was added in Terraform 0.12.6, and support for using it with Terraform modules was added in 0.13. Let’s go straight into looking at some examples of how to use Terraform for each loops.

  • Strange Computer Languages: A Hacker’s Field Guide | Hackaday

    Why do we build radios or clocks when you can buy them? Why do we make LEDs blink for no apparent purpose? Why do we try to squeeze one extra frame out of our video cards? We don’t know why, but we do. That might be the same attitude most people would have when learning about esolangs — esoteric programming languages — we don’t know why people create them or use them, but they do. We aren’t talking about mainstream languages that annoy people like Lisp, Forth, or VBA. We aren’t talking about older languages that seem cryptic today like APL or Prolog. We are talking about languages that are made to be… well… strange.

  • Perl Weekly Challenge 149: Fibonacci Digit Sum and Largest Square
  • My Favorite Warnings: precedence | Tom Wyant [blogs.perl.org]

    Perl possesses a rich and expressive set of operators. So rich, in fact, that other adjectives can come to mind, such as prolix, or even Byzantine. Requests for help navigating Perl's operator space appear repeatedly on outlets such as PerlMonks. These seem to me to involve two sorts of confusion: precedence (discussed here) and functionality (string versus numeric -- maybe another blog post). The precedence warnings category has some help here, though as of Perl 5.34 there are only two diagnostics under it:

  • Niko Matsakis: Panics vs cancellation, part 1

    One of the things people often complain about when doing Async Rust is cancellation. This has always been a bit confusing to me, because it seems to me that async cancellation should feel a lot like panics in practice, and people don’t complain about panics very often (though they do sometimes). This post is the start of a short series comparing panics and cancellation, seeking after the answer to the question “Why is async cancellation a pain point and what should we do about it?” This post focuses on explaining Rust’s panic philosophy and explaining why I see panics and cancellation as being quite analogous to one another.