Language Selection

English French German Italian Portuguese Spanish

Development

Programming: Python and New Releases From Dirk Eddelbuettel

Filed under
Development
  • Mega-bites of code: Python snakes into 1st place for cyber-attacks [Ed: Another firm pretends that Microsoft GitHub is the same as (or is) FOSS and vice versa. Very many attacks on the GPL have been based on this same lie. And calling Microsoft "top contributor"...]

    "In virtually every security-related topic in GitHub, the majority of the repositories are written in Python, including tools such as w3af, Sqlmap, and even the infamous AutoSploit tool," the company explained on Wednesday in a blog post, adding that hackers enjoy Python's advantages – easy to learn, easy to read, comprehensive libraries – just like everyone else.

  • RcppAPT 0.0.5

    A new version of RcppAPT – our interface from R to the C++ library behind the awesome apt, apt-get, apt-cache, … commands and their cache powering Debian, Ubuntu and the like – is now on CRAN.

    This version is a bit of experiment. I had asked on the r-package-devel and r-devel list how I could suppress builds on macOS. As it does not have the required libapt-pkg-dev library to support the apt, builds always failed. CRAN managed to not try on Solaris or Fedora, but somewhat macOS would fail. Each. And. Every. Time. Sadly, nobody proposed a working solution.

  • nanotime 0.2.3

    nanotime uses the RcppCCTZ package for (efficient) high(er) resolution time parsing and formatting up to nanosecond resolution, and the bit64 package for the actual integer64 arithmetic. Initially implemented using the S3 system, it now uses a more rigorous S4-based approach thanks to a rewrite by Leonardo Silvestri.

    This release disables some tests on the Slowlaris platform we are asked to conform to (which is a good thing as wider variety of test platforms widens test converage) yet have no real access to (which is bad thing, obviously) beyind what the helpful rhub service offers. We also updated the Travis setup. No code changes.

Sparcstation in Development

Filed under
OS
Development

Nuitka 0.60

Filed under
Development
  • Nuitka 0.60 released

    Nuitka is a compiler for the Python 2.7 and 3.7 languages...

  • Nuitka Release 0.6.0

    This is to inform you about the new stable release of Nuitka. It is the extremely compatible Python compiler. Please see the page "What is Nuitka?" for an overview.

    This release adds massive improvements for optimization and a couple of bug fixes.

    It also indicates reaching the mile stone of doing actual type inference, even if only very limited.

    And with the new version numbers, lots of UI changes go along. The options to control recursion into modules have all been renamed, some now have different defaults, and finally the filenames output have changed.

Programming: 'DevOps', Perl, ZX81, binb, 'GNUgle', GNU Shepherd

Filed under
Development
  • What containers can teach us about DevOps

    One can argue that containers and DevOps were made for one another. Certainly, the container ecosystem benefits from the skyrocketing popularity of DevOps practices, both in design choices and in DevOps’ use by teams developing container technologies. Because of this parallel evolution, the use of containers in production can teach teams the fundamentals of DevOps and its three pillars: The Three Ways.

  • How naming of variables works in Perl 6

    In the first four articles in this series comparing Perl 5 to Perl 6, we looked into some of the issues you might encounter when migrating code, how garbage collection works, why containers replaced references, and using (subroutine) signatures in Perl 6 and how these things differ from Perl 5.

  • Programming a game on the ZX81

    This took me back as it was my first ever computer and I had no games so I had to program it. I would recommend that David buys a RAMPACK.

  • binb 0.0.2: Now with presento

    As tweeted three days ago, our still-new binb package with crisper Beamer themes for RMarkdown now contains presento. Versions 0.0.2 with this addition just arrived on CRAN.

  • Google is 20, GNU is 35; Why No GNUgle?

    This week 20 years ago Google was born in a garage, so fitting in with the Silicon Valley creation story; 35 years ago the GNU open source project was announced. Two great, but very different, events. Time to look back and ask why?

    The GNU movement was started to create an open source version of Unix. At the time its rationale seemed obvious and desirable. In the academic world there was a real problem in, for example, teaching operating systems. Windows was closed and proprietary and Unix was just going through some copyright upheavals that made it a risky choice for teaching. The only real alternative was Minix, which also had copyright problems.

    The GNU movement would give academics what they wanted - software they could use without worrying about commercial concerns. The GNU project was, and is, a great success - even if it didn't, and still hasn't, delivered an open source version of Unix; that was achieved by Linus Torvalds and his Linux project. The GNU project did, however, deliver the GCC - GNU Compiler Collection - and many other tools that were needed to create Linux and are still needed today to make use of Linux. It is why the GNU people still insist that we call Linux "GNU Linux".

  • GNU Shepherd 0.5.0 releases

    GNU Shepherd, formerly known as GNU dmd, is a service manager written in Guile and looks after the herd of system services. It provides a replacement for the service-managing capabilities of SysV-init (or any other init) with both a powerful and beautiful dependency-based system and a convenient interface.

Programming With Java 11

Filed under
Development
  • Java 11 Is Now Available With New Features: Download JDK 11 Here

    When Oracle released Java 10 earlier this year in March, it marked the beginning of a new era with Java development moving to a new six-month cycle. With the recent release of Java 11, we’ve now dived deeper.

    It’s worth noting that Java Development Kit (JDK) 11 is the first version to be shipped as the Long Term Release Support of Java SE platform. This means that Java 11 will be supported for another eight years by Oracle and the users will be able to enjoy fixes and updates.

  • Oracle pours a mug o' Java 11 for its addicts, tips pot of Binary Code License down the sink

    Oracle on Tuesday delivered Java 11, in keeping with the six-month release cadence adopted a year ago with Java 9. It is the first "Long Term Support" (LTS) release, intended for Java users who prioritize stability over Zuckerbergian fast movement and breakage.

    Oracle said it will offer commercial support for Java 11 for at least eight more years. The next LTS release, Java 17, is planned for September 2021, assuming civilization is still functioning at that point.

    After January 2019, Oracle will no longer provide free updates to Java 8, which means shifting to a supported version of Java, relying on OS vendors to provide Java patches, paying a third-party for support, building the OpenJDK on your own, or getting builds from AdoptOpenJDK.

Programming/Development: Legible Code, Python and Java

Filed under
Development
  • Writing well

    Code gets read more than it gets written, so it’s worth taking extra time so that it’s easy for future developers to read. The same is true of emails that you write to project mailing lists. If you want to make a positive change to development of your project, don’t just focus on the code — see if you can find 3 ways to improve the clarity of your writing.

  • How we rolled out one of the largest Python 3 migrations ever

    Dropbox is one of the most popular desktop applications in the world: You can install it today on Windows, macOS, and some flavors of Linux. What you may not know is that much of the application is written using Python. In fact, Drew’s very first lines of code for Dropbox were written in Python for Windows using venerable libraries such as pywin32.

    [...]

    Initially, we relied on “freezer” scripts to create the native applications for each of our supported platforms. However, rather than use the native toolchains directly, such as Xcode for macOS, we delegated the creation of platform-compliant binaries to py2exe for Windows, py2app for macOS, and bbfreeze for Linux. This Python-focused build system was inspired by distutils: Our application was initially little more than a Python package, so we had a single setup.py-like script to build it.

    Over time, our codebase became more and more heterogenous. Today, Python is no longer the only language used for development. In fact, our code now consists of a mix of TypeScript/HTML, Rust, and Python, as well as Objective-C and C++ for some specific platform integrations. To support all these components, this setup.py script—internally named build-all.py—grew to be so large and messy that it became difficult to maintain.

    The tipping point came from changes to how we integrate with each operating system: First, we began introducing increasingly advanced OS extensions—like Smart Sync’s kernel components—that can’t and often shouldn’t be written in Python. Second, vendors like Microsoft and Apple began introducing new requirements for deploying applications that imposed the use of new, more sophisticated and often proprietary tools (e.g. code signing).

  • Java 11 Released As The First Java LTS Release

    Java 11 (JDK 11) is officially out today as the first Java Long-Term Support (LTS) release under Oracle's new six month release strategy.

Programming: Troubleshooting Node.js, Python 2, SDL2

Filed under
Development
  • Troubleshooting Node.js Issues with llnode

    The llnode plugin lets you inspect Node.js processes and core dumps; it adds the ability to inspect JavaScript stack frames, objects, source code and more. At Node+JS Interactive, Matheus Marchini, Node.js Collaborator and Lead Software Engineer at Sthima, will host a workshop on how to use llnode to find and fix issues quickly and reliably, without bloating your application with logs or compromising performance. He explains more in this interview.

  • Bytes, Characters and Python 2

    An old joke asks "What do you call someone who speaks three languages? Trilingual. Two languages? Bilingual. One language? American."

    Now that I've successfully enraged all of my American readers, I can get to the point, which is that because so many computer technologies were developed in English-speaking countries—and particularly in the United States—the needs of other languages often were left out of early computer technologies. The standard established in the 1960s for translating numbers into characters (and back), known as ASCII (the American Standard Code for Information Interchange), took into account all of the letters, numbers and symbols needed to work with English. And that's all that it could handle, given that it was a seven-byte (that is, 128-character) encoding.

  • SDL's 2D Render API Getting Improved With New Batching System

    Prolific Linux game porter/developer Ryan Gordon has been tackling improvements to the SDL2 library's 2D rendering code with the introduction of a batching system.

    With the current SDL2 library when using its render API, calls are immediately dispatched where as with this batching system the draw requests are stored in batches and then dispatched to the GPU when needed. Those batches are sent to the GPU when needed via SDL_RenderPresent or other relevant operations.

Why Linux users should try Rust

Filed under
Development
Linux

Rust is a fairly young and modern programming language with a lot of features that make it incredibly flexible and very secure. It's also becoming quite popular, having won first place for the "most loved programming language" in the Stack Overflow Developer Survey three years in a row — 2016, 2017, and 2018.

Rust is also an open-source language with a suite of special features that allow it to be adapted to many different programming projects. It grew out of what was a personal project of a Mozilla employee back in 2006, was picked up as a special project by Mozilla a few years later (2009), and then announced for public use in 2010.

Read more

Also: Perl for the Web: Mojolicious 8.0 Released

Programming: "User", Choice of Language, SpiceyPy and Firefox Development

Filed under
Development
  • Never use the word “User” in your code

    To begin with, no software system actually has “users”. At first glance “user” is a fine description, but once you look a little closer you realize that your business logic actually has more complexity than that.

  • How many programming languages have you used?

    In the 1940s, Grace Hopper was in the Navy Reserves doing programming at the machine level, bit by bit. She realized how limiting it was for humans to use a language meant for machines and wanted to radically change the process by which we program. Without a change, she knew that computing would never reach its potential.

    "Once humans could learn to speak programming languages and once compilers began translating our intentions into machine language, it was like opening the floodgates," says the host of the Command Line Heroes podcast, Saren Yetbarek.

    Learn more about Grace Hopper and why there are so many programming languages, plus history on the first open source compiler, by listening to Episode 2 of Command Line Heroes Season 2.

  • Writing Solar System Simulations with NAIF SPICE and SpiceyPy

    Someone asked me about my Javascript Jupiter code, and whether it used PyEphem. It doesn't, of course, because it's Javascript, not Python (I wish there was something as easy as PyEphem for Javascript!); instead it uses code from the book Astronomical Formulae for Calculators by Jean Meeus. (His better known Astronomical Algorithms, intended for computers rather than calculators, is actually harder to use for programming because Astronomical Algorithms is written for BASIC and the algorithms are relatively hard to translate into other languages, whereas Astronomical Formulae for Calculators concentrates on explaining the algorithms clearly, so you can punch them into a calculator by hand, and this ends up making it fairly easy to implement them in a modern computer language as well.)

    Anyway, the person asking also mentioned JPL's page HORIZONS Ephemerides page, which I've certainly found useful at times. Years ago, I tried emailing the site maintainer asking if they might consider releasing the code as open source; it seemed like a reasonable request, given that it came from a government agency and didn't involve anything secret. But I never got an answer.

  • These Weeks in Firefox: Issue 45

Linux developers threaten to pull “kill switch”

Filed under
Development
Linux

Linux powers the internet, the Android in your pocket, and perhaps even some of your household appliances. A controversy over politics is now seeing some of its developers threatening to withdraw the license to all of their code, potentially destroying or making the whole Linux kernel unusable for a very long time.

Read more

Syndicate content

More in Tux Machines

Today in Techrights

Android Leftovers

Ubuntu MATE 18.10 Released for GPD Pocket PCs, Raspberry Pi Images Coming Soon

Shipping with the latest MATE 1.20.3 desktop environment and Linux 4.18 kernel, Ubuntu MATE 18.10 is now available with updated apps and core components, better hardware support, and, for the first time, images for the GDP Pocket and GDP Pocket 2 handheld computers, along with the generic images for 64-bit Intel PCs. According to Martin Wimpress, Ubuntu MATE 18.10 (Cosmic Cuttlefish) includes some hardware-specific tweaks and other improvements to core components in an attempt to make the Linux-based operating system work out-of-the-box and without any hiccups on both the GDP Pocket and GDP Pocket 2 tiny computers. Read more

Plasma 5.14.2

Today KDE releases a Bugfix update to KDE Plasma 5, versioned 5.14.2. Plasma 5.14 was released in October with many feature refinements and new modules to complete the desktop experience. Read more Also: KDE Plasma 5.14.2 Desktop Environment Improves Firmware Updates, Snap Support