Language Selection

English French German Italian Portuguese Spanish

Development

LLVM 6.0 Release Plans

Filed under
Development
BSD
  • Initial C17 Language Support Lands In LLVM Clang 6.0 SVN

    Back in October is when GCC began prepping C17 support patches for their compiler as a minor update to the C programming language. LLVM's Clang compiler has now landed its initial support for C17.

    C17 is a minor "bug fix version" over the C11 standard. The C17 specification is still being firmed up and following the initial support appearing in GCC, it's now in Clang.

  • LLVM 6.0 Release Planning, Stable Debut Slated For March

    Hans Wennborg as the continuing LLVM release manager has begun drafting plans for the LLVM 6.0 release process.

    Continuing with their usual half-year release cadence, their goal is to ship LLVM 6.0.0 by early March.

Programming: C, Simplistic Programming, and Benchmarks

Filed under
Development
Graphics/Benchmarks
  • A mini-rant on the lack of string slices in C
  • Simplistic programming is underrated

     

    I should explain. It is absolutely true that if you deploy a larger vocabulary, if you use longer, more pompous sentences, many people will think you are smarter. The same is true with programming. If you can cram metaprogramming, pure functional programming, some assembly and a neural network into one program, many programmers will be impressed by your skills.

  • Comparing C, C++ and D performance with a real world project

    Some time ago I wrote a blog post comparing the real world performance of C and C++ by converting Pkg-config from C to C++ and measuring the resulting binaries. This time we ported it to D and running the same tests.

  • Phoronix Test Suite 7.6 Released

    Phoronix Test Suite 7.6.0-Alvdal is now available as the latest quarterly feature update to our cross-platform, open-source benchmarking software.

Qt 5.10 and Qt Creator 4.5

Filed under
Development
KDE
  • Qt Creator 4.5.0 released

    We are happy to announce the release of Qt Creator 4.5.0!

  • Qt 5.10 released

    I’m happy to let you all know that Qt 5.10 has just been released. Qt 5.10 comes with a ton of new functionalities that I’m thrilled to talk to you about.

  • Qt 5.10 Released Along With Qt Creator 4.5

    Qt 5.10 is now officially out as the half-year update to the Qt5 tool-kit.

    Qt 5.10 is arriving just a few days late and is a big feature update. Qt 5.10 features many improvements to Qt Quick and QML, initial Vulkan support, support for streaming Qt UIs to WebGL-enabled browsers, OpenGL ES improvements, new functionality in Qt 3D, a new QRandomGenerator as a "high quality" RNG, OpenSSL 1.1 support in Qt Network, embedded improvements, updated Qt WebEngine, and Qt Network Authentication for OAuth/OAuth2 support and Qt Speech for text-to-speech capabilities. There's a whole lot more as well.

Programming/Development: Java, GitLab, C++ and Python

Filed under
Development
  • Hazelcast joins Eclipse Foundation to collaborate on open source enterprise Java

    Hazelcast, the open source In-Memory Data Grid (IMDG) with tens of thousands of installed clusters and over 39 million server starts per month, announced it had joined the Eclipse Foundation, bringing extensive Java-driven community experience to a host of open source projects.

    Working collaboratively with other members of the Eclipse community, Hazelcast’s primary focus will be on JCache, the Eclipse MicroProfile and EE4J.

    In particular, Hazelcast will be collaborating with members to popularise JCache, a Java Specification Request (JSR-107) which specifies API and semantics for temporary, in-memory caching of Java objects, including object creation, shared access, spooling, invalidation, and consistency across JVM’s. These operations help scale out applications and manage their high-speed access to frequently used data. In the Java Community Process (JCP), Hazelcast’s CEO, Greg Luck, has been the co spec lead and then maintenance lead on “JCache – Java Temporary Caching API” since 2007.

  • GitLab update: Moving to the next step

    I have good news, after few meetings and discussions with GitLab we reached an agreement on a way to bring the features we need and to fix our most important blockers in a reasonable time and in a way that are synced with us. Their team will fix our blockers in the next 1-2 months, most of them will be fix in the release of 22th of December and the rest if everything goes well in the release of 22th of January. The one left that out of those 2 months is a richer UI experience for duplicates, which is going to be an ongoing effort.

    Apologies for the blockage for those that regularly asked to migrate their project, I wanted to make sure we are doing things in the right steps. I also wanted to make sure that I get feedback and comments about the initiative all around in my effort to make a representation of the community for taking these decisions. Now it’s the point where I’m confident, the feedback and comments both inside and outside of our core community has been largely that we should start our path to fully migrate to GitLab.

  • Khronos Releases SYCL 1.2.1 With TensorFlow Acceleration, C++17 Alignment

    SYCL as a reminder is Khronos' higher-level OpenCL programming model based on C++. It's been a while since the last update, but a new point release is now available.

    SYCL 1.2.1 is based on OpenCL 1.2 and improves support for machine learning tasks, supports TensorFlow acceleration, and aligns with the latest C++17 standard. SYCL 1.2 had previously been based on C++11/C++14. The C++17 standard was just firmed up this month.

  • Python data classes

    The reminder that the feature freeze for Python 3.7 is coming up fairly soon (January 29) was met with a flurry of activity on the python-dev mailing list. Numerous Python enhancement proposals (PEPs) were updated or newly proposed; other features or changes have been discussed as well. One of the updated PEPs is proposing a new type of class, a "data class", to be added to the standard library. Data classes would serve much the same purpose as structures or records in other languages and would use the relatively new type annotations feature to support static type checking of the use of the classes.

    PEP 557 ("Data Classes") came out of a discussion on the python-ideas mailing list back in May, but its roots go back much further than that. The attrs module, which is aimed at reducing the boilerplate code needed for Python classes, is a major influence on the design of data classes, though it goes much further than the PEP. attrs is not part of the standard library, but is available from the Python Package Index (PyPI); it has been around for a few years and is quite popular with many Python developers. The idea behind both attrs and data classes is to automatically generate many of the "dunder" methods (e.g. __init__(), __repr__()) needed, especially for a class that is largely meant to hold various typed data items.

OSS and Programming: DeepVariant, Embedded Linux Conference, Voice Dataset, Glibc, NuttX and More

Filed under
Development
OSS
  • Google makes AI tool for precision medicine open source

    Google announced Monday an open source version of DeepVariant, the artificial intelligence tool that last year earned the highest accuracy rating at the precisionFDA’s Truth Challenge.

    The open source tool comes as academic medical centers, hospitals, insurance companies and other healthcare organizations are gearing up for if not already embarking on artificial intelligence, cognitive computing and machine learning as well as precision medicine and the genomic sequencing that entails.

    Likewise, Google rivals IBM and Microsoft are all moving into the healthcare AI space while much speculation surrounds Apple and Amazon making forays into the space.

  • One Month Left to Submit Your Talk to ELC + OpenIoT Summit NA 2018

    Embedded Linux Conference (ELC), happening March 12-14 in Portland, OR, gathers kernel and systems developers, and the technologists building the applications running on embedded Linux platforms, to learn about the newest and most interesting embedded technologies, gain access to leading experts, have fascinating discussions, collaborate with peers, and gain a competitive advantage with innovative embedded Linux solutions.

  • Mozilla Releases Open Source Speech Recognition Engine and Voice Dataset

    After launching Firefox Quantum, Mozilla continues its upward trend and releases its Open Source Speech Recognition Model and Voice Dataset. Well, Mozilla is finally back!

    In the past few years, technical advancements have contributed to a rapid evolution of speech interfaces and, subsequently, of speech-enabled devices powered by machine learning technologies. And thanks to Mozilla’s latest efforts, things look better than ever.

  • Glibc Rolls Out Support For Memory Protection Keys

    While kernel side there's been Memory Protection Keys support since Linux 4.9 and work has already landed in GCC and Clang, the glibc GNU C Library is finally adding support for MPK.

  • Scheme For NuttX

    To fix the first problem, I decided to try and just implement scheme. The language I had implemented wasn't far off; it had lexical scoping and call-with-current-continuation after all. The rest is pretty simple stuff.

    To fix the second problem, I ported the interpreter to NuttX. NuttX is a modest operating system for 8 to 32-bit microcontrollers with a growing community of developers.

  • SD Times news digest: Android Oreo 8.1 (Go edition), Red Hat OpenShift Application Runtimes, and Django 2.0

Programming: Lua, Qt 3D, C++

Filed under
Development
  • easy gopher-lua bridge
  • Increasing the number of lights in Qt 3D

    While it is possible to draw scenes with almost unlimited numbers of lights using deferred rendering in Qt 3D, the default materials in Qt 3D Extras have been limited to eight lights because they are tied to forward rendering. Although we apply a few tricks that allow you to define more than eight lights in the scene, we only select the eight closest lights when rendering.

  • Qt Company offers 3D interface authoring system

    Emanating from its development bases in Helsinki, Finland and Santa Clara, California, Qt explains that its latest product is a 3D design and development tool for major industrial use cases.

  • C++17 Final Standard Is Now Official

    Earlier this year in May, we told you that C++17 standard is now feature complete and expected to ship soon. Well, if you’ve been waiting for the same, that time has finally arrived as the official standard has been published on ISO.org.

Programming: Haskell in 2017 and C++17

Filed under
Development
  • Reflecting on Haskell in 2017

    Alas, another year has come and gone. It feels like just yesterday I was writing the last reflection blog post on my flight back to Boston for Christmas. I’ve spent most of the last year traveling and working in Europe, meeting a lot of new Haskellers and putting a lot of faces to names.

    Haskell has had a great year and 2017 was defined by vast quantities of new code, including 14,000 new Haskell projects on Github . The amount of writing this year was voluminous and my list of interesting work is eight times as large as last year. At least seven new companies came into existence and many existing firms unexpectedly dropped large open source Haskell projects into the public sphere. Driven by a lot of software catastrophes, the intersection of security, software correctness and formal methods have been become quite an active area of investment and research across both industry and academia. It’s really never been an easier and more exciting time to be programming professionally in the world’s most advanced (yet usable) statically typed language.

    Per what I guess is now a tradition, I will write my end of year retrospective on my highlights of what happened in the Haskell scene in retrospect.

  • C++17 Is Now Official

    The final standard of C++17 (formerly known as "C++1z") is now official.

    The final standard of C++17 has been published as ISO/IEC 14882:2017 and has been published on ISO.org.

    C++17 introduces a number of new language features, support for UTF-8 character literals, inline variables, fold expressions, and more. On the C++ standard library side is parallel versions of the STL algorithms, a file-system library derived from Boost, and other additions.

Django 2.0 release

Filed under
Development

These release notes cover the new features, as well as some backwards incompatible changes you’ll want to be aware of when upgrading from Django 1.11 or earlier. We’ve dropped some features that have reached the end of their deprecation cycle, and we’ve begun the deprecation process for some features.

This release starts Django’s use of a loose form of semantic versioning, but there aren’t any major backwards incompatible changes that might be expected of a 2.0 release. Upgrading should be a similar amount of effort as past feature releases.

Read more

Programming/Development: Python, Light Table IDE, Kotlin, PHP and Perl

Filed under
Development
  • NCSA SPIN Intern Daniel Johnson Develops Open Source HPC Python Package

    At the National Center for Supercomputing Applications (NCSA), undergraduate SPIN (Students Pushing INnovation) intern Daniel Johnson joined NCSA’s Gravity Group to study Albert Einstein’s theory of general relativity, specifically numerical relativity. Daniel has used the open source, numerical relativity software, the Einstein Toolkit on the Blue Waters supercomputer to numerically solve Einstein’s general relativity equations to study the collision of black holes, and the emission of gravitational waves from these astrophysical events. During his SPIN internship, Daniel developed an open source, Python package to streamline these numerical analyses in high performance computing (HPC) environments.

  • Light Table – A Next-Generation Open-Source and Customizable IDE

    Light Table is a free, customizable, functional, and open-source IDE with a modern and intuitive User Interface, plugin support, command pane, and connection manager.

    It was created by Chris Granger and Robert Attorri in mostly ClojureScript with the aim of providing developers to write and debug software with ease while getting smart feedback from the IDE and exchanging creative ideas with other users in the Light Table community.

  • Kotlin 1.2 Released: Sharing Code between Platforms

    Today we’re releasing Kotlin 1.2. This is a major new release and a big step on our road towards enabling the use of Kotlin across all components of a modern application.

    In Kotlin 1.1, we officially released the JavaScript target, allowing you to compile Kotlin code to JS and to run it in your browser. In Kotlin 1.2, we’re adding the possibility to reuse code between the JVM and JavaScript. Now you can write the business logic of your application once, and reuse it across all tiers of your application – the backend, the browser frontend and the Android mobile app. We’re also working on libraries to help you reuse more of the code, such as a cross-platform serialization library.

  • PHP 7.2 And Kotlin 1.2 Programming Languages Released

    Kotlin 1.2 Moving to Kotlin–the latest programming language to get official Android support. JetBrains announced Kotlin 1.2 and called it a major release which will let the devs reuse code between JVM and JS.

  • Rcpp now used by 1250 CRAN packages

Programming/Development: Linux Perf, ESR on Languages, GStreamer Rust Bindings, and Python/Pygame

Filed under
Development
  • Update to Linux perf report

    Linux perf is an immensely useful and powerful tool suite for profiling of C/C++ applications.
    I have used it extensively and successfully on various customer projects, both for desktop applications as well as automotive or industrial projects targeting low-end embedded Linux targets running on ARM hardware.

  • The big break in computer languages

    My last post (The long goodbye to C) elicited a comment from a C++ expert I was friends with long ago, recommending C++ as the language to replace C. Which ain’t gonna happen; if that were a viable future, Go and Rust would never have been conceived.

    But my readers deserve more than a bald assertion. So here, for the record, is the story of why I don’t touch C++ any more. This is a launch point for a disquisition on the economics of computer-language design, why some truly unfortunate choices got made and baked into our infrastructure, and how we’re probably going to fix them.

    Along the way I will draw aside the veil from a rather basic mistake that people trying to see into the future of programming languages (including me) have been making since the 1980s. Only very recently do we have the field evidence to notice where we went wrong.

    I think I first picked up C++ because I needed GNU eqn to be able to output MathXML, and eqn was written in C++. That project succeeded. Then I was a senior dev on Battle For Wesnoth for a number of years in the 2000s and got comfortable with the language.

  • GStreamer Rust bindings release 0.9

    About 3 months, a GStreamer Conference and two bug-fix releases have passed now since the GStreamer Rust bindings release 0.8.0. Today version 0.9.0 (and 0.9.1 with a small bugfix to export some forgotten types) with a couple of API improvements and lots of additions and cleanups was released. This new version depends on the new set of releases of the gtk-rs crates (glib/etc).

  • Why Python and Pygame are a great pair for beginning programmers

    Last month, Scott Nesbitt wrote about Mozilla awarding $500K to support open source projects. Phaser, a HTML/JavaScript game platform, was awarded $50,000. I’ve been teaching Phaser to my pre-teen daughter for a year, and it's one of the best and easiest HTML game development platforms to learn. Pygame, however, may be a better choice for beginners. Here's why.

Syndicate content

More in Tux Machines

Librem 5 Phone Progress Report

  • Librem 5 Phone Progress Report – The First of Many More to Come!
    First, let me apologize for the silence. It was not because we went into hibernation for the winter, but because we were so busy in the initial preparation and planning of a totally new product while orienting an entirely new development team. Since we are more settled into place now, we want to change this pattern of silence and provide regular updates. Purism will be giving weekly news update posts every Tuesday, rotating between progress on phone development from a technology viewpoint (the hardware, kernel, OS, etc.) and an art of design viewpoint (UI/UX from GNOME/GTK to KDE/Plasma). To kickoff this new update process, this post will discus the technological progress of the Librem 5 since November of 2017.
  • Purism Eyeing The i.MX8M For The Librem 5 Smartphone, Issues First Status Update
    If you have been curious about the state of Purism's Librem 5 smartphone project since its successful crowdfunding last year and expedited plans to begin shipping this Linux smartphone in early 2019, the company has issued their first status update.

Benchmarking Retpoline-Enabled GCC 8 With -mindirect-branch=thunk

We have looked several times already at the performance impact of Retpoline support in the Linux kernel, but what about building user-space packages with -mindirect-branch=thunk? Here is the performance cost to building some performance tests in user-space with -mindirect-branch=thunk and -mindirect-branch=thunk-inline. Read more

An introduction to Inkscape for absolute beginners

Inkscape is a powerful, open source desktop application for creating two-dimensional scalable vector graphics. Although it's primarily an illustration tool, Inkscape is used for a wide range of computer graphic tasks. The variety of what can be done with Inkscape is vast and sometimes surprising. It is used to make diagrams, logos, programmatic marketing materials, web graphics, and even for paper scrapbooking. People also draw game sprites, produce banners, posters, and brochures. Others use Inkscape to draft web design mockups, detail layouts for printed circuit boards, or produce outline files to send to laser cutting equipment. Read more

Behind the scenes with Pop!_OS Linux

In October, Linux PC maker System76 released its homegrown version of Linux, Pop!_OS, giving users the choice between its legacy Ubuntu operating system or the new Pop!_OS flavor of Linux. Recently Opensource.com gave away a System76 laptop with Pop!_OS installed, which made me curious about the company and this new version of Linux, so I spoke with Cassidy James Blaede, Pop!_OS's user experience (UX) designer. Blaede joined System76 in 2014, fresh out of college at the University of Northern Iowa and marriage to his wife, Katie. While in college, he co-founded the elementary OS project and interned at UX consultancy Visual Logic, both of which influenced his work for System76. He started at System76 as a front-end developer and was later promoted to UX architect. Read more