Language Selection

English French German Italian Portuguese Spanish

Programming Leftovers

Filed under
Development
  • p6steve: raku at Monterey Docks (part II)
  • Convert a String to JSON Python

    In Python, strings are a series of elements or items. The strings are unchangeable objects. We cannot change the string after their declaration. “JavaScript Object Notation” is the full form of JSON. In Python, the ‘JSON files contain information that is readable for humans. The elements appear in the form of pairs.

    In web APIs, the information we send and receive is usually in the form of a dictionary string. To utilize this information, we extract consequential data. For this, we have to convert this information to dictionary format for more operations. JSON provides several techniques for serializing and deserializing “JSON”. The process of changing the string to “JSON” is called serializing. And the process of converting the JSON to a string is known as deserializing. Serialization is the opposite of deserialization. Several methods are used to convert strings to JSON.

  • How Do You Repeat a String n Times in Python?

    In Python, we utilize the asterisk operator to repeat a string. This operator is indicated by a “*” sign. This operator iterates the string n (number) of times. The “n” is an integer value. After repetition, a new string is created. The operation requires two arguments: a string and an integer value. We multiplied the string by a specific number for the repetition of string n times. Repeating the string merges the copy into an identical string. The asterisk operator repeats the string up to a definite length.

  • How Do I Check If a String Is Empty in Python?

    The strings are unchangeable. We cannot modify the string after defining it. Different operations are performed on strings. If we have a string that contains only whitespaces in it, that string is not considered empty. It contains the size of the non-zero value. So, if len() method and “not” operator is applied on this type of string, it considers whitespace as an element of the string. Sometimes in Python, we want to check whether the specified string is blank or not. To check the emptiness of the given string, use the “not” operator to utilize the variable of string instead of a condition, or utilize the equal operator to match an empty string. Now, we are going to explain numerous methods...

  • Static Method C++

    A method in C++ is also known as a function, and using methods in C++ promotes the concept of modular programming and code reusability. It means the methods that are once written can be called repetitively for as many times as needed without having the necessity of writing them every time.

  • C++ Unsigned Integers

    The integer data type in C++ is further divided into many sub-types. One such sub-type is the unsigned integers. The unsigned integers are capable of storing only the positive whole numbers. The unsigned integers in C++ are preferred while manipulating bits in operating systems since you have limited storage space. Moreover, they can also be used for array indexing since the index of an array can never be negative. This article is devoted to the discussion of the unsigned integers in C++ in Ubuntu 20.04.

  • C++ Getline function

    Getline() is used to get the input string from the user in one or more lines until a special character comes (delimiter). It is a predefined function and uses a library in the program, as its definition is present inside the library’s header file.

  • C++ Pointer Arithmetic

    Within mathematics, we have always used the term raise to the power for calculating a number having some power exponent on it. This can be said as (base number) raise to the power (exponent). How an exponent can be used for raising a number to a certain power in C++ is discussed in this article.

  • Exponents in C++ to Raise a Number in Power

    Within mathematics, we have always used the term raise to the power for calculating a number having some power exponent on it. This can be said as (base number) raise to the power (exponent). So, within today’s article, we will see how an exponent can be used for raising a number to a certain power in C++. Make sure to have a G++ compiler already installed and configured on your Linux operating system. Let’s start implementing today’s article by opening the shell terminal using the shortcut “Ctrl+Alt+T”. As the terminal is opened now, we can start implementing our examples.

  • Bit masking in C++

    Bit masking is a process that is used to access a specific bit in the bytes of data. This phenomenon is used when you are performing the process of iteration. A bitmask is said to be a mask of a sequence of N –bits that are used to encode a part of our collection.

    These elements of the mask can be set or cannot be. There are bitwise operators to create or toggle the bits. These operators are used to turn on the off bit or vice-versa.
    To use the C++ programs in executing them on Linux, you need to have the Ubuntu file configured and in running state. Moreover, the user must have some knowledge of the C++ language. C++ source codes are written in the text editor. Whereas for the execution process, use the Ubuntu terminal.

    A bitmask is also said to be a simple mask that is a sequence of n bits. It encodes the subset of the collection. The element ‘I’ is present in the subset of the ‘ith’ bit is set in the mask. For the set of elements having nth bytes, there are chances of having a 2N mask corresponding to a subset.

  • Deep Copy C++

    The copy means the same to the same replica of an original object. Within programming, there are different methods to create copies of objects. The copy of objects, variables can be done with a copy constructor or using the default assignment operator “=”. Two types of copies can be made within the C++ code, i.e., shallow and deep copy. You can use one to copy any variable or object in the code. When our object has variables that are dynamically allocated throughout the program, we need to create a Deep copy of such type of object. This article will see how a Deep copy can be created in C++.

  • An Introduction to MATLAB: Structure and Application

    Programming is the core of a modern computer. You can not even think of an alive computer without programming. There are several languages to do computer programming, and each of them has its special field. Some are known for scientific computation, and some are specialized for making the building blocks of an operating system. MATLAB is also a very popular programming language. Today we are going to get an absolute introduction to MATLAB and its wide application in today’s world.

    Although there is a wide variety of programming languages available there in the virtual world, we have chosen MATLAB for several important reasons. It is a compact language for heavy-duty works. We are going to discover each and every detail of MATLAB in this journey. Stay with us to learn. The more you know, the more you grow.

GCC and Loongson

  • Loongson Posts Patch Series For Bringing Up LoongArch In GCC Compiler - Phoronix

    China's Loongson continues bringing up LoongArch processor support for Linux with this MIPS64-based ISA now seeing the complete patch series for review to enable the GNU Compiler Collection (GCC).

    For months Loongson has been working on LoongArch support for the Linux kernel to varying extents from the new CPU ISA functionality to copying a lot of existing MIPS64 code and adding in new IDs. That Linux kernel support is still in the works.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

More in Tux Machines

today's leftovers

  • reversing an openbsd kernel syspatch

    OpenBSD has provided binary patches for a select few architectures for a while now, to save users from the daunting task of running make on their own. Alas, this means you might now apply a patch without first reviewing it. In the olden times, you had a source patch, so obviously you meticulously studied every line before application, just like you advised new users on IRC to do. But now, who will believe you do this when the binary syspatch is right there, so easy, so tempting.

  • [GSoC 2022] Ham: A Jam Replacement

    Haiku currently uses a fork of Perforce Jam as its build system. While Jam is a great build system, its legacy codebase makes it difficult to fix bugs or introduce new features.

    Ham is a complete Jam rewrite that was started by Ingo Weinhold, but wasn’t completed. This project starts where Ingo left off to bring Ham to where it can be used as Haiku’s official build system. The new repository can be found here.

  • Daily logging on al-Toril

    What I’m gonna add in is a cheapo A5 notebook. The notebook is a daily log (and by daily, I mean days on al-Toril in the year 1494) that’s strictly for post-hoc. Keeping track of torches & shoes, but also take note of what happens (gonna make writing session reports a li’l easier). A symbol to capture extra-diegetical (real-life) todo-items for me (a square box probably), for example “remember to make a new crafting table for potions” or whatever (sort of like a bujo), and another symbol (maybe just underline) for references to the A7 & A4 loose sheets. So that non-post-hoc, actual prep prep can live there. Things that are actual stuff, forward references, will become cards instead.

    This is also great because I can use shorthand in the daily log (I need to use longhand for prep so that the players can verify stuff, but logs aren’t prep).

Compile GNOME Shell and Apps From Source [Beginner's Guide]

A tutorial on how to compile GNOME from its source, including the shell, mutter and some native apps. Read more

Free Software Leftovers

  • 8 reasons to ditch Chrome and switch to Firefox

    One such option is Firefox. It’s a rare browser not based on Chromium, the project that powers Chrome, unlike other rivals like Edge or Opera. It’s also backed by a team with a long, storied history in browser development and a deep interest in online privacy. As a result, using Firefox can boost your PC’s performance, better protect you on the web, and also make life more convenient, too. You’ll find it offers built-in features that don’t exist in Chrome or otherwise require third-party add-ons.

    Just like we’ve recently done with Vivaldi, the enthusiast’s browser, we’ve highlighted the top 8 reasons to quit Chrome and make the switch to Firefox. Let’s dig in.

  • OpenPGP Email Summit

    During the trip I suddenly remembered that Swiss was not part of the EU, so the roaming rules that apply to all EU countries and that allow EU citizens to use mobile internet and telephony abroad while not having to worry about astronomical bills from their provider would not count. I quickly did some research on how bad it would be. 7cts/10KB. What. The. Fuck. I quickly disabled roaming and mobile internet. Guess I’ll be dependent on the availability of Wifi for the next days. [...] After quickly refreshing, I took the bus to the other end of Geneva to the offices of Proton (formerly Protonmail). They hosted the 6. OpenPGP Email Summit which I was going to attend. When I got to the building, I had to call the office upstairs and one member of the Proton team came down to fetch me. On Thursday we only had an informal meeting of participants that already arrived. The real discussions would take place on Friday and Saturday, although when I entered the office room people already had discussions going. After the meeting we went to a small bar to get some drinks and a small dinner. This being my first OpenPGP meetup (apart from the Sequoia meeting I was invited to some time ago), it was nice getting to know many of the people I already knew from the internet in person.

  • Using Homebrew on M1 Mac

    If you’re coming to M1 Mac fresh, without any old projects or profiles, you probably won’t notice; Homebrew will work as it always has. But if you’re trying to migrate from an Intel Mac you won’t be able to just move packages that were once in /usr/local over to /opt/homebrew. No need to worry though, reinstalling everything on M1 is easy, it just may take a bit of time.

  • Prematurely labelling RSS feeds as inactive

    Please don’t let this be another hang up if you’ve considered writing but are worried about how often you could post. A well written post about a project every other year is already hugely valuable.

  • LinTO: An open-source end-to-end platform for voice-operated solutions

    LinTO a great and efficient assistant, very interesting and intelligent product with many features that have no other any product. It has much grate privacy and security features for businesses meeting and also calling to grow the business. [...] LinTO is released under the GNU Affero General Public Licence V3.

Programming Leftovers

  • A backup is only as good as ...

    Today, while looking at previously-logged data in preparation for consumption of future similar data, I discovered to my horror, that tinylog(8) truncates lines at what I first assumed was 1024 but actually is 1000 bytes.

  • Multiple level filters in jq

    Here's another note-to-self on using jq to shape JSON representations of OData to match what's returned using system query options. Thsi time it's all filtering at two levels.

    In the Back to basics: OData - the Open Data Protocol - Part 3 - System query options live stream last Friday we looked at OData's system query options.

    There was a question at the end about whether it was possible to use the $filter system query option at multiple levels, in an $expand context. I wrote up the question, and a detailed answer (summary: yes) with an example here: Can $filter be applied at multiple levels in an expand?.

  • 0024: HYTRADBOI postmortem, HYTWACFI?, preimp, emergent ventures, data and reality, merkle search trees, readyset, julia compilation times

    Now that all that HYTRADBOI craziness is over I'm focusing on preimp. The goal is to work towards the programming experience that I envisioned for imp, but hack it together in clojure to avoid getting bottlenecked forever on language design.

    So far I have a simple clojure notebook with coarse-grained incremental maintenance. There are data cells that can be mutated by other code, with the changes being persisted back into the cell. The notebook is backed by a simple crdt, so once I finish hooking it up to the server it will allow collaborative editing of code and data. Next step after that is rendering the output values as interactive widgets, and then adding bidirectional editing so that interacting with the widgets for derived views can push changes to upstream data.

  • Parsing JSON faster with Intel AVX-512

    A few years ago, we released a really fast C++ JSON parser called simdjson. It is somewhat unique as a parser in the fact that it relies critically on SIMD instructions. On several metrics, it was and still is the fastest JSON parser though other interesting competitors have emerged.

    Initially, I had written a quick and dirty AVX-512 kernel for simdjson. We never merged it and after a time, I just deleted it. I then forgot about it.

  • "GameShell" interactive game for learning Linux shell commands

    A new project has been released which seeks to teach people how to use a UNIX style shell… via a game-like experience.

  • Best Books on Data Science with Python

    Best Books on Data Science with Python, In the subject of data science, Python is one of the most extensively used programming languages.

    Pandas, NumPy, scikit-learn, Matplotlib, and SciPy are just a few of the Python packages and libraries that are specifically suited for specific functions.

  • AI Attempts Converting Python Code To C++

    [Alexander] created codex_py2cpp as a way of experimenting with Codex, an AI intended to translate natural language into code. [Alexander] had slightly different ideas, however, and created codex_py2cpp as a way to play with the idea of automagically converting Python into C++. It’s not really intended to create robust code conversions, but as far as experiments go, it’s pretty neat.