Language Selection

English French German Italian Portuguese Spanish

Development

Python Programming

Filed under
Development
  • Split String in Python

    When a string of multiple words is divided into the specific number of words based on a particular separator then it is called string splitting. Most of the programming languages use the split() method to divide a string into multiple words. The return type of this method is an array for many standard programming languages. the split() method is used in Python also to divide a string into words and it returns a list of words based on the separator. How to split() method can be used in Python is shown in this article by using different examples. Spyder3 editor is used here to write and execute the python script.

  • Send and receive UDP packets via Python

    We already know about two main transport layer protocols like TCP and UDP. For more information about TCP and UDP you can check reference section. In this article we will learn how to send and receive UDP packets using python program.

  • The 7 most popular ways to plot data in Python

    "How do I make plots in Python?" used to have a simple answer: Matplotlib was the only way. Nowadays, Python is the language of data science, and there's a lot more choice. What should you use?

    This guide will help you decide. It will show you how to use each of the four most popular Python plotting libraries—Matplotlib, Seaborn, Plotly, and Bokeh—plus a couple of great up-and-comers to consider: Altair, with its expressive API, and Pygal, with its beautiful SVG output. I'll also look at the very convenient plotting API provided by pandas.

    For each library, I've included source code snippets, as well as a full web-based example using Anvil, our platform for building web apps with nothing but Python. Let's take a look.

  • Episode 3: Effective Python and Python at Google Scale

    In this episode, Christopher interviews Brett Slatkin about the 2nd edition of his book Effective Python. Brett talks about the revisions he made for the book, and updating it for the newest versions of Python 3.

    Christopher asks who is the intended developer for the book. Brett also discusses working on Google App Engine, and what it’s like to develop and maintain Python applications at Google Scale. Brett mentions a brief anecdote about working with Guido van Rossum, while they both worked at Google. He also provides advice about maintaining a large and aging Python code base.

  • Randy Zwitch: Building pyarrow with CUDA support

    The other day I was looking to read an Arrow buffer on GPU using Python, but as far as I could tell, none of the provided pyarrow packages on conda or pip are built with CUDA support. Like many of the packages in the compiled-C-wrapped-by-Python ecosystem, Apache Arrow is thoroughly documented, but the number of permutations of how you could choose to build pyarrow with CUDA support quickly becomes overwhelming.

    In this post, I’ll show how to build pyarrow with CUDA support on Ubuntu using Docker and virtualenv. These directions are approximately the same as the official Apache Arrow docs, just that I explain them step-by-step and show only the single build toolchain I used.

  • Python String Formatting

    The string Formatting is a very important task of any type of programming language. It helps the user to understand the output of the script properly. The string formatting can be done in Python in various ways, such as using ‘%’ symbol, format() method, string interpolation, etc. This article shows how the string data can be formatted in Python by using different string formatting methods. Spyder3 editor is used here to write and run the script.

    Two types of formatting parameters can be used in Python. These are positional parameters and keyword parameters. The parameter which is accessed by the index is called the positional parameter and the parameter which is accessed by key is called the keyword parameter. The uses of these parameters are shown in the next part of this article.

  • 30 Days Of Python | Day 3 Project: A Simple Earnings Calculator

    Welcome to the first mini project in the 30 Days of Python series. For this project we're going to be creating a simple console application that will help an employer calculate an employee's earning in a given week.

    [...]

    Once you've written your program, you shouldn't be worried if it looks a little bit different to ours. You might have chosen different variable names or prompts, or you might have used a slightly different approach to us. This is absolutely fine. There are often may different ways to write even very short programs like this.

  • When to use the Clean Architecture?

    There are few possible reactions after learning about the Clean Architecture or Hexagonal Architecture (AKA Ports & Adapters) or even merely innocent service layer in Django. Some developers are enthusiastic and try to apply these techniques immediately, some are hesitant, full of doubts. The rest is strongly opposing, declaring openly this is an abomination. Then they say we already have excellent tools, like Django. Then they argue others don’t know about the advanced features of common tools. Then they call you Java developer in disguise.

    As a speaker and an author of the book Implementing the Clean Architecture , I have faced all the reactions from this spectrum. What two extremes fail to do, is to ask the right question – WHEN? When the Clean Architecture should be used?

Programming Leftovers

Filed under
Development
  • Purism: Our tips for remote working

    Most of us don’t like writing documentation at the best of times but when going remote, a great team wiki or docs portal can help keep everyone in the loop and reduce repetitive questioning in team chat.

    Choose a solution that tracks changes (version control) and if needed, has an easy to use interface for non-technical people. We use wiki.js backed by git.

    You should document something if you have to say it more than once. This will empower people to answer their own questions by searching for the answer.

    If you are looking for a good example of team documentation take a look at GitLab’s public handbook (our wiki is private).

  • Dirk Eddelbuettel: RQuantLib 0.4.12: Small QuantLib 1.18 update

    QuantLib is a very comprehensice free/open-source library for quantitative finance; RQuantLib connects it to the R environment and language.

    This version does relatively little. When QuantLib 1.18 came out, I immediately did my usual bit of packaging it for Debian as well creating binaries via my Ubuntu PPA so that I could test the package against it. And a few call from RQuantLib are now hitting interface functions marked as ‘deprecated’ leading to compiler nags. So I fixed that in PR #146. And today CRAN sent me email to please fix in the released version—so I rolled this up as 0.4.12. Not other changes.

  • Observing Coronavirus Pandemic with Raku

    Every few years a new unknown virus pops up and starts spreading around the globe. This year, the situation with COVID-19 is different not only because of the nature of the virus but also because of the Internet. Whilst we have instant access to new information (which is often alarmist in tone) we also have the ability to access data for ourselves.

    Johns Hopkins University Center for Systems Science and Engineering synthesizes COVID-19 data from different sources, and displays it on their online dashboard. They also publish daily updates in CSV files on GitHub.

    I decided to ingest their CSV data and display it using different visualizations to reduce panic and provide a way to quickly see real numbers and trends. The result is the website covid.observer. The source files are available in the GitHub repository.

  • This Week in Rust 332
  • PyCharm 2020.1 Release Candidate

    We’ve passed the final approach fix, and we’re now established on the glideslope for the PyCharm 2020.1 release. This week’s build brings a couple of bug fixes as we hope to take the release in for a smooth landing. Let us know how we’re doing by getting this version, if you run into any issues please leave us a ticket on YouTrack.

  • EuroPython 2020: CFP for the Online Event

    Since we had started the CFP under the assumption of running an in-person conference and are now switching EuroPython 2020 to an online event, we will extend the CFP for another two weeks until April 12, to give everyone who would like to participate in this new format, a chance to submit a session proposal.

  • Visualizing Decision Trees with Python (Scikit-learn, Graphviz, Matplotlib)

    Decision trees are a popular supervised learning method for a variety of reasons. Benefits of decision trees include that they can be used for both regression and classification, they don’t require feature scaling, and they are relatively easy to interpret as you can visualize decision trees. This is not only a powerful way to understand your model, but also to communicate how your model works. Consequently, it would help to know how to make a visualization based on your model.

  • Python Bytes: #175 Python string theory with superstring.py
  • Onboarding Continuity - Building SaaS #50

    In this episode, we stepped from the welcome onboarding page to the first interactive page in the flow. I extracted the common banner for each of the templates and customized it for each of the steps in the process.

    The first thing we did was create a button on the starting page. The button connects the welcome page to the second step in the flow where the app will ask for information about the user’s school year.

    With the button in place, we created the new view to handle the school year form. Before getting into that form, I extracted the common onboarding banner into a template fragment.

  • Templates For User Interfaces

    In the previous Understand Django article, we looked at the fundamentals of using views in Django. This article will focus on templates. Templates are your primary tool in a Django project for generating a user interface. Let’s see how templates hook into views and what features Django provides with its template system.

Programming: Java, Compilers and Python/Django

Filed under
Development
  • You should know the comparison between Java 8 & Java 9

    Java language is based on an Object-Oriented Programming algorithm. Oracle is currently maintaining Java. Being licensed under General Public License GNU, Java 8 was released on 14th January 2014 whereas Java 9 on 27th July 2017. The latest version is Java 13, which was released on 17th September 2019.

    If you’re applying for a job position as a Java Developer, you might want to read some Java 8 interview questions and also clarify differences between Java 8 and Java 9. The 8th version of Java included important updates. The basic purpose of Java 8 was to provide enhancements, bug fixes and improve the efficiency of coding compared to its predecessor. Java 9 included updates to enhance industry-wide development through a new platform module system.

    Java 9’s accessibility and improved modularity help developers to easily assemble and maintain sophisticated applications. It also helps in making Java scale down on smaller devices while improving security and performance.

  • LLVM Plumbs Support For Intel Golden Cove's New SERIALIZE Instruction

    Yesterday we noted Intel's programming reference manual being updated with new Golden Cove instructions for Sapphire Rapids and Alder Lake and with that Intel's open-source developers have begun pushing their changes to the compilers. The latest updates add TSXLDTRK, a new HYBRID bit for Core+Atom hybrd CPUs, and a new SERIALIZE instruction. After GCC was receiving the patch attention yesterday, LLVM is getting its attention today.

  • Reuven Lerner: Reminder: My free “Python for non-programmers” course continues tomorrow!

    If you’ve never programmed a computer before — or if you tried, and found it frustrating and difficult — then you’re welcome to join my “Python for non-programmers” course, which takes place on Thursdays at 10 a.m. Eastern.

    The class is 100% free of charge, and open to anyone who wants. Just register at https://PythonForNonProgrammers.com/. Registering gets you weekly reminders, recordings of previous sessions, and invites to the private forum, where you can chat about the lessons with other students.

  • Django changes its governance

    The Django web framework has come a long way since it was first released as open source in 2005. It started with a benevolent dictator for life (BDFL) governance model, like the language it is implemented in, Python, but switched to a different model in 2014. When Python switched away from the BDFL model in 2018, it followed Django's lead to some extent. But now Django is changing yet again, moving from governance based around a "core team" to one that is more inclusive and better reflects the way the project is operating now.

    Django actually started out with co-BDFLs; Adrian Holovaty and Jacob Kaplan-Moss filled that role until they retired in early 2014, which motivated the change to the core-team model. By 2018, some problems with that new model were being felt, so James Bennett spearheaded an effort to change it, which resulted in Django enhancement proposal (DEP) 10 ("New governance for the Django project")—adopted on March 12. Perhaps unsurprisingly, some of the problems identified for Django are sometimes heard in Python circles as well; the changes for Django could be a harbinger of Python's governance down the road.

Programming: Visual Programming, GCC, Eclipse, Red Hat Developers, BASIC, Python, Bash, Pine64 and Raspi

Filed under
Development
  • QuickDAQ.mikroBUS Development Board Leverages Visual Programming and MikroE Click Boards (Crowdfunding)

    mikroBUS is a socket interface that allows you to connect MikroElektronik (MikroE) Click add-on boards that can be buttons, sensors, a servo controller, a wireless module, and practically anything you may think of since there are over 700 Click boards to choose from.

  • GCC 10 Release Candidate Likely Hitting In The Next Few Weeks

    The month of April usually sees the new annual GNU Compiler Collection (GCC) feature releases and for GCC 10 in the form of GCC 10.1 as the first stable release in the series does stand chances of releasing this month.

    SUSE's Richard Biener provided the latest GCC 10 status report on Wednesday. He notes there still are 21 bugs to fix (or demote to a lower priority regression) before they hit the milestone of no "P1" regressions.

  • Eclipse Foundation offers open-source alternative to Visual Studio Code

    The Eclipse Foundation just released version 1.0 of an open-source alternative to Visual Studio Code called Eclipse Theia. Theia is an extensible platform that allows developers to create multi-language cloud and desktop IDEs, allowing them to create entirely new developer experiences.

    According to the Eclipse Foundation, the differences between Theia and Visual Studio Code are that Theia has a more modular architecture, Theia was designed from the ground to run on desktop and cloud, and Theia was developed under community-driven and vendor-neutral governance of the Eclipse Foundation.

  • Red Hat Developers: How to write an ABI compliance checker using Libabigail

    I’ve previously written about the challenges of ensuring forward compatibility for application binary interfaces (ABIs) exposed by native shared libraries. This article introduces the other side of the equation: How to verify ABI backward compatibility for upstream projects.

    If you’ve read my previous article, you’ve already been introduced to Libabigail, a static-code analysis and instrumentation library for constructing, manipulating, serializing, and de-serializing ABI-relevant artifacts.

    In this article, I’ll show you how to build a Python-based checker that uses Libabigail to verify the backward compatibility of ABIs in a shared library. For this case, we’ll focus on ABIs for shared libraries in the executable and linkable format (ELF) binary format that runs on Linux-based operating systems.

    Note: This tutorial assumes that you have Libabigail and its associated command-line tools, abidw and abidiff installed and set up in your development environment. See the Libabigail documentation for a guide to getting and installing Libabigail.

  • Excellent Free Tutorials to Learn BASIC

    BASIC (Beginner’s All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use. In 1964, John G. Kemeny and Thomas E. Kurtz designed the original BASIC language at Dartmouth College. They wanted to enable students in fields other than science and mathematics to use computers. At the time, nearly all use of computers required writing custom software, which was something only scientists and mathematicians tended to learn.

    The advent of the personal computer was crucial to the success of BASIC. The language was designed for hobbyists, and as personal computers became more accessible to this audience, books of BASIC programs and BASIC games surged in popularity.

    BASIC is generally not regarded as the easiest way to take the first steps in learning the art of programming. But it does not hinder beginners from learning how to program, or teach them bad habits. And it’s the highest low-level language. Even today, there remains value in learning BASIC.

    Here’s our recommended tutorials to learn BASIC. If you’re looking for free BASIC programming books, check here.

  • The 20 Best Python Tips and Tricks You Must Know in 2020

    This well-crafted article will show how you can get good at Python. All these tips and tricks will make you a better Python Developer. If you are a beginner, you are in for a treat! Python is very easy to learn. Its syntax is very compact and clean. If you are up for it, you can master it within months. Python is truly ubiquitous. Software Development to Data Science, Machine Learning to Artificial Intelligence — you can do everything. Let’s show you how to become a Pythonista!

  • Get started with Bash scripting for sysadmins

    The Bash shell is definitely not the only shell out there, but it's one of the most powerful. This makes it a popular choice for systems administrators needing to develop serious applications that go beyond a simple "laundry list" of commands to run on a system. There are lots of great uses for other shells (I default to Tcsh for Git hooks, for instance), but Bash is an easy choice for serious scripting, and here's why.

  • Pine64 is Giving Away 50,000 Face Masks to Makers

    It’s interesting how to see how different countries handle the COVID-19 pandemic response. In Asia, virtually everybody is now wearing a face mask, sometimes hand-made due to supply issues, but in Europe and North America at least, I’ve seen authorities tell healthy people not to wear a mask at all, and reserve them to health professionals. I’ve even seen some nasty comments on Twitter complaining about people wearing masks at the grocery store (in the US) as they took supply out of health professionals.

  • El Carrillon | The MagPi 92

Programming Leftovers

Filed under
Development
  • One-Hot Encoding in Python with Pandas and Scikit-Learn

    In computer science, data can be represented in a lot of different ways, and naturally, every single one of them has its advantages as well as disadvantages in certain fields.

    Since computers are unable to process categorical data as these categories have no meaning for them, this information has to be prepared if we want a computer to be able to process it.

    This action is called preprocessing. A big part of preprocessing is encoding - representing every single piece of data in a way that a computer can understand (the name literally means "convert to computer code").

    In many branches of computer science, especially machine learning and digital circuit design, One-Hot Encoding is widely used.

    In this article, we will explain what one-hot encoding is and implement it in Python using a few popular choices, Pandas and Scikit-Learn. We'll also compare it's effectiveness to other types of representation in computers, its strong points and weaknesses, as well as its applications.

  • PyCharm: What’s New in R Plugin

    We’re releasing a new update of the R Plugin for PyCharm and other IntelliJ-based IDEs. If you haven’t tried the plugin yet, download it from our website.

    The plugin is available for 2019.3 versions of IDEs and for EAP builds of 2020.1. The latest update comes with many stability improvements and long-awaited features:

    1. You want your publications to look good, we now make it easy to get your graphs in exactly the size you need.

  • The Weekly Challenge #054

    For the first time, since I started participating the weekly challenges, I thought of doing one-liner. With handy CPAN modules, it was pretty straight forward in Perl. Even Raku with built-in features wasn’t far behind Perl. Like in the past, I learn something new in Raku every week. This week was no different. I will share what I learnt this time later.

  • How to compare objects in PHP

    PHP offers a simple way to compare objects using the comparison (==) and identity (===) operators.

    When using the comparison operator (==), object variables are compared in a simple manner: Two object instances are equal if they have the same attributes and values and are instances of the same class.

  • Fix Class ‘DOMDocument’ not found error
  • How JAMstack Is Shaking Up Static Application Development

    In an API-driven world that is increasingly mobile, JAMstack is well-positioned to become a de facto method for application architecture and delivery.

GTK 3.98.2

Filed under
Development
GNU

When we released 3.98.0, we promised more frequent snapshots, as the remaining GTK 4 features are landing. Here we are a few weeks later, and 3.98.1 and 3.98.2 snapshots have quietly made it out.

Read more

Also: GTK 3.98.2 Released As Another Step Towards GTK4

Python Development

Filed under
Development
  • Hidden Markov Model - A story of the morning insanity

    In this article, we present an example of an (im-)practical application of the Hidden Markov Model (HMM). It is an artifially constructed problem, where we create a case for a model, rather than applying a model to a particular case… although, maybe a bit of both.

    Here, we will rely on the code we developed earlier , and discussed in the earlier article: “Hidden Markov Model - Implementation from scratch”, including the mathematical notation. Feel free to take a look. The story we are about to tell contains modeling of the problem, uncovering the hidden sequence and training of the model.

  • Tryton News: Newsletter April 2020

    Tryton is a business software platform which comes with a set of modules that can be activated to make an ERP, MRP, CRM and other useful applications for organizations of any kind.
    During this month, when most developers are social distancing, we recorded a lot of changes to prepare for the upcoming release 5.6 that is planned for the start of May.

  • Reading and Writing MS Word Files in Python via Python-Docx Module

    The MS Word utility from Microsoft Office suite is one of the most commonly used tools for writing text documents, both simple and complex. Though humans can easily read and write MS Word documents, assuming you have the Office software installed, often times you need to read text from Word documents within another application.

    For instance, if you are developing a natural language processing application in Python that takes MS Word files as input, you will need to read MS Word files in Python before you can process the text. Similarly, often times you need to write text to MS Word documents as output, which could be a dynamically generated report to download, for example.

  • Linked Lists in Python: An Introduction

    Linked lists are like a lesser-known cousin of lists. They’re not as popular or as cool, and you might not even remember them from your algorithms class. But in the right context, they can really shine.

  • Python Software Foundation: An Update on PyPI Funded Work

    Originally announced at the end of 2018, a gift from Facebook Research is funding improvements for the security PyPI and its users.

  • Django bugfix releases issued: 3.0.5 and 2.2.12

    Today we've issued 3.0.5 and 2.2.12 bugfix releases.

  • Concurrency in Python

    A thread is an independent sequence of execution, but it shares memory with all the other threads belonging to your program. A Python program has, by default, one main thread. You can create more of them and let Python switch between them. This switching happens so fast that it appears like they are running side by side at the same time.

  • What the heck is pyproject.toml?

    Recently on Twitter there was a maintainer of a Python project who had a couple of bugs filed against their project due to builds failing (this particular project doesn't provide wheels, only sdists). Eventually it came out that the project was using a pyproject.toml file because that's how you configure Black and not for any other purpose. This isn't the first time I have seen setuptools users use pyproject.toml because they were "told to by <insert name of tool>" without knowing the entire point behind the file. And so I decided to write this blog post to try and explain to setuptools users why pyproject.toml exists and what it does as it's the future of packaging in the Python ecosystem (if you are not a conda user).

    [...]

    With PEP 518 in place, tools knew what needed to be available in order to build a project into a wheel (or sdist). But how do you produce a wheel or sdist from a project that has a pyproject.toml? This is where PEP 517 comes in. That PEP specifies how build tools are to be executed to build both sdists and wheels. So PEP 518 gets the build tools installed and PEP 517 gets them executed. This opens the door to using other tools by standardizing how to run build tools. Before, there was no standardized way to build a wheel or sdist except with python setup.py sdist bdist_wheel which isn't really flexible; there's no way for the tool running the build to pass in environment details as appropriate, for instance. PEP 517 helped solve that problem.

    One other change that PEP 517 & 518 has led to is build isolation. Now that projects can specify arbitrary build tools, tools like pip have to build projects in virtual environments to make sure each project's build tools don't conflict with another project's build tool needs. This also helps with reproducible builds by making sure your build tools are consistent.

    Unfortunately this frustrates some setuptools users when they didn't realize a setup.py files and/or build environment have become structured in such a way that they can't be built in isolation. For instance, one user was doing their builds offline and didn't have setuptools and 'wheel' cached in their wheelhouse, so when pip tried to build a project in isolation it failed as pip couldn't find setuptools and 'wheel' to install into the build virtual environment.

  • 3 Python templating languages you should (probably) never use

    When reaching for a templating language for writing a Python web application, there are an abundance of robust solutions.

    There are Jinja2, Genshi, and Mako. There are even solutions like Chameleon, which are a bit older, but still recommended by the Pyramid framework.

    Python has been around for a long time. In that time, deep in the corners of its system, it has accumulated some almost forgotten templating languages that are well worth poking at.

  • How to Speed up Your Python Code

    Always take a good look at your code and algorithms first. Many speed issues can be resolved by implementing a better algorithm or adding caching.

Programming: Racket, Perl and Raku, GNU/Bash

Filed under
Development
  • Excellent Free Tutorials to Learn Racket

    Racket is a general-purpose, object-oriented, multi-paradigm, functional, imperative, logic based programming language based on the Scheme dialect of Lisp. It’s designed to be a platform for programming language design and implementation.

    Racket is also used to refer to the family of Racket programming languages and the set of tools supporting development on and with Racket. It has a powerful cross-platform GUI library built in.

    Racket’s core language includes macros, modules, lexical closures, tail calls, delimited continuations, parameters (fluid variables), software contracts, green and OS threads, and more. The language also comes with primitives, such as eventspaces and custodians, which control resource management and enables the language to act like an operating system for loading and managing other programs.

    Racket is often used for scripting, computer science education, and research. It’s an open-source project (Apache/MIT).

    Here’s our recommended tutorials to learn Racket.

  • Pangeo with Dask Gateway

    Over the past few weeks, we have made some exciting changes to Pangeo’s cloud deployments. These changes will make using Pangeo’s clusters easier for users while making the deployments more secure and maintainable for administrators.

    Going all the way back to the initial prototype, Pangeo’s cloud deployments have combined a user interface like Jupyterlab with scalable computing. Until recently, Pangeo used Dask Kubernetes to start Dask clusters on a Kubernetes cluster. This worked well for several years, but there were a few drawbacks.

  • We are happy to announce the first release of Jaybird 4.

    We are happy to announce the first release of Jaybird 4.

    Jaybird 4 is – compared to Jaybird 3 – an incremental release that builds on the foundations of Jaybird 3.
    The focus of this release has been on further improving JDBC support and adding support for the new data types and features of Firebird 4.

  • How failure-driven development makes you successful

    My job title is senior software engineer, but that's not what my closest co-workers call me. They call me "Cherrybomb" because of all the things I blow up. My regularly scheduled failures have been tracked down to our quarterly earnings and outage times. Literally, I am the production disaster you read about that says, "what not to do ever, in any case, at any time."

    I started my career at a helpdesk where I wrote loops that wrecked servers in high-end companies. I have taken production applications down for up to eight hours without warning, and I have destroyed endless numbers of clusters in an attempt to make things better—and a couple just because I mistyped something.

    I am the reason we have disaster recovery (DR) clusters in Kubernetes. I am the chaos engineer that, without warning, teaches people how to act and troubleshoot quickly when we have an application that has never been tested for an outage recovery plan. I exist as the best example of failure possible, and it's actually the coolest thing ever.

  • Digital Making at Home: Making games
  • Code Hyper Sports’ shooting minigame | Wireframe #35
  • If you've ever wished Visual Studio Code could be more open source, the Eclipse Foundation would like a word

    The Eclipse Foundation has pulled back the curtains on version 1.0 of Theia, an alternative to Microsoft's developer darling of the hour, Visual Studio Code.

    Except it isn't just yet. Those hoping to ditch a Microsoft-branded IDE for something more vendor-neutral might have a while to wait for something to drop from Eclipse itself, although a hop to somewhere like Gitpod will give those interested a look at the cloudy version.

    Eclipse Theia is a framework on which organisations can build and brand their own products, on the desktop or online, rather than a standalone editor.

  • 2020.13 NoConf Reached

    It’s a sad moment in time when you realize that basically all conferences have been cancelled for the foreseeable future: the Perl and Raku Conference in Houston, Perl & Raku Con in Amsterdam to name but a few. Some organizers even came to the conclusion that organizing “in person” events is no longer a viable business model (/r/perl comments).

  • More mojibake fun

    The names contain reconstructable replos. A 2-byte, UTF-8 encoded character was read by a Windows program byte-by-byte to produce 2 new 1-byte characters, and those 2 1-byte characters were converted back to UTF-8 as 2-byte ones.

  • D is for Devilish Place Names

    The downloaded file is a format called CSV ("Comma Separated Values", though in this case they're separated by the pipe character, "|"), typically used in spreadsheets. I'm not really a spreadsheet person, and CSV files are just as easy to analyze using basic shell tools. Most Linux users are familiar with the power of the command line, but don't feel left out if you're not using Linux: the commands I'll show work fine on a Mac, and they probably work on Windows too if you use the Linux Subsystem for Windows.

    I started with a basic count. I'd seen already, on the website's search page, that a lot of the names didn't actually have "Devil" in the name even though that's what I searched for, so that 1883 number is bogus. So I ran a grep -i devil to pick out the place names that actually do have "devil" in the name (-i means "ignore case", so it will find devil as well as Devil). Then I piped the result through wc, word count, using -l to count the number of matching lines:

    grep -i devil GNIS_Devil.csv | wc -l

Debian Development: Sparky Report, Debian Archive Kit, and More

Filed under
Development
Debian
  • Sparky news 2020/03

    The 3rd monthly #stayhome report of 2020 of the Sparky project:

    • Linux kernel updated up to version 5.6.0
    • ChourS2008 translated a few Sparky wiki pages to Russian, thanks a lot
    • Nemoman keep translating Sparky wiki pages to Hungarian, thanks a lot
    • I keep translating wiki pages to Polish as well
    • Sparky 2020.03 & 2020.03.1 of the rolling line released
    • Sparky 4.12 of the oldstable line released
    • added to our repos: ClipGrab, CudaText
    • Sparky repos changed to the named: oldstable-> tyche; stable-> nibiru; testing-> potolo; the old ones work as before alongside to the new ones; see also: sparkylinux.org/sparky-named-repos/
    • added Chines (zh_CN) fonts and other stuff to be installed via APTus-> System-> Install Locales tool (v0.4.27)

  • Jonathan Wiltshire: neuraldak

    We are proud to announce that dak, the Debian Archive Kit, has been replaced by a neural network for processing package uploads and other archive maintenance. All FTP masters and assistants have been re-deployed to concentrate on managing neuraldak.

    neuraldak is an advanced machine learning algorithm which has been taught about appropriate uploads, can write to maintainers about their bugs and can automatically make an evaluation about suitable licenses and code quality. Any uploads which do not meet its standards will be rejected with prejudice.

    [...]

    In terms of licensing , neuraldak has been seeded only with the GPL license. This we consider the gold standard of licenses, and its clauses will be the basis for neuraldak evaluating other licenses as it is exposed to them.

  • Paul Wise: FLOSS Activities March 2020

    The dh-make-perl feature requests, file bug report, File::Libmagic changes, autoconf-archive change, libpst work and the purple-discord upload were sponsored by my employer. All other work was done on a volunteer basis.

  • Mike Gabriel: My Work on Debian LTS (March 2020)

    In March 2020, I have worked on the Debian LTS project for 10.25 hours (of 10.25 hours planned).

Python Programming

Filed under
Development
  • Wing Python IDE 7.2.2 - March 30, 2020

    Wing 7.2.2 introduces a How-To for using Wing with AWS, adds support for Python 3 enums, allows constraining Find Uses of imported symbols to only the current file, and makes a number of usability and stability improvements.

  • Wesley Chun: Authorized Google API access from Python (part 2 of 2)

    Listing your files with the Google Drive API

  • Lists in python example3

    This is the final chapter of the lists in python topic, in this chapter we will create an example that will remove the duplicate student names within a student list with the help of the python loop.

  • Python 101 – Learning About Dictionaries

    Dictionaries are another fundamental data type in Python. A dictionary is a key, value pair. Some programming languages refer to them as hash tables. They are described as a mapping object that maps hashable values to arbitrary objects.

    A dictionary’s keys must be immutable, that is, unable to change. Starting in Python 3.7, dictionaries are ordered. What that means is that when you add a new key, value pair to a dictionary, it remembers what order they were added. Prior to Python 3.7, this was not the case and you could not rely on insertion order.

  • Python main function

    In this tutorial, we will learn how to use a Python program's __name__ attribute to run it dynamically in different contexts.

  • Using data from spreadsheets in Fedora with Python

    Python is one of the most popular and powerful programming languages available. Because it’s free and open source, it’s available to everyone — and most Fedora systems come with the language already installed. Python is useful for a wide variety of tasks, but among them is processing comma-separated value (CSV) data. CSV files often start off life as tables or spreadsheets. This article shows how to get started working with CSV data in Python 3.

    CSV data is precisely what it sounds like. A CSV file includes one row of data at a time, with data values separated by commas. Each row is defined by the same fields. Short CSV files are often easily read and understood. But longer data files, or those with more fields, may be harder to parse with the naked eye, so computers work better in those cases.

  • PSF's Projected 2020 Financial Outcome

    The Python Software Foundation (PSF) is a 501(c)(3) non-profit organization dedicated to the Python community and programming language, as well as running PyCon US. Since PyCon US 2020 was cancelled, the community has asked how the PSF’s finances will be affected. Let us take a look at the projected 2020 financial outcome.

  • EuroPython 2020: Online conference from July 23-26

    In the last two weeks, we have discussed and investigated concepts around running this year’s EuroPython conference as an online conference. We have looked at conference tools, your feedback, drafted up ideas on what we can do to make the event interesting and what we can accomplish given our limited resources.

  • Introduction to the Python HTTP header

    You can create your own custom headers for the HTTP destination using the Python HTTP header plugin of syslog-ng and Python scripts. The included example configuration just adds a simple counter to the headers but with a bit of coding you can resolve authentication problems or fine tune how data is handled at cloud-based logging and SIEM platforms, like Sumologic.

  • Comparing Python Objects the Right Way: "is" vs "=="

    There’s a subtle difference between the Python identity operator (is) and the equality operator (==). Your code can run fine when you use the Python is operator to compare numbers, until it suddenly doesn’t. You might have heard somewhere that the Python is operator is faster than the == operator, or you may feel that it looks more Pythonic. However, it’s crucial to keep in mind that these operators don’t behave quite the same.

    The == operator compares the value or equality of two objects, whereas the Python is operator checks whether two variables point to the same object in memory. In the vast majority of cases, this means you should use the equality operators == and !=, except when you’re comparing to None.

  • Michael Kennedy almost learned Python in the 90s... and other things I learned recording his DevJourney

    This week, I published Michael Kennedy's #DevJourney story on my eponym Podcast: Software developer's Journey.

  • PyCoder’s Weekly: Issue #414 (March 31, 2020)
Syndicate content

More in Tux Machines