Language Selection

English French German Italian Portuguese Spanish

Development

Linux 5.5 Kernel Development: Latest

Filed under
Development
Linux
  • Re: [GIT PULL] treewide conversion to sizeof_member() for v5.5-rc1
    On Sat, Dec 7, 2019 at 11:48 AM Kees Cook wrote:
    >
    > Please pull this mostly mechanical treewide conversion to the single and
    > more accurately named sizeof_member() macro for the end of v5.5-rc1.
    
    So this one I'm _still_ not convinced about. It makes yet another name
    for something we've had before, which just annoys me. And maybe it's
    the 13-year old in me, but "sizeof_member()" just makes me go "that's
    puerile".
    
    I _can_ see why we'd want to standardize on one of the tree versions
    we have, but I can't really see the problem with the existing #define
    that we have, and that is used (admittedly not all that much):
    sizeof_field().
    
  • Linus Rejects "Size Of Member" Change From Linux 5.5 Kernel

    This weekend was the last-minute pull request by Google's Kees Cook to introduce the new sizeof_member() macro that had been previously rejected from Linux 5.4. Well, it was again rejected by Linus Torvalds prior to tagging the Linux 5.5-rc1 kernel.

    The sizeof_member() macro has been aimed to unify 2~3 other macros within the kernel tree currently and using the size-of-field moniker, but Cook argued that for measuring the size of a member of a C struct, the new macro is more appropriate and converted usage of the old macros to this new single macro.

  • WireGuard Sends Out Latest Patch Revision In Preparing For Linux 5.6

    While there are some pretty great features for Linux 5.5, one that didn't make it quite in time was the long-awaited introduction of WireGuard as the in-kernel secure VPN tunnel. While it was a bummer it didn't make 5.5, all indications are at this point is that it will be in Linux 5.6.

    With Linux 5.5 the crypto subsystem adopted some elements of WireGuard's "Zinc" crypto code and that in turn opened the door for merging WireGuard now that the cryptography side was sorted out. But WireGuard was too late for introduction in net-next even with a last minute attempt trying to get it into 5.5, but instead it's aiming early for merging to net-next to ensure it's timely introduction with Linux 5.6.

Programming: Automation, Development, Python and GstWPE

Filed under
Development
  • Top 4 open source automation tools for admins

    Open source offerings are an easy way to bring automation into your organization. When selecting software, evaluate the user experience, main features offered and Linux support.

  • Why front-end development may be the new frontier

    Google frameworks lead Nicole Sullivan praised Next.js at the October JAMstack_conf_19 in San Francisco. Though React started within Facebook (and AngularJS started within Google), developers are less concerned with origins and more focused on direction. Google Chrome has a mandate to make the web faster, she said, and React-centric Next.js is part of that mandate. Rauch was also featured with a walk-on presentation during the keynote address at Google's Chrome Dev 19 conference in San Francisco last month.

  • 11 top open-source test automation frameworks: How to choose

    If you're thinking about building your own test automation framework, think again. In most cases, you'd do better to consider one or more of the open-source options available.

    That's because, in general, a framework is a set of best practices, assumptions, common tools, and libraries that you can use across teams. You simply don't need to build one that's unique to your dev environment. A framework will help make your test automation code reusable, maintainable, and stable.

    Teams that take these benefits to the extreme by building their own elaborate automation frameworks from scratch drive me crazy. That's because they could have easily made use of existing open-source tools and libraries that would have met their needs without writing any code—and, in most cases, with better results.

  • Google Code-In 2019 Underway

    Google Code-in (GCI) is a unique opportunity for students to work on real open source software projects and for open source projects to gain extra help as well. Over the past nine years, more than 11,000 students from 108 countries have successfully completed over 55,000 tasks in GCI and this year 29 organizations, all of which have participated in Google Summer of Code, are devising over 2,500 task for teenager to choose to work on. 

  • The most copied StackOverflow Java code snippet contains a bug

    Nine years later, developer corrects code snippet.

    [...]

    An academic paper [PDF] published in 2018 identified a code snippet Lundblad posted on the site as the most copied Java code taken from StackOverflow and then re-used in open source projects.

  • Testing NVIDIA Jetson Nano Developer Kit with and without Fan

    A few weeks ago I received NVIDIA Jetson Nano for review together with 52Pi ICE Tower cooling fan which Seeed Studio included in the package, and yesterday I wrote a getting started guide...

  • Mike Driscoll: PyDev of the Week: Sebastian Steins

    This week we welcome Sebastian Steins (@sebastiansteins) as our PyDev of the Week! Sebastian is the creator of the Pythonic News website. You can find out more about Sebastian by checking out what he’s been up to over on Github. Let’s take a few moments to get to know him better!

  • Podcast.__init__: Debugging Python Projects With PySnooper

    Debugging is a painful but necessary practice in software development. The tools that are available in Python range from the built-in debugger, to tools integrated with your coding environment, to the trusty print function. In this episode Ram Rachum describes his work on PySnooper and how it can be used to speed up your problem solving in complex or legacy applications.
    Summary

    Debugging is a painful but necessary practice in software development. The tools that are available in Python range from the built-in debugger, to tools integrated with your coding environment, to the trusty print function. In this episode Ram Rachum describes his work on PySnooper and how it can be used to speed up your problem solving in complex or legacy applications.

  • HTML overlays with GstWPE, the demo

    Once again this year I attended the GStreamer conference and just before that, Embedded Linux conference Europe which took place in Lyon (France). Both events were a good opportunity to demo one of the use-cases I have in mind for GstWPE, HTML overlays!

    As we, at Igalia, usually have a booth at ELC, I thought a GstWPE demo would be nice to have so we can show it there. The demo is a rather simple GTK application presenting a live preview of the webcam video capture with an HTML overlay blended in. The HTML and CSS can be modified using the embedded text editor and the overlay will be updated accordingly. The final video stream can even be streamed over RTMP to the main streaming platforms (Twitch, Youtube, Mixer)! Here is a screenshot:

Python: Makerbot, pydeps, Coverage and Pytest

Filed under
Development
  • Nash publishes open-source Python trading bot for market-making

    Nash recently announced that it has released a simple, open-source bot designed to help traders perform automatic market-maker strategies. Written in Python 3, the Makerbot is set up to allow for trading on Nash in its default configuration.

    Trading bots are commonly used to improve liquidity on an exchange. The Nash Makerbot uses a symmetric market-maker algorithm, aiming to take advantage of the concept of “intrinsic volatility” in a market. Makerbot will watch the order book for a programmed trading pair until it is triggered to trade within a fixed price range.

  • pydeps: a very useful program

    A few weeks ago, I was doing some refactoring of Friendly-traceback and had some minor difficulty in avoiding the creation of circular imports. For some reason (age perhaps), I could not visualize the file structure properly. Enter pydeps. After I used it to generate a graph for all the files internal to Friendly-traceback, I was able to use that graph to figure out a better way to structure my program.

    Today, as I stared at that graph, after including it in the newly styled documentation, I noticed that the "version" file I had created early on, was really redundant since its content (a single variable) could easily be incorporated in the Public API file.

  • Coverage 5.0 beta 2

    I mean it this time, coverage.py 5.0 is nearly ready. I’m putting out coverage.py 5.0 beta 2 for a week before declaring it really done. Please try it.

  • Test-Driven Development with PyTest - Part 2

    For part two of the TDD with Pytest.

    I would be covering the project structure where your test cases will reside.

    The creation of test cases as a class or function under pytest.

    Do head to part 1 of the series before proceeding with part 2.

    It is assumed that a Linux system is used for this series.

    Please use a Linux variant like Ubuntu or a cloud IDE like Codenvy running a Linux virtual container.

Leftovers: Fedora, SUSE and Programming

Filed under
Development
SUSE
Misc
  • Updated NeuroFedora Computational Neuroscience ISO image available

    We've been working on making more software available in NeuroFedora. Neuron is now built with IV support, so models from ModelDB that use these should now be runnable using NeuroFedora.

    The Computational Neuroscience ISO image has been updated to include these improvements. After receiving some feedback, we've also added Julia and R to the image. The new version, 20191201, is available for download here. The checksum file is also provided. So please test your download for correctness before you proceed to use it.

  • Time needed to dist-upgrade Fedora

    Every couple of months I upgrade my main home computer to the latest Fedora. As this process is not instantaneous, this means some time without internet, wifi, smart home controls etc. This time I decided to measure how long it takes exactly.

    Hardware is mid-range home server: Core i5 CPU, 16GiB of RAM, storage is 2x HDD in btrfs raid1, over LUKS, bcached on NVMe drive.

  • SUSE Revives Patches For Exposing /proc/cpuinfo Data Over Sysf

    Back in 2017 were patches for exposing /proc/cpuinfo data via sysfs for more easily parsing selected bits of information from the CPU information output. That work never made it into the mainline kernel but now SUSE's Thomas Renninger is taking over and trying to get revised patches into the kernel.

    Renninger sent out revised versions of the "sysfs-based cpuinfo" on Friday that within /sys/devices/system/cpu/cpuX/info/ would expose nodes to easily parse pieces of cpuinfo like bogomips, cpu_family, flags, model, model_name, stepping, vendor_id, and more. Reading the information via sysfs with a single-value-per-file makes it much easier for parsing compared to having to parse the entire /proc/cpuinfo output and complements other CPU information already accessible via the very convenient sysfs.

  • Do's and Don'ts of implementing a hamburger menu

    The infamous hamburger menu is one of the examples where I see bad practice very often. Surf the web one day using a screen reader or using only your keyboard and you will most likely experience some of the problems as well. Let's have a look at the most common errors and how to avoid them.

  • The GCC Git Conversion Heats Up With Hopes Of Converting Over The Holidays

    Decided back at the GNU Tools Cauldron was a timeline to aim converting from Subversion as their default revision control system to Git over the New Year's holiday. For that to happen, by the middle of December they wanted to decide what conversion system to use for bringing all their SVN commits to Git. As such, now it's heating up ahead of that decision.

    Eric S Raymond announced the conversion work in progress. Right now he's been working on addressing the remaining problems with Reposurgeon in being able to convert the GCC SVN repository to Git. Following those lingering issues being resolved, he's seeking broader review of the Reposurgeon "recipe" and then "the conversion progress starts to become desirable."

  • PyGotham 2019 Speaker Coaching Recap

    I’m one of the organizers for PyGotham, the yearly Python programming conference in New York City. This year thirteen PyGotham speakers received training from opera singer and speaking coach Melissa Collom, paid for by the conference and free for the speakers. Eight of the speakers were new to the conference scene; Melissa helped them focus on delivering value to their audience, structuring their talks clearly, and speaking with conviction. All the speakers who responded to a survey said they felt more confident and they were more likely to propose conference talks again.

    Here’s what some of our speakers said:

    “Melissa helped me pick out the areas I needed to improve, that I could work on for maximum impact in the limited time that I had before the conference. More importantly, she told me what she thought were my strengths and it helped me immensely to know what I had working for me.”

    “It was fun and Melissa made me feel comfortable to be myself! She brought out the best in me. The positive and constructive feedback was helpful and provided in a supportive way.”

  • Marco Zehe: The myth of getting rich through ads

    In addition, the web hosting was expensive, but not really performant. And they often let essential software get out of date. My WordPress at some point had started complaining because my PHP version was too old. Turned out that the defaults for shared hosts were not upgraded to a newer version by default by the hoster, and one had to go into an obnoxious backend to fiddle with some setting somewhere to use a newer version of PHP.

    I then decided to try something completely new. I exported the contents of my three blogs and set up blogs at WordPress.com, the hosted WordPress offering from the makers themselves: Automattic. I looked at their plans, and the Premium plan, which cost me 8€ per month, per blog felt suitable. I also took the opportunity to pull both German language blogs together into one. I just added two categories that those who just want to see my tecnical stuff, or the private stuff, could still do so.

    With that move, I got a good set of features that I would normally use on a self-hosted blog as well, so I set up some widgets, some theme that comes with the plan, and imported all my content including comments and such. I lost my statistics from the custom plugins, but hey, I had lost years of statistics from before that when I decided to no longer use JetPack on my self-hosted blogs, too, so what.

    And I did two more things. I added a “Buy me a coffee” button so people could show their appreciation for my content if they wanted to. And I opted into the Word Ads program, that would display some advertisement on the blog’s main page and below each individual post. I simply wanted to see if my content would be viable enough to generate any significant enough income.

    [...]

    When I compare my experience to that of my wife, who runs both a guide and a forum for the popular Sims FreePlay game in Germany, it is clear that even she with her thousands of visitors to both the guide and forum does not always generate enough traffic to get the minimum Google Adsense payout threshold per month. And that is just enough to cover her monthly domain and server costs, because the traffic is so heavy that shared hosting cannot cope. So she has to run a dedicated v server for those, which are way more expensive than shared hosting.

    So, ads on the web are really not a sustainable model for many. Yes, there may be some very popular and widespread 8content-wise) blogs or publication sites that do generate enough revenue through ads. But the more niche your topic gets, if you don’t generate thousands of visitors per month, ads sometimes may cover the costs of a service like WordPress to run your blog, but only if you are on one of the lower plans with less control over what your blog can do or the ads that are being displayed.

    I believe that a more engaged interaction with the actual audience is a better way to generate revenue, although that, of course, also depends on readers loyalty and your own dedication. I think that initiatives like Grant For The Web are the future of monetisation of content on the web, and I may start supporting that once my move back to self-hosting is complete. I’ll keep you posted.

Programming/Development: Dirk Eddelbuettel, Dependencies and Python

Filed under
Development
  • Dirk Eddelbuettel: RcppArmadillo 0.9.800.3.0

    A small Armadillo bugfix upstream update 9.800.3 came out a few days ago. The changes, summarised by Conrad in email to me (and for once not yet on the arma site are fixes for matrix row iterators, better detection of non-hermitian matrices by eig_sym(), inv_sympd(), chol(), expmat_sym() and miscellaneous minor fixes. It also contains a bug fix by Christian Gunning to his sample() implementation.

    Armadillo is a powerful and expressive C++ template library for linear algebra aiming towards a good balance between speed and ease of use with a syntax deliberately close to a Matlab. RcppArmadillo integrates this library with the R environment and language–and is widely used by (currently) 679 other packages on CRAN.

  • Dirk Eddelbuettel: RDieHarder 0.2.1

    A new version, now at 0.2.1, of the random-number generator tester RDieHarder (based on the DieHarder suite developed / maintained by Robert Brown with contributions by David Bauer and myself) is now on CRAN.

    This version has only internal changes. Brian Ripley, tireless as always, is testing the impact of gcc 10 on CRAN code and found that the ‘to-be-default’ option -fno-common throws off a few (older) C code bases, this one (which is indeed old) included. So in a nutshell, we declared all global variables extern and defined them once and only once in new file globals.c. Needless to say, this affects the buildability options. In the past we used to rely on an external library libdieharder (which e.g. I had put together for Debian) but we now just build everything internally in the package.

  • There are (at least) three distinct dependency types

    Using dependencies is one of the main problems in software development today. It has become even more complicated with the recent emergence of new programming languages and the need to combine them with existing programs. Most discussion about it has been informal and high level, so let's see if we can make it more disciplined and how different dependency approaches work.

    What do we mean when we say "work"?

    In this post we are going to use the word "work" in a very specific way. A dependency application is said to work if and only if we can take two separate code projects where one uses the other and use them together without needing to write special case code. That is, we should be able to snap the two projects together like Lego. If this can be done to arbitrary projects with a success rate of more than 95%, then the approach can be said to work.

    It should be especially noted that "I tried this with two trivial helloworld projects and it worked for me" does not fulfill the requirements of working. Sadly this line of reasoning is used all too often in online dependency discussions, but it is not a response that holds any weight. Any approach that has not been tested with at least tens (preferably hundreds) of packages does not have enough real world usage experience to be taken seriously.

  • Monads aren't as hard as you think

    I’ve been scared of monads ever since I first heard of them. So many references to burritos, or nuclear waste containers, or some other analogy that didn’t make sense to me. So if you’re scared of monads too, maybe my take on what a monad is will help.

  • Print all git repos from a user
  • Print all git repos from a user
  • Talk Python to Me: #241 Opal: Full stack health care apps

    Open source has permeated much of the software industry. What about health care? This highly regulated and important industry might seem to be the domain of huge specialized software companies.

  • Sleepy snake

    I love this drawing! I’ve always been charmed by cartoonists’ ability to capture an essence in a seemingly simple drawing. Objects are reduced to stereotypes, but with some whimsy thrown in. Ben has always had this gift: to create just the right stroke to perfectly express an attitude or feeling.

    Here Sleepy is snug in his bed, covered by a blanket. Even in his custom bed, he’s too long to fit, but he’s comfortable. The pillow isn’t shaped like a real pillow, but it’s exactly our cartoon Platonic ideal of a pillow.

  • Generate a Python Random Number

    Here is a quick guide on Python’s random number. You can always refer to it whenever you need to generate a random number in your programs.

    Python has a built-in random module for this purpose. It exposes several methods such as randrange(), randint(), random(), seed(), uniform(), etc. You can call any of these functions to generate a Python random number.

    Usually, a random number is an integer, but you can generate float random also. However, you first need to understand the context as a programmer and then pick the right function to use.

  • Trigger Local Python App Remotely

    With an old Mac I have lying around at home and free web-based services, I’ve setup a simple app that fetches some data from an external service (YNAB) in order to run some daily budget calculations that I used to calculate manually for a long time. The output of my app is then sent back to my phone within seconds so I can trigger it from anywhere. I wanted to share the approach I’m using which has cost me nothing.

    This (obviously) isn’t an approach that should be used for large scale applications or anything other than pet projects. I just wanted to highlight how simple it can be using existing free tools. There are plenty of low cost, production ready, and scalable options out there (like AWS Lambda) if you prefer to start with that approach.

    My app is written in Python and served via Flask to a local endpoint (http://localhost:5000) which ngrok points to. I then have a IFTTT webhook hitting the Ngrok URL after clicking an IFTTT button widget from my phone. The app ends up broadcasting the output to my Slack account so I end up getting a push notification on my phone containing the app output within seconds of hitting the button:

  • Raspberry Pi Christmas Shopping Guide 2019

    Stuck for what to buy your friends and family this Christmas? Whether you’re looking to introduce someone to Raspberry Pi and coding, or trying to find the perfect gift for the tech-mad hobbyist in your life, our Christmas Shopping Guide 2019 will help you complete your shopping list. So, let’s get started…

Programming: Kotlin, Python and More

Filed under
Development
  • Android’s commitment to Kotlin

    When we announced Kotlin as a supported language for Android, there was a tremendous amount of excitement among developers. Since then, there has been a steady increase in the number of developers using Kotlin. Today, we’re proud to say nearly 60% of the top 1,000 Android apps contain Kotlin code, with more and more Android developers introducing safer and more concise code using Kotlin.

    During this year’s I/O, we announced that Android development will be Kotlin-first, and we’ve stood by that commitment. This is one of the reasons why Android is the gold partner for this year’s KotlinConf.

  • Google Reaffirms Commitment To Kotlin Programming Language For Android

    Google is continuing to embrace Kotlin programming for Android, making more Android APIs accessible by Kotlin, Jetpack Compose as a UI toolkit catered to Kotlin, and Kotlin extensions for more Google libraries. Google is also working to offer more Kotlin + Android learning material, working with JetBrains on improving the Kotlin code compiler, speeding up the build time of Kotlin code, and other improvements.

  • Comparing equivalent Python statements

    While teaching one of my Python classes yesterday I noticed a conditional expression which can be written in several ways. All of these are equivalent in their behavior...

  • Serving Files with Python's SimpleHTTPServer Module

    Servers are computer software or hardware that processes requests and deliver data to a client over a network. Various types of servers exist, with the most common ones being web servers, database servers, application servers, and transaction servers.

    Widely used web servers such as Apache, Monkey, and Jigsaw are quite time-consuming to set up when testing out simple projects and a developer's focus is shifted from producing application logic to setting up a server.

    Python's SimpleHTTPServer module is a useful and straightforward tool that developers can use for a number of use-cases, with the main one being that it is a quick way to serve files from a directory.

    It eliminates the laborious process associated with installing and implementing the available cross-platform web servers.

    Note: While SimpleHTTPServer is a great way to easily serve files from a directory, it shouldn't be used in a production environment. According to the official Python docs, it "only implements basic security checks."

Nordic Semi nRF52832 Powered PineTime Dev Kit is Now Available for $24.99

Filed under
Development
GNU
Linux
Gadgets

PineTime was announced as a $25 smartwatch & companion for PinePhone Linux smartphone which itself sells for $150.

Read more

Programming: Vagrant, CSV to JSON and Python Bits

Filed under
Development
  • A beginner's guide to using Vagrant

    Vagrant describes itself as "a tool for building and managing virtual machine environments in a single workflow. With an easy-to-use workflow and focus on automation, Vagrant lowers development environment setup time, increases production parity, and makes the 'works on my machine' excuse a relic of the past."

  • Convert CSV to JSON with miller
  • New Project, Who Dis? - Building SaaS #38

    In this episode, we started a brand new project! I had some internet troubles so this “stream” is actually a local recording from my computer. We created a new Django project from scratch and set up Heroku to handle deployments.

    In spite of the streaming trouble, we were able to get a bunch done. We started the project from scratch so we made a repository on GitHub with some .gitignore settings tailored for Python projects.

  • RunSnakeRun for Python3 Out

    So I finally pushed out the Python3/wxPython Pheonix compatible release of RunSnakeRun. The Python3 version has to run Python2 in order to load Python2 pstats dumps, and Meliae doesn't AFAIK support Python3 yet, so I expect I'll just drop support for it eventually. The code is now living on GitHub rather than Launchpad.

  • Angular 9 CRUD Tutorial: Consume a Python/Django CRUD REST API

    This tutorial is designed for developers that want to use Angular 9 to build front-end apps for their back-end REST APIs. You can either use Python & Django as the backend or use JSON-Server to mock the API if you don't want to deal with Python. We'll be showing both ways in this tutorial.

  • Django: Angular 9/8 Tutorial By Example: REST CRUD APIs & HTTP GET Requests with HttpClient

    In this Angular 9 tutorial, we'll learn to build an Angular 9 CRUD example application going through all the required steps from creating/simulating a REST API, scaffolding a new project, setting up the essential APIs, and finally building and deploying your final application to the cloud.

Migrating the MAAS UI from AngularJS to React

Filed under
Development
Software
Ubuntu

MAAS (metal as a service), is a Canonical product which allows for very fast server provisioning and data centre management. Around 2014, work began to build a rich UI for MAAS, primarily using the AngularJS JavaScript framework from Google. AngularJS today is in long term support (LTS) and due to reach end-of-life in 2021. This year we began the work of transitioning away from AngularJS in anticipation of this impending EOL to more contemporary tooling.

Evaluating Angular vs React

Google’s recommended upgrade path for applications built in AngularJS is to transition to the Angular framework. Despite the similarity in naming, Angular is very different from AngularJS architecturally, and the migration process is non-trivial. While components (allowing for the now ubiquitous uni-directional data architectural pattern) were later backported from Angular to AngularJS, most of MAAS UI predated this and consequently migration to Angular would require significant app-wide refactoring.

Since the inception of the MAAS UI, a number of other products had been built at Canonical using React. As we had developed significant experience using React, and tooling in the surrounding ecosystem, ultimately it made more sense to invest in transitioning the MAAS UI to React rather than Angular. This choice conferred additional benefits, such as standardising our build and testing infrastructure, and allows for component reuse across products. We also just generally enjoy working with React, and feel that the most significant developments in web UI technology are happening within the React ecosystem (hooks, concurrent mode, suspense, CRA).

Read more

Programming: AWK, Raspberry Pi, Python and CloudBees

Filed under
Development
  • Another surprising AWK trick

    So why is AWK ignoring everything but the numbers in returning "626"? Because "Strings are converted to numbers and numbers are converted to strings, if the context of the awk program demands it". In this case AWK is told to subtract field 3 from field 2. Subtraction being a numbers operation, AWK treats the strings in the fields as numbers, and since " lid" and ")" aren't numbers, they're ignored.

  • Interactive (Touch) Musical Christmas Tree

    In this video I should how to build a capacitive touch Christmas tree that allows you to play music just by touching the ornaments. All it takes is a little bit of Python code, a Raspberry Pi, and a Bare Conductive Pi Cap.

  • How Machine Learning Will Generate up to $2 Trillion in Value for the Manufacturing Industry

    Open-Source Technologies Provide Innovative Solutions

    With the right skill set, data scientists in the manufacturing industry can provide a strategic advantage by implementing the use cases discussed here using Python and cutting edge open-source libraries like TensorFlow, scikit-learn, and scikit-image. For this reason, many manufacturing organizations would realize greater value from an enterprise machine learning platform that incorporates open-source libraries and tools rather than a point solution designed for a single use case.

  • Significant changes for some error messages in Python 3.8

    As I work on including more exceptions in Friendly-traceback, I am mostly pleasantly surprised by generally more precise error messages. For example, in Python 3.7, the following

    __debug__ = 1

    would yield "SyntaxError: assignment to keyword" which likely would baffle almost everyone looking up the list of Python keywords. In Python 3.8, that message has been replaced by the more precise: "SyntaxError: cannot assign to __debug__". Much better, in my opinion, even though one may be surprised to learn about this constant.

  • SunPy Receives NASA Grant, Helps Generate Parker Solar Probe Results

    The one-year proposal, entitled “Supporting and extending SunPy for the heliophysics community,” will create a spectral datatype and provide more coordinate systems in SunPy. In addition, code snippets demonstrating the use of SunPy and other heliophysics-focused Python packages will also be created. Finally, an extensive analysis of the codebase will be performed in order to improve SunPy’s long-term maintainability. The PI is Jack Ireland (NASA GSFC), and the co-I is Andy Terrel (NumFOCUS). In addition, two SunPy affiliated packages were selected for funding from the same NASA program.

    [...]

    A co-author on one of the results papers, David Stansby, previously published a short paper called “Predicting Large-scale Coronal Structure for Parker Solar Probe Using Open Source Software.” That short paper provided a completely open toolkit (pfsspy), built on the NumFOCUS stack, to make predictions of the Sun’s magnetic field structure. One of the key results presented in the new Nature paper grew directly out of this work, which relies heavily on SunPy, NumPy, SciPy, and Matplotlib.

  • The Apache Software Foundation Welcomes CloudBees as its Newest Targeted Sponsor at the Platinum Level

    The Apache® Software Foundation (ASF), the all-volunteer developers, stewards, and incubators of more than 350 Open Source projects and initiatives, announced today that CloudBees has become an ASF Targeted Sponsor at the Platinum level.

Syndicate content

More in Tux Machines

Type Title Author Replies Last Postsort icon
Story Debian Etch: Solid, Crufty, Some Assembly Required srlinuxx
Story This months Cosmo srlinuxx 06/02/2005 - 4:03am
Story 50 gmail invites? srlinuxx 1 06/02/2005 - 4:10am
Story Moooore Spam! srlinuxx 1 06/02/2005 - 4:12am
Story Vin Diesel going soft on us? srlinuxx 2 06/02/2005 - 4:25pm
Poll How's the new site? srlinuxx 2 06/02/2005 - 9:01pm
Story Hackers homing in on Cellular Phones srlinuxx 5 07/02/2005 - 2:20pm
Story M$ Claims Safer than Linux srlinuxx 1 11/02/2005 - 5:34am
Story This Week At the Movies: Boogeyman & Alone in the Dark & Hide and Seek srlinuxx 1 11/02/2005 - 5:41am
Story Forbes Wants to Know srlinuxx 2 11/02/2005 - 6:13am