Language Selection

English French German Italian Portuguese Spanish

Development

Java EE Moves to the Eclipse Foundation, Functional Programming in JavaScript, and What Motivates Today's Developers

Filed under
Development
  • Opening Up Java EE - An Update

    In a previous post, we announced that Oracle was beginning to explore moving Java EE technologies to an open source foundation in order to make the process of evolving these standards more agile, flexible and open. Since mid-August, we’ve had many discussions with other vendors, community members and open source foundations in order to move the process forward. Here’s an update on the progress we have made so far.

  • Java EE Moves to the Eclipse Foundation

    Oracle announced today that they, along with IBM and Red Hat, will be moving Java EE to the Eclipse Foundation. I would like to welcome everyone involved to our community. We look forward to working with all of the participants in the Java EE ecosystem as it moves to a more open and collaborative development model.

  • Functional Programming in JavaScript? Yes Please.

    One of the hot topics right now in the web development world is functional programming in the language of the web, JavaScript.

    Functional programming encompasses a whole host of mathematical properties and phenomena that is beyond this post, but what I am going to address here is how to write a a few functions with nominal functional programming.

  • What Motivates Today's Developers?

    That's one of many takeaways from a new survey, aptly titled The 2017 State of the Modern Developer, that was conducted by research firm Coleman Parkes for the software analysis and measurement company CAST. In all, 500 developers in four countries -- USA, UK, France and Germany -- were surveyed. According to CAST, the research was conducted "to learn more about the motivators and behavior of modern developers, in addition to their attitude towards code quality."

GNOME/GTK: OpenGL, WebKitGTK+ 2.18.0, GTK4's Vulkan Support and Icon Size

Filed under
Development
GNOME
  • Flickerless Gtk3 OpenGL Transitions

    While I got OpenGL transitions working under Gtk3 at the end of last year basically matching the Gtk2/Generic OpenGL quality the transition into and out of the OpenGL sequence wasn't very satisfying. And with access to HiDPI it was clearly even worse with an unscaled image momentarily appearing before the correct one.

  • LibreOffice Gets Flicker-Free OpenGL Transitions

    Last year McNamara got GTK3 OpenGL transitions working, but it was less than perfect. But now he's managed to provide flicker-less GTK3 OpenGL transitions after landing some improvements into LibreOffice Git.

  • WebKitGTK+ 2.18.0 released!
  • WebKitGTK+ 2.18.0 Brings WebDriver Support, Remote Inspector & Kinetic Scrolling

    The WebDriver support is interesting and allows easily automating/scripting interactions with the browser. WebDriver is just geared for WebKit-based browsers. Details on the WebDriver WebKitGTK+ support via this blog post. When time magically allows I would like to investigate the feasibility of using it for some automated browser benchmarks.

    On the developer front the WebCrypto API is now enabled by default. Additionally, there are APIs to allow overriding the popup menu of select elements and to create a WebKitContextMenuItem from a GAction.

  • GTK4's Vulkan Support Continues Maturing

    One of the questions that came up following our GNOME 3.26 feature overview was how GTK4's Vulkan renderer is coming along.

    It's coming along as is GTK4, albeit not ready for production use quite yet.

  • You need an application icon of at least 64×64 in size

    At the moment the appstream-builder in Fedora requires a 48x48px application icon to be included in the AppStream metadata. I’m sure it’s no surprise that 48×48 padded to 64×64 and then interpolated up to 128×128 (for HiDPI screens) looks pretty bad. For Fedora 28 and higher I’m going to raise the minimum icon size to 64×64 which I hope people realize is actually a really low bar.

Programming: Build Systems, Phoronix Test Suite 7.4, Requests for Comments (RFCs) and Node.js

Filed under
Development
  • Meson+Ninja Showing Speedy Build Results For Shotwell
  • Phoronix Test Suite 7.4 M4 Released As "Tynset" Nears Final

    The last planned test/development release of Phoronix Test Suite 7.4-Tynset is now available ahead of the planned stable release in the days to come.

  • 6 lessons on using technical RFCs as a management tool

    As an engineering leader, I value trust and believe that individual contributors should be involved in architectural and high-level technical decision making. I consider every line of code to be a decision made on behalf of someone else (including your future self), and having a fast-growing distributed team makes technical decision making particularly difficult to manage.

    In the early days of building ride-sharing app Ride, we went from three to more than 25 members, across product, design, and engineering, in the first six months. We were tasked with the challenge of taking an early prototype for a carpooling platform and bringing it to life on the web, iOS, and Android. To make things more fun, we were also distributed across the United States, Mexico, Colombia, Brazil, Argentina, and Ireland.

    [...]

    We weren't the first people to encounter this problem, so we looked at how open source software projects dealt with these situations, and came to the conclusion that adopting the Request for Comments (RFC) process would help us make better decisions together.

  • Modern Modules

    Re-thinking the Node.js ecosystem for modern JavaScript.

    A few months back I sat down to write some code.

    Node.js 8 had been out a while and I decided to take advantage of some of the new language features like async/await in my new code.

  • Using Node.js Packages Manager (NPM)

OpenBSD Development News

Filed under
Development
BSD
  • t2k17 Hackathon report: Ken Westerback on dhclient progress, developer herding
  • A return-oriented programming defense from OpenBSD

    Stack-smashing attacks have a long history; they featured, for example, as a core part of the Morris worm back in 1988. Restrictions on executing code on the stack have, to a great extent, put an end to such simple attacks, but that does not mean that stack-smashing attacks are no longer a threat. Return-oriented programming (ROP) has become a common technique for compromising systems via a stack-smashing vulnerability. There are various schemes out there for defeating ROP attacks, but a mechanism called "RETGUARD" that is being implemented in OpenBSD is notable for its relative simplicity.

    In a classic stack-smashing attack, the attack code would be written directly to the stack and executed there. Most modern systems do not allow execution of on-stack code, though, so this kind of attack will be ineffective. The stack does affect code execution, though, in that the call chain is stored there; when a function executes a "return" instruction, the address to return to is taken from the stack. An attacker who can overwrite the stack can, thus, force a function to "return" to an arbitrary location.

Programming: Survey of build Systems and Remote Imports for Python

Filed under
Development
  • A tale of three build systems

    As you might have noticed, meson is the new kid on the block. Step by step I am currently converting some projects to it, spearheading Shotwell. Since Shotwell only “recently” became an autotools project, you may ask why. Shotwell had a hand-written makefile system. This made some tasks that would have been incredibly easy with autotools, such as mallard documentation handling, more complicated than it should be. Since autotools provides all the nice features that you want for your GNOME environment, it made sense to leverage that.

  • Remote imports for Python?

    Importing a module into a Python program is a pretty invasive operation; it directly runs code in the current process that has access to anything the process can reach. So it is not wildly surprising that a suggestion to add a way to directly import modules from remote sites was met with considerable doubt—if not something approaching hostility. It turns out that the person suggesting the change was not unaware of the security implications of the idea, but thought it had other redeeming qualities; others in the discussion were less sanguine.

Everyone loves programming in Python! You disagree? But it's the fastest growing, says Stack Overflow

Filed under
Development

Python, which ranks consistently as one of the most popular programming languages, is the fastest growing major programming language, according to coding community site Stack Overflow.

Stack Overflow's metric here is visits to website posts tagged "Python" compared to posts tagged with other programming languages – specifically JavaScript, Java, C#, C++ and PHP.

"June 2017 was the first month that Python was the most visited tag on Stack Overflow within high-income nations," said David Robinson, a data scientist at Stack Overflow, in a blog post. "This is especially impressive because in 2012, it was less visited than any of the other 5 languages, and has grown by 2.5-fold in that time."

Read more

JSON Introduced, Programming Paradigms

Filed under
Development
  • What is JSON? JavaScript Object Notation explained

    JavaScript Object Notation is a schema-less, text-based representation of structured data that is based on key-value pairs and ordered lists. Although JSON is derived from JavaScript, it is supported either natively or through libraries in most major programming languages. JSON is commonly, but not exclusively, used to exchange information between web clients and web servers.

    Over the last 15 years, JSON has become ubiquitous on the web. Today it is the format of choice for almost every publicly available web service, and it is frequently used for private web services as well.

  • Programming Paradigms and the Procedural Paradox

    I'm a collector of perspectives. I think each perspective we have within reach is another option we have to solve problems. We should all learn as many as possible. Each one increases the number and quality of solutions we can create.

    Programming paradigms are different perspectives on solving a problem with software. Each of the paradigms is valuable. But they seem so hard to define. People will discuss endlessly what each paradigm means, trying to be inclusive of what they consider important and what they don't. To take an example, we get definitions of functional programming which are satisfying to the definer but not to everyone. And we get people pointing fingers, saying "that's not real object-oriented programming". These discussions are unsatisfying because they rehash the same tired ideas and never reach any firm conclusions.

BSD: LLVM 5.0.0, Android NDK, FreeBSD/TrueOS

Filed under
Development
BSD

     
     

  • LLVM 5.0.0 Release

    This release is the result of the community's work over the past six months, including: C++17 support, co-routines, improved optimizations, new compiler warnings, many bug fixes, and more.

  • LLVM 5.0 Released With C++17 Support, Ryzen Scheduler, AMDGPU Vega & Much More

    After delays pushed its release back by about one month, LLVM 5.0 was just released a few minutes ago along with its associated sub-projects like the Clang 5.0 C/C++ compiler.

    LLVM 5.0 features a number of improvements to the ARM and MIPS targets, greater support for the POWER ISA 3.0 in the PowerPC target, the initial AMD Ryzen (znver1) scheduler support (already improved in LLVM 6.0 SVN), support for Intel Goldmont CPUs, greater AVX-512 support, improved Silvermont/Sandybridge/Jaguar schedulers, and initial Radeon Vega (GFX9) support within the AMDGPU target.

  • Android NDK r16: Developers Should Start Using LLVM's libc++ With GCC On The Way Out

    Google has announced the availability today of the Android Native Development Kit (NDK) Release 16. This release is worth mentioning in that Google is now encouraging developers to start using libc++ as their C++ standard library.

    Moving forward, Google will only be supporting LLVM's libc++ as the C++ standard library and not supporting other STLs. The Android platform has already been using libc++ since Lollipop and now they are looking to get more application developers using this STL.

  • Google publishes its documentation style guide for developers

    Documentation is often an afterthought — especially for open-source projects. That can make it harder for newcomers to join a project, for example, and sometimes badly written documentation is worse than having no documentation at all. To help developers write better documentation, Google this week opened up its own developer-documentation style guide.

  • Trying Out FreeBSD/TrueOS On The Xeon Scalable + Tyan GT24E-B7106 Platform

    While we have tested a number of Linux distributions on Intel's new Xeon Scalable platform, here are some initial BSD tests using two Xeon Gold 6138 processors with the Tyan GT24E-B7106 1U barebones server.

  • FreeBSD Developers Tackle AMD Zen/Ryzen Temperature Monitoring Before Linux

    While Linux users of AMD's new Zen-based Ryzen/Threadripper/Epyc processors are still waiting for thermal driver support to hit the mainline Linux kernel, FreeBSD developers have already managed to produce the Zen "Family 17h" CPU thermal monitoring support on their own.

    From this FreeBSD bug report, developers have managed to get the AMD CPU temperature monitoring working for Zen processors under Linux with their existing temperature driver.

Programming: Python, DevSecOps Skills Gap, Go Programming, Java EE, GNU Tools Cauldron and GnuCOBOL

Filed under
Development
GNU
  • Improving security through data analysis and visualizations

        

    My last tip is that in recent years, there have been a lot of new tools that make designing nice visualizations much easier. In fact, many really prevent you from creating the disasters that you’d find here: https://www.reddit.com/r/dataisugly/. If you are a Python user, you really should take a look at Seaborn, YellowBrick, and Altair as they are all really impressive libraries.

  • The DevSecOps Skills Gap
  •  

  • How I learned Go Programming

    Go is a relatively new programming language, and nothing makes a developer go crazier than a new programming language, haha! As many new tech inventions, Go was created as an experiment. The goal of its creators was to come up with a language that would resolve bad practices of others while keeping the good things. It was first released in March 2012. Since then Go has attracted many developers from all fields and disciplines.

  • Must go faster, must go faster! Oracle lobs Java EE into GitHub, vows rapid Java SE releases

    Oracle plans to accelerate the pace of Java SE releases – and has moved Java EE's code repository to GitHub in keeping with its avowed desire to step back from managing the beast.

    Java SE has been on a two-year release cycle. That's no longer fast enough, according to Mark Reinhold, chief architect of Oracle’s Java platform group.

    Java competes with other platforms that get updated more often, he explained.

  • GNU Tools Cauldron 2017 Kicks Off Tomorrow

    The annual GNU Tools Cauldron conference focused around the GNU compiler toolchain will kickoff tomorrow, 8 September, in Prague.

  • GnuCOBOL 2.2 Released To Let COBOL Code Live On As C

    For those of you still maintaining COBOL code-bases, GnuCOBOL 2.2 is now available as what was formerly OpenCOBOL and also the project's first stable release in nearly one decade.

    GnuCOBOL has been living under the GNU/FSF umbrella for a few years while today's GnuCOBOL 2.2 release is the first stable release since OpenCOBOL 1.1 back in 2009. (Since then was the GnuCOBOL 1.1 release, but just for renaming the project.)

  • GnuCOBOL 2.2 released

    Version 2.2 of the GNU COBOL compiler is out. Changes include a relicensing to GPLv3, a set of new intrinsic functions, a direct call interface for C functions, and more.

GNOME: GNOME Mutter, GNOME 3.26, and Support more than one Build System (Meson and Autotools)

Filed under
Development
GNOME
  • GNOME Mutter 3.25.92 Adds Built-In Screencast / Remote Desktop Capabilities

    GNOME Mutter 3.25.92 has been released and it incorporates some interesting changes for the end of the GNOME 3.26 development cycle.

  • GNOME 3.26 Desktop Environment Up to RC State, Launches on September 13

    GNOME Project's Javier Jardón announced a few moments ago that the GNOME 3.25.92 milestone of the forthcoming GNOME 3.26 desktop environment is now available for public testing, marking the end of the development cycle.

    GNOME 3.26 has been in development since early April, and it's now up to RC (Release Candidate) state, which means that the development cycle is over and the team will begin preparations for the final release of the highly anticipated desktop environment for GNU/Linux distributions.

  • Support more than one Build System

    I’ve tried to add Meson build system to MyHTML, but fail. They prefer the one is used today. That’s OK.

    Support two build systems increase burden on project maintenance, this is the main reason to reject my pull request and is OK. As for GXml, we have both Autotools and Meson. I’m trying to keep both in sync, as soon as a new file is added, but you may forget one or the other.

    While I use GXml on my Windows programs, I need to make sure it will work properly out of the box, like Autotools does, before to remove the later.

Syndicate content

More in Tux Machines

Games Leftovers

today's howtos

KDE Partition Manager 3.3 and future work

KDE Partition Manager 3.3 is now ready. It includes some improvements for Btrfs, F2FS, NTFS file systems. I even landed the first bits of new LUKS2 on-disk format support, now KDE Partition Manager can display LUKS2 labels. More LUKS2 work will follow in KPM 3.4. There were changes in how LVM devices are detected. So now Calamares installer should be able to see LVM logical volumes. Once my pull request lands, Calamares should also support partitioning operations on LVM logical volumes (although Calamares would need more work before installation and booting from root file system on LVM works). KPMcore library now only depends on Tier 1 Frameworks instead of Tier 3 (although, we will later require Tier 2). Most of the work is now done in sfdisk branch. Currently, the only functional KDE Partition Manager backend uses libparted but sfdisk backend is now fully working (I would say RC quality). I would have merged in already but it requires util-linux 2.32 which is not yet released. Read more

Linux Mint 18.3 “Sylvia” KDE and Xfce

  • Linux Mint 18.3 “Sylvia” KDE released!
    Linux Mint 18.3 is a long term support release which will be supported until 2021. It comes with updated software and brings refinements and many new features to make your desktop even more comfortable to use.
  • Linux Mint 18.3 “Sylvia” Xfce released!
    Linux Mint 18.3 is a long term support release which will be supported until 2021. It comes with updated software and brings refinements and many new features to make your desktop even more comfortable to use.