Language Selection

English French German Italian Portuguese Spanish

Development

Tryton and Python Deprecation Warnings

Filed under
Development
  • Trying Tryton

    The quest to find a free-software replacement for the QuickBooks accounting tool continues. In this episode, your editor does his best to put Tryton through its paces. Running Tryton proved to be a trying experience, though; this would not appear to be the accounting tool we are searching for.
    Tryton is a Python 3 application distributed under the GPLv3 license. Its home page mentions that it is based on PostgreSQL, but there is support for MySQL and SQLite as well. Tryton, it is said, is "a three-tier high-level general purpose application platform" that is "the core base of a complete business solution providing modularity, scalability and security". The "core base" part of that claim is relevant: Tryton may well be a solid base for the creation of a small-business accounting system, but it is not, out of the box, such a system itself.

  • Who should see Python deprecation warnings?

    As all Python developers discover sooner or later, Python is a rapidly evolving language whose community occasionally makes changes that can break existing programs. The switch to Python 3 is the most prominent example, but minor releases can include significant changes as well. The CPython interpreter can emit warnings for upcoming incompatible changes, giving developers time to prepare their code, but those warnings are suppressed and invisible by default. Work is afoot to make them visible, but doing so is not as straightforward as it might seem.
    In early November, one sub-thread of a big discussion on preparing for the Python 3.7 release focused on the await and async identifiers. They will become keywords in 3.7, meaning that any code using those names for any other purpose will break. Nick Coghlan observed that Python 3.6 does not warn about the use of those names, calling it "a fairly major oversight/bug". In truth, though, Python 3.6 does emit warnings in that case — but users rarely see them.

Programming/Development: GAPID 1.0 and Atom 1.23

Filed under
Android
Development
Software
  • Diagnose and understand your app's GPU behavior with GAPID
  • GAPID 1.0 Released As Google's Cross-Platform Vulkan Debugger

    Back in March we wrote about GAPID as a new Google-developed Vulkan debugger in its early stages. Fast forward to today, GAPID 1.0 has been released for debugging Vulkan apps/games on Linux/Windows/Android as well as OpenGL ES on Android.

    GAPID is short for the Graphics API Debugger and allows for analyzing rendering and performance issues with ease using its GUI interface. GAPID also allows for easily experimenting with code changes to see their rendering impact and allows for offline debugging. GAPID has its own format and capturetrace utility for capturing traces of Vulkan (or GLES on Android too) programs for replaying later on with GAPID.

  • Hackable Text Editor Atom 1.23 Adds Better Compatibility for External Git Tools

    GitHub released Atom 1.23, the monthly update of the open-source and cross-platform hackable text editor application loved by numerous developers all over the world.

    Including a month's worth of enhancements, Atom 1.23 comes with the ability for packages to register URI handler functions, which can be invoked whenever the user visits a URI that starts with "atom://package-name/," and a new option to hide certain commands in the command palette when registering them via "atom.commands.add."

    Atom 1.23 also improves the compatibility with external Git tools, as well as the performance of the editor by modifying the behavior of several APIs to no longer make callbacks more than once in a text buffer transaction. Along with Atom 1.23, GitHub also released Teletype 0.4.0, a tool that allows developers to collaborate simultaneously on multiple files.

Turi as FOSS

Filed under
Development
OSS
  • Fruit of an acquisition: Apple AI software goes open

    Apple's joined other juggernauts of the tech sector by releasing an open source AI framework.

    Turi Create 4.0, which landed at GitHub recently, is a fruit of its 2016 US$200 million acquisition of Turi.

    As the GitHub description explains, it targets app developers that want custom machine learning models but don't have the expertise to “add recommendations, object detection, image classification, image similarity or activity classification” to their apps.

  • Apple Releases Turi ML Software as Open Source

    Apple last week released Turi Create, an open source package that it says will make it easy for mobile app developers to infuse machine learning into their products with just a few lines of code.

    “You don’t have to be a machine learning expert to add recommendations, object detection, image classification, image similarity, or activity classification to your app,” the company says in the GitHub description for Turi Create. “Focus on tasks instead of algorithms.”

Programming/Development: fwupd, LLVM and More

Filed under
Development
  • CSR devices now supported in fwupd

    The BlueCore CSR chips are used everywhere. If you have a “wireless” speaker or headphones that uses Bluetooth there is a high probability that it’s using a CSR chip inside. This makes the addition of CSR support into fwupd a big deal to access a lot of vendors. It’s a lot easier to say “just upload firmware” rather than “you have to write code” so I think it’s useful to have done this work.

  • Skylake Server Scheduler Model Updated In LLVM 6.0 Along With Other Intel CPU Updates
  • Most Software Code Will Be Written By Machines By 2040, Researchers Predict

    Imagine a scenario where a programmer needs to follow a couple of tried and tested procedures to write code that becomes a part of a bigger program that needs some insightful contribution from another programmer. So, is the first programmer really needed? Can’t we find a robotic replacement for the same?

    In the past, GitHub CEO had already made a prediction which says that future of coding is no coding at all. A similar speculation has been made by the researchers at the Oak Ridge National Laboratory, Tennessee, who have said that machines will write most of their own code by 2040.

  • Hazelcast joins Eclipse, JCache is key focal point

    Open source In-Memory Data Grid (IMDG) company Hazelcast has joined the Eclipse Foundation – and it has done so for a reason.

    Hazelcast’s primary focus will be on JCache the Eclipse MicroProfile and EE4J.

    In particular, Hazelcast will be collaborating with members to popularize JCache, a Java Specification Request (JSR-107).

    So what place does JCache fill in the universe then?

Compiler/Development News

Filed under
Development
GNU
BSD
  • LLVM 5.0.1 Expected For Release Next Week

    While the LLVM 5.0.1 bug-fix release was originally expected last month, after going through three release candidates the stable version is now expected to arrive next week.

    Tom Stellard of Red Hat announced on Thursday that 5.0.1-rc3 has been tagged. He expects this to be the final release candidate and to then officially declare v5.0.1 next week.

  • DTrace & ZFS Being Updated On NetBSD, Moving Away From Old OpenSolaris Code

    The NetBSD operating system has been working on updating their DTrace and ZFS implementations.

    Chuck Silvers with the NetBSD project has been working on updating their DTrace and ZFS code. Up to now NetBSD has been relying upon outdated ZFS/DTrace code that originated from the OpenSolaris code-base. As many of you know, OpenSolaris hasn't been a thing now for many years since Oracle acquired Sun Microsystems.

  • Intel Continues Tuning Glibc's Performance: More FMA'ing

    Intel continues contributing performance optimizations to the GNU C Library (glibc) for allowing various functions to make use of modern processor instruction set extensions.

    Glibc this year has seen FMA optimizations, its per-thread cache enabled, AVX optimizations, and other performance work contributed in large part by Intel engineers. Glibc isn't gaining weight this holiday season but is continuing to be optimized for speed.

Programming Leftovers

Filed under
Development
  • PHP version 7.0.27RC1 and 7.1.13RC1
  • The junior programmer’s guide to asking for help

    Asking for help is a skill, and a skill you can learn. Once you’ve mastered this skill you will be able ask questions at the right time, and in the right way.

  • Cliff Lynch's Stewardship in the "Age of Algorithms"

    I agree that society is facing a crisis in its ability to remember the past. Cliff has provided a must-read overview of the context in which the crisis has developed, and some pointers to pragmatic if unsatisfactory ways to address it. What I would like to see is a even broader view, describing this crisis as one among many caused by the way increasing returns to scale are squeezing out the redundancy essential to a resilient civilization.

  • Stewardship in the "Age of Algorithms"

    This paper explores pragmatic approaches that might be employed to document the behavior of large, complex socio-technical systems (often today shorthanded as “algorithms”) that centrally involve some mixture of personalization, opaque rules, and machine learning components. Thinking rooted in traditional archival methodology — focusing on the preservation of physical and digital objects, and perhaps the accompanying preservation of their environments to permit subsequent interpretation or performance of the objects — has been a total failure for many reasons, and we must address this problem. The approaches presented here are clearly imperfect, unproven, labor-intensive, and sensitive to the often hidden factors that the target systems use for decision-making (including personalization of results, where relevant); but they are a place to begin, and their limitations are at least outlined. Numerous research questions must be explored before we can fully understand the strengths and limitations of what is proposed here. But it represents a way forward. This is essentially the first paper I am aware of which tries to effectively make progress on the stewardship challenges facing our society in the so-called “Age of Algorithms;” the paper concludes with some discussion of the failure to address these challenges to date, and the implications for the roles of archivists as opposed to other players in the broader enterprise of stewardship — that is, the capture of a record of the present and the transmission of this record, and the records bequeathed by the past, into the future. It may well be that we see the emergence of a new group of creators of documentation, perhaps predominantly social scientists and humanists, taking the front lines in dealing with the “Age of Algorithms,” with their materials then destined for our memory organizations to be cared for into the future.

  • Testing OpenStack using tempest: all is packaged, try it yourself

    tl;dr: this post explains how the new openstack-tempest-ci-live-booter package configures a machine to PXE boot a Debian Live system running on KVM in order to run functional testing of OpenStack. It may be of interest to you if you want to learn how to PXE boot a KVM virtual machine running Debian Live, even if you aren’t interested in OpenStack.

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.

Syndicate content