Language Selection

English French German Italian Portuguese Spanish

Programming: DebDialer, Python Unicode Mess, Plain Old Documentation (pod) and TLCockpit

Filed under
Development
  • DebDialer : Handling phone numbers on Linux Desktops | GSoC 2018

    This summer I had the chance to contribute to Debian as a part of GSoC. I built a desktop application, debdialer for handling tel: URLs and (phone numbers in general) on the Linux Desktop. It is written in Python 3.5.2 and uses PyQt4 to display a popup window. Alternatively, there is also a no-gui option that uses dmenu for input and terminal for output. There is also a modified apk of KDE-Connect to link debdialer with the user’s Android Phone. The pop-up window has numeric and delete buttons, so the user can either use the GUI or keyboard to modify numbers.

  • The Python Unicode Mess

    Unicode has solved a lot of problems. Anyone that remembers the mess of ISO-8859-* vs. CP437 (and of course it’s even worse for non-Western languages) can attest to that. And of course, these days they’re doing the useful work of…. codifying emojis.

    Emojis aside, things aren’t all so easy. Today’s cause of pain: Python 3. So much pain.

    Python decided to fully integrate Unicode into the language. Nice idea, right?

    But here come the problems. And they are numerous.

  • Plain Old Documentation (pod) – write documentation for Perl, Perl software, and Perl modules

    Plain Old Documentation (known as pod) is a simple, lightweight markup language used for writing documentation for Perl, Perl programs, and Perl modules. This markup language is designed to make it easy for programmers to add documentation to their software and modules.

    Pod markup consists of three basic kinds of paragraphs: ordinary, verbatim, command. There’s also a data paragraph.

  • TLCockpit v1.0

    Today I released v1.0 of TLCockpit, the GUI front-end for the TeX Live Manager tlmgr.

    [...]

    CTAN and will soon be available via tlmgr update. As usual, please use the issue page of the github project to report problems.

More in Tux Machines

GNOME Development Leftovers

  • Nightly GNOME Apps and New Adwaita GTK Theme Run Through
    In this video, we are quickly looking at Nightly GNOME Apps and a sneak peek at New Adwaita GTK Theme.
  • Emmanuele Bassi: And I’m home
    Of course I couldn’t stay home playing video games, recording podcasts, and building gunplas forever, and so I had to figure out where to go to work next, as I do enjoy being able to have a roof above my head, as well as buying food and stuff. By a crazy random happenstance, the GNOME Foundation announced that, thanks to a generous anonymous donation, it would start hiring staff, and that one of the open positions was for a GTK developer. I decided to apply, as, let’s be honest, it’s basically the dream job for me. I’ve been contributing to GNOME components for about 15 years, and to GTK for 12; and while I’ve been paid to contribute to some GNOME-related projects over the years, it was always as part of non-GNOME related work. The hiring process was really thorough, but in the end I managed to land the most amazing job I could possibly hope for.
  • Opera Launches Built-in Cryptocurrency Wallet for Android, ManagedKube Partners with Google Cloud to Provide a Monitoring App for Kubernetes Cluster Costs, QEMU 3.1 Released, IoT DevCon Call for Presentations and GNOME 3.31.3 Is Out
    GNOME 3.31.3 is out, and this will be the last snapshot of 2018. Note that this is development code meant for testing and hacking purposes. For a list of changes, go here, and the source packages are here.
  • Firmware Attestation
    When fwupd writes firmware to devices, it often writes it, then does a verify pass. This is to read back the firmware to check that it was written correctly. For some devices we can do one better, and read the firmware hash and compare it against a previously cached value, or match it against the version published by the LVFS. This means we can detect some unintentional corruption or malicious firmware running on devices, on the assumption that the bad firmware isn’t just faking the requested checksum. Still, better than nothing. Any processor better than the most basic PIC or Arduino (e.g. even a tiny $5 ARM core) is capable of doing public/private key firmware signing. This would use standard crypto using X.509 keys or GPG to ensure the device only runs signed firmware. This protects against both accidental bitflips and also naughty behaviour, and is unofficial industry recommended practice for firmware updates. Older generations of the Logitech Unifying hardware were unsigned, and this made the MouseJack hack almost trivial to deploy on an unmodified dongle. Newer Unifying hardware requires a firmware image signed by Logitech, which makes deploying unofficial or modified firmware almost impossible.
  • Robert Ancell: Interesting things about the GIF image format
  • GIFs in GNOME
  • About ncurses Colors
    These colors go back to CGA, IBM's Color/Graphics Adapter from the earlier PC-compatible computers. This was a step up from the plain monochrome displays; as the name implies, monochrome could display only black or white. CGA could display a limited range of colors. CGA supports mixing red (R), green (G) and blue (B) colors. In its simplest form, RGB is either "on" or "off". In this case, you can mix the RGB colors in 2x2x2=8 ways. Table 1 shows the binary and decimal representations of RGB.

Mozilla: Rust and WebAssembly, WebRender, MDN Changelog for November 2018, Things Gateway and Firefox 65 Beta 6 Testday

  • Rust and WebAssembly in 2019
    Compiling Rust to WebAssembly should be the best choice for fast, reliable code for the Web. Additionally, the same way that Rust integrates with C calling conventions and libraries on native targets, Rust should also integrate with JavaScript and HTML5 on the Web. These are the Rust and WebAssembly domain working group’s core values. In 2018, we made it possible to surgically replace performance-sensitive JavaScript with Rust-generated WebAssembly.
  • rust for cortex-m7 baremetal
  • WebRender newsletter #33
    Yes indeed. In order for picture caching to work across displaylists we must be able to detect what did not change after a new displaylist arrives. The interning mechanism introduced by Glenn in #3075 gives us this ability in addition to other goodies such as de-duplication of interned resources and less CPU-GPU data transfer.
  • MDN Changelog for November 2018
    Potato London started work on this shortly after one-time payments launched. We kicked it off with a design meeting where we determined the features that could be delivered in 4 weeks. Potato and MDN worked closely to remove blockers, review code (in over 25 pull requests), and get it into the staging environment for testing. Thanks to everyone’s hard work, we launched a high-quality feature on schedule. We’ve learned a lot from these payment experiments, and we’ll continue to find ways to maintain MDN’s growth in 2019.
  • K Lars Lohn: Things Gateway - a Virtual Weather Station
    Today, I'm going to talk about creating a Virtual Weather Station using the Things Gateway from Mozilla and a developer account from Weather Underground. The two combined enable home automation control from weather events like temperature, wind, and precipitation.
  • Taskgraph Like a Pro
    Have you ever needed to inspect the taskgraph locally? Did you have a bad time? Learn how to inspect the taskgraph like a PRO. For the impatient skip to the installation instructions below.
  • Firefox 65 Beta 6 Testday, December 21th
    We are happy to let you know that Friday, December 21th, we are organizing Firefox 65 Beta 6 Testday. We’ll be focusing our testing on: and changes and UpdateDirectory. Check out the detailed instructions via this etherpad.

Fedora Developers Are Trying To Figure Out The Best Linux I/O Scheduler, Fedora 29 Review and Fedora Program Management

ARM's Work in Linux (Kernel)

  • Energy Model Management Framework Queued For Linux 4.21
    A new framework queued for introduction with the Linux 4.21 kernel is the ARM-developed Energy Model Management Framework. With different hardware and drivers exposing the processor/system energy consumption in different manners, the Energy Model Management Framework tries to provide a standardized way of accessing the power values for each performance domain in a system. This can help kernel drivers/schedulers and other code that could make smarter decisions based upon current energy use be able to do so via this standardized framework for acquiring the power information on capable systems.
  • ARM's AArch64 Adding Pointer Authentication Support To The Linux 4.21 Kernel
    The 64-bit ARM architecture code (a.k.a ARM64 / AArch64) with the Linux 4.21 kernel is seeing pointer authentication added as a new security feature. Pointer authentication can be supported by ARMv8.3 hardware and newer to allow for signing and authenticating of pointers against secret keys. The purpose of this pointer authentication is to mitigate ROP attacks and other potential buffer-overrun-style attacks. This ARM64_PTR_AUTH functionality will enable pointer authentication for all user-space processes and the presence of supported hardware is determined at run-time. ARM developers have been working on the plumbing for this Linux kernel support for it the past year.