Language Selection

English French German Italian Portuguese Spanish

New Screencasts: Ubuntu 20.04 Beta, Kubuntu 20.04 Beta and Nitrux 1.2.7

Filed under
GNU
Linux

More in Tux Machines

Mozilla and Firefox Leftovers

  • Marco Zehe: Welcome to Marco's Accessibility Blog 2.0!

    Well, after 13 years, I felt it was time for something new. Also, as I wrote recently, Mozilla now has a dedicated accessibility blog, so I feel that I am free to do other things with my blog now. As a sign of that, I wanted to migrate it to a new platform. This is not to say the old platform, WordPress, is bad or anything like that. But for my needs, it has become much too heavy-weight in features, and also in the way how it feels when performing day to day tasks. 80% of features it offers are features I don't use. This pertains both to the blog system itself as well as its new block editor. But those features don't get out of the way easily, so over the months and actually last two to three years, I felt that I was moving mountains just to accomplish simple things. It has nothing to do with the steadily improving accessibility, either. That is, as I said, getting better all the time. It just feels heavy-weight to the touch and keyboard when using it.

  • Jeff Klukas: Encoding Usage History in Bit Patterns

    Monthly active users (MAU) is a windowed metric that requires joining data per client across 28 days. Calculating this from individual pings or daily aggregations can be computationally expensive, which motivated creation of the clients_last_seen dataset for desktop Firefox and similar datasets for other applications. A powerful feature of the clients_last_seen methodology is that it doesn’t record specific metrics like MAU and WAU directly, but rather each row stores a history of the discrete days on which a client was active in the past 28 days. We could calculate active users in a 10 day or 25 day window just as efficiently as a 7 day (WAU) or 28 day (MAU) window. But we can also define completely new metrics based on these usage histories, such as various retention definitions.

  • Mozilla VR Blog: WebXR Viewer 2.0 Released

    We are happy to announce that version 2.0 of WebXR Viewer, released today, is the first web browser on iOS to implement the new WebXR Device API, enabling high-performance AR experiences on the web that don't share pictures of your private spaces with third party Javascript libraries and websites. It's been almost a year since the previous release (version 1.17) of our experimental WebXR platform for iOS, and over the past year we've been working on two major changes to the app: (1) we updated the Javascript API to implement the official WebXR Device API specification, and (2) we ported our ARKit-based WebXR implementation from our minimal single-page web browser to the full-featured Firefox for iOS code-base.

  • Mozilla VR Blog: Scaling Virtual Events with Hubs and Hubs Cloud

    Virtual events are unique, and each one has varying needs for how many users can be present. In this blog post, we’ll talk about the different ways that you can consider concurrency as part of a virtual event, the current capabilities of Mozilla Hubs and Hubs Cloud for supporting users, and considerations for using Hubs as part of events of varying sizes. If you’ve considered using Hubs for a meetup or conference, or are just generally interested in how the platform works, read on!

  • Extensions in Firefox 77

    Firefox 77 is loaded with great improvements for the WebExtensions API. These additions to the API will help you provide a great experience for your users. Optional Permissions Since Firefox 57, users have been able to see what permissions an extension wants to access during the installation process. The addition of any new permissions to the extension triggers another notification that users must accept during the extension’s next update. If they don’t, they won’t receive the updated version. These notifications were intended to provide transparency about what extensions can do and help users make informed decisions about whether they should complete the installation process. However, we’ve seen that users can feel overwhelmed by repeated prompts. Worse, failure to see and accept new permissions requests for updated versions can leave users stranded on older versions.

  • Moving SUMO Community synchronous communications to Matrix

    As some of you already know, Mozilla has been working for some time to replace its official synchronous communication tool, and earlier this year we decided to launch our own Matrix instance to host our public conversations. In SUMO, we historically maintained a Telegram group to enable synchronous communications, and now we want to transition it to the new Mozilla Matrix.

Audiocasts/Shows: Ubuntu Podcast and More

  • Ubuntu Podcast from the UK LoCo: S13E09 – Breaking mirrors

    This week we’ve been getting older and adding plugins to OBS Studio. We discuss Ubuntu being certified on the Raspberry Pi, Unity Remix, if Microsoft should buy Canonical and WSL getting GUI app support. We also round up our pick from the general tech news.

  • All Good Things | TechSNAP 430

    It's a storage showdown as Jim and Wes bust some performance myths about RAID and ZFS. Plus our favorite features from Fedora 32, and why Wes loves DNF.

  • Episode 11: Advice on Getting Started With Testing in Python

    Have you wanted to get started with testing in Python? Maybe you feel a little nervous about diving in deeper than just confirming your code runs. What are the tools needed and what would be the next steps to level up your Python testing? This week on the show we have Anthony Shaw to discuss his article on this subject. Anthony is a member of the Real Python team and has written several articles for the site. We discuss getting started with built-in Python features for testing and the advantages of a tool like pytest. Anthony talks about his plug-ins for pytest, and we touch on the next level of testing involving continuous integration.

Android Leftovers

Python Programming

  • Add interactivity to your Python plots with Bokeh

    In this series of articles, I'm looking at the characteristics of different Python plotting libraries by making the same multi-bar plot in each one. This time I'm focusing on Bokeh (pronounced "BOE-kay"). Plotting in Bokeh is a little more complicated than in some of the other plotting libraries, but there's a payoff for the extra effort. Bokeh is designed both to allow you to create your own interactive plots on the web and to give you detailed control over how the interactivity works. I'll show this by adding a tooltip to the multi-bar plot I've been using in this series. It plots data from UK election results between 1966 and 2020.

  • Bruteforcing Emails Using a Simple Python Script

    Brute forcing is an essential part of hacking – it is the last resort, it offers hope and sometimes, it just works! Have you ever wanted to code a small script that would bruteforce email servers for you? It is imperative to remember that our brute forcing efforts are only as great as our password list, and as such, the list must be chosen with care. That said, first and foremost, we need to import the two modules we will need from Python.

  • Best Python Game Engines

    To write computer games (us oldies call them video games!), you may be wondering, “Where do I start?” To make a playable game in a decent timeframe while also learning how the program works, you will need a game framework. The framework creates many of the constructs that you will need for your games to function. You do not want to invent these yourself. These include how to draw anything to screen, how to detect a collision, and how to keep the score. Even making things move on the screen is complex without some underlying library. In this article, you will learn about which packages do what and how easy it is to get started on your game.

  • Week 1 Check-in

    During the community bonding period, i am working on the first step of my proposal. I have used shlex to split the shell script into tokens, and then find the seperator(&&|;) to concatenate the commands. After the review from my mentor, we find that we can improve the code. We do not need to split into tokens at first. Instead, we can directly find the seperator(&&|;) to seperate the commands. This will save a lot of time, since we are not going through every word in the shell script.

  • Backing up and restoring Zato Single Sign-On data

    This article presents a procedure for backing up all of Zato Single Sign-On (SSO) data and restoring it later on. A single Zato server with SQLite is used for simplicity reasons but the same principles hold regardless of the size of one's environment or the SQL database used.

  • Attrs, Dataclasses and Pydantic

    Attrs also adds a nice string representation, comparison methods, optional validation and lots of other stuff to your classes, if you want to. You can also opt out of everything; attrs is very flexible. Attrs became so popular, that since Python 3.7 we also have the dataclasses module in the standard library. It is predominantly inspired by attrs (the attrs team was involved in the design of data classes) but has a smaller feature set and will evolve a lot slower. But you can use it out-of-the box without adding a new requirement to your package.