Language Selection

English French German Italian Portuguese Spanish

Development

Programming Leftovers

Filed under
Development
  • How C++ Modify Arrays in Function

    Arrays have been widely known among programmers and developers. We have been using arrays in almost every structural language to object-oriented language. As we know, arrays store more than one value in their indexes, and we also modify the arrays. So, in today’s article, we will be deliberating how to modify the arrays in functions of C++. Start by logging in from the Linux system and launching the terminal with the “Ctrl+Alt+T” shortcut.

  • Digging into Julia's package system [LWN.net]

    We recently looked at some of the changes and new features arriving with the upcoming version 1.7 release of the Julia programming language. The package system provided by the language makes it easier to explore new language versions, while still preserving multiple versions of various parts of the ecosystem. This flexible system takes care of dependency management, both for writing exploratory code in the REPL and for developing projects or libraries.

    [...]

    For a while I've thought that the Plots package needed a particular feature. This morning I cloned the project to my computer, added the feature, made a pull request on GitHub, made a change suggested by one of the maintainers, and got it approved. The entire elapsed time for this process was about five hours. In this section I'll describe two more package system commands that make it easier to hack on public packages.

    In the REPL, I entered package mode, then executed develop Plots. This command, which can be shortened to dev, clones the named package's Git repository to the user's machine in the directory .julia/dev/. Since Plots is a big package with many source files, this took about two minutes.

    This command also alters the environment so that using Plots imports from the version under development, rather than the official version. The command free Plots returns to using the official version. One can switch back and forth between these two incarnations of the package freely, as subsequent dev commands won't download anything, but simply switch back to the development version.

    I entered the development directory and created a branch for my feature with the git checkout ‑b command. The package manager doesn't require this; it's happy to let you mangle the master branch. But I had plans to ask that my feature be merged into master, and needed to create a branch for it. Packages under develop are loaded from the file tree, not from the Git repository.

    Then I wanted to edit the function to add my feature. But where is it? Plots has 37 files in its src tree. Because of multiple dispatch, each function can have dozens of methods associated with it, all with the same name. This makes finding a particular method in the source difficult to accomplish with simple grep commands.

  • A QEMU case study in grappling with software complexity [LWN.net]

    There are many barriers to producing software that is reliable and maintainable over the long term. One of those is software complexity. At the recently concluded 2021 KVM Forum, Paolo Bonzini explored this topic, using QEMU, the open source emulator and virtualizer, as a case study. Drawing on his experience as a maintainer of several QEMU subsystems, he made some concrete suggestions on how to defend against undesirable complexity. Bonzini used QEMU as a running example throughout the talk, hoping to make it easier for future contributors to modify QEMU. However, the lessons he shared are equally applicable to many other projects.

    Why is software complexity even a problem? For one, unsurprisingly, it leads to bugs of all kinds, including security flaws. Code review becomes harder for complex software; it also makes contributing to and maintaining the project more painful. Obviously, none of these are desirable.

    The question that Bonzini aimed to answer is "to what extent can we eliminate complexity?"; to do that he started by distinguishing between "essential" and "accidental" complexity. The notion of these two types of complexity originates from the classic 1987 Fred Brooks paper, "No Silver Bullet". Brooks himself is looking back to Aristotle's notion of essence and accident.

    Essential complexity, as Bonzini put it, is "a property of the problem that a software program is trying to solve". Accidental complexity, instead, is "a property of the program that is solving the problem at hand" (i.e. the difficulties are not inherent to the problem being solved). To explain the concepts further, he identified the problems that QEMU is solving, which constitute the essential complexity of QEMU.

  • Notes from the Git Contributors' Summit 2021, virtual, Oct 19/20
    
    we held our second all-virtual Summit over the past two days. It was the
    traditional unconference style meeting, with topics being proposed and
    voted on right before the introduction round. It was really good to see
    the human faces behind those email addresses.
    
    32 contributors participated, and we spanned the timezones from PST to
    IST. To make that possible, the event took place on two days, from
    1500-1900 UTC, which meant that the attendees from the US West coast had
    to get up really early, while it was past midnight in India at the end.
    
    I would like to thank all participants for accommodating the time, and in
    particular for creating such a friendly, collaborative atmosphere.
    
    A particular shout-out to Jonathan Nieder, Emily Shaffer and Derrick
    Stolee for taking notes. I am going to send out these notes in per-topic
    subthreads, replying to this mail.
    
    
  • Notes from the 2021 Git Contributors' Summit

    For those who are curious about where the development of Git is headed: Johannes Schindelin has posted an extensive set of notes from the just-concluded Git Contributors' Summit.

  • How to find a substring in Python

    Python is a versatile language having many built in methods and libraries. Strings and substrings are an important part of every programming language; python provides different methods to deal with strings and substrings, we check if a python string has a substring for a variety of reasons, but conditional statements are the most typical application. To find substrings in a string, python language provides many predefined methods.

  • How to find the average of a list in Python

    Average (Arithmetic mean) is a mathematical function which is calculated by adding the numeric values in the list and dividing them by the count of numbers of the list. Python provides several built-in mathematical functions; consequently it provides different ways to calculate the average of a list.

  • Ian Jackson: Going to work for the Tor Project

    I have accepted a job with the Tor Project.

    I joined XenSource to work on Xen in late 2007, as XenSource was being acquired by Citrix. So I have been at Citrix for about 14 years. I have really enjoyed working on Xen. There have been a variety of great people. I'm very proud of some of the things we built and achieved. I'm particularly proud of being part of a community that has provided the space for some of my excellent colleagues to really grow.

  • This Week In Rust: This Week in Rust 413
  • Oracle Releases GraalVM 21.3 With Java 17 Support, Other Enhancements

    Oracle has published its latest quarterly update to GraalVM, the open-source Java JVM/JDK implemented in Java that also supports other execution modes and programming languages from Python to R to Ruby.

    Given last month's release of Java 17 / OpenJDK 17, GraalVM 21.3 has added Java 17 support. Plus there are many other improvements to its various language front-ends and other components. Some of the GraalVM 21.3 highlights include:

    - Java 17 support with GraalVM builds based on Oracle Java 17 and OpenJDK 17. OpenJDK 11 also continues to be supported while OpenJDK 8 is no longer supported by GraalVM.

  • Security updates for Thursday

    Security updates have been issued by Debian (python-babel, squashfs-tools, and uwsgi), Fedora (gfbgraph and rust-coreos-installer), Mageia (aom, libslirp, redis, and vim), openSUSE (fetchmail, go1.16, go1.17, mbedtls, ncurses, python, squid, and ssh-audit), Red Hat (java-1.8.0-openjdk and java-11-openjdk), Scientific Linux (java-1.8.0-openjdk and java-11-openjdk), SUSE (fetchmail, git, go1.16, go1.17, ncurses, postgresql10, python, python36, and squid), and Ubuntu (linux, linux-aws, linux-aws-hwe, linux-azure, linux-azure-4.15, linux-dell300x, linux-gcp, linux-gcp-4.15, linux-hwe, linux-kvm, linux-raspi2, linux-snapdragon, linux, linux-bluefield, linux-gcp-5.4, linux-hwe-5.4, linux-kvm, linux-oem-5.10, and linux-oem-5.13).

Programming Leftovers

Filed under
Development
  • Ruby Lands "YJIT" As A Speedy, In-Process JIT Compiler - Phoronix

    YJIT is a JIT compiler for Ruby that leverages the lazy Basic Block Versioning (LBBV) architecture. YJIT has been in the works for a number of years. Most exciting for end-users and developers is that YJIT yields an average speed-up of around 23% compared to the current CRuby interpreter for realistic benchmarks.

  • Release: rebuilderd v0.15.0

    rebuilderd 0.15.0 very recently released, this is a short intro into what it is, how it works and how to build our own integrations!

  • Eclipse OpenJ9 0.29 Released With Full AArch64 Linux Support, More Mature JITServer Tech

    The newest feature release to Eclipse OpenJ9 is now available, the high performance Java Virtual Machine originating from IBM J9.

    Eclipse OpenJ9 v0.29 was released today, one day after the GraalVM 21.3 release and one month after the OpenJDK 17 debut. But in the case of OpenJ9 v0.29 it continues to target just OpenJDK 8 and OpenJDK 11.

Programming Leftovers

Filed under
Development

  • Your "21st century banking" is sixty years old [Ed: At least COBOL, unlike "modern" and bloated frameworks, remains relevant and still works after all these years]

    There is one software language that controls all your money. A language that pretty much runs, all by itself, the cores of the worldwide financial systems. It cannot be replaced (not without great expense and risk, that is), and cannot be kept either, because the experts that really know it are dying out.

  • Qt Online Installer 4.2.0 beta released
  • Why Coda thinks documents are the internet's next big platform

    The way Shishir Mehrotra sees it, digital documents haven't really changed in 50 years. Since the days of WordStar, Harvard Graphics and VisiCalc, the basic idea of what makes up a document, presentation and spreadsheet haven't really changed.

    Now, thanks to companies like Coda — where Mehrotra is founder and CEO — along with Notion, Quip and others, that's starting to change. These companies are building tools that can do multiple things in a single space, that are designed both for creating and for sharing, and that turn documents from "a piece of paper on a screen" into something much more powerful. And to hear Mehrotra tell it, documents are headed toward a future that looks more like an operating system than a Word file.

    Mehrotra joined the Source Code podcast to talk about Coda's recent announcements, the two-year project to rebuild its core technology, Coda's future as a platform and why he thinks documents can be much more than just documents going forward.

  • Node.js 17 released, not intended for production use • The Register [Ed: Microsoft Tim on how Microsoft is weaponising TypeScript and GitHub to take over Node.js; there's also an outpost in the Linux Foundation that's controlled by a Microsoft mole, "Open"JS]

    Node.js 17 is out, loaded with OpenSSL 3 and other new features, but it is not intended for use in production – and the promotion for Node.js 16 to an LTS release, expected soon, may be more important to most developers.

  • PostgreSQL: PostgreSQL JDBC 42.3.0 released

    The PostgreSQL JDBC team is proud to announce version 42.3.0

    The major change here is that we have dropped support for JAVA 6 and JAVA 7

    This allows us to move forward with further changes

  • GammaRay 2.11.3 Released!

    GammaRay 2.11.3 has been released! GammaRay is KDAB’s software introspection tool for Qt applications. Leveraging the QObject introspection mechanism, it allows you to observe and manipulate your application at runtime. This works both locally on your workstation and remotely on an embedded target. Version 2.11.3 will be the last in the 2.11 series.

    After this release, we will turn our attention to GammaRay 3.0, with the primary focus of adding support for Qt 6.

  • Perl Weekly Challenge 135: Middle 3-Digits and Validate SEDOL

Open Hardware/Modding: LiPo, Raspberry Pi, and Arduino Projects

Filed under
Development
Hardware
  • Pimoroni Pico LiPo Brings 3D-Printed Squid Game Doll to Life

    Halloween decor seems to get more intense every year for makers. Hel Gibbons' latest project demonstrates this annual phenomenon with a huge, eerie 3D-printed doll modelled on the "Red Light, Green Light" game from the popular Netflix series Squid Game. Not only is this project beautifully crafted from scratch, but it also features our favorite Raspberry Pi microcontroller, the RP2040.

    Inside the 3D-printed body is a Pimoroni Pico LiPo module that's programmed to illuminate the eyes with red LEDs when motion is detected, using a PIR motion sensor.

  • Supply chain woes lead to a “temporary” Raspberry Pi 4 price hike | Ars Technica

    Pandemic-driven supply chain problems have prompted the first-ever price increase for a Raspberry Pi product, according to Raspberry Pi founder Eben Upton. Acknowledging that the 2GB configuration of the Raspberry Pi 4 and the Raspberry Pi Zero had been particularly hard-hit by shortages, Upton announced that the price of the 2GB Pi 4 would increase from $35 to $45 and that a previously discontinued version of the Pi 4 with 1GB of RAM would be reintroduced at $35.

  • The Snoring Guardian listens while you sleep and vibrates when you start to snore | Arduino Blog

    Snoring is an annoying problem that affects nearly half of all adults and can cause others to lose sleep. Additionally, the ailment can be a symptom of a more serious underlying condition, so being able to know exactly when it occurs could be lifesaving. To help solve this issue, Naveen Kumar designed the Snoring Guardian — a device that can be embedded into a pillow to automatically detect when someone is snoring and begin to vibrate as an alert.

    The Snoring Guardian features a Nano 33 BLE Sense to capture sound from its onboard microphone and determine if it constitutes a snore. He employed Edge Impulse along with the AudioSet dataset that contains hundreds or even thousands of labeled sound samples that can be used to train a TensorFlow Lite Micro model. The dataset within Edge Impulse was split between snoring and noise, with the latter label for filtering out external noise that is not a snore. With the spectrograms created and the model trained, Kumar deployed it to his Nano 33 BLE Sense as an Arduino library.

  • Flickering Jack O’ Lantern Is An Easy Beginner Build | Hackaday

    The build starts with a 3D-printed pumpkin figurine with a suitably spooky face, though [Oyvind] notes there’s nothing stopping this project from being executed with a real orange gourd instead. Inside, an Arduino is hooked up to a trio of orange LEDs. They’re attached to PWM pins and each is given a random brightness value at regular intervals to create a pleasant flickering effect.

  • Audio Tape Interface Revives Microcassettes As Storage Medium | Hackaday

    The system is demonstrated by hooking it up to an Arduino Nano, which reads out the data stream at about 3000 baud. The noise it makes should bring back memories to anyone brought up with the “PRESS PLAY ON TAPE” message; if it inspires you to make your own, we’re happy to report that full schematics and source code are available. [Zack] is not the first one to make his own cassette interface; we’ve seen a somewhat more complicated analog design before, as well as one based on an FPGA.

today's leftovers

Filed under
Development
Misc
  • Paradox of the perfect code editor

    Imagine if someone summoned a magical genie and wished for a perfect code editor. Since it is perfect, does that mean it provides you everything you ever need to code the optimal solution? Or since it is perfect, does it enable you to accomplish the coding aspect instantly?

    Thus, the paradox:

    Does the perfect code editor mean that you spend nearly 100% of your work time using the editor or does it mean you spend nearly 0% of your work time using the editor?

  • I write code 100 hours/week, here's why I probably won't stop

    I feel strongly you should never feel compelled or required to do what I am doing. Any company, manager, or person asking you to do so is horrible and you should get out quick. I don’t want to contribute to that culture or feed it.

    But-I love what I’m doing. I love the amount of progress I’m able to achieve every day. I love my time spent solving problems. I love what I’ve achieved so far. I want to go further than ever before - I’ve been marathon coding for as long as I can remember, and I’m not going to stop. I need to see how far I can go.

    I love the choices I’ve made in life. I hope you love yours too.

  • The reports of Perl’s death have been greatly exaggerated

    But you know what? Perl’s still going. It’s had a steady cadence of year­ly releas­es for the past decade, intro­duc­ing new fea­tures and fenc­ing in bad behav­ior while main­tain­ing an admirable lev­el of back­ward com­pat­i­bil­i­ty. Yes, there was a too-​long adven­ture devel­op­ing what start­ed as Perl 6, but that lan­guage now has its own iden­ti­ty as Raku and even has facil­i­ties for mix­ing Perl with its native code or vice versa.

  • Share with us your say on interoperability benefits in digital public service delivery

    As the the ISA2 programme and ELISE are coming to an end, is the right time to reflect on what we have achieved together and how to build on that in the next generation programmes.

  • How BSD Authentication Works

    The way OpenBSD authenticates users is quite different from other Unix-like operating systems. Most other systems like AIX, Solaris, Linux, the other BSDs, and MacOS, use a framework called Pluggable Authentication Module (PAM). The two main implementations are Linux PAM and OpenPAM. PAM modules are created as dynamically loaded shared objects, which communicate using a combination of common and implementation specific interfaces (Linux-PAM and OpenPAM). It's configured using the pam.d directory and pam.conf file. While it can be flexible, it's highly complex and very easy to mis-configure, leaving you open to strange and hard to track down authentication bugs. On top of that, the fact that it's a shared library means that any vulnerability in a poorly vetted authentication module gives attackers direct access to the internals of your application. Author Michael W. Lucas said it best when he described PAM as unstandardized black magic.

    OpenBSD on the other hand uses a mechanism called BSD Authentication. It was originally developed for a now-defunct proprietary operating system called BSD/OS by Berkeley Software Design Inc., who later donated the system. It was then adopted by OpenBSD in release 2.9. BSD Auth is comparatively much simpler than PAM. Modules or, authentication "styles", are instead stand alone applications or scripts that communicate over IPC. The module has no ability to interfere with the parent and can very easily revoke permissions using pledge(2) or unveil(2). The BSD Authentication system of configured through login.conf(5).

  • Explaining top(1) on FreeBSD

    We all know and have at least once used the top(1) command to track information about our cpu and processes, but how many of you know what each field means? Today we will guide you through each of these fields. By default, top(1) displays the ‘top’ processes on each system and periodically updates this information every 2.0 seconds using the raw cpu use percentage to rank the processes in the list.

Programming/Development Leftovers

Filed under
Development
  • LibreOffice and Google Summer of Code 2021: The results

    This year, LibreOffice was once again a mentoring organization in the Google Summer of Code (GSoC), a global program focused on bringing more student developers into free and open source software development. Seven projects were finished successfully. Students and mentors enjoyed the time, and here we present some of the achievements, which should make their way into LibreOffice 7.3 in early February 2022!

  • I try match syntax using Syntax::Keyword::Match | Yuki Kimoto Perl Blog [blogs.perl.org]

    Syntax::Keyword::Match is a module to enable match syntax in the current Perl by Paul Evans who is one of the current Perl Steering Councils. See perlgov about the Perl Steering Council.

  • Crystal 1.2 programming language Released - itsfoss.net

    The release of the programming language Crystal 1.2 has been published , the developers of which are trying to combine the convenience of development in the Ruby language with the high application performance inherent in the C language. Crystal syntax is close to Ruby, but not fully compatible with it, despite the fact that some Ruby programs are executed without modification. The compiler code is written in Crystal and is licensed under the Apache 2.0 license.

    The language uses static type checking, implemented without the need to explicitly specify the types of variables and method arguments in the code. Crystal programs are compiled into executable files, with macro evaluation and code generation at compile time. In programs in the Crystal language, it is allowed to connect bindings written in the C language. Parallelization of code execution is carried out using the “spawn” keyword, which allows you to start a background task asynchronously without blocking the main thread, in the form of lightweight threads called fibers (Fiber).

  • Why Mark Text is my favorite markdown editor

    I got introduced to the markdown format a few years ago when I began to explore Jupyter Notebooks. Many of the other writers at Opensource.com knew markdown, but it was a skill that was unfamiliar to me.

    Markdown is a standard way of writing text, in which you use minimal notation to markup how you want the text styled. For instance, instead of clicking a button to make a word bold, you surround the word with two asterisks (**word**).

  • DeepMind Announces MuJoCo Physical Process Simulator - itsfoss.net

    The code is written in C / C ++ and will be published under the Apache 2.0 license. Linux, Windows and macOS platforms are supported. The work on the opening of all the source codes associated with the project is planned to be completed in 2022, after which MuJoCo will switch to an open development model, which implies the possibility of participation in the development of community representatives.

  • GNU dbm - News: Version 1.22

    Version 1.22 is available for download. This version includes several bugfixes and improves the documentation.

  • Excellent Free Tutorials to Learn Octave

    Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and non-linear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. It is drop-in compatible with many Matlab scripts. It may also be used as a batch-oriented language.

    Octave has extensive tools for solving common numerical linear algebra problems, finding the roots of nonlinear equations, integrating ordinary functions, manipulating polynomials, and integrating ordinary differential and differential-algebraic equations. It is easily extensible and customizable via user-defined functions written in Octave’s own language, or using dynamically loaded modules written in C++, C, Fortran, or other languages.

Release candidate: Godot 3.4 RC 1

Filed under
Development
Gaming

The upcoming Godot 3.4 release will provide a number of new features which have been backported from the 4.0 development branch (see our release policy for details on the various Godot versions). With this first Release Candidate, we completely freezes feature development, and comes after a long series of beta builds to fix a number of bugs reported against previous builds (as well as against previous stable branches).

If you already reviewed the changelog for beta 6, you can skip right to the differences between beta 6 and RC 1. Notable changes are in-editor class reference translations (so far Chinese (Simplified), Spanish, and some French), some new rendering features (high quality glow mode, 3D point light attenuation option), and a number of C# marshalling fixes.

Read more

GitUI: A Blazing Fast Terminal Client for Git Written in Rust

Filed under
Development

The basic Git commands are good enough for the usual clone, add, commit push.

But if you are working on a large project with multiple contributors, you may need to visualize things. A GUI tool gives a better view on the diff, stash and blame.

But then, if you are a terminal dweller, who wants the comfort of GUI with Git, I have got a good tool for you.

It is called GitUI and it provides user experience and comfort similar to a git GUI but right in your terminal. It is portable, fast, free and open source.

Read more

Programming Leftovers

Filed under
Development
  • Use KPNG to Write Specialized kube-proxiers

    The post will show you how to create a specialized service kube-proxy style network proxier using Kubernetes Proxy NG kpng without interfering with the existing kube-proxy. The kpng project aims at renewing the the default Kubernetes Service implementation, the "kube-proxy". An important feature of kpng is that it can be used as a library to create proxiers outside K8s. While this is useful for CNI-plugins that replaces the kube-proxy it also opens the possibility for anyone to create a proxier for a special purpose.

  • Dirk Eddelbuettel: dang 0.0.14: Several Updates

    A new release of the dang package arrived at CRAN a couple of hours ago, exactly eight months after the previous release. The dang package regroups a few functions of mine that had no other home as for example lsos() from a StackOverflow question from 2009 (!!), the overbought/oversold price band plotter from an older blog post, the market monitor from the last release as well the checkCRANStatus() function recently tweeted about by Tim Taylor.

    This release regroups a few small edits to several functions, adds a sample function for character encoding reading and conversion using a library already used by R (hence “look Ma, no new depends”), adds a weekday helper, and a sample usage (computing rolling min/max values) of a new simple vector class added to tidyCpp (and the function and class need to get another blog post or study …), and an experimental git sha1sum and date marker (as I am not the fan of autogenerated binaries from repos as opposed to marked released meaning: we may see different binary release with the same version number).

  • Rakudo Weekly News: 2021.42 Learning With

    Daniel Sockwell was inspired by a blog post a few weeks ago about a bouncing balls demo. The result is a new framework for learning Raku, but this time with some nice graphics: Learn Raku With: HTML Balls. Apart from the technical points, it’s also a great way (for people without much programming experience) to get involved with Raku while creating graphics and animations, rather than textual output. Check it out!

  • Russ Allbery: rra-c-util 10.0

    It's been a while since I pushed out a release of my collection of utility libraries and test suite programs, so I've accumulated quite a lot of chanages. Here's a summary; for more, see the NEWS file.

  • 1.56.0 pre-release testing | Inside Rust Blog

    The 1.56.0 pre-release is ready for testing. The release is scheduled for this Thursday, October 21th. Release notes can be found here.

  • Apple Announces The M1 Pro / M1 Max, Asahi Linux Starts Eyeing Their Bring-Up

    Apple today announced the M1 Pro and M1 Max as their most powerful SoCs ever built by the company. The new chips feature up to a 10-core processor, 32-core GPU, and up to 64GB of unified memory.

    While the Apple M1 was already well regarded for its speed, the M1 Pro and M1 Max are said to deliver up to 70% faster CPU performance than last year's M1. Meanwhile the GPU within the M1 Pro is up to 2x faster than the M1 while the M1 Max's GPU is said to be 4x faster.

Programming Leftovers

Filed under
Development
  • Sin function in C

    In mathematics, the sine function is among three primary functions, others comprising cosine and tan. Techniques for executing basic mathematical operations, like the elementary exponential, logarithmic, square root, and mathematical operations, are included in the <math.h> header. You must include the header file <math.h> to utilize these functions. The sin function accepts an angle in radians and gives its sine value, which can be confirmed using a sine curve.

    You may use the law of sine to find any arbitrary angle in a triangle, as well as the length of a certain triangle side. This is a fundamental trigonometric notion. The sin function is used in the ANSI/ISO 9899-1990 versions of the C language. Sin () returns a result that is between 1 and -1.

    Now, let us start with a few examples of sin() function in the C programming language.

  • Dirk Eddelbuettel: RcppQuantuccia 0.0.4 on CRAN: Updated Calendar

    A new release of RcppQuantuccia arrived on CRAN earlier today. RcppQuantuccia brings the Quantuccia header-only subset / variant of QuantLib to R. At the current stage, it mostly offers date and calendaring functions.

    This release is the first in two years and brings a few internal updates (such as a swift to continuous integration to the trusted r-ci setup) along with a first update of the United States calendar. Which, just like RQuantLib, now knows about two new calendars LiborUpdate and FederalReserve.

  • System/Linux/DevOps Engineer Interview - Invidious

    An interview with a fellow Linux Engineer / System Engineer / DevOps Engineer / Programmer / Tech Person -- Craig has an interesting background, and some amazing advice for those of you breaking into the tech industry right now.

  • ninja Build system, and renamed files

    I've been hearing about ninja, I had looked at it some time in the past, and did some local basic benchmarking (using time), and didn't find a huge difference in build times, both from scratch and incrementally. I tried ninja again recently and found one feature that sells it pretty well to me, it can show the build progress on one line in the terminal.

  • The Return of the Unix Shell

    With about half a century of life, the Unix shell is pervasive and entrenched in our computing infrastructure—with recent virtualization and containerization trends only propelling its use. A fresh surge of academic research highlights show potential for tackling long-standing open problems that are central to the shell and enable further progress. A recent panel discussion at HotOS ’21 concluded that improvements and research on the shell can be impactful and identified several such research directions. Maybe it’s time for your research to be applied to the shell too?

  • Python CGI example

    CGI is abbreviated as Common Gateway Interface in Python, which is a block of benchmarks to explain the exchange of data among the web server and a script. A CGI program is written by an HTTP server as the user input is entered through the HTML . In other words, it is a collection of procedures that are used to build a dynamic interaction between the client and the server application. When a client uses any element or sends a request to the web browser, that CGI executes a particular request, and the result or the output is sent back to the webserver.

  • How do I check if a string contains another substring in Python

    Sometimes we need to find out whether a particular string is present in another string or not. So to know that there are some already pre-defined methods available in Python programming.

  • How to disable scrolling on a webpage with JavaScript

    JavaScript is a web language used for creating dynamic web pages and making them interactive for users. Through JavaScript we can perform various functions, change CSS of HTML elements, perform actions on each click and many more.JavaScript makes the page of our website more interactive and adds dynamic behaviors to it, we can create various menus, drop down menus, scroll bars etc. We can even enable and disable the behaviour of each of these components using JavaScript. In this article we’ll see how to disable scrolling on a webpage using JavaScript.

  • How to check if an array is empty in JavaScript

    Knowing how to check for an empty array is an important coding skill which can often come in handy. It can be helpful in a situation where you have to show or hide something on a web page depending on whether the array is empty or not.

    Similarly, there are many other places where you will find this skill helpful. The purpose of this post is to explain the code, the concept behind the code and the most common use cases of checking for empty arrays in JavaScript code.

  • OpenCL 3.0.9 Specification Released - Phoronix

    The Khronos Group's OpenCL working group did a quiet Friday evening tagging of OpenCL 3.0.9.

    Most notable with OpenCL 3.0.9 as this routine specification update are the specification sources now being included for the provisional extensions adding semaphores and external memory support to OpenCL. Those extensions were originally announced this spring as part of OpenCL 3.0.7 but the specification ASCII doc sources were not included until now.

  • Computer scientists at University of Edinburgh contemplate courses without 'Alice' and 'Bob' [Ed: This isn't the way to promote equality but to garner animosity towards those who claim to be promoting this cause]

    A working group in the School of Informatics at the University of Edinburgh in Scotland has proposed a series of steps to "decolonize" the Informatics curriculum, which includes trying "to avoid using predominantly Western names such as Alice/Bob (as is common in the computer security literature)."

    The names Alice and Bob were used to represent two users of a public key cryptography system, described in a 1978 paper by Ronald Rivest, Adi Shamir, and Leonard Adleman, "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems." And since then, a variety of other mostly Western names like Eve – playing an eavesdropper intercepting communications – have been employed to illustrate computer security scenarios in related academic papers.

    The School of Informatics' working group reflects the University of Edinburgh's commitment to diversity, equity, and inclusion and to meet specific obligations spelled out in Scottish regulations like the Equality Act 2010 and the Public Sector Equalities Duty.

    The naming recommendation was reported last month by The Telegraph, which cited internal university documents. The Register filed a Freedom of Information Request with the University to obtain the documents, which were added to the University's website following the Telegraph report.

    [...]

    Examples cited in the document include "to avoid using master/slave to represent computing agents and instead use coordinator or workers" – a decision taken by numerous open source projects and companies in recent years – and to avoid using off-putting stereotypes during instruction.

Syndicate content

More in Tux Machines

Who's new

  • trendoceangd
  • Onzarwadabun
  • kmcmillan
  • Marius Nestor
  • johnwalsh