Language Selection

English French German Italian Portuguese Spanish

Development

Programming: imapautofiler, Red Hat Decision Manager, AiC, Python-moa, WebAssembly/Python

Filed under
Development
  • imapautofiler 1.8.0

    imapautofiler applies user-defined rules to automatically organize messages on an IMAP server.

  • Modern business logic tooling workshop, lab 3: Create a domain model

    Since starting to update my free online rules and process automation workshops that showcase how to get started using modern business logic tooling, we’ve come a long way with process automation. The updates started with moving from JBoss BPM to Red Hat Decision Manager and from JBoss BPM Suite to Red Hat Process Automation Manager.

    The first lab update showed how to install Red Hat Decision Manager on your laptop, and the second lab showed how to create a new project. This article highlights the newest lab update for Red Hat Process Automation Manager, where you’ll learn how to create a domain model.

  • AiC: Adventures in consensus

    In the talk I gave at Rust LATAM, I said that the Rust project has always emphasized finding the best solution, rather than winning the argument. I think this is one of our deepest values. It’s also one of the hardest for us to uphold.

    Let’s face it – when you’re having a conversation, it’s easy to get attached to specific proposals. It’s easy to have those proposals change from “Option A” vs “Option B” to “my option” and “their option”. Once this happens, it can be very hard to let them “win” – even if you know that both options are quite reasonable.

    This is a problem I’ve been thinking a lot about lately. So I wanted to start an irregular series of blog posts entitled “Adventures in consensus”, or AiC for short. These posts are my way of exploring the topic, and hopefully getting some feedback from all of you while I’m at it.

    This first post dives into what a phrase like “finding the best solution” even means (is there a best?) as well as the mechanics of how one might go about deciding if you really have the “best” solution. Along the way, we’ll see a few places where I think our current process could do better.

  • Quansight Labs Blog: MOA: a theory for composable and verifiable tensor computations

    Python-moa (mathematics of arrays) is an approach to a high level tensor compiler that is based on the work of Lenore Mullins and her dissertation. A high level compiler is necessary because there are many optimizations that a low level compiler such as gcc will miss. It is trying to solve many of the same problems as other technologies such as the taco compiler and the xla compiler. However, it takes a much different approach than others guided by the following principles.

  • The Human in Devops

    This week a mild epiphany came to me right after a somewhat heated and tense meeting with a team of developers plus project owner of a web project. They were angry and they were not afraid to show it. They were somewhat miffed about the fact that the head wrote them an email pretty much forcing them to participate to make our DevOps initiative a success. All kinds of expletive words were running through my head in relation to describing this team of flabby, tired looking individuals in front of me, which belied the cool demeanour and composure that I was trying so hard to maintain.

    It happened. In the spur of the moment I too got engulfed in a sea of negativity and for a few minutes lost site of what is the most important component or pillar in a successful DevOps initiative. The people.

    "What a bunch of mule heads !" I thought. It's as plain as day, once this initiative is a success everybody can go home earlier and everything will be more predictable and we can do much much more than we could before. "Why are you fighting this ?!" I was ready to throw my hands up in defeat when it finally dawned on me.

  • Python Bytes: #126 WebAssembly comes to Python

COBOL, C, C++ all due for updates in early 2020s

Filed under
Development

You have never heard of Chris Tandy, a Toronto-based programmer for IBM since 1985, but his work in standardizing computer programming languages is vital to everything you do as a software developer.

Tandy chairs the American INCITS PL22 group and is an officer in the global ISO/IEC JTC 1/SC 22 committee, which are the primary standards bodies responsible not only for pivotal languages such as COBOL, C, and C++, but also for historic ones like Ada, APL (famously named as "A Programming Language"), and Fortran. They also deal in esoterica—try your hand at coding in PL/1 or REXX.

Future versions of the COBOL standard are now entirely in ISO hands, while before it was mostly an American project, Tandy explained. The ISO working group members intend to have the next version, known as an FDIS (final draft international standard), done in 2020.

Read more

Also: GNU patch another_hunk Function Double-Free Vulnerability [CVE-2018-6952]

Qt 6 Might Drop Their Short-Lived Universal Windows Platform Support

Filed under
Development
Microsoft

While the Universal Windows Platform (UWP) is needed for targeting the Xbox One, Microsoft HoloLens, and IoT, The Qt Company is thinking about gutting out their UWP support in the big Qt 6 tool-kit update.

The Qt Company is busy brainstorming changes for Qt 6, which is expected to see its maiden release in late 2020 barring any delays. One of those fundamental changes being tossed around is eliminating the Universal Windows Platform coverage with Qt 6.0.

Read more

Direct: Qt 6 Planning: Consideration of dropping support for UWP applications

Admin/Programming: GStreamer, Django, OpenJDK and Ansible

Filed under
Development
  • GStreamer 1.16.0 new major stable release

    The GStreamer team is excited to announce a new major feature release of your favourite cross-platform multimedia framework!

    The 1.16 release series adds new features on top of the previous 1.14 series and is part of the API and ABI-stable 1.x release series of the GStreamer multimedia framework.

  • Why Django Is The Popular Python Framework Among Web Developers?

    Nowadays, a lot of backend web development programs are developed and run with Python. Python has been one of the most popular programming languages for web development and its agility and versatility are strong reasons for its growing success. From developing simple codes to data analytics and machine learning, Python has become the go-to language for many developers.

    There are a lot of frameworks that work with Python and these frameworks basically allow the developers to choose a platform on which they can customize their website and test it freely according to their preferences. Among all the frameworks of Python, Django seems to be the most popular option. In fact, in the Stack Overflow Survey of 2018, Django was included as one of the most loved frameworks with 58% of the developers voting for it.

  • Not all OpenJDK 12 builds include Shenandoah: Here’s why

    A little history: Shenandoah, a high-performance low-pause-time garbage collector, is a Red Hat-led project. When we first proposed to contribute Shenandoah to OpenJDK, Oracle made it clear that they didn’t want to support it. That’s fair enough: OpenJDK is free software, so you don’t have to support anything you don’t want. We told Oracle that we’d work with them to design a really clean pluggable garbage-collector interface that allows anyone easily to select the garbage collectors to include in their builds. We did that together, and Shenandoah went in to JDK 12.

    Evidently Oracle has chosen not to build Shenandoah. They aren’t doing anything strictly wrong by excluding it, but something doesn’t feel right to me. These builds aren’t supported by Oracle—you need their commercial binaries to get support—so why exclude Shenandoah? It might simply be that they used their standard build scripts to build their open source binaries. However, in a rather feature-light OpenJDK release, I find it odd for open source builds to exclude one of the most significant contributions. I really appreciate Oracle providing GPL-licensed OpenJDK builds, but I wish they’d build all of it.

  • Announcing OpenJDK 11 packages in Ubuntu 18.04 LTS

    OpenJDK 11 is now the default Java package in Ubuntu 18.04 LTS, replacing OpenJDK 10, the previously supported rapid release version and original package default for Ubuntu 18.04. This OpenJDK package is covered by the standard, LTS upstream security support and will also be the default package for the upcoming Ubuntu 19.04 release.

    Version 11 is the latest Long Term Support (LTS) version of the open-source implementation of the Java Platform, Standard Edition (Java SE). It incorporates key security improvements, including an update to the latest Transport Layer Security (TLS) version, TLS 1.3, and the implementation of ChaCha20-Poly1305 cryptographic algorithms, a new stream cipher that can replace the less secure RC4.

  • Learn Ansible By Doing With These Courses And Hands-On Labs

    Infrastructure as code has changed the way that we plan, deploy, and maintain infrastructure. One of the technologies that made this transformation possible is Ansible. Ansible is a popular orchestration tool used by many individuals and small to large scale organizations, so knowing how to use it can provide a lot of opportunities.

    Even if you end up needing to learn other tools in the future such as Puppet, Chef, Salt, or Terraform (read: Ansible vs. Terraform), understanding Ansible and how it works will make it much easier to then learn how to use these other technologies. So don’t worry about the “which tool should I learn first?!” question. Just pick one, learn it, and you’ll be setup for the future.

Python Programming Leftovers

Filed under
Development
  • Mozilla Announces Pyodide – Python in the Browser

    Mozilla announced a new project called Pyodide earlier this week. The aim of Pyodide is to bring Python’s scientific stack into the browser.

    The Pyodide project will give you a full, standard Python interpreter that runs in your browser and also give you access to the browsers Web APIs. Currently, Pyodide does not support threading or networking sockets. Python is also quite a bit slower to run in the browser, although it is usable for interactive exploration.

    The article mentions other projects, such as Brython and Skulpt. These projects are rewrites of Python’s interpreter in Javascript. Their disadvantage to Pyodide is that they cannot use Python extensions that were written in C, such as Numpy or Pandas. Pyodide overcomes this issue.

  • Creating a GUI Application for NASA’s API with wxPython

    Growing up, I have always found the universe and space in general to be exciting. It is fun to dream about what worlds remain unexplored. I also enjoy seeing photos from other worlds or thinking about the vastness of space. What does this have to do with Python though? Well, the National Aeronautics and Space Administration (NASA) has a web API that allows you to search their image library.

    You can read all about it on their website.

    The NASA website recommends getting an Application Programming Interface (API) key. If you go to that website, the form that you will fill out is nice and short.

  • Custom Home Automation System source release

    I am happy to announce the release of my generation 1 home automation system source code. I will be releasing Generation 2, the code which is currently in-use in the next couple of days to a week. If you would like to be informed of the Generation 2 code drop, please watch the BitBucket repo to be informed.

    First, a little bit of history. I originally started writing this code back in 2015 to run exclusively on my Raspberry Pi connected to an external speaker. It was controlled using HTTP URL endpoints, which can be hit using various NFC tags throughout my home. Eventually I bought a 7" touch-screen and an additional Raspberry Pi. This is when my automation system began to grow and mature more into what it is today. The first external display was placed in my bedroom, and ran PyCARS, another project I wrote for my home automation system. As a result, the original Raspberry Pi running the home automation system no longer needed an attached speaker, and instead a UDP broadcast packet was sent on my home network to notify any listening HUD(a PyCars device).

  • Wing Tips: Using Anaconda with Wing Python IDE

    Anaconda's key advantage is its easy-to-use package management system. Anaconda comes with a large collection of third party packages that are not in an installation of Python from python.org. Many additional packages can be installed quickly and easily as needed, from the command line with conda install.

    Anaconda's marketing focuses on data science and machine learning applications, but its extensive packages library makes it a good option also for other types of desktop and web development.

    There is much ongoing work in the world of Python packaging but, at least for now, Anaconda seems to fail less often than other solutions for resolving dependencies and installing necessary packages automatically.

  • Python's dynamic nature: sticking an attribute onto an object
  • PyCharm at PyCon 2019: The Big Tent

    Last week we announced our “big tent” at PyCon 2019 with the blog post PyCharm Hosts Python Content Creators at Expanded PyCon Booth. Next week we’ll announce more on each individual piece.

Python: Social Media

Filed under
Development
  • Getting started with social media sentiment analysis in Python

    Natural language processing (NLP) is a type of machine learning that addresses the correlation between spoken/written languages and computer-aided analysis of those languages. We experience numerous innovations from NLP in our daily lives, from writing assistance and suggestions to real-time speech translation and interpretation.

    This article examines one specific area of NLP: sentiment analysis, with an emphasis on determining the positive, negative, or neutral nature of the input language. This part will explain the background behind NLP and sentiment analysis and explore two open source Python packages. Part 2 will demonstrate how to begin building your own scalable sentiment analysis services.

  • Building scalable social media sentiment analysis services in Python

    The first part of this series provided some background on how sentiment analysis works. Now let's investigate how to add these capabilities to your designs.

Python Programming Leftovers

Filed under
Development

Programming: Education, Red Hat, and Python

Filed under
Development
  • Best Programming Tools for Tutoring Kids

    Have you ever noticed how easily children use TVs, tablets, and other smart devices? It used to surprise me how quick kids are to find their way on smart devices not any longer because I now understand that such operations will be like their second nature because it is the era they have been born into – technology. In light of this information, it is never too early to start introducing them to computing and programming concepts.

    The world’s advancement is partly dependent on technology and you can never tell how useful the skills they develop from playing programming-inclined games and reading related material will be to them.

  • Red Hat Developer Toolset 8.1 Beta now available

    Red Hat Developer Toolset augments Red Hat Enterprise Linux with the latest, stable versions of GCC that install alongside the original base version.

  • Red Hat Software Collections 3.3 Beta: New and updated components

    Red Hat Software Collections supply the latest, stable versions of development tools for Red Hat Enterprise Linux via two release trains per year. We are pleased to introduce three new and two updated components in this release, Red Hat Software Collections 3.3 Beta.

  • Red Hat Extensions for Microsoft Visual Studio Code receive 3.8 million installs

    Since the introduction of open source more than 20 years ago, software development has undergone significant shifts. Open source development has enabled new programming languages (see Go, Rust, etc.); and as a result, IDEs that are designed to be used with multiple languages are increasingly useful. In addition, enterprises can feel mounting pressure to compete in the digital economy, which can increase developer requirements to produce more microservices and cloud-native applications - and doing it faster. The ability for developers to optimize use of their favorite tools can be essential towards improving developer productivity.

  • Tutorial: Text Classification in Python Using spaCy
  • Sum the factorial of a list object with python
  • Reverse a number with Python
  • Selenium Using Python: All You Need to Know
  • Introduction to Generators in Python
  • Catalin George Festila: Update python modules of 3.73 version.
  • Testing metrics thoughts and examples: how to turn lights on and off through MQTT with pytest-play

    In this article I'll share some personal thoughts about test metrics and talk about some technologies and tools playing around a real example: how to turn lights on and off through MQTT collecting test metrics.

    By the way the considerations contained in this article are valid for any system, technology, test strategy and test tools so you can easily integrate your existing automated tests with statsd with a couple of lines of code in any language.

    I will use the pytest-play tool in this example so that even non programmers should be able to play with automation collecting metrics because this tool is based on YAML (this way no classes, functions, threads, imports, no compilation, etc) and if Docker is already no installation is needed. You'll need only a bit of command line knowledge and traces of Python expressions like variables["count"] > 0.

  • Python's dynamic nature: sticking an attribute onto an object
  • How to Work With a PDF in Python

    The Portable Document Format or PDF is a file format that can be used to present and exchange documents reliably across operating systems. While the PDF was originally invented by Adobe, it is now an open standard that is maintained by the International Organization for Standardization (ISO). You can work with a preexisting PDF in Python by using the PyPDF2 package.

Qbs 1.13 released

Filed under
Development
KDE

We are happy to announce version 1.13.0 of the Qbs build tool. This is the last version to be released under the auspices of the Qt Company, but certainly not the least.

Qbs projects can now make use of pkg-config modules. Syntax-wise, the same dependency mechanism as for Qbs’ own modules is used. For instance, on a typical Linux machine with an OpenSSL development package installed, the following is enough to let a Qbs project build against it...

Read more

Eclipse IoT survey reveals growing role for Linux and Arm

Filed under
Development
Linux
Hardware

The Eclipse Foundation released the results from its latest IoT Developer Survey of 1,717 Eclipse developers, finding growing use of Linux (76 percent), Arm (70 percent), and MQTT (42 percent).

The results of the Eclipse Foundation’s 2019 IoT Developer Survey are out, this time with a larger 1,717-developer sample compared to only 502 in the 2018 survey. The survey was conducted by the Eclipse IoT Working Group in cooperation with member companies including Bosch Software Innovations, Eurotech, and Red Hat. The Eclipse Foundation’s various social media channels and websites promoted the survey, as did Eclipse IoT member companies.

The survey was not limited to embedded developers. Two out of three respondents said their organizations are either deploying Internet of Things solutions now or will do so in the next 18 months. Some projects appear to be longer-range than that considering that 80 percent of respondents said they are active in IoT work.

Read more

Syndicate content

More in Tux Machines

Graphics: AMDGPU and X.Org Elections

  • amdgpu drm-next-5.2
  • AMDGPU Has Another Round Of Updates Ahead Of Linux 5.2
    Feature work on DRM-Next for the Linux 5.2 kernel cycle is winding down while today AMD has sent in what could be their last round of AMDGPU feature updates for this next kernel release. Building off their earlier Linux 5.2 feature work are more updates. That earlier round brought new SMU11 enablement code for Vega 20, various other Vega 20 features, HMM preparations, and other code changes.
  • 2019 Election Round 2 voting OPEN
    To all X.Org Foundation Members: The round 2 of X.Org Foundation's annual election is now open and will remain open until 23:59 UTC on 2 May 2019. Four of the eight director seats are open during this election, with the four nominees receiving the highest vote totals serving as directors for two year terms. There were six candidates nominated. For a complete list of the candidates and their personal statements, please visit the 2019 X.Org Elections page at https://www.x.org/wiki/BoardOfDirectors/Elections/2019/ The new bylaw changes were approved in the first round of voting. Here are some instructions on how to cast your vote: Login to the membership system at: https://members.x.org/ If you do not remember your password, you can click on the "lost password" button and enter your user name. An e-mail will be sent to you with your password. If you have problems with the membership system, please e-mail membership at x.org. When you login you will see an "Active Ballots" section with the "X.Org 2019 Elections Round 2" ballot. When you click on that you will be presented with a page describing the ballot. At the bottom you will find a number of dropdowns that let you rank your candidates by order of preference. For the election: There is a pull-down selection box for 1st choice, 2nd, choice, and so on. Pick your candidates top to bottom in order of preference, avoiding duplicates. After you have completed your ballot, click the "Cast vote" button. Note that once you click this button, your votes will be cast and you will not be able to make further changes, so please make sure you are satisfied with your votes before clicking the "Cast vote" button. After you click the "Vote" button, the system will verify that you have completed a valid ballot. If your ballot is invalid (e.g., you duplicated a selection or did not answer the By-laws approval question), it will return you to the previous voting page. If your ballot is valid, your votes will be recorded and the system will show you a notice that your votes were cast. Note that the election will close at 23:59 UTC on 2 May 2019. At that time, the election committee will count the votes and present the results to the current board for validation. After the current board validates the results, the election committee will present the results to the Members. Harry, on behalf of the X.Org elections committee
  • It's Time To Re-Vote Following The Botched 2019 X.Org Elections
    While there were the recent X.Org Foundation board elections, a do-over was needed as their new custom-written voting software wasn't properly recording votes... So here's now your reminder to re-vote in these X.Org elections. At least with the initial round of voting they reached a super majority and the ballot question of whether the X.Org Foundation should formally fold FreeDesktop.org into its umbrella worked and that X.Org + FreeDesktop.org hook-up passed so all is well on that front. But for the Board of Directors elections, that's where re-voting is needed with the voting software that now correctly records the votes.

today's howtos

Games: Lutris and More

  • Epic Games Store Now On Linux Thanks To Lutris
    While the Epic Games Store itself is not officially supported by the open source Linux operating system, a third-party gaming client has now made sure that you can access the store and launcher on your own distro. The Epic Games Store is now accessible on Linux via the Lutris Gaming client. The client is available to all Linux users, who in the past has provided the same users a way to play PC games without the need to have Windows installed in their machines. Although Linux is not necessarily the go-to platform when it comes to PC gaming, there is a very niche audience dedicated to making the platform work in favor of open-source and to counteract what could be perceived as a heavily Windows-biased PC gaming community. Linux gaming is somewhat tedious to the relatively casual or normal user, although there are some within the Linux community that advertise and try to foster its growth in terms of gaming, as there are some games that can run better on the operating system. That is to say, if you have a lot of patience to try and make it work.
  • You Died but a Necromancer revived you is good fun in a small package
    Sometimes, simplicity is what makes a game and in the case of You Died BaNRY that's very true. The game has little depth to it but makes up for that in just how frantic and fun it can be. The entire gameplay is just you (or you and friends) attempting to cross a small level filled with platforms, spikes and all sorts of crazy traps. It's ridiculously easy to get into as well, since the controls are so basic all you need to worry about is your movement.
  • Forager is a weirdly addictive casual grinding game that has mined into my heart
    I'm not usually one for games that have you endlessly wander around, collect resources, build a little and repeat but Forager is so ridiculously charming it's lovely.
  • DragonRuby Game Toolkit, a cross-platform way to make games with Ruby
    Now for something a little different! Ryan "Icculus" Gordon, a name known for many Linux ports and SDL2 teamed up with indie developer Amir Rajan to create a new cross-platform toolkit. Why was it created? Well, in a nutshell they both "hate the complexity of today's engines" and this toolkit was actually made to help ship A Dark Room for the Nintendo Switch, which shows how versatile it is.

10+ Open Source Software Writing Tools That Every Writer Should Know

Being a professional writer requires two key things to help ensure success: commitment and support. The former comes from the writer, and the latter comes from the tools he (or she) uses to get the job done. Below is a list of 11 great and lesser-known writing tools or apps, many of which are free and open-source, that can help improve the quality of your writing and make you a more productive and successful writer. Read more