Language Selection

English French German Italian Portuguese Spanish

Development

Programming Leftovers

Filed under
Development
  • RcppCCTZ 0.2.8: Minor API Extension

    RcppCCTZ uses Rcpp to bring CCTZ to R. CCTZ is a C++ library for translating between absolute and civil times using the rules of a time zone. In fact, it is two libraries. One for dealing with civil time: human-readable dates and times, and one for converting between between absolute and civil times via time zones. And while CCTZ is made by Google(rs), it is not an official Google product. The RcppCCTZ page has a few usage examples and details. This package was the first CRAN package to use CCTZ; by now at least three others do—using copies in their packages which remains less than ideal.

  • Kafka Monthly Digest – July 2020

    In this 30th edition of the Kafka Monthly Digest, I’ll cover what happened in the Apache Kafka community in July 2020.

  • GDScript progress report: New GDScript is now merged

    As some of you might be aware, the refactor that I have been working on lately is now merged into the master branch. This is the work explained in previous progress reports.

  • An open source solution for continuous testing at scale

    In Sogeti's most recent World Quality Report, software testing ranked No. 1 in terms of its contributions to business objectives and growth, making it a key enabler for business digitalization. Despite this, the software testing industry still reports major pain points related to test maintenance, automation, tooling, and skills. Most of the tooling in common use lacks capabilities, is too complex to integrate, provides insufficient intelligence, or is too difficult to use.

    Cerberus Testing provides a solution to these problems. It is a test automation solution built by retail companies to support digitalization initiatives and focuses on usability, scalability, and integration of the test lifecycle process.

  • Use your favorite programming language to provision Infrastructure as Code

    As you navigate the world of IT and technology, there are some terms you come across repeatedly. Some of them are hard to quantify and may take on different meanings as time goes on. "DevOps" is an example of a word that seems (to me) to change depending on the person using it; the original DevOps pioneers might not even recognize what we call DevOps today.

    If you're a software developer, "Infrastructure as Code" (IaC) may be one of those terms. IaC is using the same software-development practices you'd use to write user-facing features to declare the infrastructure that applications run on. This often means using tools like Git or Mercurial for version control and Puppet, Chef, or Ansible for configuration management. At the infrastructure-provisioning layer, the most common technology is CloudFormation (for AWS specifically) or Terraform as an open source alternative for creating hybrid-cloud resources for your applications to run on.

    Explore the open source cloud
    Understanding clouds
    Free online course: Developing cloud-native applications with microservices architectures
    What is hybrid cloud?
    eBook: Building a hybrid cloud strategy
    What is Kubernetes?

Python Programming

Filed under
Development
  • Multiple File/Image Upload with Django 3, Angular 10 and FormData

    In the previous tutorial we have seen how to implement file uploading in Django and Angular 10. In this tutorial, we'll see how to implement multiple file uploading with FormData.

    It's recommended that you start from the previous tutorial to see detailed steps of how to create a django project, how to install Angular CLI and generate a new Angular 10 project along with services and components as we won't cover those basics in this part.

  • Python Projects for Beginners (Massive 2020 Update)

    Learning Python can be difficult. You can spend time reading a textbook or watching videos, but then struggle to actually put what you've learned into practice. Or you might spend a ton of time learning syntax and get bored or lose motivation.

    How can you increase your chances of success? By building Python projects. That way you're learning by actually doing what you want to do!

    When I was learning Python, building projects helped me bring together everything I was learning. Once I started building projects, I immediately felt like I was making more progress.

    Project-based learning is also the philosophy behind our teaching method at Dataquest, where we teach data science skills using Python. Why? Because time and time again, we’ve seen that it works!

  • Practical Recipes for Working With Files in Python

    Python has several built-in modules and functions for handling files. These functions are spread out over several modules such as os, os.path, shutil, and pathlib, to name a few. This course gathers in one place many of the functions you need to know in order to perform the most common operations on files in Python.

  • Introduction to scheduled tasks helper scripts

    For all PythonAnywhere users who like to automate their workflow using scripts there’s already the pythonanywhere package which provides an interface for some PythonAnywhere API features. If you’re one of them, you might be interested in some recent additions for programmatic management of Scheduled Tasks.

  • Mike Driscoll: Python Malware May be Coming to a Computer Near You

    Cyborg Security reported recently that malware is starting to appear that has been written using the Python programming language. Traditionally, most malware has been written in compiled languages, such as C or C++.

    The reason is simple. Compiled languages let the attacker create smaller, harder to detect, executables. However, Python’s popularity and ease of use has made it more appealing to malware authors. The biggest problem with Python for malware is that it tends to use considerably more RAM and CPU than malware written in C or C++.

    Of course, with PCs being as powerful as they are now, this is no longer an issue. Especially when you consider that there are so many applications being written with Electron. Your web browser is now a huge resource hog!

    As the Cyborg Security website points out, you can use PyInstaller or py2exe to create an executable of your Python code. What that article doesn’t mention is that someone will need to digitally sign that software as well to get it to run on Windows 10. One thing the article mentions that was interesting to me is that you can use Nuitka to basically transpile your Python code to C and you’ll end up with a much smaller executable than you would with either PyInstaller or py2exe.

  • PyCoder’s Weekly: Issue #432 (Aug. 4, 2020)
  • PSF GSoC students blogs: Weekly Check-in #10
  • Python 3.6.9 : My colab tutorials - parts 008.

Programming: Vala, Perl and Python

Filed under
Development
  • Excellent Free Tutorials to Learn Vala

    Vala is an object-oriented programming language with a self-hosting compiler that generates C code and uses the GObject system.

    Vala combines the high-level build-time performance of scripting languages with the run-time performance of low-level programming languages.

    Vala is syntactically similar to C# and includes notable features such as anonymous functions, signals, properties, generics, assisted memory management, exception handling, type inference, and foreach statements.

    Its developers, Jürg Billeter and Raffaele Sandrini, wanted to bring these features to the plain C runtime with little overhead and no special runtime support by targeting the GObject object system. Rather than compiling directly to machine code or assembly language, it compiles to a lower-level intermediate language. It source-to-source compiles to C, which is then compiled with a C compiler for a given platform, such as GCC.

    Did you always want to write GTK+ or GNOME programs, but hate C with a passion? Learn Vala with these free tutorials!

    Vala is published under the GNU Lesser General Public License v2.1+.

  • Supporting Perl-related creators via Patreon

    Yesterday I posted about this in the Perl Weekly newsletter and both Mohammad and myself got 10 new supporters. This is awesome.

    There are not many ways to express the fact that you really value the work of someone.
    You can send them postcards or thank-you notes, but when was the last time you remembered to do that?

    Right, I also keep forgetting to thank the people who create all the free and awesome stuff I use.

    Giving money as a way to express your thanks is frowned upon by many people, but trust me, the people who open an account on Patreon to make it easy to donate them money will appreciate it.

    In any case it is way better than not saying anything.

  • 2020.31 TwentyTwenty

    JJ Merelo kicked off the special 20-day Advent Blog cycle in honour of the publication of the first RFC that would lay the foundation for the Raku Programming Language as we now know it. After that, 3 blog posts got already published:

  • Supporting The Full Lifecycle Of Machine Learning Projects With Metaflow

    Netflix uses machine learning to power every aspect of their business. To do this effectively they have had to build extensive expertise and tooling to support their engineers. In this episode Savin Goyal discusses the work that he and his team are doing on the open source machine learning operations platform Metaflow. He shares the inspiration for building an opinionated framework for the full lifecycle of machine learning projects, how it is implemented, and how they have designed it to be extensible to allow for easy adoption by users inside and outside of Netflix. This was a great conversation about the challenges of building machine learning projects and the work being done to make it more achievable.

  • Django 3.1 Released

    The Django team is happy to announce the release of Django 3.1.

  • Awesome Python Applications: buku

    buku: Browser-independent bookmark manager with CLI and web server frontends, with integrations for browsers, cloud-based bookmark managers, and emacs.

  • PSF GSoC students blogs: Week 9 Check-in

Is the Python Community Becoming Toxic?

Filed under
Development

The Python community is amazing. I started learning Python over 15 years ago and the community was almost always very supportive in helping me figure things out. However, the past few years there seems to have been a shift. I’m not sure if it’s just because Python has grown so much in popularity or if it’s something more basic, such as people becoming more sensitive about things. Whatever it is, the community seems to be heading away from what it once was.

I first started thinking about this during Brett Cannon’s PyCon keynote about his experiences in the open-source community and how we need to be nice to each other. Too many people think they can be rude when requesting features or bug fixes. But he also mentioned that maintainers also need to have a good attitude and not drive away potential new contributors.

A couple months after this keynote was when Guido Van Rossum, creator of the Python language, suddenly retired as the head of Python. At the time, the reason given was that there was so much acrimony and fighting over PEP 572 that he stepped down early.

This year we saw multiple members of the PyTest team drop out of the project.

While Reddit and StackOverflow remain very popular, in my experience I have found them to be difficult to break into. The Reddit Python community, while very large and diverse, is full of trolls and the moderators don’t seem to follow Reddit’s own rules. I personally have had problems simply posting articles on there while others I know have been harassed because their project wasn’t deemed to be “Pythonic” enough. The PySimpleGUI project has been demonized repeatedly there, for example.

Read more

Python Programming

Filed under
Development

Programming Leftovers

Filed under
Development

Julia v1.5.0 has been released

Filed under
Development

Thank you to everyone who made this year’s JuliaCon great! As a parting gift, the Julia developers are pleased to announce the release of Julia v1.5.0, the fifth minor release in the 1.x series. Jeff and Stefan put together a blog post highlighting some of the most exciting new features in 1.5. Check it out!

As usual, binaries are available for all of your favorite platforms (Linux, macOS, Windows, and FreeBSD) at https://julialang.org/downloads.

As a minor release, v1.5.0 contains no breaking changes, only new features, performance improvements, and marginal, undisruptive changes in behavior. You can also see the NEWS file for the full set of changes.

Note that like 1.5, like its predecessor 1.4, does not have long term support. As of this release 1.4 has been effectively superseded by 1.5, which means that there will not likely be any further 1.4.x releases. Julia 1.0 is still currently the only long term support version.

We encourage everyone to give it a try. Packages can test with 1.5.0 on CI by specifying 1.5 on Travis, AppVeyor, Cirrus, and GitHub Actions. As always, let us know in the issue tracker if you run into any issues.

Read more

Also: Julia 1.5 has been released

Python Programming

Filed under
Development

Programming: Python, Perl, and GNOME/GTK

Filed under
Development

           

  • Why proactively clean Python 2 up?

    It seems a recurring complaint that we’re too aggressive on cleaning Python 2 up from packages. Why remove it if (package’s) upstream still supports py2? Why remove it when it still works? Why remove it when somebody’s ready to put some work to keep it working?

    I’m pretty sure that you’re aware that Python 2 has finally reached its end-of-life. It’s past its last release, and the current version is most likely vulnerable. We know we can’t remove it entirely just yet (but the clock is ticking!), so why remove its support here and there instead of keeping it some more?

    This is best explained on the example of dev-python/twisted — but dev-python/pillow is also quite similar. Twisted upstream removed support for Python 2 at version 20. This means that we ended up having to keep two versions of Twisted — 19 that still supports Python 2, and 20 that does not. What does that means for our users?

    Firstly, they can’t normally upgrade Twisted if at least one of its reverse dependencies supports Python 2 and is installed. What’s important is that the user does not have to meaningfully need or use Python 2 in that reverse dependency. It is entirely sufficient that it supports Python 2 and the user is using default PYTHON_TARGETS.

    Of course, you could argue that changing the default PYTHON_TARGETS would resolve the problem without having to proactively remove Python 2 from Twisted revdeps. Today, I’m not sure which of the two options is better. However, back when cleanup started changing default PT would involve a lot of pain for the users. We’d have to reenable 2.7 via package.use for many packages (but which ones?) or the users would have to reenable it themselves. But that’s really tangential now.

  •        

  • Python Bytes: #192 Calculations by hand, but in the compter, with Handcalcs

    Idea by Guido van Rossum to bring back the print statement.

  •        

  • PyDev 7.7.0 released (mypy integration improvements, namespace packages)

    This release brings multiple improvements for dealing with type hints as well as improvements in the Mypy integration in PyDev:

    The MYPYPATH can now be set automatically to the source folders set on PyDev and the --follow-imports flag is set to silent by default (this flag is required because only one file is analyzed at a time in PyDev as failing to do so would end up showing errors for other files).

  •        

  • PSF GSoC students blogs: Weekly Check-in #10
  • PSF GSoC students blogs: Weekly Check-In: Week 10
  • Perl Weekly Challenge 71: Peak Elements and Trim Linked List
  • The Perl Weekly Challenge #071

    With another Linked List related task, I am now enjoying it a lot. It also gives me the opportunity to work with Class in Raku. Learning Raku has changed my thinking a big way. The developer inside me is more organised than before. Also doing regular weekly challenge made me think from unit test point of view every time I come up with a solution. In fact, it dictates the design of my solution. Now with the regular Live Video Raku Reviews by Andrew Shitov gave me the insights of others Raku solutions. It is amazing how he break the code into pieces to make it easy to understand. No book can teach you that. You only learn from experience or watching video from Andrew Shitov.

    Running [The|Perl] Weekly Challenge also taught me how to manage my spare time. I use my spare time very carefully. Before I would jump to anything that excites me. Last few weeks, I have started playing with Swift programming language. I am enjoying the journey. Please checkout my Swift solution to the Task #1 of Peak Elements.

  • Mariana Pícolo: The Second milestone

    By discussing with my mentor how could the best approach be, I found out that the notifications were already grouped on the code level, but these groups were not being represented in the UI.

    In the code, there's a class named Source, which is responsible for the group. They handle the info's about the app that have sent us any notification and store them.

    There's also a class named Notification, that creates a single notification, with title, banner, and has optional parameters such as playing sounds etc.

    Each Source has an array property that contains its notification objects, which gives us the groups.

    [...]

    Lastly, I'd like to talk about GUADEC which this year was completely remote.

    This was my first talk at a conference, in a language that I'm not a native speaker. I want to thank my mentor and the GNOME community for creating a comfortable environment for the interns to talk about their projects.

Programming: Perl, Python, Java, Fortran and More

Filed under
Development
  • [Perl] Monthly Report - July

    God, the year 2020 seems never ending. I just pray it gets over quickly and we start fresh with new year 2021. Unfortunately we have to wait for another 5 months. In the current situation, anything can happen in this period. Please stay safe and avoid unnecessary human contacts.

    So what was the main attraction of last month?

    Well, quite a few, to begin with, I submitted 12 Pull Requests which is much better than the month before i.e. 9 Pull Requests. I remember there was time when I used to submit at least 50 PR every month. I aim to do at least 1 PR every 2 days i.e. 15 PR every month. Unfortunately I have only managed to do that in January i.e. 22 Pull Requests. I did come close to the target in two months e.g. May (13 Pull Requests) and July (12 Pull Requests). I am going to keep trying hard. Wish me luck.

    I would like to talk about my participation to the Pull Request Club contributions. Ever since I joined i.e. January 2019, I have never missed a single month. As of today, I have submitted 20 Pull Requests to 20 different distributions. Of those 10 have been accepted and merged. There are 9 PR still open and 1 closed without merge. So overall 50% success rate, not a bad attempt so far.

  • How and why I built Machine Learning model to predict tennis table matches results

    First of all I have chosen Python as the language for the project since python provides many libraries and documentations to support with any challengs during this milestone.

  •         

  • Just updated - Optimize Images v1.3.6

    Optimize Images has just been updated to version 1.3.6, a minor but still important release that fixes a few bugs and improves its overall stability. Thank you for using Optimize Images and/or contributing with feature suggestions, bug reports, or pull requests!

  • Java ternary operator

    Ternary operator can be used as the alternative of ‘if-else’ and ‘if-else-if’ statements. It is called a ternary operator because it takes three operands to do any task. If the conditional expression that is used in a ternary statement returns true, then it executes a particular statement; otherwise, it executes another statement. The ‘?’ and ‘:’ symbols are used to define the ternary statement. The ternary operator is better to use for solving a very simple task in place of ‘if’ statement. Different uses of the ternary operator in java are shown in this tutorial.

  • Java List Tutorial

    The list is a useful way to store ordered multiple data like an array in Java. But It has many features that do not exist in the array. The list is called an ordered collection, and it is an interface that extends the Collection interface. It cannot create an object like an array, but it implements four classes to use the functionalities of the list. These classes are ArrayList, LinkList, Stack, and Vector. These are defined in the Java Collection Framework. ArrayList and LinkList classes are widely used in Java. The insert, update, delete, and search operations are done in the list based on the index-value like an array. It can store both null and duplicate values. java.util package contains the ‘list’ interface, and it will require to import to use the ‘list’. How the different methods of the ‘list’ can be used in Java are shown in this tutorial.

  • Java switch case statement

    ‘switch-case’ statement can be used as the alternative of ‘if-else-if’ statement where different conditions are defined in different ‘if’ statements. If the first condition returns false, then check the second condition and so on. Defining multiple conditions using this way is a very lengthy process. The same task can be done very simply by using a switch-case statement. It contains different execution parts and executes the statement where the particular value matches with any ‘case’ value. The switch statement can be applied to the various types of primitive data such as int, char, byte, etc. The different uses of switch-case statements in Java are explained in this tutorial.

  • Fortran newsletter: August 2020

    Welcome to the August 2020 edition of the monthly Fortran newsletter. The newsletter comes out on the first calendar day of every month and details Fortran news from the previous month.

  • Which Is The Best WordPress Caching Plugin?

    I’ve talked about how I optimise this site before, but I wanted to do some digging into which is the best WordPress caching plugin. I’ve tested some of the most popular caching plugins available, and decided to write this post with the results.

  • 10 Tips to Defeat Your Fear of Coding

    Why do you fear to code? Is it because you’re afraid to mess up or break something? is it because the technical concepts are confusing for you? is it because of so many overwhelming concepts in programming? Whatever your answer is…but, the most pleasurable thing for a programmer is the moment when they see their code run in the blink of an eye and the magic happens on the screen.

    Coding is intimidating, coding is overwhelming but if anyone defeats the fear of coding then it’s also one of the most enjoyable and fun things to do. Some people who enjoy coding get addicted to it and they start spending hours either trying different programming strategies or building the new applications, or solving some coding-related challenging problems. In this blog, we will discuss the top reasons why people fear of coding and tips to overcome this problem.

  • July 2020: webmail, custom MDA and python framework work

    The issue is that folder pinning is far from being the only thing I want to do with incoming mails at delivery time, and shoving everything in the mda executable is not ideal. I rewrote the MDA to have it handle delivery only and call an API to determine where it should do it, this let me play with a ton of ideas on a custom API server without tweaking the working MDA. At the end of the day, I had incoming mails processed by various text analyzers, attachments automatically extracted and put in an s3 backing store, and mails indexed for fast lookups.

    I will not expand much on how I did this as I think it makes a nice topic for a dedicated article on custom MDA, and fun stuff you can easily do with them to provide some awesome features on your mail setup.

  • Intel ISPC 1.14 Released With Initial GPU Offloading Support

    A few days back we wrote of Intel's ISPC compiler landing GPU code generation support for their UHD/Iris/Xe Graphics from Gen9 Skylake and beyond. Following that code being merged, ISPC 1.14.0 was quickly tagged.

    Intel ISPC 1.14.0 was released shortly after the GPU support code landed for the Implicit SPMD Program Compiler. See more details on the GPU code landing in the aforelinked article. It's an exciting milestone and another great Intel software achievement playing into their oneAPI efforts. ISPC 1.14.0 continues offering great first-rate CPU support across all platforms. All of these open-source goodies remain open-source as one of Intel's continued strong points.

Syndicate content

More in Tux Machines

The 10 Best KDE Plasma Widgets for KDE Desktop Environment

If you were looking for the best KDE Plasma widgets for your Linux desktop, then you are in the right place. There is much debate about the fact of who implemented the widget feature first on a computer GUI. But nobody can deny that the widgets have brought a new era in the modern user interface. Most of the people rely on beautiful widgets for performing different tasks without opening the main instance of the program. Although Windows ditched their native desktop widgets feature with their Windows 8 for the sake of the live tiles. Linux still has a great library of widgets that are being maintained by the developer community. Read more

Stable Kernels: 5.7.13, 5.4.56, 4.19.137, and 4.14.192

  • Linux 5.7.13
    I'm announcing the release of the 5.7.13 kernel. All users of the 5.7 kernel series must upgrade. The updated 5.7.y git tree can be found at: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.7.y and can be browsed at the normal kernel.org git web browser: https://git.kernel.org/?p=linux/kernel/git/stable/linux-s...

  • Linux 5.4.56
  • Linux 4.19.137
  • Linux 4.14.192

Games: Cursed Gem, Last Epoch, Jagged Alliance 2 and More

  • Cursed Gem is a pretty charming and amusing challenging platformer out now

    I have to admit, Cursed Gem is quite a nice surprise. Throwing in a little comedy into a challenging pixel-art platformer.

  • Action RPG 'Last Epoch' laughs at your free time with the biggest update ever

    Free time be damned, it's time to jump back into Last Epoch for another dozen hours or so because Eleventh Hour Games clearly don't want me to sleep tonight. On August 4 they released update 0.7.9, which they said was the "BIGGEST update in Last Epoch history". What's the big fuss about with this update? It splits off The Monolith of Fate end game into its own zone, with several islands each containing "a Timeline representing a reality that never was". Confused? Well, Last Epoch is an action RPG that involves a wee bit of time travel. As you progress and conquer timelines, you get all sorts of fancy rewards and you they're repeatable with different layouts. Sounds awesome.

  • Minesweeper but it's a rogue-lite with tons of features - DemonCrawl is out for Linux PC

    Oh no, I think DemonCrawl might just end up being my next 100 hour game and it's now available for Linux PC. Released originally in November 2019, the developer decided to support Linux to ensure people can get the best experience rather than relying on the Proton compatibility layer. Two weeks after announcing it and the Linux version has been released.

  • Jagged Alliance 2 game engine 'Stracciatella' has a big new release

    The community working to keep the classic Jagged Alliance 2 alive with the Stracciatella game engine have put out their first release in a few years. With the Stracciatella project their aim is to provide good cross-platform support, improve stability, fix bugs and provide a stable platform for mod development. It's a noble aim, especially when it's an old game long left behind by the original teams and in this case the original developer and publisher no longer even exist.

  • Master of Orion inspired open source 4x strategy FreeOrion has a new release

    Inspired originally by Master of Orion, the free and open source FreeOrion project has a brand new release. For the FreeOrion, this was a reasonably quick release considering they had another release back in February and they don't usually update too often. For a good reason this time though, as they've managed to do a major tech move from Python 2 to 3 to enable FreeOrion to stay up to date with modern code. That wasn't the only big change though.

  • Take an emotional trip through the mind in Into A Dream out now

    Into A Dream is a brand new release from indie developer Filipe F. Thomaz, telling a tale about diving into the mind of someone diagnosed with severe depression. You're quite literally exploring their mind too, using the power of medical science. You will be travelling through the mind of Luke Williams, as their last hope before "fading away". You need to find the events that led to their darkened mind, meeting family and friends (well, memories of them anyway) while finding a way to "trick him into letting you access his darker dreams and unveil the emotional, powerful and heartbreaking journey of his life".

  • Need another building and farming RPG? Verdant Village enters Steam Early Access

    Littlewood and Stardew Valley not enough for you? Need more farming, crafting and exploration? Verdant Village is now live in Early Access on Steam. "You've washed ashore in a foreign land. With nothing to your name other than a few tools you’ll have to learn how to live off the land. Explore, grow crops, and meet the locals. How you live is up to you. Can you create a new life for yourself in the small town of Amberglen?"—well, luckily for you the King seems nice and gave you an abandoned piece of land to call your own and it's up to you to bring it back to life.

LibreOffice 7.0 is Finally Available Now! Here are the Key Changes in this Major Release

The much awaited LibreOffice 7.0 is finally released. Check out the key changes in this new release and learn how to get the latest release on your Linux distribution. Read more