Language Selection

English French German Italian Portuguese Spanish

Development

Raspberry Pi and Arduino Leftovers

Filed under
Development
Hardware
  • Fast Indoor Robot Watches Ceiling Lights, Instead of the Road

    To pull this off, [Andy] uses a camera with a fisheye lens aimed up towards the ceiling, and the video is processed on a Raspberry Pi 3.

  • Tackle The Monkey: Raspberry Pi Gets Round Screen | Hackaday

    You could argue that the project to add a round screen to a Raspberry Pi from [YamS1] isn’t strictly necessary. After all, you could use a square display with a mask around it, giving up some screen real estate for aesthetics. However, you’d still have a square shape around the screen and there’s something eye-catching about a small round screen for a watch, an indicator, or — as in this project — a talking head.

    The inspiration for the project was a quote from a Google quote about teaching a monkey to recite Shakespeare. A 3D printed monkey with a video head would be hard to do well with a rectangular screen, you have to admit. Possible with a little artistry, we are sure, but the round head effect is hard to beat. Honestly, it looks more like an ape to us, but we aren’t primate experts and we think most people would get the idea.

  • Move! makes burning calories a bit more fun | Arduino Blog

    Gamifying exercise allows people to become more motivated and participate more often in physical activities while also being distracted by doing something fun at the same time. This inspired a team of students from the Handong Global University in Pohang, South Korea to come up with a system, dubbed “Move!,” that uses a microcontroller to detect various gestures and perform certain actions in mobile games accordingly.

    They started by collecting many different gesture samples from a Nano 33 BLE Sense, which is worn by a person on their wrist. This data was then used to train a TensorFlow Lite model that classifies the gesture and sends it via Bluetooth to the host phone running the app. Currently, the team’s mobile app contains three games that a player can choose from.

New bash programming articles

Filed under
Development
  • How to use bash aliases

    Most of the users like to use shortcuts for running commands. There are many commands in Ubuntu that we need to execute regularly. It will be very helpful for us if we can run those common commands by typing shortcut commands. Using bash aliases, Ubuntu users can easily create shortcut commands of the large commands those are used frequently. Bash aliases not only make the task easier but also save the time of the users. The user can declare alias temporary or permanently. The temporary aliases can be used as long as the session of the user exists. If the user wants to use shortcut commands every time the session starts, then he or she has to create permanent alias by using ~/.bashrc and ~/.bash_profile files. This tutorial shows how you can create and use bash aliases in Ubuntu by using some examples.

  • Bash Arithmetic Operation

    Using bash aliases, Ubuntu users can easily create shortcut commands of the large commands those are used frequently. Bash aliases not only make the task easier but also save the time of the users. The user can declare alias temporary or permanently. How to use bash aliases is explained in this article.

  • How to use arrays in Bash

    When you want to use multiple data using a single variable in any programming language, you have to use array variables. The list of data can be assigned and used using an array variable. Bash is a weakly typed language that does not require defining any data type for declaring the variable. Array declaration in bash is a little bit different from other standard programming languages. Two types of the array can be declared in bash. Numeric array and associative array. If the index of an array is numeric, then it is called a numeric array, and if the index of an array is a string, it is called an associative array. How you can declare a numeric array, associative array, and iterate elements of the array using for loop are described with examples in this tutorial.

  • Bash Head and Tail Command

    Many types of commands are available in bash to show the content of a file. Most commonly used commands are ‘cat’, ‘more’, ‘less’, ‘head’ and ‘tail‘ commands. To read the entire file, ‘cat’, ‘more’, and ‘less‘ commands are used. But when the specific part of the file is required to read then ‘head‘ and ‘tail‘ commands are used to do that task.

    ‘head‘ command is used to read the file from the beginning and the ‘tail‘ command is used to read the file from the ending. How you can use ‘head‘ and ‘tail‘ commands with different options to read the particular portion of a file is shown in this tutorial.

    You can use any existing file or create any new file to test the functions of ‘head‘ and ‘tail‘ commands. Create two text files named products.txt and employee.txt with the following content to show the use of ‘head‘ and ‘tail‘ commands.

  • Bash Range

    You can iterate the sequence of numbers in bash in two ways. One is by using the seq command, and another is by specifying the range in for loop. In the seq command, the sequence starts from one, the number increments by one in each step, and print each number in each line up to the upper limit by default. If the number starts from the upper limit, then it decrements by one in each step. Normally, all numbers are interpreted as a floating-point, but if the sequence starts from an integer, the decimal integers will print. If the seq command can execute successfully, then it returns 0; otherwise, it returns any non-zero number. You can also iterate the sequence of numbers using for loop with range. Both seq command and for loop with range are shown in this tutorial by using examples.

  • Bash Script User Input

    In the seq command, the sequence starts from one, the number increments by one in each step, and print each number in each line up to the upper limit by default. If the seq command can execute successfully, then it returns 0; otherwise, it returns any non-zero number. Two ways to generate the sequence of numbers are shown with examples in this article.

  • BASH while loop examples

    Three types of loops are used in bash programming. While loop is one of them. Like other loops, a while loop is used to do repetitive tasks. This article shows how you can use a while loop in a bash script by using different examples.

Programming Leftovers

Filed under
Development
  • Josef Strzibny: Preloading Rails applications in production

    When it’s time to take your application online, there are several decisions to make. Today I would like to talk about application preloading and explain why I prefer preloading applications in production.

    But first things first. What’s is preloading anyway?

    Preloading the application is a process of loading up all application files and dependencies to virtual memory. If it would be a game, this might be a difference between loading just first two levels of the game versus loading the game as a whole. What’s not loaded at first will be loaded later from the disk when required.

    The opposite of preloading is lazy loading. Lazy loading saves us some memory at first and as a side product makes the boot process faster which might be a decent optimization for large applications.

  • GCC 12 Merges Initial Support For RISC-V's Bitmanip Extensions - Phoronix

    Following the recent RISC-V Bitmanip work in Binutils, the GCC 12 compiler has now landed preliminary support for the RISC-V ISA's bit manipulation extension.

    RISC-V's Bitmanip is a collection of several component extensions intended to help cater the open-source processor ISA for better efficiency that can result in code size reduction, better performance, and reduced energy consumption.

  • Nibble Stew: A call for more downstream testing of Meson

    As Meson gets more and more popular, the number of regressions also grows. This is an unvoidable fact of life. To minimize this effort we publish release candidates before the actual releases. Unfortunately not many people use these so many issues are not found until after the release (as happened with 0.60.0).

    For this reason we'd like to ask more people to test these rcs on their systems. It's fairly straightforward.

    [...]

    If you have some different setup that has a full CI run (hopefully something smaller than a full Debian archive rebuild) then doing that with the rc version would be the best test.

  • Use Rust for embedded development

    Over the past several years, Rust has gained a passionate following among programmers. Tech trends come and go, so it can be difficult to separate excitement just because something is new versus excitement over the merits of a technology, but I think Rust is a truly well-designed language. It aims to help developers build reliable and efficient software, and it was designed for that purpose from the ground up. There are key features you'll hear about Rust, and in this article, I demonstrate that many of these features are exactly why Rust also happens to be great for embedded systems.

    [...]

    Using Rust for your embedded development gives you all the features of Rust without the need to sacrifice flexibility or stability.

Programming Leftovers

Filed under
Development
GNU
  • GNU Toolchain Begins Landing LoongArch Support - Phoronix

    In addition to Loongson working on Linux kernel support for their MIPS-derived LoongArch CPU architecture, the first bits of the GNU toolchain support for this Chinese CPU architecture have been merged.

    The GNU Compiler Collection (GCC) LoongArch support hasn't yet been merged but the GNU Binutils archive saw the initial collection of LoongArch patches merged on Sunday morning.

  • Capacitive Touch Controller for FPGAs

    Most projects that interface with the real world need some sort of input device. Obviously this article is being written from a standardized “human interface device” but when the computers become smaller the problem can get more complicated. We can’t hook up a USB keyboard to every microcontroller since we often only need a few buttons, but even buttons can be a little bit too cumbersome for some applications. For something even simpler, we would like to turn your attention to capacitive touch controllers.

  • Meson v0.60 Build System Brings Numerous Improvements

    Meson 0.60 was released on Sunday as the newest version of this increasingly popular and widely-used cross-platform build system.

  • Josef Strzibny: You can in fact use schemas in migrations

    I saw well-intended recommendations not to use schemas in migrations lately. Although the advice of switching to raw SQL is a good one, we don’t have to give up on schemas entirely.

  • Software Development Life Cycle (SDLC) Automation

    Gone are the days when manual labor used to go through a rigorous time taking process in order to furnish quality products. Today, organizations have shifted their attention towards automated software. Each software goes through a development lifecycle to meet customer requirements of a high-quality product known as SDLC. In the growing software industry, developers compete to produce high-quality software while remaining within their range of cost and time limits.

    SDLC Automation helps achieve the above goals with minimum manual labor, time, and cost while maintaining a high level of productivity as well as efficiency. This article expounds upon the need for automation in the SDLC process and further sheds light on some of the aspects that software companies must start automating.

  • What is the Difference Between =, == and === in JavaScript?

    JavaScript is a programming language that allows us to create and develop web applications and web pages as well as make our websites more dynamic/interactive. Data can be calculated, manipulated, and validated using JavaScript.

    Like any other language, JavaScript has operators. An operator produces a result by performing some action on a single or multiple operands (data value). Let’s look at an example of 2+2 where the numbers are left and right side operands and the + is the operator. This + operator adds the two numbers together.

    With examples, we’ll examine and answer the question that what is the difference between the =,==, and === operators in JavaScript in this article.

  • Is JavaScript Object-Oriented?

    Object-Oriented Programming (OOP), is a programming approach that is used by every developer at some point in their life to organize software design around objects or data rather than logic or functions where an object is an entity that has some properties and some type. The benefits of using the OOP technique include modularity, reusability, security, productivity, flexibility, and is easily scalable and upgradeable.

  • TOAST.UI: Free, Open-source Interactive JavaScript application components

    While working on a project, I need a calendar library. As I do for every project, I tend to not use previously used libraries and try to learn and use something new.

    That's how I found Toast.ui, an open-source features-rich UI library for building production-ready apps.

  • YAML vs JSON – Which is better?

    Nowadays, almost every person is familiar with the standard format of JSON. Contrarily, individuals who use Docker are surely familiar with YAML. In simpler words, Docker is a toolkit which permits developers to run, build, deploy, modify as well as stop packages through a single API or commands. YAML is a new but popular language used to serialize data. First of all, we should perceive what data serialization is. Data serialization is the most common way of transforming data objects into byte streams used to store, transfer and distribute data on devices. However, they have similar objectives to store structures and data objects into files but distinctive ways to work.

    In this article, we first go through the features of JSON and YAML, then compare them in-depth to completely comprehend their advantages, and then briefly discuss which one is better.

  • Some Perl Code In Memory of a Great Scientist | martin [blogs.perl.org]

    On August 21, 2021, famous Polish mathematician Andrzej Schinzel passed away at the age of 84. He was one of the great minds behind modern number theory. May he rest in peace. I have extended one of my CPAN modules relating to his work and dedicated the release to his memory.

  • Remove None from the List Python

    In python, when a function returns nothing, it indirectly returns ‘None’. Due to the forthcoming ML (Machine Learning), our focus is now on understanding the None values. The goal behind this is that it is the crucial phase of data preprocessing. Hence, elimination of None values is crucial, so you must know how important it is. Let’s discuss certain techniques in which this is achieved. To replace none in python, we use different techniques such as DataFrame, fillna, or Series. No keyword in python declares the null objects and variables. In python, none refers to the class ‘NoneType’.

    We can allot None to many variables, and they all point toward a similar object. The interesting fact about none is that we can’t consider false as any. None is a blank string or a 0. Let’s demonstrate it with the help of examples. We use the Spyder compiler or different strategies to explain how python removes null values from the list.

  • Python LDAP example

    LDAP is a LIGHTWEIGHT DIRECTORY ACCESS PROTOCOL. It is an internet protocol that works on TCP/IP, and it is used to access/fetch the information from the directories. All the directories are not preferable; it is usually used to access those directories that are active.

  • Python Multiply List by Scalar

    In Python, the most elementary data building is the sequence. Each sequence element allotted a number – its index or placement. The starting point of the index is ‘0’, the second point is ‘1’, and so forth. Python offers six in-built types of sequences, but the most important or commonly used are lists, which we would discuss in this guide. Python list is the most useful data type. It can be written within a square bracket, and a comma separates every item in the list.

Open Hardware/Modding With Components, Arduino

Filed under
Development
Hardware
  • Automating Pool Monitoring And Chemical Dosing | Hackaday

    The project uses a TI SimpleLink wireless-enabled microcontroller to run the show, which allows data to be offloaded to a base station for graphing with Grafana. The system can monitor pH levels as well as ORP (oxidation/reduction potential) levels using probes attached via BNC connectors. Based on these readings, the device can dose chlorine into the pool as needed using a peristaltic pump driven by a TI DRV8426 stepper motor driver.

  • $99 Lepton FS module cuts the cost of FLIR thermal cameras by half - CNX Software

    Thermal cameras based on FLIR Lepton modules are pretty cool, but also quite expensive. Teledyne FLIR Lepton FS offers a much more cost-effective solution with the non-radiometric 160 x 120 resolution micro thermal camera module going for $99, or about 50% less than other FLIR thermal camera modules.

    The lower cost was achieved with some tradeoffs, notably a reduction of thermal sensitivity and scene dynamic range, as well as up to 3% inoperable pixels. But Ron Justin, GroupGets founder, told CNX Software that the lower specs are more than worth it for users only needing an imager, as opposed to a radiometric sensor.

  • Raspberry Pi Weekly Issue #374 - Raspberry Pi <3 LEGO Education

    The collaboration of your dreams launched this week. We worked with LEGO® Education to design the new Raspberry Pi Build HAT, a brand-new product that for the first time makes it easy to integrate LEGO® Technic™ motors and sensors with Raspberry Pi computers.

  • Bring That Old Hi-Fi Into The 2020s | Hackaday

    It’s a distressing moment for some of us, when a formerly prized piece of electronic equipment reaches a point of obsolescence that we consider jettisoning it. [Jon Robinson] ran into this dilemma by finding the Kenwood Hi-Fi amplifier his 17-year-old self had spent his savings on. It was a very good amp back in the day, but over two decades later, it’s no longer an object of desire in a world of soundbars and streaming music boxes. After a earlier upgrade involving an Arduino to auto-power it he’s now given it an ESP32 and an i2S codec which performs the task of digital audio streaming as well as a better job than the Arduino of controlling the power.

  • This Arduino Terminal Does All The Characters | Hackaday

    The job of a dumb terminal was originally to be a continuation of that performed by a paper teletype, to send text from its keyboard and display any it receives on its screen. But as the demands of computer systems extended beyond what mere ASCII could offer, their capabilities were extended with extra characters and graphical extensions whose descendants we see in today’s Unicode character sets and thus even in all those emojis on your mobile phone. Thus a fully-featured terminal has a host of semigraphics characters from which surprisingly non-textual output can be created. It’s something [Michael Rule] has done some work on, with his ILI9341TTY, a USB serial terminal monitor using an Arduino Uno and an ILI9341 LCD module that supports as many of the extended characters as possible.

Programming Leftovers

Filed under
Development
  • Petter Reinholdtsen: Debian still an excellent choice for Lego builders

    The Debian Lego team saw a lot of activity the last few weeks. All the packages under the team umbrella has been updated to fix packaging, lintian issues and BTS reports. In addition, a new and inspiring team member appeared on both the debian-lego-team Team mailing list and IRC channel #debian-lego. If you are interested in Lego CAD design and LEGO Minestorms programming, check out the team wiki page to see what Debian can offer the Lego enthusiast.

  • Dirk Eddelbuettel: RcppQuantuccia 0.0.5 on CRAN: Updated and Calendar Focus

    Another new release of RcppQuantuccia arrived on CRAN today, just a couple of days after the previous release. RcppQuantuccia started from the Quantuccia header-only subset / variant of QuantLib which it brings it to R.

    As of this release, it concentrates on calendaring functionality taking advantage of the extensive collection of country-specific holiday information in QuantLib. The release updates the included code to the most recent QuantLib release. We added one calendar (for Brazil) and one utility function (of exporting all business days in a given range, which is the simple complement to the existing holiday list getter).

  • My Favorite Modules: diagnostics | Tom Wyant [blogs.perl.org]

    One of the things the Perl 5 Porters work hard on is issuing diagnostics that are actually diagnostic. I think they do a pretty good job at this, but sometimes I need a bit more explanation than the typical one-line message.

    Now, there is documentation on all of these in perldiag, but paging through that looking for my message is a pain.

    Fortunately, there is a module for that: diagnostics. This module causes diagnostics to be expanded into their full explanation as it appears in perldiag.

    Typically you would not put a use diagnostics; in your Perl code, though of course you could. Instead, you would load it via a command-line option to perl, or maybe via environment variable PERL5OPT.

  • Typeerror: ‘list’ Object is Not Callable [Solved]

    While working in python language, you must have inserted and accessed elements from a list or dictionary several times. We have mainly used the index of that particular element to access it. We must have used the square brackets around the index number to fetch the elements. Whenever a user tries to fetch the list element by using any other brackets, the type error occurs saying: ‘list’ object is not callable. This guide will show how this error occurs and how it could be resolved with a little change using some examples. So, we have been using the Spyder3 python tool to illustrate our examples. Thus, let’s start looking at them.

today's leftovers (mostly programming)

Filed under
Development
  • Turn any device with a browser into a secondary screen with Deskreen!

    Deskreen in action (src. Deskreen) Many computer users require extending their workspace with other monitors, like developers, software engineers, news reporters, and business analysts.

    [...]

    The project is a community-based product, which was released under the AGPL-3.0 License and maintained by a team of professionals.

  • You Can Now Directly Read Data Logs From Tesla Vehicles (Jalopnik) [LWN.net]

    The Jalopnik automotive site has posted an article on a (relatively) new set of open-source tools that can extract log data from Tesla cars.

  • You Can Now Directly Read Data Logs From Tesla Vehicles

    The Netherlands Forensic Institute has reverse-engineered Tesla's file format and released the tools to interpret data...

  • Package updates as a result from the switch to Python 3.10 in Slackware-current

    When Python3 was updated from 3.9 to 3.10 in Slackware-current two weeks ago, lots of 3rd-party packages (i.e. software packages that are not part of the Slackware distro itself) containing python modules were suddenly broken.

    To make things more complex, not all Python software is currently compatible with Python 3.10. Patrick Volkerding opened a poll on LinuxQuestions.org to get feedback from the community about this intrusive update after we already have a Slackware 15.0 Release Candidate since mid-august.
    After all, when you tag a Release Candidate, that usually sends a signal that the software set is frozen and only usability issues and software bugs will be addressed.

    After giving this some time to sink in and hoping that this update would be reverted because of its impact, I now think we are stuck with Python 3.10 in Slackware. Which means I had to start looking at which of my own packages are now broken.

  • Announcing Rust 1.56.0 and Rust 2021 [LWN.net]

    The Rust language project has announced the release of stable version 1.56.0 and the Rust 2021 edition.

  • Announcing Rust 1.56.0 and Rust 2021

    The Rust team is happy to announce a new version of Rust, 1.56.0. This stabilizes the 2021 edition as well. Rust is a programming language empowering everyone to build reliable and efficient software.

  • Federico Mena-Quintero: Text in librsvg starts to get better

    Up to now, text support in librsvg has been fairly limited. The text chapter in the SVG spec is pretty big and it contains features that are very much outside of my experience (right-to-left languages, vertical text). But now I think I have a plan for how to improve the text features.

    [...]

    All those fixes will appear in librsvg 2.52.3, due in a few days.

    I want to add more tests for right-to-left and bidi text; they can be affected by many properties for which there are no tests right now.

    After bidi text works reasonably well, I want to add support for positioning individual glyphs with the x/y/dx/dy properties. People from Wikimedia Commons really want this, to be able to lay out equations and such.

    Once individual glyphs can be positioned independently, maybe textPath support, which cartographers really like for curved labels.

  • Felix Häcker: #14 Well-Rounded

    Update on what happened across the GNOME project in the week from October 08 to October 15.

  • PSA: Plasma Browser Integration Currently Unavailable

    A fix is being worked on, but might take a bit, sorry about that.

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
Syndicate content