Language Selection

English French German Italian Portuguese Spanish

Programming Leftovers

Filed under
Development

  • LLVM Clang 12 Adds Support For Vectorization Using Glibc's Vector Math Library - Phoronix

    Upstream LLVM/Clang now supports making use of the vector math library found within the GNU C Library.

    Clang 12 will allow for vectorization using libmvec via the -fvec-lib=libmvec compiler option.

  • Notes to self on frama-c | Richard WM Jones

    Frama-C is a giant modular system for writing formal proofs of C code. For months I’ve been on-and-off trying to see if we could use it to do useful proofs for any parts of the projects we write, like qemu, libvirt, libguestfs, nbdkit etc. I got side-tracked at first with this frama-c tutorial which is fine, but I got stuck trying to make the GUI work.

  • Why I Dislike Switch Statements

    Of course this is a contrived example, but readers will hopefully agree it's representative of the construct.

  • Setup - Full Stack Tracing Part 2 - KDAB

    If you’ve read the first article in this series, you’ll know what full stack tracing is and why you definitely want it. This time, we’ll show you how to setup full stack tracing on your Linux system. There are two steps – first get everything configured to capture a trace, and then view and interpret the trace.

    Setup full stack tracing with a bit of kernel help

    To capture a trace, we’ll be using LTTng (Linux tracing toolkit next generation) in our examples. LTTng captures tracepoints with minimal overhead. This is something you definitely want, as too much extra CPU introduced by tracing can change the system’s behavior, even causing it to fail unpredictably. Another factor in LTTng’s favor is that it’s well supported by the open source community.

    LTTng was designed to record kernel level events. However, you’ll also want to use its user space tracepoints to capture application level events. That will give you consistent visibility, regardless of where execution moves throughout the software stack. User space tracepoints is critical to the setup of full stack tracing as it lets you integrate application, Qt, and kernel tracepoints together in a single view.

  • Mariuz's Blog: Firebird 3.0.7 sub-release is available

    Firebird Project is happy to announce general availability of Firebird 3.0.7 — the latest point release in the Firebird 3.0 series.This sub-release offers many bug fixes and also adds a few improvements, please refer to the Release Notes for the full list of changes.Binary kits for Windows, Linux, Mac OS and Android platforms are immediately available for download.All users of Firebird v3.0.6 are

  • Use of self or $this in PHP – Linux Hint

    In PHP object-oriented programming, we have the self keyword and $this variable that is used for different purposes. The self keyword represents current and static members of the class. While the $this variable represents current object and non-static members of the class. More about these are discussed in this article.

  • 4 C programming courses for every skill level

    Even with so many other system-level languages to choose from, C remains the popular choice. Many key projects—such as the Linux kernel and the Python runtime—still use C, and they will likely do so indefinitely. For some fields of computing, like embedded programming, C is a must.
    And there has never been a better time to learn C. Resources abound, from books to guided courses. Here we’ll look at four major online course offerings for learning C programming, each aimed at different levels of user and offering different approaches. For instance, one combines learning C with learning Linux, while another teaches C and C++ together.

  • rand() Function in C Language – Linux Hint

    In the C language, the rand() function is used for Pseudo Number Generator(PRNG). The random numbers generated by the rand() function are not truly random. It is a sequence that repeats periodically, but the period is so large that we can ignore it. The rand() function works by remembering a seed value that is used to compute the next random number and the next new seed. In this article, we are going to discuss in detail how random numbers can be generated using the rand() function. So, let’s get started!

  • A bug by any other name – Open Source Security

    This tweet from Jim Manico really has me thinking about why we like to consider security bugs special. There are a lot of tools on the market today to scan your github repos, containers, operating systems, web pages … pick something, for security vulnerabilities. I’ve written a very very long series about these scanners and why they’re generally terrible today but will get better, but only if we demand it. I’m now wondering why we want to consider security special. Why do we have an entire industry focused just on security bugs?

    Let’s change the conversation a little bit. Rather than focus on security bugs, let’s ask the question: Which bugs in a given project should we care about?

    There are of course bugs an attacker could use to compromise your system. There are also bugs that could result in data loss. Or bugs that could bring everything down. What about a bug that uses 10% more CPU? Every piece of software has bugs. All bugs are equal, but some bugs are more equal than others.

    We are at a time in software history where we have decided security bugs are more equal than other bugs. This has created entire industries around scanning just for security problems. Unfortunately the end goal isn’t always to fix problems, the goal is often to find problems, so problems are found (a LOT of problems). I think this is a pretty typical case of perverse incentives. You will always find what you measure. The pendulum will swing back in time, maybe we can help it swing a little faster.

  • Why you should use ppport.h in your XS code modules | Karl Williamson [blogs.perl.org]
    
    
    
    
    The answer comes down to two words: Security and Reliability.
    As a bonus, less work on your part.
    
    
    
    
    It's surprising to find that there are modules on CPAN that aren't using
    ppport.h that could stand to benefit from it.
    
    
    
    
    ppport.h is a file that is part of the Devel::PPPort distribution. As you
    know, Perl has evolved over the years, adding new features, and new API for XS
    writers to use. Some of that is to support the new features, and some to make
    tasks easier to accomplish. ppport.h implements portions of the API that
    people have found desirable to have when a module gets installed in a Perl that
    was released before that API element was created. You can write your module
    using the latest API, and have it automatically work on old Perls, simply by
    #including ppport.h in your XS code. ppport.h generally provides support for
    an API element as is reasonably practicable, with many supported to 5.03007.
    
    
    
    
    Importantly, but often overlooked, ppport.h can override buggy early Perl
    implementations of an API element. By using it, you get fixed, proper
    behavior. That sure beats trying to reproduce a reported problem in your
    module that only happens in some ancient Perl, and then try to come up with a
    workaround in an area you aren't familiar with.
    
    
    
    
    This is especially important if your XS code interacts with Unicode in any way.
    Early versions of the Unicode standard and early Perls allowed things that we
    now know are potential attack vectors. Right now, someone could be using your
    module to hack into systems, so you are actually being negligent if you don't
    use ppport.h.
    
    
    
    
    If your XS code has preprocessor #if statements that check for the existence of
    functions, macros, etc, that are only in later perls, you can generally avoid
    that by simply using ppport.h
    

More in Tux Machines

today's howtos

  • Capturing Decrypted TLS Traffic with Arkime - NETRESEC Blog

    The latest version of Arkime (The Sniffer Formerly Known As Moloch) can now be fed with a real-time stream of decrypted HTTPS traffic from PolarProxy. All that is needed to enable this feature is to include "pcapReadMethod=pcap-over-ip-server" in Arkime's config.ini file and start PolarProxy with the "--pcapoveripconnect 127.0.0.1:57012" option. PolarProxy will then connect to Arkime's PCAP-over-IP listener on TCP port 57012 and send it a copy of all TLS packets it decrypts.

  • How to rebalance your btrfs filesystem on your Linux data center servers - TechRepublic

    The btrfs file system is quickly becoming more widespread. It's used on a number of Linux distributions and offers plenty of features that make sense in a data center environment--features like snapshots, load balancing, online defragmentation, pooling, and error detection. To get the most out of the btrfs file system, you're going to need to know how to use some of the more advanced features. One such feature is called balancing (or rebalancing).

  • How to install NetBeans 12 on Linux Mint 20 - YouTube

    In this video, we are looking at how to install NetBeans 12 on Linux Mint 20.

  • How To Install AnyDesk on Ubuntu 20.04 LTS - idroot

    In this tutorial, we will show you how to install AnyDesk on Ubuntu 20.04 LTS. For those of you who didn’t know, AnyDesk is the world’s most comfortable remote desktop application. Access all your programs, documents, and files from anywhere, without having to entrust your data to a cloud service. You can say it’s an alternative to the TeamViewer, which is available free. Anydesk provides a faster remote connection than any other existing remote desktop application. 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 through the step by step installation of AnyDesk Remote Desktop on Ubuntu 20.04 (Focal Fossa). You can follow the same instructions for Ubuntu 18.04, 16.04, and any other Debian based distribution like Linux Mint.

  • How to install Sonic Robo Blast 2 Kart (SRB2Kart) on a Chromebook

    Today we are looking at how to install Sonic Robo Blast 2 Kart (SRB2Kart) on a Chromebook. Please follow the video/audio guide as a tutorial where we explain the process step by step and use the commands below.

Games: Stadia, Godot Engine and More

  • Six new games live for Stadia Pro, Super Bomberman R Online now free to play + more | GamingOnLinux

    If it's not clear yet - Stadia Pro is an entirely optional subscription. You get to claim and keep free games, as long as your subscription remains active. If you stop it, you lose those games until you subscribe again and then you get them back - it works like PSPlus on the PlayStation. Otherwise, you buy games from Stadia like any other store. You can also now play Super Bomberman R Online, the 64 player Battle Royale game completely free to play on Stadia. That's now the second free to play game following Destiny 2 going free on Stadia back in November. Giving you another easy game to try the service with which is what it has been lacking.

  • Godot Engine - Tiles editor progress report #1

    As you may already know, I now have been hired for a month to work on the TileMap and TileSet editors. My goal here is to improve the UX of working with tiles, making it both easier to use and more powerful. So here is a first progress report on how things are going. All the work presented here is based on the proposal I made on the godot-proposals repository. The implementation might end up a little bit different, but the proposal will give you a preview of what I am aiming for.

  • The Humble Explore & Expand Bundle is live with plenty of space strategy | GamingOnLinux

    Ah, my favourite mix of genres. Space, sci-fi and strategy. I am a self-confessed huge space nerd, so a bundle of games like this is right up my street. The Linux-supported titles are great in this bundle but there's not many of them in total, it's a small bundle. Here's what to expect from it.

  • The Yogscast Jingle Jam 2020 Bundle is up to support charity with lots of games | GamingOnLinux

    Want to get a bunch of awesome games and support numerous charities? The Yogscast Jingle Jam 2020 Bundle is live. Unlike other years, they're not doing it through Humble Bundle but instead with Tiltify which is a dedicated charity-based fundraising platform. The whole event runs from now until December 14, 2020 which various livestreams being done which you can see the schedule for here.

Making the Switch to elementary OS

It all started with an upgrade. In October, 2020 version 20.10 of Ubuntu came out. As I usually do, I duly clicked the button to start the process. That upgrade seemed to go smoothly — everything installed quickly with no conflicts or error messages. I walked away to make a cup of white tea, and when I came back the installation had finished and my laptop rebooted. It was then that I noticed a problem. A fairly big one. Instead of a login screen, I saw a field of aubergine (the colour, not the vegetable). I thought that my laptop was sleeping, so I pressed some keys to try to wake it up. It didn't work. I rebooted, but I was faced with the same problem. Read more

IBM/Red Hat Leftovers

  • Students, learn new tech skills and provide meals to children in need

    To celebrate the season of giving, we’re launching a tech for good campaign as part of the Master the Mainframe enterprise coding contest. For students who spend an hour checking out IBM’s enterprise computing coding challenge, IBM will donate four meals to World Food Programme’s #ShareTheMeal initiative.

  • IBM Cloud Offers Quantum-Safe Cryptography Services

    IBM announced new cloud services and technologies to protect existing data in the cloud and prepare for potential threats associated with advances in quantum computing.

  • IBM Cloud Delivers Quantum-Safe Cryptography and Hyper Protect Crypto Services to Help Protect Data in the Hybrid Era

    IBM (NYSE: IBM) today announced a series of cloud services and technologies designed to help clients maintain the highest available level of cryptographic key encryption protection to help protect existing data in the cloud1 and prepare for future threats that could evolve with advances in quantum computing. Pioneered by IBM Research scientists, the company is now offering quantum-safe cryptography support for key management and application transactions in IBM Cloud®, making it the industry's most holistic quantum-safe cryptography approach to securing data available today.

  • 2021 Global Tech Outlook, A Red Hat Report: Digital transformation, security and hybrid cloud use stand out

    When we surveyed IT leaders this year to learn about their technology goals for 2021, we were curious about the impact of COVID-19 on planning and how we can best meet our customers where they are for the coming year. What we learned? Digital transformation and security remain important, and more than a quarter of those surveyed have a hybrid cloud strategy heading into 2021. From July through September we surveyed more than 1,400 IT professionals — most from companies with more than $100 million in annual revenue. This included a mix of Red Hat customers and a broader industry panel.

  • Red Hat Software Collections 3.6 Now Generally Available - Red Hat Developer

    Red Hat Software Collections 3.6 and Red Hat Developer Toolset 10 for Red Hat Enterprise Linux (RHEL) are now Generally Available. An alternative to the default RHEL toolset, Software Collections provides a differentiated and eclectic mix of tools that developers can use on a desktop or in production. Red Hat Software Collections are use case-specific tools and include the most current, stable version of dynamic languages, open source databases, web servers, and other critical development components. The Red Hat Software Collections 3.6 release features four new collections and four that have been updated.

  • Red Hat Software Collections 3.6 and Red Hat Developer Toolset 10 now Generally Available

    The latest version of Red Hat Software Collections is now generally available, bringing the latest, stable and supported open source developer tools to Red hat Enterprise Linux 7.

  • November Success Stories: Early adopters of RHEL for SAP Solutions on IBM POWER9 and moreT

    While holiday festivities will look different this year, December—for many of us—will likely still include a flurry of closing out projects and tying up loose ends to set up for the upcoming year. As you sit down at your kitchen island with a cup of hot chocolate (or tea, coffee, lemon water, etc.) and open your mobile banking app to begin planning your 2021 budget, will you pause to wonder how Red Hat technologies have been in action behind the scenes to help shape not only the device you’re accessing but also the environment you’re sitting in? Maybe not, but we’re here to help get those thoughts flowing. As this month is a time to look ahead both at home and at work, we’re sharing some new customer success stories that may help you strategize goals for IT optimization in your enterprise or think about how digital transformation can also lend to agile practices for your staff. Let these success stories begin to frame how Red Hat technologies can help your enterprise meet customer needs in the new year.

  • Start addressing integration requirements rapidly with the IBM Cloud Pak for Integration Quick Start for AWS – IBM Developer

    For any integration platform to be effective in a hybrid multicloud environment, it must support different cloud providers. You require flexibility to select cloud providers that most effectively address your needs across cost, performance, and security requirements, without fear of vendor lock-in. With this in mind, Cloud Pak for Integration is built on Red Hat OpenShift and supports all the major cloud providers including IBM Cloud, Azure, AWS, and Google Cloud. Need hands-on experience? Want to jump-start a proof of concept? Not sure what integration capabilities you’ll need? IBM, working closely with our partners at AWS, makes it easy with the Quick Start for IBM Cloud Pak for Integration on AWS. Employing best practices from both IBM and AWS, you can deploy a full range of integration capabilities in a production-grade multi-availability zone topology with a single click. So, jump in and start experimenting with different integration patterns that can help facilitate your transition to hybrid cloud.