Language Selection

English French German Italian Portuguese Spanish

Development

Programming/Development Leftovers

Filed under
Development
  • A little update from Stack Overflow

    When I saw Stack Overflow Chief Product Officer (CPO) Teresa Dietrich on the list of speakers at the All Things Open conference this year, I jumped at the chance to get an update.

    We all know the value of Stack Overflow: the information that's been created there over the past twelve years is nothing short of vital for programmers, developers, and other technologists. Just the other day one of our contributors shared how critical it was to his process for starting to learn a new programming language quickly.

    Teresa and her team are laser-focused on what Stack Overflow can do for teams of developers and operations folks these days, so I asked questions around her understanding of where Stack Overflow has been and where they are now during a global pandemic in order to maintain and grow a healthy Q&A platform.

    What does Stack Overflow mean to developers today? What was it like 10 years ago?

  • Dirk Eddelbuettel: #31: Test your R package against bleeding-edge gcc

    Welcome to the 31th post in the rapturously rampant R recommendations series, or R4 for short. This post will once again feature Docker for use with R.

    Earlier this week, I received a note from CRAN about how my RcppTOML package was no longer building with the (as of right now of course unreleased) version 11 of the GNU C++ compiler, i.e. g++-11. And very kindly even included a hint about the likely fix (which was of course correct). CRAN, and one of its maintainers in particular, is extremely forward-looking in terms of toolchain changes. A year ago we were asked to updated possible use of global variables in C code as gcc-10 tightened the rules. This changes is a C++ one, and a fairly simple one of simply being more explicit with include headers. Previous g++ release had done the same.

    The question now was about the least painful way to get g++-11 onto my machine, with the least amount of side-effects. Regular readers of this blog will know where this is headed, but even use of Docker requires binaries. A look at g++-11 within packages.debian.org comes up empty. No Debian means no Ubuntu. But … there is a PPA for Ubuntu with toolchain builds we have used before. And voilà there we have it: within the PPA for Ubuntu Toolchain repository is the volatile packages PPA with both g++-10 and g++-11. Here Ubuntu 20.10 works with g++-10, but g++-11 requires Ubuntu 21.04. Docker containers are there for either. So with the preliminaries sorted out, the key steps are fairly straightforward:

  • Advent of Code and Learning

    So, I decided to do Advent of Code this year too. I usually get stuck part of the way, but I still think that it is a fun exercise.

    This year the plan is to use python and pytest the whole way through. Every day that i learn something that I want to remember, I add a til.txt file in that sub-directory. You can follow my progress and learnings in the git repository.

  • AMD Sends Out Zen 3 Compiler Support For GCC + AOCC 2.3 Compiler Released

    Following last month's release of the Ryzen 5000 "Zen 3" processors, AMD has now begun publishing their official compiler support for this extremely compelling processor family.

    For as extremely great as Zen 3 is, it's the belated compiler support as one of the few critiques we've had -- normally on the Intel side they are often plumbing their compiler targets and new instruction set extension support a year or more ahead of CPU launches (e.g. the most recent example back in July Intel added Alder Lake and Sapphire Rapids to GCC), and that's for when those processors are shipping on schedule. Having the compiler support out well ahead of the launches ensure the support is worked into stable compiler releases by the time the CPUs ship and ideally already used as the default compiler version in major Linux distribution releases. Intel generally remains spot-on in that regard while AMD has been much tighter -- or in the case of Zen 3, basically one month after launch.

  • The Time I Stole $10,000 from Bell Labs

    I worked at Bell Labs in New Jersey from 1994 to 2000. I was a systems administrator on a team of people charged with maintaining thousands of computers and the network that connected them. It was intimidating to be surrounded by so many brilliant scientists and engineers, many of whom had written the textbooks I used in college.

    One day, I had to make a configuration change to the central router. It is difficult to measure the size of a change. I could say it was a tiny change in that it affected only a few lines of the router's configuration file. On the other hand, it was a big change in that it impacted a network used by thousands of users. It was an important change because an important project was blocked waiting for it to be completed.

    I typed the commands to alter the configuration, saved the new configuration, and checked the things I usually check. The change was a success... or so I thought.

    Proud of myself, I moved on to other work. A little while later I couldn't connect to most machines on the network. Neither could anyone else. I panicked. Could my change have caused that? Impossible! That was nearly an hour ago.

    No, it was definitely my change. There are some typos that don't show any ill effects right away. In this case, a cache was held for 45 minutes. At 46 minutes the router was a very expensive box doing nothing.

  • Godot docs improvements report

    Some of you like the docs for what it covers already; others dislike it for what it lacks.

    The team's well-aware there is always room for improvement, and so they hired me to work part-time since September.

    My job was to take the maintainer's role for about two months and tackle some high-priority tasks. As such, I got to do a mix of reviews, editing, writing new content, and maintenance.

    Here's a report on the changes and the new content you can already enjoy today.

    In everything I wrote or edited, the goal was to simplify the language, improve precision, organize the information, and generally enhance your experience reading the docs.

    Note: you can find the changes in the bleeding-edge manual. We haven't back-ported them to the "stable" documentation yet as there are over 100 pages to redirect. More on that below.

  • POCL 1.6-RC1 Released With Better CUDA Performance - Phoronix

    POCL as the "Portable Computing Language" that implements OpenCL and allows it to function atop CPUs as well as CUDA-enabled NVIDIA GPUs, HSA-supported AMD GPUs, and other possible back-ends, is preparing for a new feature release.

    On Wednesday marked the release of POCL 1.6-RC1 as the test release for the next update to the Portable Computing Language.

  • It's templates all the way down - part 3

    In Part 1 I've shown you how to create your own distribution image using the freedesktop.org CI templates. In Part 2, I've shown you how to truly build nested images. In this part, I'll talk about the ci-fairy tool that is part of the same repository of ci-templates.

    When you're building a CI pipeline, there are some tasks that most projects need in some way or another. The ci-fairy tool is a grab-bag of solutions for these. Some of those solutions are for a pipeline itself, others are for running locally. So let's go through the various commands available.

  • gfldex: But what about eigenstates?

    I wanted Shell::Piping to be able to deal better with STDERR because ffmpeg is outputting both status reports and errors to STDERR. In this case Capture will contain tons of stuff that is not an error message. So I need to be able to collect only a last few lines. Adding another adverb didn’t have much appeal because Shell/Piping.raku contains 21 multi candidates for infix:<|»>. I want to Capture, but only 2 lines. Using :stderr(Capture but 2)looks cool and is easy to implement. Since Capture is not a decent of Cool it doesn’t come with .Int, unless we mix 2 in. Then we can if-branch on my $limit = $stderr.?Int. That’s good because $stderr ~~ Int:D does not work and Metamodel::Mixins is not helpful either.

  • Day 4: Parsing Clojure namespace forms using Raku grammars – Raku Advent Calendar

    One day, I started wondering if it would be possible to parse Clojure namespace forms and generate a dependency graph of the various namespaces used in a real-world Clojure project. While that was the original motivation, I ended up down the Raku grammar rabbit hole, and had an enjoyable time learning how to use them. I’m glad you’re joining me in reliving that journey.

    [...]

    Informally speaking, grammars can be thought of as a set of rules that describe a language. With these rules, one can meaningfully parse (to make sense of, or deconstruct into its grammatical components) a piece of text. It turns out that this is a common task in computing. We need to frequently translate programs from one language to another. This is the job of a compiler. Before being able to translate it, the compiler needs to know whether the original program is even valid, according to the language’s grammar.

    While we have explained in theory what grammars are, Raku grammars help us model abstract grammars as a programming construct (the grammar keyword and its adjacent helpers) using which we can perform parsing tasks. It is important to understand this distinction.

    First class grammars are considered one of the revolutionary features of Raku. Normally, you’d find grammars as a library or a standalone tool, but Raku has embraced it wholesale, and has a powerful implementation of grammars which makes light work of most parsing tasks.

  • Sam Thursfield: Beginning Rust

    I have the privilege of some free time this December and I unexpectedly was inspired to do the first few days of the Advent of Code challenge, by a number of inspiring people including Philip Chimento, Daniel Silverstone and Ed Cragg.

    The challenge can be completed in any language, but it’s a great excuse to learn something new. I have read a lot about Rust and never used until a few days ago.

    Most of my recent experience is with Python and C, and Rust feels like it has many of the best bits of both languages. I didn’t get on well with Haskell, but the things I liked about that language are also there in Rust. It’s done very well at taking the good parts of these languages and leaving out the bad parts. There’s no camelCaseBullshit, in particular.

  • Advent of Rust 3: Once in ‘a Lifetime

    Well, this is another long stream-of-consciousness chronicle of my attempt to learn how to program in Rust by doing the daily programming puzzles on Advent of Code 2020. It’s long, but on the plus side, this is the first time ever that I’ve published two blog posts in two days, let alone three in three days. And you know what they say, if I’d had more time, I would’ve written you a shorter letter.

    I thought a bit about why it should even be interesting or valuable to write about my mistakes and thought process. Or put more bluntly, isn’t this just a waste of time? Who is this useful for?

    Well, for one thing, at my job I’ve been working on Temporal, a standards-track proposal to add a modern API for dates and times to the JavaScript language. Earlier this year I conducted a survey of people who had tried out the proposed Temporal API, and one of the purposes was to try to figure out what was easy to understand and what was hard, for someone coming to Temporal with no prior knowledge. Even though I had been in exactly that position myself only a few months before, I had become so accustomed to using Temporal that I could literally remember nothing of my own experience.

    It’s sometimes called the curse of knowledge. I’m sure I will look back in a year, or two years, when I have written lots of Rust code, and not remember any of this either, and I’ll be glad that I wrote it down. But maybe it’ll be valuable in the meantime to someone else!

Programming/Development Leftovers

Filed under
Development
  • 6 Essential Python Tools for Data Science

    Data science is an emerging, multidisciplinary field of scientific methods, processes, algorithm development and technology to extract knowledge or insights in ingenious ways from structured or unstructured data.

    At the heart of data science is data. Buckets loads of it, streaming in and stored in enterprise data warehouses. According to IBM, globally, we currently generate over 2.5 quintillion bytes of data every single day.

  • Day 3: Literate Programming with Raku – Raku Advent Calendar

    Different programming language communities have differing cultures. Some are more pragmatic, others more idealistic. Some place great emphasis on having code be thoroughly readable and understandable for anyone who joins an existing project, and some prefer writing out clear and in-depth documentation.

    Raku, inheriting one of the best parts of Perl, has a community that writes great documentation.

  • C++20 Is Still Settling While LLVM Clang Already Adds Option For Starting C++2b/C++23 - Phoronix

    It was just in September that the C++20 standards draft was approved as a major update to the programming language over C++17. While compilers like GCC and LLVM Clang are still completing all of the changes for C++20 support, Clang is already moving ahead and has added support for the "-std=c++2b" option as it begins the endeavor of staging changes likely for C++23.

    Clang currently implements much of C++20 but some items around concepts remain along with work on modules, and other smaller features as outlined via the Clang C++ status page.

  • plocate 1.1.0 released

    I've released version 1.1.0 of plocate. The major new feature is that it now ships its own updatedb; I imported a fair amount of code from mlocate's updatedb (which makes the updatedb implementation GPLv2, unlike the rest of plocate, which is GPLv2+), reworked it heavily and made it read and write plocate databases. The databases need a little extra data, which increases their size by 1% or so, but that's well worth it, because now no longer need the mlocate database; those are typically more than twice the size of plocate's database. Obviously, this also removes the dependency on mlocate.

  • Get the most out of the Vi text editor

    Whether you know it as Vim, Neovim, gVim, nvi, or even Elvis, the quintessential Unix editor is easily Vi. Included in probably every Linux and BSD distribution, Vi is a lightweight and minimalist text editor that many users love for its simple and succinct keyboard shortcuts and dual-mode design.

    The original Vi editor was an application written by Bill Joy, creator of the C shell. Modern incarnations of Vi have added many features, including multiple levels of undo, better navigation while in insert mode, line folding, syntax highlighting, plugin support, and much more. Vim is regarded as the most popular modern implementation, and most people actually mean Vim when they refer to Vi.

    All incarnations hearken back to the same goal, though, so this article looks at Vi in a generic sense. The implementation on your computer may differ slightly, but you can still benefit from editing text the Vi way.

  • Jonathan Dowland: OpenJDK Author

    I have recently become an OpenJDK Author. Practically this means I can query the Java Bug Database directly, and I can author Mercurial for committing to the relevant OpenJDK project myself, rather than needing sponsors in both cases.

  • RcppTOML 0.1.7: Support for g++-11, Minor Updates

    TOML is a file format that is most suitable for configurations, as it is meant to be edited by humans but read by computers. It emphasizes strong readability for humans while at the same time supporting strong typing as well as immediate and clear error reports. On small typos you get parse errors, rather than silently corrupted garbage. Much preferable to any and all of XML, JSON or YAML – though sadly these may be too ubiquitous now. TOML has been making inroads with projects such as the Hugo static blog compiler, or the Cargo system of Crates (aka “packages”) for the Rust language.

  • CMake: Use new style imported targets to link libraries
  • Still on Github

    But for the people who don’t agree with me and think Free Software needs free tools – I say awesome. I am very glad you exist, and really there’s about 20% of me that also agrees. That part of me is happy when I come across projects hosted in e.g. Gitlab.com at least. It’s obviously good for there to be some diversity and competition, beyond the fact that Gitlab is at least at the core FOSS. I also hope at some point somehow pagure’s model of storing issues and PR comments in Git takes off too. Or maybe it’ll be something like Radicle.

Programming Leftovers

Filed under
Development
  • Santa is pseudo packaging | Playing Perl 6␛b6xA Raku

    Santa needs to know where all the chimneys are. Thanks to schedule constraints, a single subroutine call has to do to query multies defined in a bunch of modules.

  • Development community that we can see to development of Perl Part1 - C language specification creating group | Yuki Kimoto Perl Blog

    The Perl core team seems to be looking for resources to help in language development.

    Currently, it seems the material in python.

    perlgov: the perl governance document

    I feel that Perl and Python cultures are quite different.

    It's also based on an improvised document in 2019 when the Python reader quit.

    I can understand how envious we are when we see Python attracting users(although
    I'm watching a lot of cheating at the same time).

    On the other hand Perl has long been a conservative culture.

    So, we can refer to the methods used by developers of languages, operating systems and tools that also have a conservative mindset.

    The first thing I would like us to refer to is the method used by the group that creates C language specifications.

  • Everything You Need to Know About Bash For Loops in Linux

    A bash script is simply a plain text file containing a series of commands that the bash shell can read and execute. Bash is the default shell in pre-Catalina macOS, and most Linux distributions.

    If you’ve never worked with a shell script before, you should begin with the absolute simplest case. This will allow you to practice key concepts including the creation of the script and its execution.

  • Re-format blah,YYYYMMDD,blah as blah,YYYY,MM,DD,blah

    This exercise was inspired by a recent article by Girish Managoli. He showed how to prepare a data table for machine learning using simple shell tools.

  • The 20 Best Matlab Books For Beginner and Expert Developers [Ed: Better to use GNU Octave, which is Free software and similar]

    MATLAB is short for Matrix Laboratory. MATLAB is the simplest and most profitable computing climate for researchers, scientists, and engineers. It incorporates the MATLAB language, the main programming language devoted to numerical and specialized computing. You can utilize MATLAB for a scope of utilizations, including Artificial Intelligence, signal preparing and interchanges, picture and video handling, deep learning, control frameworks, test and estimation, and computational science. Thus, in this modern era, it has become very crucial to learn MatLab, and for the appropriate guidance, an adequate set of MatLab books is inevitably important.

  • Why I love Emacs

    I'm a habitual Emacs user. I didn't choose Emacs as much as it chose me. Back when I was first learning about Unix, I stumbled upon a little-known feature in a strange application called Emacs, which was apparently hidden away on my computer. Legend had it (and was proven true) that if you typed emacs into a terminal, pressed Alt+X, and typed tetris, you could play a falling-blocks game.

    [...]

    That was my introduction to GNU Emacs. While it was frivolous, it was also an accurate indication of what Emacs is all about—the idea that users can reprogram their (virtual) worlds and do whatever they want with an application. Playing Tetris in your text editor is probably not your primary goal on an everyday basis, but it goes to show that Emacs is, proudly, a programming platform. In fact, you might think of it as a kind of precursor to Jupyter, combining a powerful programming language (called elisp, to be exact) with its own live environment. As a consequence, Emacs is flexible as a text editor, customizable, and powerful.

    Elisp (and Common Lisp, by extension) aren't necessarily the easiest languages to start out on, if you're used to Bash or Python or similar languages. But LISP dialects are powerful, and because Emacs is a LISP interpreter, you can build applications, whether they're Emacs plugins or prototypes of something you want to develop into a stand-alone project. The wildly popular org-mode project is just one example: it's an Emacs plugin as well as a markdown syntax with mobile apps to interpret and extend its capabilities. There are many examples of similarly useful applications-within-Emacs, including an email client, a PDF viewer, web browser, a shell, and a file manager.

Watch Live TV on Linux With Hypnotix: A New IPTV Application Being Developed by Linux Mint Team

Filed under
Development
Linux

The rise of streaming services like Netflix made people speculate about the dim future of TV channels. While the newer generation might not watch TV anymore, TV channels are not out of fashion, yet.

Many streaming services like Hulu and Hotstar include TV channels in their offering. TV channels are also utilizing live streaming to broadcast their content to viewers on the internet.

Another way to watch live TV is by using IPTV. There are a number of TV channels available via IPTV so that viewers can use internet to watch the live broadcast. Some channels are available for free while some might require subscription.

Read more

Python Leftovers

Filed under
Development
  • Python Queue – Linux Hint

    Python provides many built-in modules, functions, and statements that help the programmers to perform various complicated tasks easily. It also provides many built-in data structures like lists, tuple, and dictionaries, which ensure the efficient creation and management of data in applications. A queue is a data structure that stores and manages the data. It stores the data in a first-in, first-out (FIFO) order. The element that is inserted first will be removed first. We can understand the working of the queue from our daily life example. It‘s like a queue of customers; the customer who comes first is facilitated first.

  • Python Multi-line Comments – Linux Hint

    Every programming language provides a mechanism to add comments to projects. Comments are the simple lines in computer programs that are ignored by the compiler or interpreter. Comments are often written in natural language to increase programmer comprehensibility. Developers use comments to ignore some parts of the code in the debugging or testing phase.

    Writing comments in Python can be very simple, and creating a comment in Python begins with the ‘#’ symbol. This article explains how to create multi-line comments in Python.

  • How to Join Lists in Python – Linux Hint

    Lists are an important data structure in Python, used to store multiple elements in a single container. Python lists can store both similar types and heterogeneous types of elements. In Python, you can join or concatenate two or more lists. Joining a list merges numerous lists into a single list. This article explains the joining or concatenation of Python lists in several ways.

  • Python Zip File – Linux Hint

    Python is a general-purpose programming language. It is widely used in machine learning, deep learning, artificial intelligence, and data sciences projects. Python is loaded with handy built-in modules, functions, and statements. Therefore, it helps the programmers a lot to perform many types of tasks. Performing the file related task in Python is super easy due to the availability of related modules. We can perform any type of file-related tasks, i.e., reading, writing, searching, and deleting a file.

    ZIP is a popular format of files that offers lossless compression. A ZIP file contains one or many compressed files and is a single file. The compression algorithms ensure that we can recreate the actual data from the compressed data without any loss. There are several benefits of using the zip file. By using the zip files, we can put all the related data in one single file with reduced file size. Encryption can also be applied while creating zip files. ZIP files are mostly created and used when we need to transfer data through online sources like social media applications and email. It ensures the fastest delivery of data. Python provides a built-in zipfile module to work on the ZIP files. In this guide, we will learn to perform various zip file-related tasks with examples.

  • Python Global Variables – Linux Hint

    In programming language, variables are used to store information. For example, in developing a student management software system, the name, email, and age of a student will be stored in the respective variables. Like other programming languages, Python has both global and local variables. In Python, global variables are declared outside of the function and can be used everywhere in the program. This article explains global variables in Python in detail with some examples.

    The scope of the global variable is very wide, and it is not limited to any specific function. These variables can be used both inside and outside of the function for storing and retrieving information.

  • Python getattr( ) Function – Linux Hint

    The vast variety of Python built-in modules, functions, and statements helps programmers to perform various tasks. The getattr() function is a Python built-in function that allows programmers to access the attribute value of an object. If the value is not found, then the getattar() function returns the default value. This is the reason why the getattr() function is used mostly to access the attribute values of objects. This article will provide a detailed explanation of the getattr() function with some examples.

Programming/Development Leftovers

Filed under
Development
  • The future of COBOL is now | InfoWorld

    Early in the 2020 coronavirus pandemic, the New Jersey state government had a very specific IT staffing need—and it got a lot more publicity than hiring moves usually get. The recently passed CARES Act had added $600 to weekly unemployment payments nationwide, but New Jersey’s archaic unemployment software, written in COBOL, couldn’t incorporate the extra money without reprogramming, and there was nobody on staff capable of doing the job.

    The incident was a very public glimpse at a dirty little secret within IT: There are billions of lines of code written in COBOL still running mission critical applications, but the great wave of COBOL-trained programmers who wrote all that code are aging out of the workforce. That story isn’t new—we wrote about it eight years ago, and eleven years before that.

  • Choosing Elixir version manager

    Exenv, Kiex or ASDF? What’s the difference?

  • PHP 7.2 is dead - Remi's RPM repository - Blog

    After PHP 7.1, and as announced, PHP version 7.2.34 was the last official release of PHP 7.2

    To keep a secure installation, the upgrade to a maintained version is strongly recommended:

    PHP 7.4 is in active support mode, and will be maintained until November 2021 (2022 for security).
    PHP 8.0 is in active support mode, and will be maintained until November 2022 (2023 for security).

  • inline 0.3.17: Refactored and New Tests

    A new release of the inline package arrived on CRAN this evening and has already been shipped to Debian as well. inline facilitates writing code in-line in simple string expressions or short files. The package was used quite extensively by Rcpp in the days before Rcpp Attributes arrived on the scene proving an even better alternative for its use cases. inline is still use by rstan and a number of other packages.

  • Committed to the integrity of your root filesystem « Colin Walters

    Quite a while ago I came across the SQLite testing page and was impressed (and since then it’s gotten even better). They’ve clearly invested a lot in it, and I think SQLite’s ubiquity is well deserved.

    When I started the ostree project I had this in mind but…testing is hard. We have decent "unit test style" coverage since the start but that’s not very "real world". We’ve gone through a few test frameworks over the years. But to the point of this blog post: I finally had a chance to write some new testing code and I’m happy with how it turned out!

  • Developer Strangelove or How I Learned to Stop Worrying and Love the Waterfall Model - SUSE Communities

    Everyone loves to hate the Waterfall Model (WM) and extoll the virtues of modern development methodologies. But while people are rolling their eyes at the mere mention of the WM, they forget that it was one of the first attempts at a systematic approach to complex system development. Few first attempts turn out to be the best, but all first attempts teach us something. As such, the WM contains pearls of wisdom that should not be ignored.

  • What are default and bundled gems in Ruby anyway?

    9 years ago started gemification of the Ruby standard library. What exactly are default and bundled gems in Ruby releases?

  • Mohammad S Anwar's Monthly Report - November

    With so much going on in my personal life, it is hard to focus on anything. One thing that I really miss these days are personal time. I am constantly working on it with the help of experts in the field. I try to look at the positive side of the life but I can't ignore the fact I am not giving 100% to my pet project The Weekly Challenge. Having said that I must thank the entire team for the support and encouragement in this difficult time. As of today, we entered into the 89th week. I can't wait to see when we get to the 100th week.

    Ever since I shared about my treatment, I have had many encouraging and supporting messages from friends. I read them again and again. I feel blessed to have such caring friends around me. I have let myself down by not taking part in Hacktoberfest 2020 in the same spirit as before. Atleast I completed the challenge by submitting the required number of Pull Requests.

    Let me share some happy news as well, I have now become co-editor of Perl Weekly Newsletter with the most editions, going past greats like Yanick Champoux and Neil Bowers.

Raku Programming

Filed under
Development
  • vrurg: The Report On New Coercions Part 2

    I didn’t expect my previous report to have a continuation, but here it goes. When the initial implementation of new coercions was merged, I started checking if there’re any tickets in the issue tracker which can now be closed. One of them, #2446, is related to coercions but still needed a fix. As long as I was looking into the ticket, it was becoming clear to me that the time has come for an itch I had had for quite some time already.

  • Day 1: Why Raku is the ideal language for Advent of Code – Raku Advent Calendar

    Now that it’s December, it’s time for two of my favorite traditions from the tech world: the Raku Advent Calendar and Advent of Code. These two holiday traditions have a fair amount in common – they both run from December 1 through Christmas, and both involve releasing something new every day during the event. Specifically, the Raku Advent Calendar releases a new blog post about the Raku programming language, while Advent of Code releases a new programming challenge – which can be solved in any language.

    (In this post, I’ll be referring to Advent of Code as “AoC” – not to be confused with the American politician AOC who, to the best of my knowledge, does not program in Raku.)

    For me, Raku and AoC are the chocolate and peanut butter of tech Advent season: each is great on its own, but they’re even better in combination. If your only goal is to solve AoC challenges, Raku is a great language to use; on the other hand, if your only goal is to learn Raku, then solving AoC challenges is a great way to do so. This post will explain how Raku and AoC are such a good fit and then provide some resources to help us all get started solving AoC challenges.

  • nomen est omen | Playing Perl 6␛b6xA Raku

    Even with the help of his time machine, delivering all presents in a single night keeps Santa extremely busy. With little time to spare he does all his coding in Raku. One of the advantages of time travel, is the option to use the last version of the last programming language.

  • Rakudo Weekly News: 2020.48 DevRoom on FOSDEM

    Next year’s FOSDEM will be an online event only, on 6/7 February 2021. It will also have a Raku Programming Language DevRoom track, shared with Perl. Please contact JJ Merelo (on Twitter or on the #raku IRC channel) if you are interested in giving a presentation about your experiences with Raku!

pip 20.3 release

Filed under
Development

On behalf of the Python Packaging Authority, I am pleased to announce

that we have just released pip 20.3, a new version of pip. You can

install it by running `python -m pip install --upgrade pip`.

This is an important and disruptive release -- we explained why in a

blog post last year

Read more

GNU Octave 6.1 Released with Improvements / New Functions

Filed under
Development
GNU

GNU Octave 6.1 was released a few days ago with numerous improvements, bug-fixes, and a list of new functions.

Changes in Octave 6.1 include...

There’s no PPA repository contains the new release package at the moment of writing.

Before the official Snap package and the community maintained Flatpak package publish the new package, you can download & build GNU Octave from the source tarball...

Read more

Programming/Development Leftovers

Filed under
Development
  • Property bindings in Qt 6

    Qt 6 is coming with many new features under the hood. One of the most exciting features that we have added is to bring the concept of bindings from QML and Qt Quick back into the heart of Qt and allow using it from C++.

  • 8 Git aliases that make me more efficient | Opensource.com

    The excellent article 7 Git tricks that changed my life inspired me to write about another Git feature that's had a major impact on my experience using Git on the command line: aliases.

  • Daniel Stenberg: I am an 80 column purist

    I write and prefer code that fits within 80 columns in curl and other projects – and there are reasons for it. I’m a little bored by the people who respond and say that they have 400 inch monitors already and they can use them.

    I too have multiple large high resolution screens – but writing wide code is still a bad idea! So I decided I’ll write down my reasoning once and for all!

  • Post Json API using curl | RNM

    I developed a restful as communication for our software and client. We let end point of our API to talk each other and i quite simple for small test using Postman or SOAP-UI but to test with massive data via API is quite headache.

    Lucky enough, I am good with unit test so since our system develop using java, then I use Junit as helper to help me do the automation test. It look nice but somehow I still have issue to remote test using Junit on my Eclipse IDE. It all because the remote server we connnecting is on customer premise and the connection are so bad!

  • Perl Weekly Challenge 088 | Samir Parikh

    Despite the holiday week here in the U.S., I was able to tackle this week's Perl Weekly Challenge. I have to say that this week's challenge was the most satisfying for me as it allowed me to not only come up with a novel solution (for me!), but it also provided an opportunity for me to leverage two areas of Perl programming that have been a real challenge for me: recursion and references. The deadline to submit solutions for this challenge is fast approaching so if you haven't solved it yourself yet, you may want to come back to this post later.

  • CY's Take on PWC#088

    The above, I designed, is a prototype for multiplication (and division, if possible) when it is expensive to do mulitplication, such as matrices. Since I don't know much about those algorithmic knowledge, just leave the codes here for personal future digestion.

  • It’s that time of the year – Raku Advent Calendar

    When we start all over again with advent calendars, publishing one article a day until Christmas. This is going to be the first full year with Raku being called Raku, and the second year we have moved to this new site. However, it’s going to be the 10th year in a row with a Perl 6 or Raku calendar, previously published in the Perl 6 Advent Calendar blog. And also the 5th year since the Christmas release, which was announced in the advent calendar of that year.

  • Journal five minutes a day with Jupyter | Opensource.com

    Some people follow the tradition of creating New Year's resolutions. A year is a long time, though, so I plan with a seasonal theme or trajectory. Each quarter, I sit down and look at the upcoming three-month season and decide what I'll work on during that time.

    For my latest theme, I decided I wanted to write a daily journal. I like having clear commitments, so I committed to writing for five minutes each day. I also like having observable commitments, even if it is just for me, so I put my entries in Git.

    I decided I wanted some automation around my journaling and turned to my favorite automation tool: Jupyter. One of Jupyter's interesting features is ipywidgets, a set of interactive HTML widgets for Jupyter Notebooks, JupyterLab, and the IPython kernel.

    If you want to follow along with the code in this article, note that making your Jupyter lab instance support widgets can be a bit frustrating. Follow these instructions to set things up.

  • Doxyqml 0.5.1 release

    I’m happy to announce the release of Doxyqml 0.5.1. Doxyqml is a python program allowing to document QML APIs with the help of Doxygen. This version includes a single commit contributed by Olaf Mandel adding supports for recent versions of Doxygen (> 1.8.20).

  • Java 8 streams, functions and reductions

    There is a relatively simple challenge to extend the vowels in a string. Here is a way to do it in Java 8...

Syndicate content

More in Tux Machines

Jetson Xavier system bundles LIPSedge 3D vision camera

LIPS’ IP67-protected “LIPSedge AE400” 3D vision industrial camera is now available with Aaeon’s Linux-driven, AGX Xavier based Boxer-8240AI computer. The RK3399-based camera is built around an Intel RealSense D415 and offers GbE with PoE. Aaeon announced that its Boxer-8240AI edge AI system based on Nvidia’s high-end Jetson AGX Xavier module has received Nvidia Isaac Certification for a bundle that combines the compact, embedded system with LIPS Corp’s LIPSedge AE400 Industrial 3D Camera. The camera is billed as an industrial version of the Intel RealSense dual-lens stereovision camera. Applications for the Aaeon/LIPS offering include autonomous guided vehicles (AGV), vision guided robots, and smart factory systems. Read more

Release of t2 GNU/Linux 20.10

  • T2 20.10 tagged and shipping!

    A decade in the making, T2 version 20.10 was finally tagged and shipped! Grab your favorite release ISO, e.g. highly optimized AMD64, PPC64 for your PS3, MIPS64 for your Sgi Octane or any other of our release builds for playing along at home!

  • t2 Linux 20.10 released

    The 20.10 release of the t2 Linux distribution is available.

Canonical/Ubuntu: FOSDEM 2021 Community DevRoom, Snap Store and Ubuntu Technical Board Call For Nominations

  • Laura Czajkowski: FOSDEM Community Devroom 2021 CFP

    The twenty-first edition of FOSDEM will take place 6-7 February, 2021 – online, and we’re happy to announce that there will be a virtual Community DevRoom as part of the event.

  • When you need the numbers just right – benchmark and profiling applications in the Snap Store | Ubuntu

    The world of software is a vast and complex one, often too difficult to easily assess by human intuition alone. Which is why detailed and accurate measurements of software behavior are essential in helping us understand and gauge how well our applications perform. The Snap Store has a fair share of productivity tools and utilities, including a wide range of benchmarking and profiling tools. These are designed to help developers, system administrators and hardcore enthusiasts get a precise sense of their software, whether as part of research and design or for troubleshooting ongoing problems in production environments. Let’s have a little tour.

  • Ubuntu Fridge | Ubuntu Technical Board Call For Nominations

    The Ubuntu Technical Board is responsible for the technical direction of Ubuntu. It makes decisions on package selection, packaging policy, installation systems and processes, kernel, X server, display management, library versions, and dependencies. The board works with relevant teams to establish a consensus on the right path to take, especially where diverse elements of Ubuntu cannot find consensus on shared components. The current Technical Board is expiring at the end of the year, and the Community Council would like to confirm a new Technical Board, consisting of five people, who will serve for two years.

Wine 6.0-rc1 Released

  • Wine 6.0-rc1 Released

    The Wine development release 6.0-rc1 is now available. This is the first release candidate for the upcoming Wine 6.0. It marks the beginning of the yearly code freeze period. Please give this release a good testing to help us make 6.0 as good as possible.

  • Wine 6.0-RC1 Released Following Last Minute Changes - Phoronix

    As expected, the first release candidate of Wine 6.0 is now available for testing for this annual update to Wine for running Windows programs and games on Linux and other platforms. Wine 6.0-RC1 marks the start of the code/feature freeze ahead of Wine 6.0.0, which should be out in January. Until then the release candidates will continue.

  • The road to Wine 6.0 begins with a first Release Candidate | GamingOnLinux

    The Wine compatibility layer for running Windows applications on Linux and other systems has a new development release up, the first Release Candidate for Wine 6.0. Marking the beginning of a code freeze period, where the Wine team will now be focusing on stability rather than chucking in new features to make Wine 6.0 as good as it can be.