Language Selection

English French German Italian Portuguese Spanish

Android

Syndicate content

More in Tux Machines

Programming: C++ in Libreoffice, Rust in GNU/GTK, and Python

  • Drawing in OutputDevice

    For a long time now I have noticed that OutputDevice is a class that is tightly coupled to drawing primitives such a pixels, lines, rectangles, etc. To draw new primitives in OutputDevice, you need to change the interface by adding another function, often you need to add new private functions, etc. I have never been entirely comfortable with this - I believe that we shouldn't vary the OutputDevice class, but instead the functionality should be implemented in a command pattern. In a command pattern, you use an object to encapsulate the functionality used to perform an action. What this means is that OutputDevice no longer needs to know how to directly draw a line, pixel, rectangle or any other primitive we throw at it - this is all done in the command object. I call these OutputDevice Drawables. It turns out, I find it easier to test a command object.

  • This Week in Rust 312

    Hello and welcome to another issue of This Week in Rust! Rust is a systems language pursuing the trifecta: safety, concurrency, and speed. This is a weekly summary of its progress and community. Want something mentioned? Tweet us at @ThisWeekInRust or send us a pull request. Want to get involved? We love contributions.

  • The GTK Rust bindings are not ready yet? Yes they are!

    When talking to various people at conferences in the last year or at conferences, a recurring topic was that they believed that the GTK Rust bindings are not ready for use yet. I don’t know where that perception comes from but if it was true, there wouldn’t have been applications like Fractal or Podcasts using GTK from Rust, or I wouldn’t be able to do a workshop about desktop application development in Rust with GTK and GStreamer at the Linux Application Summit in Barcelona this Friday (code can be found here already) or earlier this year at GUADEC. One reason I sometimes hear is that there is not support for creating subclasses of GTK types in Rust yet. While that was true, it is not true anymore nowadays. But even more important: unless you want to create your own special widgets, you don’t need that. Many examples and tutorials in other languages make use of inheritance/subclassing for the applications’ architecture, but that’s because it is the idiomatic pattern in those languages. However, in Rust other patterns are more idiomatic and even for those examples and tutorials in other languages it wouldn’t be the one and only option to design applications.

  • Getting Started With Python IDLE

    If you’ve recently downloaded Python onto your computer, then you may have noticed a new program on your machine called IDLE. You might be wondering, “What is this program doing on my computer? I didn’t download that!” While you may not have downloaded this program on your own, IDLE comes bundled with every Python installation. It’s there to help you get started with the language right out of the box. In this tutorial, you’ll learn how to work in Python IDLE and a few cool tricks you can use on your Python journey!

  • Advanced OpenGL in Python with PyGame and PyOpenGL

    Following the previous article, Understanding OpenGL through Python where we've set the foundation for further learning, we can jump into OpenGL using PyGame and PyOpenGL. PyOpenGL is the standardized library used as a bridge between Python and the OpenGL APIs, and PyGame is a standardized library used for making games in Python. It offers built-in handy graphical and audio libraries and we'll be using it to render the result more easily at the end of the article. As mentioned in the previous article, OpenGL is very old so you won't find many tutorials online on how to properly use it and understand it because all of the top dogs are already knee-deep in new technologies.

  • Norbert Preining: Python 3 deprecation imminent

    OSS Journal, November 2026. In less than two month, with the end of the year 2026, Python 3 will be deprecated and will not obtain any further security updates. Despite the announcement of deprecation back in summer 2020, shortly after the deprecation of Python 2, still thousands of software projects, in particular in data science, seem to be still based on Python 3. [...] The Python 3 deprecation has created a whole new branch of companies providing only Python upgrade services, but despite the abundance of these services, many programs are still available only for Python 3, some – like Calibre – even only for Python 2. So let us use the remaining month to fix the billions of lines of code still not compatible with Python 4, for a better future! Rest assured, it will be the last incompatible Python upgrade (for now).

  • My New Title, Improving pip, Availability For Work, And SSL (No, The Other One): A few professional announcements.

    One is that I helped the Packaging Working Group of the Python Software Foundation get funding for a long-needed improvement to pip. I led the writing of a few proposals -- grantwriting, to oversimplify -- and, starting possibly as soon as next month, contractors will start work.

  • File management improvements in Spyder4

    Version 4.0 of Spyder—a powerful Python IDE designed for scientists, engineers and data analysts—is almost ready! It has been in the making for well over two years, and it contains lots of interesting new features. We will focus on the Files pane in this post, where we've made several improvements to the interface and file management tools.

  • Artem Rys: 5 Scraping Tips

Android Leftovers

today's leftovers

  • ASUS & Google Team Up for ‘Tinker Board’ AI-Focused Credit-Card Sized Computers

    ASUS and Google have joined forces to develop a new project that the companies are calling ‘Tinker Board’ single board computers (SBCs). With a footprint not much larger than a credit card, the systems are designed for building small systems to work on AI inference applications like image recognition. The systems in question are the Tinker Edge T and Tinker Edge R. The former is based on the NXP i.MX8M with an Edge TPU chip that accelerates TensorFlow Lite, whereas the Tinker Edge R is powered by the Rockchip RK3399 Pro processor with an NPU for 4K machine learning. The SBCs officially support Android and Debian operating system, though nothing prevents them from running Linux or other OSes.

  • Big believer in government open source? Help with an open task on code.gov

    Want to collaborate on government open source code projects? Don’t forget about code.gov.

    Technologists who want to support the various missions of the federal government need not take on a full-time role to contribute. The General Services Administration‘s lead for code.gov, Karen Trebon, gave a shoutout to the site’s “open tasks” tab during a panel at the Red Hat Government Summit on Tuesday.

  • How to drive customer experience with agile principles

    Customer experience has never been more important. People can find out just about anything with a few clicks or a voice search on their phones. They can research products, services, and companies. They can do business with organizations all over the world. They can buy with a swipe and have things shipped right to their home within a day.

  • When your data doesn’t fit in memory: the basic techniques
                         
                           

    You need a solution that’s simple and easy: processing your data on a single computer, with minimal setup, and as much as possible using the same libraries you’re already using. And much of the time you can actually do that, using a set of techniques that are sometimes called “out-of-core computation”.

  • Equifax Data Breach Update: Backsliding

    After Equifax’s calamitous 2017 data breach, its settlement with the Federal Trade Commission (FTC) and the private attorneys representing victims appears to offer two potential remedies to all 147 million American consumers affected: free credit monitoring, or if individuals already had free credit monitoring, an up to $125 cash payment. The FTC directed consumers affected by the breach to a third-party website where they could quickly and easily file their claim.

    At the time, EFF tepidly commented on the settlements’ efforts to compensate consumers. But we also noted that the $125 payments would come from a $31 million fund, meaning that if all 147 million victims chose the payment, each person’s payment would be reduced on a pro rata basis to as little as 21 cents each.

  • The Way America Votes Is Broken. In One Rural County, a Nonprofit Showed a Way Forward.

    Choctaw County’s election centers opened at 7 a.m. last Tuesday, and voters were greeted by poll workers who’d just set up brand-new voting machines.

    “If you need any help, just holler,” poll worker Albert Friddle told a voter as he walked her through the new system.

  • Microsoft Defender ATP Coming to Linux! What Does it Mean? [Ed: ItsFOSS now helps marketing of Microsoft proprietary software piggybacking the Linux brand. So much for "FOSS"... ItsMicrosoft?]
  • Microsoft Wants to Migrate Your IBM i Code to Azure [Ed: Why even choose Microsoft for any hosting?]
  • Kubernetes: 3 ways to get started

    Why has Kubernetes developed a reputation as a powerful tool? As Red Hat technology evangelist Gordon Haff has noted, “Kubernetes continues to gain steam in enterprises, and for good reason: It tames the complexity that arises as you begin to use containers at scale. It automates and orchestrates Linux container operations, eliminating many manual tasks involved in deploying and scaling containerized applications.” It’s also known for its learning curve: You can get a cluster up and running in a sandbox with relative ease, but running Kubernetes in production isn’t actually child’s play. That means that getting started with Kubernetes can feel daunting for individuals and teams new to it. This shouldn’t be crippling, though. Everyone starts somewhere. [...] Ram Middela, practice lead at NetEnrich, notes that Minikube gives you a chance to test-drive many of Kubernetes features in a single VM on a local machine. “You can explore most of the actual Kubernetes features from a developer perspective and learn about its features so that you can write your application deployment files and then run them on Minikube,” Middela says.

Mirantis acquires Docker Enterprise

Docker, the technology, is famous. It kick-started the container revolution. Docker, the company, is famous for failing to profit on its technology. Now, in a move indicating that Docker CEO Rob Bearden wasn't able to obtain badly needed capital, Mirantis, a prominent OpenStack and Kubernetes cloud company, has acquired Docker Enterprise product line, developers, and business. The deal is effective immediately. Mirantis CEO and co-founder Adrian Ionel, said in an e-mail interview, "We are not disclosing the terms of the deal. The deal closes Wednesday [Nov. 12, 2019] morning." Read more