Language Selection

English French German Italian Portuguese Spanish

Development

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.

Software developers have stopped caring about reliability

Filed under
Development

Of all the principles of software engineering which has fallen by the wayside in the modern “move fast and break things” mentality of assholes modern software developers, reliability is perhaps the most neglected, along with its cousin, robustness. Almost all software that users encounter in $CURRENTYEAR is straight-up broken, and often badly.

Honestly, it’s pretty embarassing. Consider all of the stupid little things you’ve learned how to do in order to work around broken software. Often something as simple as refreshing the page or rebooting the program to knock some sense back into it — most users can handle that. There are much stupider problems, however, and they are everywhere. Every morning, I boot, then immediately hard-reboot, my workstation, because it seems to jigger my monitors into waking up properly to do their job. On many occasions, I have used the browser dev tools to inspect a broken web page to figure out how to make it do the thing I want to do,1 usually something complicated like submitting a form properly (a solved problem since 1993).

When the average person (i.e. a non-nerd) says they “don’t get computers”, I believe them. It’s not because they’re too lazy to learn, or because they’re backwards and outdated, or can’t keep with the times. It’s because computers are hard to understand. They are enegmatic and unreliable. I know that when my phone suddenly stops delivering SMS messages mid-conversation, it’s not because I’ve been abandoned by my friend, but because I need to toggle airplane mode to reboot the modem. I know that when I middle click a link and “javascript:;” opens in a new tab, an asshole a developer wants me to left click it instead. Most people don’t understand this! You and I, dear reader, have built up an incredible amount of institutional knowledge about how to deal with broken computers. We’ve effectively had to reverse engineer half the software we’ve encountered to figure out just where to prod it to make it do the thing you asked. If you don’t have this background, then computers are a nightmare.

Read more

C/C++ Programming/Development

Filed under
Development
  • How to pass a struct to a function in C

    A structure has been widely used as a user-defined data type in the C language. The purpose of using structures in C is to create a single data type that would be used further to group various data type variables or elements into one type. The structure has been used as a global variable so all the functions can access it easily. This means it can’t be declared in the main method so that we can use it anywhere.

  • C++ String Reverse

    If the string, “vwxyz“, is reproduced in the new order as, “zyxwv“.

    Then the string has been reversed. Unfortunately, such direct reversibility is not possible in C++. However, there is a classical workaround for reversing a string in C++. Keep reading this article to know-how.

    A string can be created in two main ways in C++. A string can be created as a constant pointer to a sequence of characters. A string can also be created by instantiating a string object from the string class. This article deals with string objects instantiated from the string class. This means the string library has to be included in order to execute the code samples in this article.

    A string object is a data structure where the string literal is a list. Each character is of one element in the list. And so, a literal string can be handled like an array of elements.

    This article explains the classical workaround to reverse a string in C++. This essentially iterates the string literal, backward. Having a summary knowledge of forward iteration enables the reader to understand reverse iteration better. This article deals with string objects instantiated from the string class.

  • C++ String starts with

    There comes a time when the programmer has to know what a string starts with. This knowledge can be used to choose or eliminate items in a list of characters. So, a programmer may want to know if a string starts with a particular character or with a particular sub-string. A programmer can write code that will check the initial characters of a string, one-by-one, and compare that with a prefix sub-string. However, all the strategies involved have already been done by the C++ string library.

    The C++ string class of the string library has the member function, starts_with(). This does the work for the programmer, but the programmer needs to know how to use the function. And that is why this tutorial is being produced. There are three variants of the string starts_with() member function. Variants of the same function are called overloaded functions.

    The basic approach for the start_with() member function is to compare a short independent sub-string with the first short segment of the string in question. If they are the same, then the function returns true. If they are different, the function returns false.

  • Function Overloading in C

    Function overloading is a very well-known concept used in object-oriented languages having many functions with the same name and different parameters in a single code. The object-oriented programming languages which support function overloading include Java and C++. As the C compiler doesn’t allow it to be used in the code hence, it isn’t easy to implement function overloading in C. Yet; we can still achieve the same thing with some technique. Let’s start this article with the opening of the shell terminal of Ubuntu 20.04 LTS.

Emmanuele Bassi: GWeather next

Filed under
Development
GNOME

Libgweather, the small GNOME library that queries weather services, is getting a major version bump to allow applications using it to be ported to GTK4.

In the beginning, there was a weather applet in the GNOME panel. It had a bunch of code that poked at a couple of websites to get the weather information for a given airport or weather observation stations, and shipped with a list of locations and their nearest METAR code.

In 2007, the relevant code was moved to its own separate repository, so that other applications and system settings could reuse the same code as the panel applet: the libgweather library was born. Aside from the basic weather information and location objects, libgweather also had a couple of widgets: one for selecting a location (with autocompletion), and one for selecting a timezone using a location.

Since libgweather was still very much an ad hoc library for a handful of applications, there was no explicit API and ABI stability guarantee made by its maintainers; in fact, in order to use it, you had to “opt in” with a specific C pre-processor symbol.

Time passed, and a few more applications appeared during the initial GNOME 3 cycles—like Weather, followed by Clocks a month later. Most of the consumers of libgweather were actually going through a language binding, which meant they were not really “opting into” the API through the explicit pre-processor symbol; it also meant that changes in the API and ABI could end up being found only after a libgweather release, instead of during a development cycle. Of course, back then, we only had a single CI/CD pipeline for the whole project, with far too little granularity and far too wide scope. Still, the GWeather consumers were few and far between, and the API was not stabilised.

Read more

Also GNOME: Alexander Larsson: Quadlet, an easier way to run system containers

Programming Leftovers

Filed under
Development
  • How the Integrated Gradients method works? - Vincent Lequertier's blog

    For artificial intelligence (AI) transparency and to better shape upcoming policies, we need to better understand the AI’s output. In particular, one may want to understand the role attributed to each input. This is hard, because in neural networks input variables don’t have a single weight that could serve as a proxy for determining their importance with regard to the output. Therefore, one have to consider all the neural network’s weights, which may be all interconnected. Here is how Integrated Gradients does this.

  • Want a piece of GitLab? It's going to cost you: IPO price per share settles at $77

    The one-stop shop approach by DevOps darling GitLab appears to have attracted an Initial Public Offering price of $77, giving the loss-making biz a potential valuation of $11bn

    GitLab finally filed for an IPO in September and this week upped the estimated price per share to between $66 and $69. The eventual price has turned out to be $77, well above the initial $55 to $60 first estimated.

    8.42 million shares of Class A common stock are being sold. Founder and CEO Sytse Sijbrandij is selling another 1.98 million shares, according to the filing. Should that $77 price survive the start of trading today, GitLab's market value will nudge past $11bn.

  • Functional vs. object-oriented programming: The basics

    Committing to a programming paradigm is an important step in any application development effort. While they are hardly the only two options when it comes to overarching development models, the choice between functional programming and object-oriented programming is one that an increasing number of developers face today.

  • There is no 'printf'.

    Pop quiz! What will the following program return?

  • Malicious packages mitmproxy2 and mitmproxy-iframe removed from PyPI directory - itsfoss.net

    The author of mitmproxy , a tool for analyzing HTTP / HTTPS traffic, drew attention to the appearance of a fork of his project in the Python Package Index (PyPI) directory. The fork was distributed under the similar name mitmproxy2 and the non-existent version 8.0.1 (current release of mitmproxy 7.0.4) with the expectation that inattentive users will perceive the package as a new version of the main project ( typesquatting ) and wish to try the new version.

    In terms of its composition, mitmproxy2 was similar to mitmproxy, with the exception of changes in the implementation of malicious functionality. The changes were reduced to the termination of setting the HTTP header ” X-Frame-Options: DENY “, which prohibits the processing of content inside the iframe, disabling protection against XSRF attacks and setting the headers ” Access-Control-Allow-Origin: * “, ” Access-Control- Allow-Headers: * “and” Access-Control-Allow-Methods: POST, GET, DELETE, OPTIONS “.

  • Perl Weekly Challenge 134: Pandigital Numbers and Distinct Term Count
  • Sourcing vs executing in Bash

    What if, from the shell prompt, I could source the script, to bring the function definitions into my current environment, and then manually invoke the check function on a single pull request?

    Sourcing the script as it is would have the unwanted effect of running checks on all the pull requests, because the last line in the script actually invokes main, as it’s supposed to.

  • Rust-Based Cloud-Hypervisor 19.0 Released With Improved Live Migration, Faster Boot Time - Phoronix

    Cloud-Hypervisor 19.0 debuted this week as the Intel-led open-source VMM focused on supporting modern cloud workloads and written in the Rust programming language while leveraging the Linux's KVM virtualization code or the Microsoft MSHV hypervisor on Windows.

    Cloud-Hypervisor 19.0 continues to focus on only supporting 64-bit software, providing a minimal attack surface and other security improvements in part by leveraging Rust, and other modern-focused design principals.

  • Dyn async traits, part 6

    A quick update to my last post: first, a better way to do what I was trying to do, and second, a sketch of the crate I’d like to see for experimental purposes.

Programming Leftovers

Filed under
Development
  • ThreatMapper: Open source platform for scanning runtime environments - Help Net Security

    Deepfence announced open source availability of ThreatMapper, a signature offering that automatically scans, maps and ranks application vulnerabilities across serverless, Kubernetes, container and multi-cloud environments.

  • Josef Strzibny: Organizing business logic in Rails with contexts

    Rails programmers have almost always tried to figure out the golden approach to business logic in their applications. From getting better at object-oriented design, to service objects, all the way to entirely new ideas like Trailblazer or leaving Active Record altogether. Here’s one more design approach that’s clean yet railsy.

  • Status update, October 2021

    On this dreary morning here in Amsterdam, I’ve made my cup of coffee and snuggled my cat, and so I’m pleased to share some FOSS news with you. Some cool news today! We’re preparing for a new core product launch at sr.ht, cool updates for our secret programming language, plus news for visurf.

    Simon Ser has been hard at work on expanding his soju and gamja projects for the purpose of creating a new core sourcehut product: chat.sr.ht. We’re rolling this out in a private beta at first, to seek a fuller understanding of the system’s performance characteristics, to make sure everything is well-tested and reliable, and to make plans for scaling, maintenance, and general availability. In short, chat.sr.ht is a hosted IRC bouncer which is being made available to all paid sr.ht users, and a kind of webchat gateway which will be offered to unpaid and anonymous users. I’m pretty excited about it, and looking forward to posting a more detailed announcement in a couple of weeks. In other sourcehut news, work on GraphQL continues, with paste.sr.ht landing and todo.sr.ht’s writable API in progress.

    Our programming langauge project grew some interesting features this month as well, the most notable of which is probably reflection. I wrote an earlier blog post which goes over this in some detail. There’s also ongoing work to develop the standard library’s time and date support, riscv64 support is essentially done, and we’ve overhauled the grammar for switch and match statements to reduce a level of indentation for typical code. In the coming weeks, I hope to see date/time support and reflection fleshed out much more, and to see some more development on the self-hosted compiler.

    [...]

    The goal of this project is to provide a conservative CSS toolkit which allows you to build web interfaces which are compatible with marginalized browsers like Netsurf and Lynx.

  • Monthly Report - September

    The month of September is very special to me personaly.

    Why?

    Well, I got married in the very same month 18 years ago. The best part is, I choose the day 11 to get married. I have never missed my wedding anniversary, thanks to all the TV news channel.

  • My Favorite Warnings: uninitialized | Tom Wyant [blogs.perl.org]

    This warning was touched on in A Belated Introduction, but I thought it deserved its own entry.

    When a Perl scalar comes into being, be it an actual scalar variable or an array or hash entry, its value is undef. Now, the results of operating on an undef value are perfectly well-defined: in a nuneric context it is 0, in a string context it is '', and in a Boolean context it is false.

    The thing is, if you actually operate on such a value, did you mean to do it, or did you forget to initialize something, or initialize the wrong thing, or operate on the wrong thing? Because of the latter possibilities Perl will warn about such operations if the uninitialized warning is enabled.

Programming Leftovers

Filed under
Development
  • Qt Creator 6 Beta Released With Updated C++ Code Model, Binaries Built Against Qt 6.2 - Phoronix

    With Qt 6.2 LTS having shipped at the end of September, The Qt Company is now turning their attention to Qt Creator 6 as the next version of their Qt/C++ focused integrated development environment.

    Qt Creator 6.0 Beta is out this morning as the first public test release of this Qt/C++ IDE. Qt Creator 6 Beta has moved launching of external processes to a separate server process for better handling on Linux and the C++ code model is re-based to that from LLVM 13.

  • Qt Creator 6 Beta released
  • 5 common bugs in C programming and how to fix them | Opensource.com

    Even the best programmers can create programming bugs. Depending on what your program does, these bugs could introduce security vulnerabilities, cause the program to crash, or create unexpected behavior.

    The C programming language sometimes gets a bad reputation because it is not memory safe like more recent programming languages, including Rust. But with a little extra code, you can avoid the most common and most serious C programming bugs.

  • Steinar H. Gunderson: Apache bug with mpm-itk

    It seems there's a bug in Apache 2.4.49 (or newer) and mpm-itk; any forked child will segfault instead of exiting cleanly. This is, well, aesthetically not nice, and also causes problems with exit hooks for certain modules not being run.

  • [Older] Creating a Python Makefile - Earthly Blog

    Even though Python is regarded as an interpreted language and the files need not be compiled separately, many developers are unaware that you can still use make to automate different parts of developing a Python project, like running tests, cleaning builds, and installing dependencies. It’s honestly an underutilized function, and by integrating it into your routine, you can save time and avoid errors.

    make is a commonplace tool in the world of software development, especially compiled languages like C or C++. It is a tool which controls the generation of executable and other non-source files from a program’s source file. It can automate the process of building software by tracking its dependencies and compiling the program only when the dependencies change.

  • Security updates for Thursday

    Security updates have been issued by Mageia (golang, grilo, mediawiki, plib, python-flask-restx, python-mpmath, thunderbird, and xstream/xmlpull/mxparser), Oracle (389-ds-base, grafana, httpd:2.4, kernel, libxml2, and openssl), Red Hat (httpd), and SUSE (kernel).

  • This Week In Rust: This Week in Rust 412

5 markdown editors I recommend trying

Filed under
Development
Software

You can use markdown for anything—formatting websites, authoring books, and writing technical documentation are just some of its uses. I love how easy it is to create rich documents. Everyone has their favorite markdown editor. I have used several on my markdown journey. Here are five markdown editors I have considered.

Read more

Programming Leftovers

Filed under
Development
  • abs function in C

    Why is it necessary for programmers to use the abs() function? It’s accessible in almost every programming language; But how much good is a function that just turns negative values into positive ones? You may find yourself wanting positive numbers occasionally, and the abs() function ensures that you will get them. The abs function is an abbreviation for “Absolute Value” inside the C programming language, and it specifies the distance of a number just on a number line beginning from 0 without taking the direction into account. The abs value of a number, or its absolute value, has always been positive, implying that a distance could never be negative.
    The abs () method returns the absolute appropriate value integers and is specified in the stdlib.h header file. To return the absolute value of a particular number, we must include the stdlib.h header file in our C application. Only positive values are returned by the abs() function.

    Consider the following scenario: If we have an integer number -2 and wish to find the absolute value, we may use the abs() method to have the positive number 2. In addition, when we have an integer number 2 and want to determine the absolute value, we can use the abs() method to return the very same value as 2. It gives the very same number if we provide it with any positive number.

  • Printf-style debugging using GDB, Part 2

    The first article in this series introduced the GNU debugger, GDB, and in particular its dprintf command, which displays variables from programs in a fashion similar to C-language printf statements. This article expands on the rich capabilities of printf-style debugging by showing how to save commands for reuse and how to save the output from the program and GDB for later examination.

  • Python Wrapper to find all primes from a given interval via sieve of Eratosthenes released as C++ procedure
  • Intel Contributes AVX-512 Optimizations To Numpy, Yields Massive Speedups - Phoronix

    Intel has contributed AVX-512 optimizations to upstream Numpy. For those using Numpy as this leading Python library for numerical computing, newer Intel CPUs with AVX-512 capabilities can enjoy major speed-ups in the range of 14~32x faster.

    This summer Intel volleyed their initial AVX-512 code for Numpy and finally this week the code was merged upstream. This open-source AVX-512 code originates from the Intel Short Vector Math Library (SVML) that they open-sourced the code from. Intel has also been working on allowing Numpy to be built against SVML as a separate improvement.

  • TSV to CSV on the CLI (if you really have to)

    Regular visitors to this blog will know that I don't like the CSV format. It's awful. In my humble opinion, data workers should aim to use invisible tabs (TSV) or visible pipes (PSV) as field separators in delimited text tables. Sometimes, though, data workers are required to convert a perfectly good TSV or PSV to a CSV. What to do?

    I don't recommend opening the TSV or PSV in spreadsheet software and saving the result as a CSV, unless there are no leading or trailing quotes in the data items, or umatched quotes generally. The original quotes might well disappear in the saved CSV.

    There are a number of TSV-to-CSV programs for the command line. One is in Haskell, for example, and there also routines to do the job in Perl and Python. But if the individual fields in the TSV don't contain commas or quotes, the TSV-to-CSV conversion is simple — use tr:

  • Useful Bash Commands You May Not Know About

    Bash is a fairly powerful language to program in, and is also quite easy to start off with.

    After all, it's almost universally the shell you're going to see when you open up your terminal. That makes it extremely useful to get accustomed to.

    There's some powerful commands in Bash that you may not be aware of though, even if you're fairly seasoned with using the language. All of these commands can serve quite useful purposes though, and can make the shell scripts you write cleaner, more maintainable, and just outright more powerful than they could've been before.

Programming Leftovers

Filed under
Development

  • It's Ada Lovelace Day! Learn the Ada programming language in 2021 | Opensource.com

    In the 1970s, many programming languages were hyperspecific to the hardware they controlled. As a result, developers had to learn to code differently depending on the hardware they were programming. Debugging and maintenance were highly specialized, and code wasn't reusable across machines.

    The UK government recognized these problems and moved toward establishing a standardized multipurpose programming language. On December 10, 1980—Ada Lovelace's birthday—they made the Ada programming language an official military standard in the UK.

    Ada is similar in some ways to Algol or Pascal. It was originally designed for program reliability, easy maintenance, and efficiency. Most importantly, however, Ada's creators recognized that coding is a human activity, so a programming language must be something that humans can easily read and interact with.

    For Ada, readability is more important than conciseness. Writing code in Ada produces highly readable code, even compared to Python, and although its usage tends to be specialized, Ada is still being developed today.

  • Automate image processing with this Bash script | Opensource.com

    Writers not only work with words, they often have to work with images. Technical writing involves presenting a lot of screenshots to convey the technology and processes. Different publishing platforms may have various requirements for images, such as image format or file size.

    As an IT consultant and systems engineer, I have written a lot of technical documentation as client deliverables, generally with Microsoft Word (.doc) as the required format. Any document can grow fast as content is added. In the early days, screenshots were often bitmaps (.bmp), which can have a very large file size. A document describing the installation of an operating system onto a server could end up being a very big file.

    Downsizing the images without rendering them unreadable was a laborious exercise. Bitmaps could be converted to jpeg files and later png files. Editing continued to be a challenge even later when I switched my office suite to LibreOffice. Fortunately, most screenshot tools today save in smaller formats, such as png.

    Opensource.com puts certain limits on images that are used in its articles. I developed a quick three-step method for preparing images for my articles. The first step is to be smart about the staging, such as resizing a window or changing a font. Two additional steps became very repetitive. Those are to ensure the image doesn't exceed the 600-pixel width limit and to apply a border.

  • Having Fun With: DNS Records + Signed Certificates + Cryptographic Algorithms! – Jon's FOSS Blog

    So I was experimenting and if you can get signed certs from let’s-encrypt and dns records from cloud-flare, then you could store your public signed certificate as a set of split txt entries which anyone could verify with a set of up-to-date root certificates. You can then use the private key to sign an encryption key (stored as another txt record) along with the encrypted message (also another txt record).

  • Excellent Free Tutorials to Learn Emacs Lisp - LinuxLinks

    Emacs Lisp is a dialect of the Lisp programming language. Lisp (derives from “LISt Processing”) is one of the oldest programming languages. It was invented in 1958, with the language being conceived by John McCarthy and is based on his paper “Recursive Functions of Symbolic Expressions and Their Computation by Machine”. Over the years, Lisp has evolved into a family of programming languages.

    Most of the Emacs integrated environment is written in the programming language called Emacs Lisp.

    Although Emacs Lisp is usually thought of in association only with Emacs, it is a full computer programming language. You can use Emacs Lisp as you would any other programming language.

    Here’s our recommended free tutorials to learn Emacs Lisp (elisp). If you want a more general introduction to Lisp, read our recommended free tutorials to learn Lisp.

  • Rakudo Weekly News: 2021.41 Different Patterns

    Daniel Sockwell investigated the powers of smart matching in the Raku® Programming Language in two blog posts Let’s try some pattern matching (/r/rakulang comments) and Further thoughts on Raku pattern matching (/r/rakulang comments). Both the blog posts and the comments are food for thought!

  • Pi IoT In Python Using Linux Drivers - PWM
  • Python Takes First Place in TIOBE Programming Languages ​​Ranking - itsfoss.net

    The October programming language popularity rating published by TIOBE Software noted the triumph of the Python programming language (11.27%), which in a year moved from third to first place, displacing the C (11.16%) and Java (10.46%) languages. The TIOBE Popularity Index draws its conclusions from the analysis of search query statistics from systems such as Google, Google Blogs, Yahoo !, Wikipedia, MSN, YouTube, Bing, Amazon, and Baidu.

    Compared to October last year, the ranking also shows an increase in the popularity of the Assembler languages ​​(rose from 17th to 10th place), Visual Basic (from 19th to 11th place), SQL (from 10th to 8th place), Go (from 14 to 12), MatLab (from 15 to 13), Fortran (from 37 to 18), Object Pascal (from 22 to 20), D (from 44 to 34), Lua (from 38 to 32). Perl declined in popularity (ranking dropped from 11 to 19), R (from 9 to 14), Ruby (from 13 to 16), PHP (from 8 to 9), Groovy (from 12 to 15), and Swift (from 16 to 17), Rust (from 25 to 26).

  • Python Wraper to find all primes from a given interval via sieve of Eratosthenes released as C++ procedure
Syndicate content

More in Tux Machines

Type Title Author Repliessort icon Last Post
Story Oh no, Keith Knudsen Passes On srlinuxx 10/04/2005 - 11:55pm
Story M$ Antitrust Settlement May Not Foster Competition srlinuxx 10/04/2005 - 11:57pm
Blog entry 2-10-05 Texstar 11/04/2005 - 3:13am
Story Firefox to Blame for Increased Attacks on M$ srlinuxx 11/04/2005 - 3:14am
Story Arthur Miller Dies at 89 srlinuxx 11/04/2005 - 3:14am
Story Desktop Summit Proves Linux Interest on the Rise srlinuxx 11/04/2005 - 3:14am
Story KDE 3.4beta2 revisited srlinuxx 11/04/2005 - 6:27am
Story Script Kiddie Gets Probation srlinuxx 11/04/2005 - 3:15am
Story Suicide Pact in Yahoo Chat Rooms srlinuxx 11/04/2005 - 3:16am
Story LokiTorrent Ordered to Pay Million Bucks srlinuxx 11/04/2005 - 3:16am