Language Selection

English French German Italian Portuguese Spanish

Perl and Python Programming Leftovers

Filed under
Development
  • Paws XXXXVII (What about the tests????)

    I decided I might as well get busy with CloudFront and at least get most of my real world scripts written.

    At the moment I am getting 400 errors such as 'InvalidArgument' or 'InvalidOrigin' on the Delete and Create actions as I do not have the proper config on the AWS end for the Creates and for the Deletes as I do not have anything on my AWS account to delete.

    Reading though the API documentation is seems there is quite the procedure to actually do some of the actions, for example to invoke the DeleteStreamingDistribution action you have to follow a six pre-steps all of which must pass. So I guess I can forget a quick run on this API

    So the plan is to get all the real world scripts written up and then go though the full CRUD actions for each and get them working with a good generated test case for each.

  • Porting a Dancer plugin to Dancer2

    In my Dancer2 web application, I want to know which requests come from smartphones. There’s a plugin for that — but only in the older Dancer (v1) framework. I’m no expert, but even I was easily able to port the Dancer plugin, Dancer::Plugin::MobileDevice, to Dancer2! In this article, we’ll explore Dancer2 and the way it handles plugins. We’ll get our hands dirty working with the framework, and examine the main changes I made to port the plugin from Dancer to Dancer2. By the end of this article, you’ll be ready to rock and you’ll have a handy reference to use when porting plugins yourself.

  • A Date with CPAN, Update #3: Golden Jubilee

    In case you missed my talk on Date::Easy from a couple years back, I’ll sum it up for you: dates are hard, y’all.

    On January 1st of 2019, a bunch of unit tests for Date::Easy started failing. It was immediately reported, of course—and can I pause here just a moment to thank Slaven Rezić (SREZIC on CPAN and eserte on GitHub), who is surely the most awesome bug reporter ever? Date::Easy is definitely a better module for his reports, and I’ve seen him reporting bugs for many others as well. Anyhow, as I dug into the suddenly failing tests—tests which begin failing even though you didn’t change any code are just a side-effect of writing a date-handling module—I figured out what was wrong. Happily, it wasn’t a problem with the module, which was still returning correct values, but rather with the unit tests themselves.

  • Bug #915: please help!

    I just released coverage.py 5.0.3, with two bug fixes. There was another bug I really wanted to fix, but it has stumped me. I’m hoping someone can figure it out.

    Bug #915 describes a disk I/O failure. Thanks to some help from Travis support, Chris Caron has provided instructions for reproducing it in Docker, and they work: I can generate disk I/O errors at will. What I can’t figure out is what coverage.py is doing wrong that causes the errors.

  • [Older] Hands-On Docker for Microservices with Python Book

    The book is called Hands-On Docker for Microservices with Python, and it goes through the different steps to move from a Monolith Architecture towards a Microservices one.

    It is written from a very practical stand point, and aims to cover all the different elements involved. From the implementation of a single RESTful web microservice programmed in Python, containerise it in Docker, create a CI pipeline to ensure that the code is always high quality, and deploy it along with other Microservices in a Kubernetes cluster.

More in Tux Machines

Linus Torvalds Decides To Land NVIDIA RTX 30 "Ampere" Support In Linux 5.11

While new feature code is normally not allowed in past the end of the merge window for a given Linux kernel release cycle, Linus Torvalds has decided to merge the newly-published open-source driver code for the NVIDIA GeForce RTX 30 "Ampere" graphics cards for the Linux 5.11 kernel that will debut as stable in February. Ahead of this weekend's Linux 5.11-rc4 release, Linus Torvalds has merged the new initial open-source code for the NVIDIA RTX 30 / Ampere GPUs via the Nouveau driver. He was fine with allowing this late addition to Linux 5.11 as the new hardware support is all self-contained and doesn't risk regressing the existing NVIDIA GPU support within the Nouveau driver. Thus it's one of the rare times he permits new code to be added after a merge window since there is minimal risk of it regressing the status quo of hardware support. Read more

today's leftovers

  • Minimalist vs Modern - Linux Mint 20.1

    It's time to check out the two desktop environments built for the latest release of Linux Mint 20.1 - MATE and Cinnamon!

  • Google Docs Replacement | Self-Hosted 36

    Our favorite Google Docs killer with markdown support has a big update. We explain how we host it and why we love it.

  • Announcing Istio 1.8.2

    This release contains bug fixes to improve robustness. This release note describes what’s different between Istio 1.8.1 and Istio 1.8.2

  • openSUSE Tumbleweed – Review of the week 2021/02 – Dominique a.k.a. DimStar (Dim*)

    Dear Tumbleweed users and hackers, Somewhere, I read, 2021 will be the year of the Linux desktop. Do you agree? Let’s make it the year of Tumbleweed on the desktop. In any case, Tumbleweed has been steadily rolling with 5 snapshots published during this week (0107, 0108, 0110, 0111, and 0113).

  • Ubuntu 21.04 To Expand The Use Of Phased Package Updates - Phoronix

    With this spring's release of Ubuntu 21.04 there is more widespread use of "phased updates" for gradually rolling out new stable release updates to help avoid any regressions en masse from coming to light. For years the Ubuntu desktop has employed this phased updates strategy while now with it being plumbed into APT, Ubuntu Server and other versions will by default make use of phased updates. Going back a number of years in Ubuntu has been Phased Updates that wired into Update Manager has led to the gradual rollout of new stable release updates over a period of about two days. This has been done gradually to ensure that no regressions or potential big problems hit all Ubuntu users at once by over the course of many hours exposing more Ubuntu users to these updates.

Security Leftovers

  • Security updates for Friday

    Security updates have been issued by Debian (flatpak, ruby-redcarpet, and wavpack), Fedora (dia, mingw-openjpeg2, and openjpeg2), Mageia (awstats, bison, cairo, kernel, kernel-linus, krb5, nvidia-current, nvidia390, php, and thunderbird), openSUSE (cobbler, firefox, kernel, libzypp, zypper, nodejs10, nodejs12, and nodejs14), Scientific Linux (thunderbird), Slackware (wavpack), SUSE (kernel, nodejs8, open-iscsi, openldap2, php7, php72, php74, slurm_20_02, and thunderbird), and Ubuntu (ampache and linux, linux-hwe, linux-hwe-5.4, linux-hwe-5.8, linux-lts-xenial).

  • Project Zero: Introducing the In-the-Wild Series

    At Project Zero we often refer to our goal simply as “make 0-day hard”. Members of the team approach this challenge mainly through the lens of offensive security research. And while we experiment a lot with new targets and methodologies in order to remain at the forefront of the field, it is important that the team doesn’t stray too far from the current state of the art. One of our efforts in this regard is the tracking of publicly known cases of zero-day vulnerabilities. We use this information to guide the research. Unfortunately, public 0-day reports rarely include captured exploits, which could provide invaluable insight into exploitation techniques and design decisions made by real-world attackers. In addition, we believe there to be a gap in the security community’s ability to detect 0-day exploits.

  • Google series on in-the-wild exploits

    The Google Project Zero blog is carrying a six-part series exploring, in great detail, a set of sophisticated exploits discovered in the wild.

OSS Leftovers and Mostly Openwashing

  • Debarshi Ray: Toolbox — After a gap of 15 months

    About a year ago, Ondřej Míchal single-handedly rewrote Toolbox in Go, making it massively easier to work on the code compared to the previous POSIX shell implementation. Go comes with much nicer facilities for command line parsing, error handling, logging, parsing JSON, and in general is a lot more pleasant to program in. Plus all the container tools in the OCI ecosystem are written in Go anyway, so it was a natural fit. Other than the obvious benefits of Go, the rewrite immediately fixed a few bugs that were inherently very cumbersome to fix in the POSIX shell implementation. Something as simple as offering a –version option, or avoiding duplicate entries when listing containers or images was surprisingly difficult to achieve in the past. What’s more, we managed to pull this off by retaining full compatibility with the previous code. So users and distributors should have no hesitation to update.

  • Rav1e 0.4 Released For Faster Rust AV1 Encoding - But Still Is Quite Slow

    Rav1e 0.4 was released on Wednesday as the latest version of this Rust-written AV1 video encoder. The rav1e 0.4 release represents a speed-up for the encoder but depending upon the preset level can still be at fractions of a frame per second. Rav1e 0.4 development was focused on providing faster performance for x86_64 and AArch64 (64-bit ARM) architectures. A wide variety of optimizations made faster performance possible depending upon the speed level.

  • LCA: Catch Talks by OSI Staff and Community

    Linux.conf.au (aka LCA) is a lovely community conference based in Australasia that will be entering its 22nd year in 2021. The volunteer-run event is known for getting deeply technical on topics varying from the inner workings of the Linux kernel to the inner workings of dealing with communities. This year's event takes place on January 23rd - 25th and is accessible is digital and accessible to everyone, whether you live "down under" or not. Our General Manager, Deb Nicholson will be presenting on how to build and maintain kinder, gentler and more sustainable open source communities in her talk, "Move Slow and Try Not to Break Each Other." on Sunday at 11:40am.

  • Data@Mozilla: This Week in Glean: Proposals for Asynchronous Design

    At last count there are 14 proposals for Firefox on Glean, the effort that, last year, brought the Glean SDK to Firefox Desktop. What in the world is a small, scrappy team in a small, scrappy company like Mozilla doing wasting so much time with old-school Waterfall Model overhead?! Because it’s cheaper than the alternative. Design is crucial before tackling difficult technological problems that affect multiple teams. At the very least you’re writing an API and you need to know what people want to do with it. So how do you get agreement? How do you reach the least bad design in the shortest time?

  • Mozilla Performance Blog: Performance Sheriff Newsletter (December 2020)

    In December there were 241 alerts generated, resulting in 39 regression bugs being filed on average 6.4 days after the regressing change landed. Welcome to the December 2020 edition of the performance sheriffing newsletter. Here you’ll find the usual summary of our sheriffing efficiency metrics, followed by a review of the year. If you’re interested (and if you have access) you can view the full dashboard.

  • CIB spins off new allotropia software GmbH

    “With everyone from SMBs to governments now going fully digital, we see significant demand for integrated, secure, and GDPR-conforming digital document lifecycle solutions,” says Uli Brandner, CEO and owner of CIB labs. “We have continuously invested into LibreOffice to play an important role in our solution stack, and are now taking the next step by setting up a dedicated company with a laser-sharp focus on delivering fully cloud-based versions – in-line with our ongoing push for browser-based products. Being able to build on the multi-decade value of existing OpenSource solutions, as well as the equally many years of experience of our LibreOffice engineering team there, gets us both a significant head start, and the confidence to deliver quality solutions.” LibreOffice engineering consultancy and “LibreOffice powered by CIB” will remain an important part in CIB’s portfolio, now being served and further improved by allotropia software GmbH. “For our customers, this generates the win-win-win situation of having an established, rock-solid partner like CIB, delivering state-of-the-art opensource software, plus the agility of an innovative startup developing new solutions”, adds Uli Brandner.

  • Open Source Management & Strategy Training Program Launched by The Linux Foundation
  • Start 2021 Off With a New Career in the Cloud! Cloud Engineering Bootcamps are on Sale
  • Instructor-Led Kubernetes Security Fundamentals Course Now Available
  • Kubernetes Security Essentials Course Now Available
  • New, Free Training Course Covering Basics of the WebAssembly Now Available
  • Tips for Starting Your New IT Career in 2021!