Language Selection

English French German Italian Portuguese Spanish

July 2019

Programming Leftovers

Filed under
Development
  • SD Times Open-Source Project of the Week: Sorbet

    Stripe is open sourcing its Ruby type checker in the hopes to help and collaborate with the Ruby community.

  • The V programming language is now open source – is it too good to be true?

    Yesterday, a new statically-typed programming language named V was open sourced. It is described as a simple, fast, and compiled language for creating maintainable software. Its creator, Alex Medvednikov, says that it is very similar to Go and is inspired by Oberon, Rust, and Swift.

  • SD Times news digest: V language now open sourced, SmartBear acquires BDD provider Cucumber, and Kaggle integrates into BigQuery

    The language is very similar to Go and its domain is very similar to that of Rust, the team explained. It has a ui module that uses native GUI toolkits, allowing developers to build native apps with native controls without the need to embed a browser to develop cross-platform apps quickly, according to the language’s website.

  • Open Source Kotlin Continues to Climb

    Kotlin is continuing its "meteoric" rise in the software development world, with recent research providing new insights into its increasing popularity.

  • Azul Systems Announces General Availability of Zulu Mission Control v7.0

    QCON NYC – Azul Systems (Azul), the award-winning leader in Java runtime solutions, today announced the general availability of Zulu Mission Control v7.0. Based on the OpenJDK Mission Control project, Zulu Mission Control is a powerful Java performance management and application profiling tool that works with Azul’s Zing and Zulu JDKs/JVMs and supports both Java SE 8 and 11.

  • A Golden Age for Developers

    There’s probably never been a time since the dawn of programming when there has been more opportunity for developers—individuals and teams—to imagine, create and be successful. Developers are able to do a lot more (and do things a lot faster) with more tools, a better development ecosystem and a tighter connection with the rest of the enterprise than was possible even a few years ago.

    [...]

    A major factor in enabling this approach is the widespread use of open source code. Open source has democratized access to powerful tools and platforms that can greatly accelerate work for any developer. Open source projects are mature, stable and growing, which provides equal access for citizen and enterprise developers alike. The size of your IT operation no longer matters: Developers everywhere can call up on their laptops the same tools that once were available only to web-scale unicorns. It removes limits to a developer’s imagination and the ability to create something new.

    Finally, the ever-expanding realm of cloud-native computing is putting incredible resources and computing ability within reach of every developer. Tools such as Kubernetes, which let you create and orchestrate applications in containers that can then be deployed and run in the cloud; serverless technologies; and other new ways of using distributed computing power remove barriers. Where a developer once might have been reluctant to create apps that required high levels of computing power, that’s not the case now with the cloud. What once may have taken access to a Cray supercomputer is now at a developer’s fingertips.

  • RProtoBuf 0.4.14

    A new release 0.4.14 of RProtoBuf is arriving at CRAN. RProtoBuf provides R with bindings for the Google Protocol Buffers (“ProtoBuf”) data encoding and serialization library used and released by Google, and deployed very widely in numerous projects as a language and operating-system agnostic protocol.

    This release contains two very helpful pull requests by Jarod Meng that solidify behaviour in two corner cases of message translation. Jeroen also updated the Windows build settings which will help with the upcoming transition to a new Rtools version.

  • Smart Pointers in Qt Projects

    Besides the QObject ownerships there is another, more subtle problem that one should be aware of when injecting objects into the QQmlEngine. When using QtQuick in an application, often there is the need to inject objects into the engine (I will not go into detail here, but for further reading see https://doc.qt.io/qt-5/qtqml-cppintegration-topic.html). The important important fact one should be aware of is that at this point there is a heuristic that decides whether the QML engine and its garbage collector assumes ownership of the injected objects or if the ownership is assumed to be on C++ side (thus managed by you and your smart pointers).

    The general rule for the heuristic is named in the QObjectOwnership enum. Here, make sure that you note the difference between QObjects returned via a Q_PROPERTY property and via a call of a Q_INVOKABLE methods. Moreover, note that the description there misses the special case of when an Object has a QObject parent, then also the CppOwnership is assumed. For a detailed discussion of the issues there (which might show you a surprisingly hard to understand stack trace coming from the depths of the QML engine), I suggest reading this blog post.

    Summing up the QML part: When you are using a smart pointer, you will hopefully not set any QObject parent (which automatically would have told the QML engine not to take ownership…). Thus, when making the object available in the QML engine, you must be very much aware about the way you are using to put the object into the engine and if needed, you must call the QQmlEngine::setObjectOwnership() static method to mark your objects specifically that they are handled by you (otherwise, bad things will happen).

  • Using the Bash case Statement in Shell Scripting

    Learn to use the Bash case statement to conditionally execute commands based on pattern matching, it's different clause terminators and explore examples.

  • Create a Python function to compare the end string

    Hello friend, we will start a new Python project in the next chapter but before that let us solve another Python problem first in this article. This is one of the questions in codewars which I have solved today : Given a string and an end string, compare the end string part with the end part of the given string, if they match each other, then return true, otherwise return false. For example, if the given string is “Hello” and the end string is “ello” then the function will return true. If the given string is “World” and the end string is “rld!” the the function will return false.

Achieving consistency between SDDM and Plasma

Filed under
Development
KDE

With the first phase of Google Summer of Code over it’s high time some substantial progress on achieving the main goal of the project was presented. Since the last post, there’s two things that have been done.

First, Plasma is now going to be following upstream advice on config file location, which means the location has been changed from /etc/sddm.conf to etc/sddm.conf.d/kde_settings.conf. Since the former file takes preference, duplicate keys will be deleted from it when saving to the latter.

Read more

BSD: NetBSD Google Summer of Code and How to Configure FreeNAS

Filed under
BSD
  • Porting Wine to amd64 on NetBSD, first evaluation report

    This report was written by Naveen Narayanan as part of Google Summer of Code 2019.

    I have been working on porting Wine to amd64 on NetBSD as a GSoC 2019 project. Wine is a compatibility layer which allows running Microsoft Windows applications on POSIX-complaint operating systems. This report provides an overview of the progress of the project during the first coding period.

  • NetBSD Is Seeing Better Wine Support Thanks To Google Summer of Code

    One of the interesting Google Summer of Code projects on the BSD front this year is porting Wine to run on AMD64 (x86_64) under NetBSD.

    NetBSD has been running Wine to some extent on i386 but this effort has been about getting a Wine 64-bit port running nicely with 32-bit Windows program compatibility.

  • DIY Open Source NAS: How to Configure FreeNAS

    Here are some of the more essential configuration options to get you going with FreeNAS.

Publication of Research on Company Contributions to OSS Projects

Filed under
OSS

IEEE Transactions on Software Engineering has published an article on company contributions to community open source projects authored by partners in the LIM-IT project.

"On Company Contributions to Community OSS Projects" reports an investigation of how practitioners working for businesses interact with eight community OSS projects of various sizes in diverse domains, including cloud computing and the internet of things. The article also investigates why contributors working for companies use particular ways of working to achieve the strategic aims of the businesses that commission their work.

Through analysis of interviews with practitioners, the article provides insights into how individuals working on behalf of companies can and do interact with projects, and the motivations for their actions arising from business and technical pressures. Factors influencing contributor work practices can be complex and are often dynamic and include considerations such as company and project structure, as well as technical concerns and business strategies.

For example, interviewees reported the value of using mailing list questions to send signals to multiple audiences, including the core developers and their own clients. Other interviewees described the challenges of delivering business products and services that depend on software from the OSS projects investigated, and how those challenges can motivate approaches to the company's software development process that may involve additional work in the short term, but are expected to bring long-term benefits to the business.

Read more

More in Tux Machines

Stable vs. Bleeding-Edge Linux Distros: Which One Should You Choose?

Linux distributions have multiple ways of delivering software to their users. But which one should you go for—stability or the latest software? One of the major choices that many Linux users face when choosing a Linux distribution is its stability, or how much the software changes. Some distros favor stable, tried-and-true software while others will include newer software that may not be as reliable, also known as "bleeding-edge," a play on "cutting-edge." So, which one should you choose? Let's find out. Read more

This week in NeoChat

Last Saturday we had an improvised NeoChat mini development sprint in a small hotel room in Berlin in the occasion of the 25th anniversary of KDE. In a good KDE tradition, Carl spent this time on improving NeoChat settings. He ported both the NeoChat general settings and the specific room settings to the new Kirigami.CategorizedSetting component. Tobias fixed a lot of papercuts and now the power level should be fetched correctly, we show the number of joined users instead of joined+invited users in the room information pane, the user search is now case insensitive. Nicolas focused on fixing our Android build by making the spellchecking feature compile on Android. Read more

StarLabs StarLite is an Attractive 11-inch Linux Laptop

This dinky 11.6-inch Linux notebook, the latest from UK-based company StarLab, is modestly priced and moderately spec’d. Consciously so. See, not everyone needs to crunch code, battle orcs, or render 4K video. “More power” is nice, but when all you really do with a laptop is browse the web, e-email, Zoom, and binge-watch Netflix shows… A mid-range laptop can suffice. Problem is there isn’t a lot of choice when it comes to mid-range (and well-made) Linux laptops in the lower price brackets. Read more

Manual Installation of GNOME Extension from ZIP File [Easy Steps]

You can not install GNOME Extensions in Snap Firefox in Ubuntu 21.10. This tutorial explains the steps for manual installation of GNOME Extension from its ZIP files in Ubuntu, Fedora and other related distributions. Read more