Language Selection

English French German Italian Portuguese Spanish

today's leftovers (mostly programming)

Filed under
Development
Misc

  • Say Goodbye to Both the iPod and Pixel Headphone Jack

    For more than 20 years, the typical image of personal music included an Apple iPod and wired headphones. But that picture has slowly been changing. Now you’re more likely to see a smartphone and wireless earbuds. Apple and Google closed the coffin on two items this week to permanently change that picture. Apple announced it is discontinuing the iPod, and Google announced its new Pixel 6A smartphone will not have a headphone jack.

  • Perl Weekly Challenge 164: Prime Palindromes and Happy Numbers
  • Flutter development framework now stable across platforms • The Register

    Google's Flutter development framework finally achieved its cross-platform aspirations with a stable release of Linux and macOS support.

    Flutter 3.0, announced at Google's I/O developer conference, provides developers with a way to write apps for the six major consumer-facing platform targets using the Dart programming language. And that's not to mention embedded devices.

    "With Flutter 2.0, we shipped web support, and just recently we shipped support for Windows," said Tim Sneath, director of product and user experience for Flutter and Dart, in an interview with The Register.

    "And now with Flutter 3.0, we finally reached the point where we have completed that journey. We have all of the six major platforms – iOS, Android, web, Windows, macOS, Linux – all supported as stable parts of the Flutter framework."

    For macOS, that means Intel and Apple Silicon support, via Universal Binary builds, as well as Apple Silicon support in development. Thanks to Dart's support for Apple Silicon, compilation is faster.

  • Structured Bindings with Qt SQL

    Some time ago, I wrote a post about integrating Qt’s associative containers with the fancy new C++ features, range-based for loops with structured bindings.

  • New Software Freedom Conservancy Introduction Video

    We strive to make the concepts and impacts of software freedom accessible to everyone. We are thus so pleased to show you our new video! This video (deftly narrated by our own Executive Director, Karen Sandler) explains what we do. Our charity has a very specific focus — and so many outside of the FOSS community don't know yet how our work defends their rights. Software freedom belongs to everyone, and we seek to reach all kinds of people.

  • Join upcoming hackathon “Get plugged into education!” with Moodle

    'Get plugged into education!' with Moodle will be the first project in a series of hackathons part of a joint initiative launched by The United Nations Office of Information and Communications Technology (OICT) and the Directorate-General for Informatics of European Commission (DG DIGIT). These hackathons will aim to improve and contribute to open source projects that have an impact on the UN Sustainable Development Goals (SDG).

  • Ubuntu Core 22 Beta is now available

    Ubuntu Core, the Ubuntu flavour optimised for IoT and edge devices, has now available a Beta version for the new UC22 release. You can start using Ubuntu Core 22 Beta if you’re interested in testing the new features of the upcoming GA release.

  • See what’s new in Enterprise Container Management at SUSECON

    I’m excited to be keynoting SUSECON Digital 2022 on June 7-9 2022. As we count down the days, I’m happy to share a little of what to expect from the event in a few short weeks.

More in Tux Machines

today's leftovers

  • 3600 Games Now On The Steam Deck with Teardown, a Great Demolition Game as Verified

    Valve has provided more verification in the past few days vs usual for the Steam Deck. We are now more than 3600 games validated (3626 games to be precise at the time of publication) on the Steam Deck – in two categories...

  • The Steam Deck’s Super Power: Super Sleep

    The Steam Deck undeniably has some great features, but if it were a superhero its superpower might not be what you expect. No, it’s not the powerful processor or advanced options and software, but seemingly the complete opposite of that: the Steam Deck’s real power is its super sleep. First, a superpower needs to be reliable and without any big caveats. The Deck’s sleep ability is just that: every time it works quickly and flawlessly. It is a quick power button press away or in the Steam button’s power menu. In the middle of a game without a pause button (hi, Elden Ring)? No problem. Running low on battery or just need a moment to move the Deck without accidentally hitting the buttons? Or want to resume in that spare minute to get in a quick gaming fix? The Deck delivers every time. You can also set the Deck to go to sleep after some idle time, confident you won’t lose your game progress or battery life.

  • [Slackware] Chromium 103 (regular and ungoogled) available as Slackware package

    Apologies for the delay, I was out of town, but i have finally uploaded my new chromium 103 packages for Slackware 14.2 and newer. Their un-googled siblings are also available. Thanks as always to Eloston and his friends for updating the patch-set for ungoogled-chromium. Last week saw a Google Chromium update which addresses a series of vulnerabilities, which is nothing new of course, but in particular one security hole that has now been patched would allow remote attackers to take control of your computer and execute arbitrary code. See CVE-2022-2156. An update of your installed browser package seems in order.

  • I bought THIS LAPTOP: Tuxedo Stellaris 15 Gen 4 Review - Invidious [Ed: Nick from The Linux Experiment already got his channel banned before... for shilling laptops. Maybe he's not afraid of it happening again.]

Programming Leftovers

  • The Poisson distribution: From basic probability theory to regression models

    Brief introduction to the Poisson distribution for modeling count data using the distributions3 package. The distribution is illustrated using the number of goals scored at the 2018 FIFA World Cup, suitable for self-study or as a classroom exercise.

  • Webscraping in R with Rvest

    Web scraping has become an incredibly important tool in data science, as an easy way to generate new data. The main advantage is the automation of some pretty repetitive tasks. Web scrapping can also be a good way of keeping up with new data on a website, assuming it doesn’t have a big change in its HTML structure.

  • Clang Static Analyzer and the Z3 constraint solver | Frederic Cambus

    Notes on using the Z3 constraint solver with the Clang Static Analyzer As far as static analyzers are concerned, one of the most important point to consider is filtering out false positives as much as possible, in order for the reports to be actionable. This is an area on which Coverity did an excellent job, and likely a major reason why they got so popular within the open source community, despite being a closed-source product. LLVM has the LLVM_ENABLE_Z3_SOLVER build option, which allows building LLVM against the Z3 constraint solver.

  • Least Common Denominator APIs

    Often, our instinct is to build for optionality. What if we change databases? What if we change clouds? We target the Least Common Denominator (LCD) interface to avoid vendor lock-in and make sure our software is portable – after all, Optimization is Fragile. LCD interfaces look like targeting the S3 API, a generic PubSub implementation, or vanilla ANSI SQL. LCD interfaces are good enough most of the time, but when we need to run a specialized workload, sometimes they don't perform how we'd like. We could solve our problem quickly by narrowing the API – coupling it to a specific cloud or managed service, but that destroys our optionality. Here, you should probably fight your instinct to stick with the pure implementation and weigh the trade-offs – how many developer-hours and pain can you save by narrowing the interface? Optimization and optionality are inherent trade-offs. There's a way to architecture services to be efficient and generic but also practical.

  • Quantum computer programming for dummies

    For would-be quantum programmers scratching their heads over how to jump into the game as quantum computers proliferate and become publicly accessible, a new beginner’s guide provides a thorough introduction to quantum algorithms and their implementation on existing hardware. “Writing quantum algorithms is radically different from writing classical computing programs and requires some understanding of quantum principles and the mathematics behind them,” said Andrey Y. Lokhov, a scientist at Los Alamos National Laboratory and lead author of the recently published guide in ACM Transactions on Quantum Computing. “Our guide helps quantum programmers get started in the field, which is bound to grow as more and more quantum computers with more and more qubits become commonplace.”

  • Create new variables from existing variables in R

    Create new variables from existing variables in R?. To create new variables from existing variables, use the case when() function from the dplyr package in R.

  • Construct a Perfect Binary Tree with given Height

    Given an integer N, the task is to generate a perfect binary tree with height N such that each node has a value that is the same as its depth. Return the inorder traversal of the generated binary tree.

  • Announcing urllib3's bounty program

    We’ve recognized that one of the biggest challenges to shipping v2.0 is not having enough time to devote to contributions. Our bounty program is hoping to spur interest from the community in the urllib3 project and fairly pay contributors for their time and experience. The bounty program works by marking issues with bounty amounts we’re willing to pay for anyone to complete an issue. Don't worry if you're not an existing contributor — new contributors are welcome and encouraged!

  • Learning from Failure – Nitinol Fracture Mechanics in R | R-bloggers

    Despite our best efforts, nitinol implants fracture and fail. Sometimes we want them to fail (on the bench, to learn).

  • Every Sufficiently Advanced Configuration Language is Wrong

    Every sufficiently advanced configuration language is the wrong tool for the job. [...] The logical extreme is becoming more evident – advanced configuration in general-purpose programming languages. You can see this in the emergence of Typescript for Infrastructure-as-Code. For the most basic (and human 0x777) configuration needs, there will always be simple formats – YAML, JSON, INI, etc.).

  • Another Exercise In Encoding Reversing | Didier Stevens

    In this blog post, I will show how to decode a payload encoded in a variation of hexadecimal encoding, by performing statistical analysis and guessing some of the “plaintext”. I do have the decoder too now (a .NET assembly), but here I’m going to show how you can try to decode a payload like this without having the decoder.

  • Examples Of Encoding Reversing | Didier Stevens

    I recently created 2 blog posts with corresponding videos for the reversing of encodings. The first one is on the ISC diary: “Decoding Obfuscated BASE64 Statistically“. The payload is encoded with a variation of BASE64, and I show how to analyze the encoded payload to figure out how to decode it.

  • An Introduction to Python: A Language for the Ages – The New Stack

    For anyone just getting into software programming, one of your best friends will be Python. Why? Python is very simple to learn and easy to implement. Even better, what you can do with this language grows as you learn more. You can start with very simple text-based applications and migrate to GUI applications and much more. And because Python is supported by most major operating systems (Linux, macOS, and Windows), you can begin your journey, regardless of platform. Python includes support for features such as lists, tuples, functions, variables, JSON, and ranges. But where did Python come from and why is it still so important today? Let’s dig in and find out. To follow our series of introductory tutorials, start here.

  • How To Write Comments In Python

    The way you think is reflected in programming in order to convey the individual steps that you took to solve an issue utilizing a computer. Commenting your code helps clarify your thinking process, which in turn makes it easier for you and other people to comprehend the purpose of your code in the future. Because of this, you will have an easier time locating bugs, fixing them, enhancing the code at a later time, and reusing it in other applications as well. The act of commenting is essential to the completion of any and all tasks, regardless of how little, medium, or fairly enormous they may be. It should be considered standard procedure for software engineers since it is an important component of your workflow. Without comments, things have the potential to get quite complicated very quickly. In this post, we will cover the many techniques of commenting that Python offers, as well as how it may be utilized to automatically produce documentation for your code via the use of the so-called module-level docstrings.

Android Leftovers

PeaZip 8.7.0

PeaZip is an open source file and archive manager. It's freeware and free of charge for any use. PeaZip can extract most of archive formats both from Windows and Unix worlds, ranging from mainstream 7Z, RAR, TAR and ZIP to experimental ones like PAQ/LPAQ family, currently the most powerful compressor available. PeaZip provides fast, high compression ratio multi-format archiving - view file compression and decompression benchmarks for more information. PeaZip is localized in 29 languages and is capable of handling all most popular archive formats (180+ file types), supporting a wide array of advanced file and archive management features (search, bookmarks, thumbnail viewer, find duplicate files and compute hash/checksum value, convert archive files...), especially focused on security (strong encryption, two factor authentication, encrypted password manager, secure file deletion...). Read more