Language Selection

English French German Italian Portuguese Spanish

Development

Programming: Python Maths Tools and Java SE

Filed under
Development
  • Essential Free Python Maths Tools

    Python is a very popular general purpose programming language — with good reason. It’s object oriented, semantically structured, extremely versatile, and well supported. Scientists favour Python because it’s easy to use and learn, offers a good set of built-in features, and is highly extensible. Python’s readability makes it an excellent first programming language.

    The Python Standard Library (PSL) is the the standard library that’s distributed with Python. The library comes with, among other things, modules that carry out many mathematical operations.

    The math module is one of the core modules in PSL which performs mathematical operations. The module gives access to the underlying C library functions for floating point math.

  • Oracle's new Java SE subs: Code and support for $25/processor/month

    Oracle’s put a price on Java SE and support: $25 per processor per month, and $2.50 per user per month on the desktop, or less if you buy lots for a long time.

    Big Red’s called this a Java SE Subscription and pitched it as “a commonly used model, popular with Linux distributions”. The company also reckons the new deal is better than a perpetual licence, because they involve “an up-front cost plus additional annual support and maintenance fees.”

Programming: 5 Pillars of Learning Programming, New Releases of Rust and Git

Filed under
Development
  • 5 Pillars of Learning Programming

    Learning how to program is hard. I often find that university courses and boot camps miss important aspects of programming and take poor approaches to teaching rookies.

    I want to share the 5 basic pillars I believe a successful programming course should build upon. As always, I am addressing the context of mainstream web applications.

    A rookie’s goal is to master the fundamentals of programming and to understand the importance of libraries and frameworks.

    Advanced topics such as the cloud, operations in general, or build tools should not be part of the curriculum. I am also skeptical when it comes to Design Patterns. They presume experience that beginners never have.

  • The Rust Programming Language Blog: Announcing Rust 1.27

    The Rust team is happy to announce a new version of Rust, 1.27.0. Rust is a systems programming language focused on safety, speed, and concurrency.

  • Rust 1.27 Released With SIMD Improvements

    Most notable to Rust 1.27 is SIMD support via the std::arch module to make use of SIMD (Single Instruction, Multiple Data) instructions directly. Up to now Rust could already make use of LLVM's auto-vectorization support, but this lets Rust developers write SIMD instructions on their own and to allow for the proper Rust code to be executed based upon the CPU at run-time.

  • Git 2.18 Released With Initial Version Of Its New Wire Protocol

    Version 2.18 of the Git distributed revision control system is now available.

    Arguably most notable about Git 2.18 is the introduction of its new wire protocol "protocol_v2" that is designed to offer much greater performance. This new protocol is designed to be much faster and is already being used at Google and elsewhere due to the significant performance benefits.

  • Git v2.18.0

    The latest feature release Git v2.18.0 is now available at the usual places. It is comprised of 903 non-merge commits since v2.17.0, contributed by 80 people, 24 of which are new faces.

Zapcc Liberated, HMM and GPL

Filed under
Development
OSS
Legal
  • Zapcc high-speed C++ compiler now open source

    Zapcc, a caching C++ compiler built for speed, has gone open source.

    Ceemple Software, Zapcc’s builder, claims the compiler offers dramatic improvements in both incremental and full builds compared to building with Clang 4.0 and Clang 5.0. Based on heavily modified code from the Clang compiler project, Zapcc uses an in-memory compilation cache in a client-server architecture. All compilation information is remembered between runs.

  • Heterogeneous memory management meets EXPORT_SYMBOL_GPL()

    One of the many longstanding — though unwritten — rules of kernel development is that infrastructure is not merged until at least one user for that infrastructure exists. That helps developers evaluate potential interfaces and be sure that the proposed addition is truly needed. A big exception to this rule was made when the heterogeneous memory management (HMM) code was merged, though. One of the reasons for the lack of users in this case turns out to be that many of the use cases are proprietary; that has led to some disagreements over the GPL-only status of an exported kernel symbol.

    The HMM subsystem exists to support peripherals that have direct access to system memory through their own memory-management units. It allows the ownership of ranges of memory to be passed back and forth and notifies peripherals of changes in memory mappings to keep everything working well together. HMM is not a small or simple subsystem, and bringing it into the kernel has forced a number of low-level memory-management changes. After a multi-year development process, the core HMM code was merged for the 4.14 kernel, despite the lack of any users.

Programming: Zapcc C++, PHP and Python

Filed under
Development
  • Some Compiler Performance Benchmarks With The Zapcc Caching Compiler

    Here are some quick benchmarks I ran this week of the newly open-sourced Zapcc C++ caching compiler based upon LLVM/Clang and compared to the upstream Clang performance, GCC, and Ccache with the speed on the original compilation of the benchmark code and then again on a subsequent compilation.

  • PHP 7.3.0 alpha 1 Released

    PHP team is glad to announce the release of the first PHP 7.3.0 version, PHP 7.3.0 Alpha 1. This starts the PHP 7.3 release cycle, the rough outline of which is specified in the PHP Wiki.

  • PHP 7.3 Alpha 2 Released With Many Bug Fixes

    Just shy of two weeks since PHP 7.3 went into alpha, the second alpha release of this upcoming annual feature release to the PHP programming language is now available.

    PHP 7.3 has been working on several new functions, WebP support within the image create from string function, improved PHP garbage collection, and a variety of other features and improvements. While PHP 7.3 is still open for new features, PHP 7.3 Alpha 2 comes with just bug fixes. Bug fixes for alpha two range from core fixes to various bugs in its ZIP, EXIF, Date, and CLI code, among other areas. The fixes are outlined here.

  • Python virtual environments

    In a short session at the 2018 Python Language Summit, Steve Dower brought up the shortcomings of Python virtual environments, which are meant to create isolated installations of the language and its modules. He said his presentation was "co-written with Twitter" and, indeed, most of his slides were of tweets. At the end, he also slipped in an announcement of his plans for hosting a core development sprint in September.

  • A Python static typing update

    One of the larger features added to Python over the last few releases is support for static typing in the language. Static type-checking and tools to support it show up frequently as topics at the Python Language Summit (PLS) and this year was no exception. Mypy developers Jukka Lehtosalo and Ivan Levkivskyi gave an update on static typing at PLS 2018.

    Lehtosalo started things off by talking about stub files, which contain type information for libraries and other modules. If you are going to type-check code that uses outside modules, from the standard library or a third-party library, the tool needs to understand the types used in the public interfaces of the library. The type-checking that can be done is limited if there are no stubs for the libraries used.

  • Linux distributions and Python 2

    Python 2.7 will reach its end of life in less than two years—at least for the core development team. Linux distributions need to figure out how to handle the transition given that many of their users are still using that version of the language—and may still be well beyond the end-of-life date. Petr Viktorin and Matthias Klose led a session at the 2018 Python Language Summit to discuss distributions' approaches to deprecating Python 2.

    Viktorin works for Red Hat and focused on the Fedora distribution. He wants to help figure out how to help the Python downstreams so that Python 2 can be fully discontinued. There are two different ways to do that; either make sure that everyone switches to Python 3 or simply deprecate Python 2 and "wash our hands" of the problem. He would prefer the first alternative. He will be working on this transition for Red Hat as part of his day job and would like to do it in the community as well; that will minimize the need to maintain Python 2 going forward.

Qt Creator 4.7 Beta2 released

Filed under
Development
KDE

We are happy to announce the release of Qt Creator 4.7 Beta2!

It is roughly 2 weeks after the Beta1 release, and 2 weeks before our planned release candidate, so we want to give you the opportunity to fetch an updated work-in-progress snapshot in between.
If you haven’t yet read about the improvements and new features that are coming with 4.7 (or if you have forgotten), I would like to point you to the blog post for the first beta.

Read more

Programming/Development: ISO C++, Rust, FBGraphics and So-called 'DevOps'

Filed under
Development
  • Trip Report: C++ Standards Meeting in Rapperswil, June 2018

    A couple of weeks ago I attended a meeting of the ISO C++ Standards Committee (also known as WG21) in Rapperswil, Switzerland. This was the second committee meeting in 2018; you can find my reports on preceding meetings here (March 2018, Jacksonville) and here (November 2017, Albuquerque), and earlier ones linked from those. These reports, particularly the Jacksonville one, provide useful context for this post.

    At this meeting, the committee was focused full-steam on C++20, including advancing several significant features — such as Ranges, Modules, Coroutines, and Executors — for possible inclusion in C++20, with a secondary focus on in-flight Technical Specifications such as the Parallelism TS v2, and the Reflection TS.

  • Proposal for a staged RFC process

    I consider Rust’s RFC process one of our great accomplishments, but it’s no secret that it has a few flaws. At its best, the RFC offers an opportunity for collaborative design that is really exciting to be a part of. At its worst, it can devolve into bickering without any real motion towards consensus. If you’ve not done so already, I strongly recommend reading aturon’s excellent blog posts on this topic.

    The RFC process has also evolved somewhat organically over time. What began as “just open a pull request on GitHub” has moved into a process with a number of formal and informal stages (described below). I think it’s a good time for us to take a step back and see if we can refine those stages into something that works better for everyone.

    This blog post describes a proposal that arose over some discussions at the Mo

  • C gfx library for the Linux framebuffer with parallelism support

    FBGraphics was made to produce fullscreen pixels effects easily with non-accelerated framebuffer by leveraging multi-core processors, it is a bit like a software GPU (much less complex and featured!), the initial target platform is a Raspberry PI 3B and extend to the NanoPI (and many others embedded devices), the library should just work with many others devices with a Linux framebuffer altough there is at the moment some restrictions on the supported framebuffer format (24 bits).

  • 16 blogs and newsletters to follow for DevOps practitioners

Debian Developers: Mergify, Chrome, DebCamp18, OBS, GSoC and LibrePlanet

Filed under
Development
Debian
  • Stop merging your pull requests manually

    We built Mergify as a free service for open-source projects. The engine powering the service is also open-source.

  • Odd dependency on Google Chrome

    Hmm, so I noticed every time I started a fresh new Chrome, I logged into my Google account. So, once again clearing things I started Chrome, didn’t login and closed and reopened. I had Chrome running the second time! Alas, not with all the stuff synchronised.

    An issue for Mailspring put me onto the right path. installing gnome-keyring (or the dependencies p11-kit and gnome-keyring-pkcs11) fixed Chrome.

    So if Chrome starts but you get no window, especially if you use cinnamon, try that trick.

  • Plans for DebCamp18

    I’m going to DebCamp18!

  • Triggering Debian Builds on OBS

    OBS supports building Debian packages. To do so, one must properly configure a project so OBS knows it is building a .deb package and to have the packages needed to handle and build debian packages installed.

  • Google Summer of Code 2018 with Debian - Week 5

    During week 5, there were 3 merge requests undergoing review process simultaneously. I learned a lot about how code should be written in order to assist the reader since the code is read more times than the time it is written.

  • How markets coopted free software’s most powerful weapon (LibrePlanet 2018 Keynote)

    Several months ago, I gave the closing keynote address at LibrePlanet 2018. The talk was about the thing that scares me most about the future of free culture, free software, and peer production.

HHVM 3.27 Released

Filed under
Development

Programming/Development: C++, 'Agile', and Pronghorn, a Java framework

Filed under
Development
  • What's all the C Plus Fuss? Bjarne Stroustrup warns of dangerous future plans for his C++

    Earlier this year, Bjarne Stroustrup, creator of C++, managing director in the technology division of Morgan Stanley, and a visiting professor of computer science at Columbia University in the US, wrote a letter inviting those overseeing the evolution of the programming language to “Remember the Vasa!”

    Easy for a Dane to understand no doubt, but perhaps more of a stretch for those with a few gaps in their knowledge of 17th century Scandinavian history. The Vasa was a Swedish warship, commissioned by King Gustavus Adolphus. It was the most powerful warship in the Baltic Sea from its maiden voyage on the August 10, 1628, until a few minutes later when it sank.

  • Has Agile Programming Lost its Way?

    Programmers are passionate about which development methodology is the best. Is it Agile? Waterfall? Feature Driven Development? Scrum? So everyone took notice when one of the 17 authors of the seminal Agile Manifesto wrote a blog post last month headlined “Developers Should Abandon Agile.”

    Further down in his post, Ron Jeffries made a clear distinction between Manifesto Agile — “the core ideas from the Manifesto, in which I still believe” — and its usurping follower, “Faux Agile” (or, in extreme cases, “Dark Agile”). Jeffries ultimately urged developers to learn useful development methods — including but not limited to Extreme Programming — that are true to the Manifesto’s original principles, while also detaching their thinking from particular methodologies with an Agile name.

  • Write fast apps with Pronghorn, a Java framework

    In 1973, Carl Hewitt had an idea inspired by quantum mechanics. He wanted to develop computing machines that were capable of parallel execution of tasks, communicating with each other seamlessly while containing their own local memory and processors.

    Born was the actor model, and with that, a very simple concept: Everything is an actor. This allows for some great benefits: Separating business and other logic is made vastly easier. Security is easily gained because each core component of your application is separate and independent. Prototyping is accelerated due to the nature of actors and their interconnectivity.

  • Systems Languages: An Experience Report

    Recently, there’s been a lot of turmoil in the systems language community. We have the Rust Evangelism Strikeforce nudging us towards rewriting everything in Rust. We have the C++17 folks who promise the safety and ease of use of modern programming languages with the performance and power of C. And then there’s a long tail of other “systems” programming languages, like Nim, Reason / OCaml, Crystal, Go, and Pony.

    Personally, I’m super excited we’re seeing some interesting work in the programming language theory space. This got me excited to learn more about what’s out there. A lot of the problems I solve are usually solved in C. Recently, Go has begun to encroach on C’s territory. I enjoy C and Go as much as the next person — They’re good languages for getting shit done. Often times, they leave a lot to be desired, and leave me envious of other programmers with tools like Flow, Typescript, and Dialyzer. Coming from developing in Erlang, even with its rudimentary type system, functional programming just came far more easily to me.

"Microsoft may find the developers it just paid so much to reach slipping from its grasp."

Filed under
Development
Microsoft
  • Mixed Reaction
  • After Github purchase, Microsoft remains a relatively untrusted open source player to some
  • What is GitHub?

    GitHub is now the de facto home of open-source software. But Microsoft’s acquisition reignited a debate over the platform’s centrality. Microsoft assures users the service is safe under its stewardship, but many are wary. When Mr Ballmer spoke of developers, he had a specific sort in mind: those using Microsoft’s tools to build projects for Microsoft products. He once called open-source Linux a “cancer”, which would spread uncontrollably. In a sense, his words proved prophetic: today, open-source software is everywhere, from websites to financial markets to self-driving cars. Under Mr Nadella’s leadership, Microsoft has embraced open-source development. In buying GitHub it hopes to gain the trust of developers it once spurned. But some wonder if the change is complete, or if Microsoft will use its newly bought dominance of open-source hosting to push its own products. Alternatives to GitHub—some themselves open-source—wait in the wings. If it is not careful, Microsoft may find the developers it just paid so much to reach slipping from its grasp.

Syndicate content

More in Tux Machines

Today in Techrights

Pinguy OS Puts On a Happier GNOME 3 Face

Pinguy OS 18.04 is an Ubuntu-based distribution that offers a non-standard GNOME desktop environment intended to be friendlier for new Linux users. This distro is a solid Linux OS with a focus on simple and straightforward usability for the non-geek desktop user. If you do not like tinkering with settings or having numerous power-grabbing fancy screen animations, Pinguy OS could be a good choice. The GNOME desktop is the only user interface option, but Pinguy OS' developer, Antoni Norman, tweaked the desktop environment with some different software options not usually packaged with GNOME. Read more

You Can Now Install Android 8.1 Oreo on Your Raspberry Pi 3 Model B+ Computer

Just two weeks after releasing the first build of his RaspAnd operating system based on Google's Android 8.1 Oreo mobile OS, Arne Exton today announced a new version with support for the Raspberry Pi 3 Model B+ computer. RaspAnd Oreo 8.1 Build 180717 is basically identical with RaspAnd Oreo 8.1 Build 180707 except for the fact that it now also supports the latest Raspberry Pi 3 single-board computer, the Raspberry Pi 3 Model B+, which features a more powerful 1.4GHz 64-bit quad-core processor, dual-band Wi-Fi, Bluetooth LE 4.2, faster Ethernet, and Power-over-Ethernet support. Read more

Linux Foundation and Linux Development

  • Linux Foundation launches LF Energy open source platform
    Launched with support from Europe’s biggest transmission power systems provider and other organizations, LF Energy aims to streamline everything from system operator smart assistants to smart grid control software. It will serve as an umbrella organization that supports collaboration among vendors in the energy sector to advance information and communication technologies (ICT) that impact the energy balance and brings about economic value.
  • FPGA Device Feature List Framework Coming For Linux 4.19
    There's already a new framework coming to Linux 4.19 in the form of Google's Gasket while queued this week is now another new framework: the FPGA Device Feature List.
  • AMDGPU Firmware Updated From 18.20, Vega M Blobs Added
    The latest AMDGPU firmware/microcode binary images for Radeon GPUs have landed in the Linux-Firmware Git tree. Hitting linux-firmware.git minutes ago was the latest batch of AMDGPU firmware files from Bonaire and Hawaii up through Vega 10, Polaris, and Raven hardware. The updated firmware images are the same as what AMD recently shipped with the Radeon Software 18.20 hybrid driver package. No change-logs of what is different about these updated firmware images are currently available, but most of the time it's mostly routine and mundane fixes/updates.
  • Nvidia 390.77 Linux Graphics Driver Improves Compatibility with Latest Kernels
    Nvidia released a new version of its long-lived proprietary display driver for GNU/Linux, FreeBSD, and Solaris systems to add compatibility with recent Linux kernels and fix various bugs. While not a major release, the Nvidia 390.77 proprietary graphics driver brings better compatibility with the latest Linux kernels. However, Nvidia didn't mention if it's now possible to compile its proprietary display drivers with the upcoming Linux 4.18 kernel series or just with the recent Linux 4.17 point releases. In addition to improving compatibility with recent Linux kernels, the Nvidia 390.77 proprietary display driver for Linux-based operating systems addresses a random hang issue that could occur for some users when running Vulkan apps in full-screen mode and flipping was allowed.