Language Selection

English French German Italian Portuguese Spanish

Programming Leftovers

Filed under
Development
  • Perl Weekly Challenge 62: Sort Email Addresses

    Write a script that takes a list of email addresses (one per line) and sorts them first by the domain part of the email address, and then by the part to the left of the @ (known as the mailbox).

    Note that the domain is case-insensitive, while the mailbox part is case sensitive. (Some email providers choose to ignore case, but that’s another matter entirely.)

    If your script is invoked with arguments, it should treat them as file names and read them in order, otherwise your script should read email addresses from standard input.

  • XSD2Go - Automatically generate golang xml parsers

    Most of my readers will probably have an experience with the wide spread XML applications like RSS or Atom feeds, SVG, XHTML. For those well known XML applications you will find good library encapsulating the parsing for you. You just include existing parser in your project and you are done with it. However, what would you do if you cannot use it (think of license mismatch), or what would you do if there was no parsing library at all?

    There are many XML applications around. Here comes a (probably incomplete) list of XML formats, I had to touch in my past life: Atom, DocBook, Office Open XML, OpenDocument (ODF), OSCAL, Rolie, RSS, SAML, SCAP (+dozens of sub-formats), SOAP, SVG, XMPP, Epub, WS-Policy, XHTML, XSLT.

  • 8 IT jobs in flux

    If there’s one universal piece of advice for IT professionals, it’s “don’t get too comfortable.” The role or project you were hired for may quickly evolve or even become obsolete as the technology landscape changes. Your important title, such as scrum master or agile team lead, may lose its prestige if your organization someday gives up on agile practices.

    In the ever-evolving IT industry, it’s up to individuals to stay adaptable. It’s also up to leaders to help each person on the team recognize the value they bring to the organization outside of their job description – and to reallocate, re-organize, and re-imagine talent as appropriate.

  • What is Deno? | AWS Open Source Blog

    Deno’s approach to ES Modules is generating a lot of debate around package management, especially concerning security. For example, will this prevent another left-pad incident? Regardless of your gut reaction, I highly recommend reading the docs.

    I think the explicitness of import-from-URL will make developers think carefully about dependency management; however, I suspect many teams will handle this problem similarly to how they handle npm: with lock files, proxies, and white-listed internal registries.

  • drat 0.1.6: Rewritten macOS binary support

    A new version of drat arrived on CRAN overnight, once again taking advantage of the fully automated process available for such packages with few reverse depends and no open issues. As we remarked at the last release fourteen months ago when we scored the same nice outcome: Being a simple package can have its upsides…

  • Stack Overfow Developer Survey 2020

    Ruby is now in consistent decline, I have read people linking this to Twitter moving away from Ruby on Rails. My observation is that Ruby on Rails seems to have gone out of fashion in favor of lightweight server frameworks and I would suggest that Kubernetes has sidelined Puppet, so organizations aren't bring in Ruby via apps/frameworks they want to use.

    I am curious that the Hack language (from Facebook) might be splitting the PHP community whilst PHP's killer apps are being eroded. Wordpress is still hugely popular, but in generally I observe that blogs have been replaced by social media (Facebook, Medium, etc), rather than running Wikimedia organizations seem in love with Confluence, and that SMB company websites are being captured by WIX, Shopify et al. Wikimedia was using HHVM but is not following it to Hack and Box had success with HHVM but I can't find any update.

    I think that Go is taking share from Python and somewhat Java. Google itself is using Go internally which radiates outwards in terms of mindshare of their alumni. A range of software written in Go is currently vogue (Kubernetes, Docker etc Although Docker seem to have stumbled with Docker Swarm and Redhat is shipping their own) which means it will be in organizations via that software.

  • The 14 most loved programming languages, according to a study of 65,000 developers
  • Converting snake_case keys to camelCase in Elixir

    Converting a snake_case map keys to camelCase is a pretty common task in the snake-case-style languages working with the JavaScript frontend. Here are the basics in understanding how you can convert maps to camelCase style in Elixir.

More in Tux Machines

Molly de Blanc: (Some) Highlights from GUADEC

I positively adore my coworkers. I’ll spare you how great they are, and instead focus on some of the talks they’ll be giving. GKT Core Developer Emmanuele Bassi will be giving two talks: Being a GNOME Maintainer: Best Practices and Known Traps and Archaeology of Accessibility. Being a GNOME Maintainer will discuss what it means to be a GNOME maintainer, and Archaeology of Accessibility will be a technical deep dive into the accessibility work Emmanuele and others have been doing around accessibility. (Note: “Accessibility” refers to the ability of technology to accommodate the needs of users who have disabilities, visual impairments, etc.) Melissa Wu, who is organizing the Community Engagement Challenge, will give two sessions as well. In her first, Remember What It’s Like to Be New to GNOME, she’ll talk about her experience coming to the GNOME community only a few months ago, getting to know people, and making things happen. Melissa will also join me for A Year of Strategic Initiatives at GNOME, during which we’ll talk about a range of things that have happened at GNOME over the past year (and some future plans), with a focus on organizational sustainability and the initiatives that make us excited to work here. Executive Director Neil McGovern will lead the Annual General Meeting, to provide everyone with an overview of what we’ve been doing and what we will do, and answer your questions. Read more

IBM/Red Hat: systemd, chatbots, remote work and why Java and Quarkus are important for your business

  • systemd-oomd Looks Like It Will Come Together For systemd 247

    Systemd-oomd is the out-of-memory daemon developed by Facebook and systemd developers. They are aiming for this to be better Linux handling of out-of-memory / low memory situations. Facebook originally wrote their OOMD code for their servers and since then has continued to be refined and adapted so it works out equally as well on desktops and more. Systemd-oomd polls systemd for OOMD-enabled cgroups to monitor them and kill based on memory pressure or swap usage. The systemd-oomd behavior is controlled via a new oomd.conf configuration file. Cgroups will need to employ EnableOomdKill if they want to be killed when under pressure.

  • 8th grader creates Watson-powered chatbot to help students plan for college during COVID-19

    When eighth-grader Harita Suresh found herself stuck at home due to the coronavirus, she decided to use her extra time to learn something new. After perusing edX.org, she settled on a course from IBM called AI chatbots without programming, which claimed that she would be able to build a fully functional chatbot with no prior knowledge about AI. Two weeks later, she’d used her newfound knowledge to create and launch a fully functioning chatbot — Rita — for her dad’s business, Analyze-Ed.

  • 3 best practices for working on a distributed team

    I have mixed feelings about instant messaging platforms. Pulling quick conversations out of email and into Slack often does improve resolution times for small issues, but a successful rollout requires some setting of expectations. Fundamentally, I do not believe it is reasonable to expect prompt responses to IM messages during the workday. Giving employees time for focused, uninterrupted work is vital. These tools provide functionalities to customize alerts, including muting all notifications (with a configurable option that lets others force alerts through as needed), muting individual channels, setting up various keyword notifications, and a wide range of other options not covered here. However, these controls are meaningless if there is an organizational expectation of prompt responses. Too frequently, I see folks asking a question like "Is anyone working on the database?" and, after less than five minutes, following up with "Okay, sounds like nobody is working on it, I am going to make my changes." Not only does this assume everyone has the same working hours, which immediately breaks down when you have remote team members in different time zones, it also ignores the reality of work both in and out of the office. Packages get delivered, coffee needs to be prepared, meetings are attended, and, sometimes, real work is being done! Take an empathetic look at your co-workers' needs and build expectations that allow for async work.

  • Why Java and Quarkus are important for your business

    Java has been the workhorse of enterprise software application development for the past 25 years. During this time, we have also seen some drastic changes to application infrastructure technologies - ones that are not always compatible with the Java framework. We have seen it all: from monolithic application servers, to API-driven programmable infrastructure, to just-in-time intelligent serverless infrastructures. We have gone from extensive setup and dynamic configuration for peak workloads, to expressing the ideal operational model as code for our applications. Now with serverless computing, developers can focus on providing the application code and letting an intelligent application infrastructure run and scale up and down for use, without even thinking about infrastructure concerns. Increasingly, modern application infrastructure tends to be immutable, meaning that servers are not able to be modified after they have been deployed. Immutable infrastructure can help simplify operations and lead to simpler, more predictable, and consistent deployment processes. When changes are required, the old configuration can be replaced with a new configuration to keep the environments consistent and easily reproducible across development, test and production. However, the traditional Java framework was designed for changeable application infrastructure that is no longer required in modern cloud environments.

NanoPi and Raspberry Pi

  • Compact, $20 NanoPi Neo3 SBC runs Linux on RK3328

    FriendlyElec has launched a 48 x 48mm, $20-and-up “NanoPi Neo3” SBC that runs Linux on a quad -A53 Rockchip RK3328 with 1GB or 2GB DDR4 and provides USB 3.0, GbE, and -20 to 70℃ support. When FriendlyElec announced its NanoPi Neo4 SBC last October, there was a lot to be excited about, starting with one of the most affordable prices ($45 and up) and smallest footprints (60 x 45mm) available with a hexa-core Rockchip RK3399. To our mind, it was not a proper Neo, however, as it lacked the ultra-compact 40 x 40mm footprint of earlier, Allwinner-based Neo boards such as the Allwinner H3-based NanoPi Neo Air and Allwinner H5-based NanoPi Neo2 or 52 x 40mm NanoPi Neo Plus2.

  • Metronome or Music Pc? Music Geek Tries the Raspberry Pi/Linux-Primarily based 'Organelle'

Troubleshoot Linux kernel panic with kdump crash tool

Kernel panic is a critical issue that manifests as a system freeze. If you're not familiar with what a kernel does, it is the core of an OS. Linux itself is a kernel, which enables developers to create numerous distributions. A serious enough error at the kernel can cause an event known as kernel panic. This is similar to Window's blue screen of death, but instead of seeing a blue screen, you simply see a log output on a black screen. Kernel panic can occur due to bad memory, driver crashes, malware or software bugs. To identify the cause of kernel panic, you can use the kdump service to collect crash dumps, perform a root cause analysis and troubleshoot the system. To get started, you should have two VMs that run CentOS. This tutorial uses CentOS 8 as the Linux distribution for both the Network File System (NFS) server and client. If you configure the client to send the crash dumps to an NFS share, you can centrally gather and analyze a crash dump without using the system that is affected by kernel panic. Below are the IP addresses of the NFS server and client. Your addresses may differ depending on your subnet configuration, but both addresses are necessary. Read more