Language Selection

English French German Italian Portuguese Spanish

Development

Programming Leftovers

Filed under
Development
  • My Vim history

    About two months ago, the Changelog had a show about Vim in general and why, after all these years, it’s still the favorite text editor of a lot of folks. That episode also contained a segment where each of the panelists talked about how they got into Vim in the first place. I thought I should share my story there too (at least as far as I can still remember it)!

  • Toolchains adventures - Q3 2021

    On top of the OpenBSD related changes I've been contributing upstream to LLVM, I've been continuing my experiments with the build system. I've also been reading documentation about various parts of the toolchain, sending diffs when encountering mistakes or things which could be improved.

  • Facebook Is Aiming To Make Compilers Faster Using Machine Learning With CompilerGym

    Facebook this week announced the open-sourcing of CompilerGym as their effort to improve compiler performance by leveraging machine learning to tackle optimization work.

  • OpenBLAS 0.3.18 Released With LoongArch64 Support, More Optimizations - Phoronix

    OpenBLAS 0.3.18 is out today as the latest feature update to this widely-used, open-source BLAS implementation.

    OpenBLAS 0.3.18 brings a wide assortment of improvements and fixes, some of the highlights include:

    - Support for LoongArch (LoongArch64) as the new Loongson MIPS-based CPU architecture.

  • Intel oneAPI 2021.4 Released With More Optimizations, Continues LLVM Adoption

    Intel on Friday formally released their oneAPI Toolkits 2021.4 release as the latest collection of their various software components for a multi-vendor, multi-architecture software platform across CPUs and XPUs (GPUs / accelerators).

Programming Leftovers

Filed under
Development
  • 3 Excellent Free Books to Learn Dylan

    Dylan is a multi-paradigm programming language that includes support for functional and object-oriented programming (OOP). This language is dynamic and reflective while providing a programming model designed to support generating efficient machine code, including fine-grained control over dynamic and static behaviors.

    Dylan uses an algebraic infix syntax similar to Pascal or C, but supports an object model not unlike the Common Lisp Object System (CLOS).

    It was created in the early 1990s by a group led by Apple Computer.

  • Perl Weekly Challenge 132: Mirror Dates and Hash Join

    These are some answers for Week 133 of the Perl Weekly Challenge organized by Mohammad S. Anwar.

  • Monitor your Java on Linux with jconsole | Opensource.com

    The Java Development Kit (JDK) provides binaries, tools, and compilers for the development of Java applications. One helpful tool included is jconsole.

    To demonstrate, I will use the WildFly J2EE application server, which is part of the JBOSS open source application server project. First, I start up a standalone instance.

Programming Leftovers

Filed under
Development
  • See what sounds look like with Raspberry Pi Pico
  • Attaching to a Raspberry Pi's Serial Console (UART) for debugging

    The Raspberry Pi can output information over a 'serial console', technically known as a UART (Universal Asynchronous Receiver/Transmitter). Many devices—including things like storage controller cards, which in a sense run their own internal operating system on an SoC—have a 'UART header', which is typically three or four pins that can connect over the RS-232 standard (though many do not operate at 12v like a traditional serial port! Use a USB-to-TTL adapter like the one I mention below).

  • Fortran newsletter: October 2021

    Welcome to the October 2021 edition of the monthly Fortran newsletter. The newsletter comes out at the beginning of every month and details Fortran news from the previous month.

  • Django Diabetes: a self-hosted Personal Glucose Manager

    As there is a shortage of open-source patient-centered apps, like personal health records, medication reminders, and diabetes trackers.

    So, we are delighted to share with this astonishing open-source application Django Diabetes which was built to help patients track and manage their blood glucose.

    Django Diabetes, as its name suggests, is built on Django; the popular Python web framework. It is a lightweight web-based app that makes use of Django built-in admin, and multi-database support.

Programs and Programming/Development

Filed under
Development
  • Can Linux Run Windows EXE Files?

    Users who have recently migrated from Windows to Linux often wonder if they can run Windows apps and programs on their new system. The answer to this affects a user's perspective of Linux in general, since operating systems should be easy to use and at the same time, welcoming to the idea of running different file formats.

    A straightforward answer to the question is—Yes. You can run EXE files and other Windows programs on Linux, and it's not as complicated as it sounds.

    By the end, you'll have a brief understanding of executable files, along with different ways to run said programs on Linux.

  • The best VPN for Linux for 2021 [Ed: How many of these links are just sponsored?]
  • Giant Working NERF Gun Runs On Tiny Arduino | Hackaday

    Well, here it is: a shoe-in for the new world’s largest NERF gun. (Video, embedded below.) The Guinness people haven’t shown up yet to award [Michael Pick], but at 12.5 feet, this baby is over twice as long as the current record holder, which belongs to former NASA mechanical engineer Mark Rober and his now-puny six-foot six-shooter.

    We have to wonder if it is technically bigger than the six-shooter, because they seem to be roughly the same scale, except that [Michael] chose a much bigger model to start from. The main body is made from wood, and there are a ton of 3D-printed details that make it look fantastically accurate. The whole thing weighs over 200 pounds and takes at least two people to move it around. We especially love the DIY darts that [Michael] came up with, which are made from a PVC tube inside a section of pool noodle, topped off with a 3D printed piece for that distinctive orange cap.

  • Minimalist Timer Counts Down With LED Matrix | Hackaday

    Looking for something with a bit more style than the traditional kitchen timer, [Martin Jonasson] decided to take the last couple of months to design and build his own take on the idea using a rotary encoder, 16×9 LED matrix, and a Teensy 2.0 microcontroller. Were there better things he could have spent that time on? Possibly. But you probably wouldn’t have been reading it about it here, so we won’t trouble ourselves with such thoughts.

  • Canonical: What is an IoT marketplace?

    The Internet of Things (IoT) ecosystem is expanding at a rapid rate, with the number of devices growing every year. The increase in physical hardware being manufactured multiplies the amount of software needed to perform various functions on new platforms. There are a range of IoT use cases, including voice-controlling the lights in your home, monitoring air pollution, or the parking feature of a self-driving car. With various entities publishing specialised software for all these use cases (and many more), it can often be time-consuming to compare possible solutions. For somebody interested in working on an IoT project but unsure where to start, it can be difficult to discover the software you need. An IoT marketplace, as a centralised platform for IoT applications, can help to solve these issues.

    [...]

    Often, using an IoT marketplace allows you to easily choose and install the software you want in one place. Thus, you don’t need to research the software you want to install, then navigate to the company page that owns that software, to search for individual download pages to then install the software you want in a non-standard way. Was the software pre-packaged and available for click-to-install? Would you need to extract the contents of the downloaded folder and run the installer in the terminal? This time-consuming process can all be optimised by using an IoT marketplace like the Snap Store.

  • Read and write XML files with wxWidgets

    XML files are a perfect choice for storing the settings of your wxWidgets cross-platform application. Confused about how to use the wxWidgets classes to read and write XML files? No worries. In this hands-on tutorial, you’ll learn how to read and write XML files with wxWidgets, using the classes wxXmlDocument, wxXmlNode and wxXmlAttribute. We’ll expand a previously presented wxWidgets template application, such that it stores its application window dimensions in an XML file.

  • QML Runtime features: part 1

    This post is a refresher about some features of the qml binary that is installed along with the Qt SDK, which should help to explain why we now prefer to use it, rather than older tools like qmlscene and qmlviewer.

  • SQL Server on Red Hat Enterprise Linux at Data Platform Virtual Summit 2021 [Ed: Or "Red Hat Pushing Microsoft Proprietary Software"; IBM only cares about money]

    At this year's Data Platform Virtual Summit (DPS) 2021, I was honored to present "Monitoring SQL Server on Linux performance with Performance Co-Pilot and Grafana." In this post I'll cover some of the topics I touched on during my talk and include some suggestions for DBAs who might be new to Linux.

  • New Red Hat Developer e-book: Quarkus for Spring Developers

    Red Hat Developer has published Quarkus for Spring Developers, a comprehensive, 149-page e-book introducing Quarkus to Java developers, with a focus on helping people familiar with Spring make the transition. This includes the Spring Framework and Spring Boot, and any other modules within the Spring ecosystem.

    While Java continues to be one of the most widely used programming languages for building applications, Java developers often struggle to make their applications smaller and faster to meet modern computing requirements.

    Quarkus is designed to help.

LLVM 13.0.0 Released, Work on LLVM 14.0.0 Starts

Filed under
Development

This document contains the release notes for the LLVM Compiler Infrastructure, release 14.0.0. Here we describe the status of LLVM, including major improvements from the previous release, improvements in various subprojects of LLVM, and some of the current users of the code. All LLVM releases may be downloaded from the LLVM releases web site.

For more information about LLVM, including information about the latest release, please check out the main LLVM web site. If you have questions or comments, the LLVM Developer’s Mailing List is a good place to send them.

Note that if you are reading this file from a Git checkout or the main LLVM web page, this document applies to the next release, not the current one. To see the release notes for a specific release, please see the releases page.

Read more

Also: LLVM 13.0 Released With Official Flang Binary Packages, Improved OpenCL Clang Support - Phoronix

PipeWire and fixing the Linux Video Capture stack

Filed under
Development
Software

PipeWire has already made great strides forward in terms of improving the audio handling situation on Linux, but one of the original goals was to also bring along the video side of the house. In fact in the first few releases of Fedora Workstation where we shipped PipeWire we solely enabled it as a tool to handle screen sharing for Wayland and Flatpaks. So with PipeWire having stabilized a lot for audio now we feel the time has come to go back to the video side of PipeWire and work to improve the state-of-art for video capture handling under Linux. Wim Taymans did a presentation to our team inside Red Hat on the 30th of September talking about the current state of the world and where we need to go to move forward. I thought the information and ideas in his presentation deserved wider distribution so this blog post is building on that presentation to share it more widely and also hopefully rally the community to support us in this endeavour.

Read more

Programming Leftovers

Filed under
Development
  • Dirk Eddelbuettel: RcppArmadillo 0.10.7.0.0 on CRAN: New Upstream

    Armadillo is a powerful and expressive C++ template library for linear algebra aiming towards a good balance between speed and ease of use with a syntax deliberately close to a Matlab. RcppArmadillo integrates this library with the R environment and language–and is widely used by (currently) 912 other packages on CRAN.

    This new release brings us Armadillo 10.7.0 released this morning by Conrad. Leading up to this were three runs of reverse dependencies the first of which uncovered the need for a small PR for subview_cols support which Conrad kindly supplied.

  • PoCL 1.8 OpenCL Implementation Coming With LLVM 13 Support, Better SPIR-V On CUDA

    PoCL is the open-source project implementing OpenCL for CPU-based execution as well as multi-device support by getting its Portable Computing Language implementation working atop NVIDIA GPUs via CUDA, AMD GPUs via HSA, and other experimental implementations through leveraging LLVM/Clang.

  • Arm Begins Adding Armv9 Support To The GNU Compiler Toolchain

    Arm engineers have begun landing their Armv9 enablement work in the GNU compiler toolchain.

    Yesterday brought the initial Armv9 commits to GNU Binutils. This included adding armv9-a to -march for the GNU Assembler as well as for GAS adding the Cortex-X2, Cotex-A510, and Cortex-A710.

  • Awesome Python Video Tutorials Keep You Motivated | Hackaday

    Programming languages are one of those topics that we geeks have some very strong and often rather polarised opinions about. As new concepts in computing are dreamt up, older languages may grow new features, if viable, or get left behind when new upstarts come along and shake things up a bit. This scribe can remember his early days programming embedded systems, and the arguments that ensued when someone came along with a project that required embedded C++ or worse, Java, when we were mostly diehard C programmers. Fast forward a decade or two, and things are way more complicated. So much choice, so much opinion.

  • 8 reasons why I learned Core Java | Opensource.com

    Computer programming, also known as coding for short, is not about which language you use. It's about developing programming logic and learning to think like a programmer. The language you start with should be the one that helps you the most in this endeavor. So you have to ask yourself the question: "What do you want to do as a programmer?"

    For example, if you want to work on Android app development, video game development, desktop GUI applications, or just general software development, I think learning Java is an excellent option. It's the language I chose, and it has made a whole world of programming available to me. In India, where I live, the average salary of a Java programmer is around 5.9 Lakhs per Annum (LPA) (it can be as high as 10 LPA, depending on your experience.)

    Java is a vast language, though, with lots of frameworks and variants to choose from. Core Java is the term the tech industry has developed to refer to the central components of the Java language—the thing that people use to write the frameworks and has developed the cottage industry around Java. I believe that Core Java is one of the most powerful skills you can acquire because understanding the basics of Java gives you a significant advantage when learning all of the related tools built on top of it.

Programming Leftovers

Filed under
Development
  • Common mistakes when using libcurl

    I’ve been traveling this road for a while. Here’s my collection of 15 of the most common mistakes and issues people will run into when writing applications and services that use libcurl. I’ve also done recorded presentations on this topic that you can watch if you prefer that medium.

  • Things unlearned

    This post is part of a series, starting at Reflections on a decade of coding.

    This is one of my favorite questions to ask people: what are some things that you used to strongly believe but have now changed your mind about?

    I want to focus especially on ideas that I wasted a lot of time on, or that got in the way of success.

  • Fun with glibc and the ctype.h functions

    I got really bored tonight and went down some rabbit holes and turned up something from about a year ago. If you follow the latest Linux type stuff, you probably remember this, but if not, this might seem new to you. It's just something dumb and amusing.

  • CHERI Software Release for Summer 2021

    The CHERI protection model provides architectural primitives to protect computer systems from widely-exploited security vulnerabilities. CHERI revises the hardware/software architectural interface with hardware support for capabilities that can be used for fine-grained memory protection and scalable software compartmentalization. Supported by DARPA (the US Defense Advanced Research Projects agency) as well as UKRI (UK Research and Innovation) and its Digital Security by Design (DSbD) program, CHERI is the work of a large research team at the University of Cambridge, SRI International, Arm and many industrial and academic collaborators throughout the world.

  • Understanding AWK

    It turns out Awk is pretty simple. It has only a couple of conventions and only a small amount of syntax. As a result, it’s straightforward to learn, and once you understand it, it will come in handy more often than you’d think.

    So in this article, I will teach myself, and you, the basics of Awk. If you read through the article and maybe even try an example or two, you should have no problem writing Awk scripts by the end of it. And you probably don’t even need to install anything because Awk is everywhere.

A tale of two toolchains and glibc

Filed under
Development

Over the past few years, the LLVM toolchain has seen increasing development and adoption alongside the older, more established GNU toolchain. The emergence of this new two major toolchain world is bringing challenges and questions for projects that need to support both, in particular the GNU C library (glibc), which only supports GCC.

Is it worth it to fix glibc (and other projects which support only GCC) to build with LLVM? Is it better to just replace them with alternatives already supporting LLVM? Is it best to use both GCC and LLVM, each for their respective supported projects?

This post is an exploration starting from these questions but does not attempt to give any definite answers. The intent here is to not be divisive and controversial, but to raise awareness by describing parts of the current status-quo and to encourage collaboration. The obvious elephant in the room, licensing, is left out despite being a very important topic.

Read more

Also: Ratiu: A tale of two toolchains and glibc

Programming Leftovers

Filed under
Development
  • FreeAptitude - Playing with D-Bus and KDE applications (Part 1)

    Speaking about the several ways that a Linux system offers to users to create custom automation, there is a software technology that hides under the hoods of modern desktop environments,

  • prctl in C example Usage

    The prctl system call has been used in the C language to manipulate diverse characteristics of the calling function or process activities. The first parameter of the “prctl” system call defines what has to be done with the initialised values in header. All the other arguments or parameters would be used as per the first argument and its worth. Let’s take a deep glance at the “prctl” system call in C while we have been working on the Ubuntu 20.04 at the time of implementing this article.

  • The basics of PyQt5

    PyQt5 is a python module for GUI desktop application development. It’s available for multiple platforms such as Windows, Mac, Linux, iOS, and Android. Python offers several modules that are, in fact, capable of GUI development, such as Tkinter, wxPython, PySide2, and more. However, PyQt5 utilizes more than 1000 classes; in fact, PyQt5 is a huge module! Moreover, PyQt5 includes a Qt Designer, a graphical user interface designer, which further facilitates GUI creation. It can be used to create anything from media players to web browsers. In this tutorial, we will learn the basics of the PyQt5 module.

  • This Week In Rust: This Week in Rust 410
  • Ampere Altra Max 128-Core CPU Is Priced Lower Than Flagship Xeon, EPYC CPUs - Phoronix

    From our Ampere Altra Max M128-30 Linux performance preview earlier this week, one of the questions a number of readers were wondering about and a question I also still had open was on the Altra Max pricing... I've now received the current price list and actually comes in much lower than expected for a 128-core CPU in 2021.

Syndicate content

More in Tux Machines

Type Title Author Replies Last Postsort icon
Story CA confirms plans for open source patent pledge srlinuxx 03/03/2005 - 4:06pm
Story Intel PR Department Hard at Work srlinuxx 03/03/2005 - 4:08pm
Story ChoicePoint was victim of ID theft in '02 srlinuxx 03/03/2005 - 4:25pm
Story amoroK LiveCD srlinuxx 03/03/2005 - 6:01pm
Story Gentoo Linux 2005.0 Security Rebuild srlinuxx 03/03/2005 - 11:25pm
Story Hacker taps into business school files" srlinuxx 04/03/2005 - 2:11pm
Story Judge hits amazon.com with fine srlinuxx 04/03/2005 - 2:46pm
Story One in four 'touched' by ID fraud srlinuxx 2 04/03/2005 - 5:03pm
Story Big Brother is Watching your Toyota Sienna srlinuxx 1 05/03/2005 - 4:17am
Story Limp Bizkit lead claims hackers stole his sex video srlinuxx 2 05/03/2005 - 4:43am