Language Selection

English French German Italian Portuguese Spanish

Development

PHP Leftovers/Programming

Filed under
Development
  • Use of glob() function in PHP

    glob() function is a built-in PHP function that is used to search the specific files or folders based on the pattern. It returns the file and folder names in an array that matches the pattern. How this function can be used to search the particular files or folders is shown in this tutorial.

  • Use of hash functions in PHP

    Data security is very important for any application. The unauthorized access of the data can damage the valuable data of the application. If the data can be secured by applying proper encryption, then unauthorized access of the data can be prevented. For example, the password of the new user requires to encrypt before storing in the database to prevent unauthorized access of the user easily. One way of encryption is to use the hash function. Many built-in hash functions exist in PHP to encrypt the data. It encrypts the data without changing its original meaning. Some commonly used hash functions of PHP are md5(), sha1(), and hash(). The uses of these functions are explained in this tutorial.

  • Use of getenv() function in PHP

    Environment variables are used in PHP to set up the application and retrieve the different types of data dynamically from the server. The database credentials, API keys, etc., are visible to the code through the environment variable instead of using any configuration file. When any PHP script runs, then it will inherit all required environment variables from the server. There are two ways to read environment variables in PHP. One is getenv() function and another is $_ENV array. The uses of the getenv() function are shown in this tutorial.

  • Use of foreach loop in PHP – Linux Hint

    Many types of loops are supported by PHP. foreach loop is one of them. This loop is mainly used to parse array and object variables. When the total number of array elements is undefined, then it is better to use a foreach loop than another loop. The number of iterations of this loop depends on the number of array elements or the number of properties of the object used in the loop for reading. How this loop can be used for reading array and object variables is shown in this tutorial.

  • Use of PHP Global Variable – Linux Hint

    The variable is used to store any value temporarily in the script. Two types of variables are used in any programming language. These are local and global variables. The variables which are accessible anywhere in the script called global variables. That’s mean the value of the global variables can be accessed or modified inside and outside of the function. But if the name of any global variable is the same as any variable declared inside a function there are some ways to recognize the global variable inside the function. Two types of global variables are used in PHP. One is a user-defined global variable and another is a superglobal variable. Some useful superglobal variables are $_GLOBALS, $_SERVER, $_REQUEST, $_GET, $_POST, $_FILES, $_COOKIE and $_SESSION. How the user-defined global variable can be declared, assigned, and changed inside and outside the function have shown in this tutorial.

  • Use of Heredoc in PHP – Linux Hint

    Heredoc is one of the ways to store or print a block of text in PHP. The data stored in the heredoc variable is more readable and error-free than other variables for using indentation and newline. How the heredoc content can be stored in a variable or printed has shown in this tutorial.

  • Retrieve the Full URL in PHP – Linux Hint

    Two types of global variables can be used in PHP: the superglobal variable and the user-defined variable. $_SERVER is a superglobal array variable that is used to retrieve the full path of the current page. The protocol (HTTP or HTTPS) of the URL is also required to get the full URL of the page. If $_SERVER[‘HTTPS’] returns ‘on’, then HTTPS will be used with the URL address, otherwise, HTTP will be used. How the full URL address of the current page can be retrieved using the $_SERVER array has been explained in this tutorial.

Joey Hess: Withdrawing github-backup

Filed under
Development
Microsoft

If the farce of youtube-dl being removed from github, thus losing access to all its issues and pull requests, taught us anything, it's that having that happen does not make many people reconsider their dependence on github.

[...]

That seems like something it might be worth building some software to manage. But it's also just another case of Github's mass bending reality around it; the average Github user doesn't care about this and still gets archived; the average self-hosting git user may care about this slightly more, but most won't get archived, even if that software did get built.

Read more

Programming Leftovers

Filed under
Development
  • Excellent Free Tutorials to Learn Agda - LinuxLinks

    Agda is a dependently typed functional programming language based on intuitionistic type theory. Type theory is concerned both with programming and logic.

    Agda is an extension of Martin-Löf’s type theory, and is the latest in the tradition of languages developed in the programming logic group at Chalmers. It has inductive families, i.e., data types which depend on values, such as the type of vectors of a given length. It also has parametrised modules, mixfix operators, Unicode characters, and an interactive Emacs interface which can assist the programmer in writing the program. Other languages in this tradition are Alf, Alfa, Agda 1, Cayenne. Some other loosely related languages are Coq, Epigram, and Idris.

    This language is also a proof assistant based on the propositions-as-types paradigm, but has no separate tactics language, and proofs are written in a functional programming style.

    Agda is open-source and enjoys contributions from many authors. The center of the Agda development is the Programming Logic group at Chalmers and Gothenburg University.

    Here’s our recommended tutorials to learn Agda.

  • Rakudo Weekly News: 2020.52 ReReRevolution!

    Jonathan Worthington describes the road from the first release five years ago of what is now Raku in Reminiscence, Refinement, Revolution. Reminiscing on the torture of core developers, remaking design decisions, but also about the forging of lifetime friendships. An inspiring blog post in these dark times (/r/rakulang comments)!

  • Perl weekly challenge 93

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

  • Show progress in your Python apps with tqdm | Opensource.com

    Most programs have a clear goal, a desired end state. Sometimes, calculating that end state can take a long time. While computers don't care, not having feelings, people do. Humans are not happy sitting around waiting without any visible sign of progress. Doubt creeps in. Has the program crashed? Is the disk thrashing? Did the operating system allocate all its computing resources to other tasks?
    Like justice, progress must be seen, not merely done. The tqdm Python library helps make progress explicit.

    The tqdm module works with the console, but it also has special support for one of my favorite environments: Jupyter. To use tqdm in Jupyter, you need to import the notebook submodule and have ipywidgets installed. The notebook submodule is interface-compatible with tqdm

  • Rust Language 2020 Survey Results

    When asked how to improve adoption of Rust, 15 percent of respondents said they would use Rust more if it were “less intimidating, easier to learn, or less complicated.”

    According to respondents, the most difficult aspect to learn is lifetime management with 61 percent stating that using lifetimes is either tricky or very difficult.

  • [Rust] 1.49.0 pre-release testing

    The 1.49.0 pre-release is ready for testing. The release is scheduled for this Thursday, December 31st. Release notes can be found here.

  • Please welcome cjgillot and Nadrieril to compiler-contributors

    Please welcome @cjgillot and @Nadrieril to the compiler-contributors group!

    @cjgillot has been working to improve the query system used internally in rustc which powers incremental compilation. Some of their improvements have been to reduce unnecessary work performed during incremental compilation, leading to faster builds. Other improvements have made the query system leaner allowing rustc to bootstrap faster. @cjgillot has also made many tweaks and optimizations to the query system.

  • Philip Chimento: Advent of Rust 25: Baby Steps

    It’s the final post in the series chronicling my attempt to teach myself the Rust programming language by solving programming puzzles from Advent of Code 2020.

    [...]

    Today’s puzzle is about cracking an encryption key, in order to get at a piece of secret information (called loop size in the puzzle) by taking a piece of known public information (public key) and reversing the algorithm used to generate it. Of course, the algorithm (called transform subject number) is not easy to reverse, and that’s what the puzzle is about.

  • How to use a functional interface in Java

    A functional interface is an interface that contains a single abstract method. It is used as the basis for lambda expressions in functional programming.

    Such an interface may contain also other non-abstract methods even though this is not considered a good practice. Also, the notation @FunctionalInterface is optional but it will ensure that the intention of the interface is clear and the Java compiler will make sure the code conforms to the rules for functional interfaces.

Git v2.30.0

Filed under
Development

The latest feature release Git v2.30.0 is now available at the
usual places.  It comprises 495 non-merge commits since
v2.29.0, contributed by 83 people, 29 of which are new faces.

The tarballs are found at:

    https://www.kernel.org/pub/software/scm/git/

The following public repositories all have a copy of the 'v2.30.0'
tag and the 'master' branch that the tag points at:

  url = https://kernel.googlesource.com/pub/scm/git/git
  url = git://repo.or.cz/alt-git.git
  url = https://github.com/gitster/git

New contributors whose patches weren't in v2.29.0 are as follows.
Welcome to the Git development community!

  Alexey, Amanda Shafack, Arusekk, Baptiste Fontaine, Bradley
  M. Kuhn, Caleb Tillman, Charvi Mendiratta, Daniel Duvall,
  Daniel Gurney, Dennis Ameling, Javier Spagnoletti, Jinoh Kang,
  Joey Salazar, Konrad Borowski, m4sk1n, Marlon Rac Cambasis,
  Martin Schön, Michał Kępień, Nate Avers, Nipunn Koorapati,
  Rafael Silva, Robert Karszniewicz, Samuel Čavoj, Sean Barag,
  Sibo Dong, Simão Afonso, Sohom Datta, Thomas Koutcher, and
  Victor Engmark.

Returning contributors who helped this release are as follows.
Thanks for your continued support.

  Adam Spiers, Ævar Arnfjörð Bjarmason, Alexander Shopov, Alex
  Vandiver, Arnout Engelen, brian m. carlson, Christian Couder,
  Chris. Webster, David Aguilar, Denton Liu, Derrick Stolee,
  Dimitriy Ryazantcev, Đoàn Trần Công Danh, Drew DeVault,
  Elijah Newren, Emily Shaffer, Emir Sarı, Eric Sunshine, Felipe
  Contreras, Han-Wen Nienhuys, Jean-Noël Avila, Jeff Hostetler,
  Jeff King, Jiang Xin, Johannes Berg, Johannes Schindelin,
  Jonathan Tan, Jordi Mas, Josh Steadmon, Junio C Hamano,
  Kyle Meyer, Martin Ågren, Matheus Tavares, Matthias Rüster,
  Nicolas Morey-Chaisemartin, Patrick Steinhardt, Peter Kaestle,
  Peter Krefting, Philippe Blain, Phillip Wood, Pranit Bauva,
  Pratyush Yadav, Ramsay Jones, Randall S. Becker, René Scharfe,
  Sergey Organov, Serg Tereshchenko, Srinidhi Kaushik, Stefan
  Haller, Štěpán Němec, SZEDER Gábor, Taylor Blau, Trần
  Ngọc Quân, and Yi-Jyun Pan.

Read more

Also: Git 2.30 Released As More Projects Shift To "Main" As Their Default Branch Name - Phoronix

Programming Leftovers

Filed under
Development
  • GnuCash 4.3 - Neowin

    GnuCash is a personal and small business finance application, freely licensed under the GNU GPL and available for GNU/Linux, BSD, Solaris, Mac OS X and Microsoft Windows. It’s designed to be easy to use, yet powerful and flexible. GnuCash allows you to track your income and expenses, reconcile bank accounts, monitor stock portfolios and manage your small business finances. It is based on professional accounting principles to ensure balanced books and accurate reports.

  • Practice programming in C++ by writing a simple game

    There are a couple of ways to learn a programming language. If you're new to coding, you usually learn some basic computer coding concepts and try to apply them. If you already know how to code in another language, you relearn how coding concepts are expressed in the new language.

    In either case, a convenient way to learn these new principles is to create a simple guessing game. This forces you to understand how a language receives input and sends output, how it compares data, how to control a program's flow, and how to leverage conditionals to affect an outcome. It also ensures that you know how a language structures its code; for instance, Lua or Bash can easily run as a script, while Java requires you to create a class.

  • vrurg: Runtime vs. Compilation, Or Reply \#2

    The friendly battle continues with the next post from Wenzel where he considers different cases where strict typechecking doesn’t work. The primary point he makes is that many decisions Raku makes are run-time decisions and this is where static typechecking doesn’t work well. This is true. But this doesn’t change the meaning of my previous post.

    [...]

    Just to sum up the above written, Wenzel is right when he says that coercion is about static type checking. It indeed is. For this reason it ought to be strict because this is what we expect it to be.

    It is also true that there’re cases where only run-time checks make it possible to ensure that the object we work with conforms to our requirements. And this is certainly not where coercion comes into mind. This is a field of dynamic transformations where specialized routines is what we need.

  • Learn Python by coding a simple game

    In this series, we're writing the same application in different programming languages to compare how various languages work and to show how using a standard test program is a great way to learn new ways to program.

    When you learn a new programming language, it's good to focus on the things they have in common. Variables, expressions, and statements are the basis of most programming languages. Once you understand these concepts, you can start figuring the rest out.

  • Philip Chimento: Advent of Rust 24: A Hexagonal Tribute to Conway

    Today in the penultimate post from the chronicle of teaching myself the Rust programming language by doing programming puzzles from Advent of Code 2020: a hexagonal grid, and another homage to Conway, this time unexpected.

Linux Kernel 5.11 rc1 Released with many AMD changes

Filed under
Development
Linux
News

The merge window for Linux Kernel 5.11 is closed and with that, Linux Kernel 5.11 rc1 (release candidate) is now released for testing. This release brings many new features and improvements.
Read more

Programming Leftovers

Filed under
Development
  • Intel oneAPI DPC++ Compiler 2020-12 Released - Phoronix

    Intel's open-source oneAPI Data Parallel C++ compiler saw a Christmas Day update with the 2020-12 monthly update. 

    Intel's oneAPI DPC++ Compiler is their LLVM Clang based compiler focused on supporting their Data Parallel C++ dialect of C++ focused for heterogeneous programming from CPUs to GPUs and other possible accelerators like FPGAs. Friday's release was the monthly update to this open-source compiler stack focused on the C++ and SYCL support. 

  • How to Teach Your Child to Code During Lockdown

    Given how the world is becoming more technologically advanced, teaching your child to code is a vital and necessary element of their education. Here we show you how to teach your child to code while they’re in lockdown. The advice here is just as valid for improving your children’s coding knowledge, even if “stay in place” orders have been lifted where you are.

  • C++ Namespace

    A namespace in C++ is a generalized scope. Its declaration begins with the reserved word, namespace, followed by a name of the programmer’s choice, and then the block in braces. The block contains basic declarations and/or definitions of C++ objects, functions, and other entities.

    [...]

    An attempt to compile this program leads to a compilation error. There are two variables with the same name, varId. Though they are two different variables of two different types, int and float, the compiler rejects the two declarations because they are of the same name. The following program solves this problem by declaring the variables with the same name in two different generalized scopes...

  • Try GNU nano, a lightweight alternative to Vim | Opensource.com

    Many Linux distributions bundle Vim as their default text editor. This appeals to many longtime Linux users, and those who don’t like it can change it promptly after install anyway. Vim is a funny editor, though, as it’s one of the few that opens to a mode that doesn’t permit text entry. That’s a puzzling choice for any user, and it’s confusing for a new one.

    Thanks to GNU nano, there’s a common alternative to Vim for a lightweight terminal-based text editor, and it’s so easy to use—it has its most important commands listed at the bottom of its window.

  • Excellent Free Tutorials to Learn Alice - LinuxLinks

    Alice is an object-based, open source, educational programming language with an integrated development environment (IDE). Alice uses a drag and drop interface that allows users to create 3D animations, stories and video games.

    Alice is used by teachers at all levels from middle schools (and sometimes even younger) to universities, in school classrooms and in after school and out of school programming, and in subjects ranging from visual arts and language arts to the fundamentals of programming and introduction to Java courses.

    Alice exists in two versions. According to the makers, children are recommended to use the older version 2. This version teaches logical thinking and the basics of programming. The new version 3 focuses on object-oriented programming.

  • Assumed predictability | Playing Perl 6␛b6xA Raku

    Vadim does not agree with me. Nor should he. I hardly ever agree with myself. Also, I’m happy for his disagreement because it allows me to write about a topic that I got in the queue for quite some time.

    The basic statement is that enforcing types allows reasoning about interfaces at compile time and maybe even earlier — at brain time. A reasonable thing to do in a statically typed language. When objects are involved, Raku does plenty of its thinking at runtime. Let’s have a look at two examples.

  • On Coercion Method Return Value - LFlat, The Home of Vrurg

    As Wenzel P.P. Peppmeyer continues with his great blog posts about Raku, he touches some very interesting subjects. His last post is about implementing DWIM principle in a module to allow a user to care less about boilerplate code. This alone wouldn’t make me writing this post but Wenzel is raising a matter which I expected to be a source of confusion. And apparently I wasn’t mistaken about it.

  • Perl Weekly Challenge 92: Isomorphic Strings and Insert Intervals

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

  • Misusing newSVpv | The Incredible Journey

    I managed to cause another set of obscure bugs by misusing newSVpv. The goal of this code is to split the RGB and the alpha (transparent) part of a PNG image, for the use of the PDF::Builder module on CPAN.

    Here the SV in newSVpv is "scalar value", and the "pv" means "string". My code says this:

    sv = newSVpv ("", len);
    and it causes the crash on Solaris and other operating systems because the above statement is a bad idea. What happens is that Perl copies "len" bytes from my string, where "len" might be a very large number, for a large PNG image, but I've given it the string "" to copy from. So Perl tries to copy from uninitialised, or possibly even inaccessible, parts of the computer's memory. I found out my error only after almost giving up, by using valgrind to look for memory errors.

Programming Leftovers

Filed under
Development
  • How to convert a JSON object to String in Javascript

    Suppose you have a JSON object and you want to make this JSON object a String in javascript.

    To do this, just use the method JSON.stringify(given_text), passing the string as a parameter.

  • Looking at Vue

    All applications are more or less connected today. The time of files on a disk, or moving them with a USB stick (or floppy) are over. Even file based programs are often synced using Nextcloud, dropbox, google drive, etc.

    At Eperoto I’m busy building a backend for a React frontend, but there I stay in my comfort zone at the backend. It is Python, databases and files, just as I know and like things to be. I also have my normal toolbox for debugging and know how to execute a rich set of unit and integration tests to ensure that things stay sane over time.

    However, I have another side project. Finally I’ve reached a point where have to do take a dip in the sea of web frontend. I don’t mean messing about with the odd Javascript snippet or fighting the windmil^Wcss.

  • Eagle's Path: DocKnot 4.00 (2020-12-25)

    This release of my static site generator and software release management tool is finally at a point where I'm happy with some of the interface and think that piece may be stable for a while.

    This release converts the package metadata format from JSON to YAML and cleans up a bunch of organizational errors I made when I designed it originally. That also means that the entire metadata is now in a single file, docs/docknot.yaml by convention, instead of needing a whole directory of files. (This comes with the minor drawback that one edits Markdown in text blocks in YAML, which has somewhat less editor support, but it works fine for me.)

    There's a whole other blog post in how I've now tried many different markup formats, including TOML, and have decided YAML is the best one around if you want humans to be able to write it. (JSON or Protobuf is probably best if you only care about information exchange between software.) The short version is that YAML is way too large of a language and very painful to fully implement, but everything else fails to deal with one or more hard problems: nested structure, multi-line text, comments, or not requiring tedious quoting of everything. I'll be converting other software I maintain over to YAML with time.

  • gfldex: Coercive files

    Many APIs have a routine or two that take a file as an argument. In Raku we can easily turn Str into IO::Path and subsequently into IO::Handle. As a module author it’s a polite move to provide MMD variants, so the user can supply what they like.

  • Improvements to IntelliJ/PyCharm support for Debian packaging files

    I have updated my debpkg plugin for IDEA (e.g. IntelliJ, PyCharm, Android Studios) to v0.0.8. Here are some of the changes since last time I wrote about the plugin.

Ruby 3.0.0 Released

Filed under
Development

We are pleased to announce the release of Ruby 3.0.0. From 2015 we developed hard toward Ruby 3, whose goal is performance, concurrency, and Typing. Especially about performance, Matz stated “Ruby3 will be 3 times faster than Ruby2” a.k.a. Ruby 3x3.

Read more

Programming Leftovers

Filed under
Development
  • How Do I Merge One Branch to Another with Git?

    One of the most powerful Git’s features is the branch creation and merge operation. Git allows users to create a new branch and merge them into the development code. This feature improves the workflow of the development process for various projects by encouraging more focused, smaller, and granular commits.

    In most of the legacy version control systems such as CVS in which the difficulty of merging restricted it to advance users. The modern centralized version control system like subversion requires commits to be made on the central repository. When talking about Git, we have to create a new branch code to add a new feature or bug fix.

    In this article, we will show you how to create a new branch, add commits to new features, and merge master with a new branch.

  • Show Git Tree in Terminal

    The git log command is a useful command that allows you to look at Git commits history. However, this text-based log may not be preferred by most users, since the output can be very difficult and complex to visualize and interpret. A more visually appealing way to present this log is in the form of a Git tree. This article describes several methods that you can use to create a Git tree in the terminal in Ubuntu 20.04.

  • How to use heredoc as a text editor | Opensource.com

    There’s a somewhat obscure feature in Linux and Unix shells that allows you to open a sort of do-while loop for the cat command. It’s called the heredoc, and it enables you to have, more or less, a text editor no matter what shell you’re using.

  • Wasmer 1.0 RC1 Released For Running WebAssembly On The Desktop Or Anywhere

    It's looking like Wasmer 1.0 will be released early in the new year as the open-source WebAssembly run-time for desktops or to run WASM code anywhere as a "universal runtime" in contexts outside of the web browser.

    [...]

    This Rust-based WebAssembly implementation has seen a few low-level changes and a couple fixes to comprise the 1.0-RC1 release. This should be the Wasmer 1.0.0 API barring any last minute issues coming up.

  • control-archive 1.9.0

    This release switches to gpg1 in order to support older keys and produces better diagnostics when the X-PGP-Sig header is invalid because it's missing the useless version field. It also includes various hierarchy metadata updates, including adding rocksolid.*, removing dictator.* at its maintainer's request, and updating the fr.* key.

  • Intel Preparing Linear Address Masking Support (LAM)

    A few days ago there was a glibc commit mentioning Intel "LAM" and now the updated Intel documentation sheds more light on this forthcoming processor feature.

    Intel updated their programming reference manual this week with new features coming to future Intel CPUs. This includes outlining Intel LAM to shed more light on it. The December 2020 update also includes updates to the Enhanced Hardware Feedback Interface as well as a chapter on new error codes for Sapphire Rapids processors. The Enhanced Hardware Feedback Interface functionality was talked about a few months ago.

  • 3 critical [buzzword] concepts we explored in 2020

    Looking back through Opensource.com's articles about [buzzword] in 2020, there was a bit of something for everyone—from people starting the [buzzword] journey to seasoned [buzzword] veterans. The articles focused on testing, software methodologies, and [buzzword]' most important part: the people. Here are the top 10 [buzzword] articles of 2020.

  • Day 25: Reminiscence, refinement, revolution – Raku Advent Calendar

    Christmas day, 2015. I woke up in the south of Ukraine – in the very same apartment where I’d lived for a month back in the spring, hacking on the NFG representation of Unicode. NFG was just one of the missing pieces that had to fall into place during 2015 in order for that Christmas – finally – to bring the first official release of the language we now know as Raku.

    I sipped a coffee and looked out onto a snowy courtyard. That, at least, was reassuring. Snow around Christmas was relatively common in my childhood. It ceased to be the year after I bought a sledge. I opened my laptop, and took a look at the #perl6-dev IRC channel. Release time would be soon – and I would largely be a spectator.

    My contributions to the Rakudo compiler had started eight years prior. I had no idea what I was getting myself into, although if I had known, I’m pretty sure I’d still have done it. The technical challenges were, of course, fascinating for somebody who had developed a keen interesting in languages, compilers, and runtimes while at university. Larry designs languages with an eye on what’s possible, not on what’s easy, for the implementer. I learned, and continue to learn, a tremendous amount by virtue of working on Raku implementation. Aside from that, the regular speaking at workshops and conferences opened the door to spending some years as a teacher of software development and architecture, and after that left me with a wealth of knowledge to draw on as I moved on to focus on consultancy on developer tooling. Most precious of all, however, are the friendships forged with some of those sharing the Raku journey – which I can only imagine lasting a lifetime.

  • 35 Data Science Python Libraries for Scientists

    Python is an interpreted general-purpose programming language. It is used for web development, desktop application development, system scripting and automation.

    It is a high-level language created in the early 1991 by Guido van Rossum and maintained by Python Software Foundation.

    The language is easy to learn which makes it suitable for beginners and students. We recommended it for teens and children in this article. It also works on different platforms and operating systems like Windows, Linux, macOS and Raspberry Pi.

    Python can be treated in a functional, object-oriented or procedural way.

    The current and most active Python version is Python 3. However, some applications and frameworks are still using Python 2.7.

  • How to Create a Simple Application in Go Language

    This article will cover a tutorial on creating a simple “Hello World” application in Go programming language. All code samples and commands in this article are tested with the Go language version 1.14.7 on Ubuntu 20.10.

  • Philip Chimento: Advent of Rust, Day 22 and 23: Profiling, Algorithms, and Data Structures

    It’s that time again, time for a new post in the chronicle of me teaching myself the Rust programming language by solving programming puzzles from Advent of Code 2020.

Syndicate content

More in Tux Machines

Type Title Author Replies Last Postsort icon
Story Security Leftovers Roy Schestowitz 1 26/01/2021 - 4:55am
Story OpenSUSE: YaST Development Sprint and Digest of YaST Development Sprint Roy Schestowitz 26/01/2021 - 4:48am
Story The 10 Best Linux Server Distributions [2021 Edition] Roy Schestowitz 26/01/2021 - 4:42am
Story openSUSE "Leap" 15.2 - Any Good? Roy Schestowitz 26/01/2021 - 4:39am
Story Linux Kernel and Linux Foundation Roy Schestowitz 26/01/2021 - 4:34am
Story Devices and Open Hardware Leftovers Roy Schestowitz 26/01/2021 - 4:30am
Story 4MLinux 35.1 released. Roy Schestowitz 26/01/2021 - 4:25am
Story NumPy (Python) Series Roy Schestowitz 1 26/01/2021 - 4:24am
Story GNOME 40 Alpha Released for Public Testing with New Activities Overview Design Marius Nestor 1 26/01/2021 - 4:16am
Story today's howtos Roy Schestowitz 26/01/2021 - 4:09am