Language Selection

English French German Italian Portuguese Spanish

Development

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.

Zapcc Caching C++ Compiler Open-Sourced

Filed under
Development

Remember the Zapcc compiler that focused on lightning fast compiler times? It's now been open-sourced.

Zapcc is the LLVM/Clang-based C++ compiler that we have been covering since 2015 when it began promoting itself as a much faster C++ compiler than Clang itself. Zapcc employs aggressive caching and other techniques in an effort to significantly speed up compile times while being a drop-in replacement to GCC or Clang. Last year Zapcc reached the v1.0 milestone, but we haven't heard much since until finding out this weekend that it's been open-sourced.

Read more

BLUI: An easy way to create game UI

Filed under
Development
Gaming

As part of an indie game development studio, I've experienced the perks of using open source plugins on proprietary game engines. One open source plugin, BLUI by Aaron Shea, has been instrumental in our team's development process. It allows us to create user interface (UI) components using web-based programming like HTML/CSS and JavaScript. We chose to use this open source plugin, even though Unreal Engine (our engine of choice) has a built-in UI editor that achieves a similar purpose. We chose to use open source alternatives for three main reasons: their accessibility, their ease of implementation, and the active, supportive online communities that accompany open source programs.

In Unreal Engine's earliest versions, the only means we had of creating UI in the game was either through the engine's native UI integration, by using Autodesk's Scaleform application, or via a few select subscription-based Unreal integrations spread throughout the Unreal community. In all those cases, the solutions were either incapable of providing a competitive UI solution for indie developers, too expensive for small teams, or exclusively for large-scale teams and AAA developers.

After commercial products and Unreal's native integration failed us, we looked to the indie community for solutions. There we discovered BLUI. It not only integrates with Unreal Engine seamlessly but also maintains a robust and active community that frequently pushes updates and ensures the documentation is easily accessible for indie developers. BLUI gives developers the ability to import HTML files into the Unreal Engine and program them even further while inside the program. This allows UI created through web languages to integrate with the game's code, assets, and other elements with the full power of HTML, CSS, JavaScript, and other web languages. It also provides full support for the open source Chromium Embedded Framework.

Read more

Also: Why (some) agile teams fail

Mesa Graphics in Linux

Filed under
Development
Graphics/Benchmarks
Linux
  • Mesa Rolls Out Support For ARB_sample_locations

    Mesa has been plumbed in to support the ARB_sample_locations OpenGL extension and is now exposed with the Nouveau NVC0 Gallium3D driver.

    ARB_sample_locations was part of the "OpenGL 2015" update but hasn't made it into a released version of OpenGL, hence why it wasn't a priority for Mesa developers. But now it's been wired up within core Mesa and is currently flipped on for NVC0 in Mesa 18.2-devel.

  • Mesa's VirGL For OpenGL Within VMs Now Supports Tessellation Shaders

    It was just days ago that the VirGL driver stack -- which is used for supporting OpenGL hardware acceleration within guest VMs that is passed onto the host's driver -- picked up FP64 support while now its latest addition is ARB_tessellation_shader support.

    With the latest Mesa Git and the VirGL renderer library code is updated (as well as your host OpenGL driver supporting GL4), there is now support for tessellation shaders. The support has landed in Mesa 18.2 Git for this popular OpenGL 4.0 feature.

Programming With Python (LWN)

Filed under
Development
  • Unplugging old batteries

    Python is famous for being a "batteries included" language—its standard library provides a versatile set of modules with the language—but there may be times when some of those batteries have reached their end of life. At the 2018 Python Language Summit, Christian Heimes wanted to suggest a few batteries that may have outlived their usefulness and to discuss how the process of retiring standard library modules should work.

    The "batteries included" phrase for Python came from the now-withdrawn PEP 206 in 2006. That PEP argued that having a rich standard library was an advantage for the language since users did not need to download lots of other modules to get real work done. That argument still holds, but there are some modules that are showing their age and should, perhaps, be unplugged and retired from the standard library.

  • Advanced computing with IPython

    If you use Python, there's a good chance you have heard of IPython, which provides an enhanced read-eval-print loop (REPL) for Python. But there is more to IPython than just a more convenient REPL. Today's IPython comes with integrated libraries that turn it into an assistant for several advanced computing tasks. We will look at two of those tasks, using multiple languages and distributed computing, in this article.

    IPython offers convenient access to documentation, integration with matplotlib, persistent history, and many other features that greatly ease interactive work with Python. IPython also comes with a collection of "magic" commands that alter the effect of single lines or blocks of code; for example, you can time your code simply by typing %%time at the prompt before entering your Python statements. All of these features also work when using the Jupyter notebook with the IPython kernel, so you can freely switch between the terminal and the browser-based interface while using the same commands.

Qt and Python

Filed under
Development
  • Qt Contributors’ Summit 2018 wrap-up

    Qt Contributors’ Summit 2018 is over. Two days of presentations and a lot of discussions during presentations, talk of Qt over coffee and lunch and in restaurants in the evening.

  • Qt 6.0 Might Be Coming After Qt 5.14, Could Depend Upon C++17

    Since last year there has been more talk and early planning around the eventual Qt 6.0 milestone. It's looking now like Qt 6.0 might happen after Qt 5.14, or likely in 2020.

    Last year there were developer discussions about starting Qt6 work after Qt 5.11, which was released at the end of May. Previous discussions of Qt6 have entailed QIODevice support, a Qt Quick scene graph, improved accessibility, and a Vulkan back-end for Qt Quick.

  • Qt For Python 5.11 Released As The First Official Build

    The past few months The Qt Company has been overhauled PySide2 as Qt For Python, a big improvement to the Python bindings to the Qt tool-kit. Out today is Qt For Python 5.11 as the first official release under the new branding.

  • Qt for Python 5.11 released

    As the version tag implies, it is based on Qt 5.11 and therefore the first release that supports the Qt 5 series. At large the project will follow the general Qt release schedule and versions. Although this is still a Technical Preview we will support the release with the usual support pattern (except the compatibility one). Unfortunately, earlier versions of Qt than 5.11 are not supported. It is available for open source and commercial Qt for Application Development users. Note that there is only one package for commercial and open source users. We hope we can receive plenty of feedback on what works and what does not. We want to patch early and often.

  • Python 3.7 Release Candidate Arrives, Final Expected At The End Of June

    Python 3.7.0 RC1 is available today as the last step prior to issuing this next feature release of Python 3 at month's end.

    The Python 3.7.0 release candidate was issued today along with the Python 3.6.6 RC1. The current plan is to release both of these new Python versions on 27 June unless some blocker bugs come about that would delay the release.

  • Python 3.7.0rc1

    This release, 3.7.0rc1, is the final planned release preview. Assuming no critical problems are found prior to 2018-06-27, the scheduled release date for 3.7.0, no code changes are planned between this release candidate and the final release.

NSA could have access to data on Microsoft-owned GitHub

Filed under
Development
Microsoft

The NSA could have access to the code repositories residing on GitHub, which is now owned by Microsoft, if past practices of the Redmond-based software giant are any indicator.

Microsoft announced its acquisition of GitHub on 5 June. The company said at the time that GitHub had about 28 million developers working on 80 million repositories. Microsoft has been one of the bigger code contributors to the site.

The reaction from open-source developers to the acquisition was not exactly been salutary as can be seen from comments on Linux Weekly News.

Read more

Programming Leftovers

Filed under
Development
  • This Week in Numbers: Managing JavaScript Packages with NPM and Yarn

    This week we analyze more data from the Node.js Foundation‘s user survey. Almost three-quarters (73 percent) of survey respondents said they use a package manager. NPM was used by 60 percent and Yarn cited by 13 percent. Since Yarn sits on top of NPM, in reality these respondents are referring to an interface or tool they actually use day-to-day. Yarn’s use rose 44 percent compared to last year’s study.

  • RcppZiggurat 0.1.5

    A maintenance release 0.1.5 of RcppZiggurat is now on the CRAN network for R.

  • RcppGSL 0.3.6

    A maintenance update 0.3.6 of RcppGSL is now on CRAN. The RcppGSL package provides an interface from R to the GNU GSL using the Rcpp package.

  • A Gentle Intro to PLT

    Programming Language Theory (PLT) is an extremely rich subject with a relatively high bar to entry. Most of the literature is written for a reader already well versed in the subject; it’s hard to find a tractable introduction. This post will take you through the construction of a simplistic toy programming language (and an interpreter for it) from first principles. I assume no knowledge on your part, aside from general programming experience.

Syndicate content

More in Tux Machines

Making GNOME Look Like Apple's Operating System

  • A macOS Mojave Inspired GTK Theme Appears
    A new GTK theme brings the luscious look of macOS Mojave to the Linux desktop. Not that you should be surprised; we’ve written before about how easy it is to make Ubuntu look like a Mac. But thanks to this new macOS Mojave inspired GTK theme that fact is truer, and more faithful, than ever.
  • Make Ubuntu Look Like macOS Mojave’s Dark Mode
    If you’re a Linux user who likes the look of the dark mode coming in macOS Mojave, you’re in luck: there’s a GTK theme just for you. The theme is available on Gnome-Look.org alongside several other macOS inspired themes. You’re looking for the one titled McOS-MJV-Dark-mode, but feel free to download more if you think you might want to switch it up later. Installing is a little tricky: you need to create a .themes directory in your home folder, then extract the folder in the downloaded archive into that folder. Next you need to install Gnome Tweaks in the Ubuntu Software Store, which you can use to change the theme. You can also use Gnome Tweaks to move the buttons to the left side of the window, where they belong. Fight me.

Android Leftovers

Servers With GNU/Linux

  • Linux Foundation Shifts Network Infrastructure to Kubernetes
    The Linux Networking Fund (LNF) is making significant progress toward embracing Kubernetes as a platform for delivering a range of networking services that are expected to be widely embraced by telecommunications carriers and cloud service providers (CSP). Arpit Joshipura, general manager of networking an orchestration for The Linux Foundation, says the latest Beijing release of the Open Networking Automation Platform (ONAP) contains several modules that have been ported to Kubernetes, with more to follow once the Casablanca release of ONAP is released.
  • A Platform Of A Certain Age And Respectability
    But seriously. The many rivals of the OS/400 platform and its follow-ons since that June 21, 1988, launch of the Application System/400 are now gone or not even on life support. We can all rattle them off, but the important ones that drove innovation for OS/400 and its children through to the current IBM i are DEC’s VMS for the VAX and Alpha systems, Hewlett Packard Enterprise’s MPE for the HP 3000 and HP-UX for the HP 9000s, and Sun Microsystems’ Solaris for the Sparc systems. You could throw in SCO Unix, Novell NetWare, and a slew of proprietary operating systems in Europe and Japan, and while you are at it, you should probably also include the IBM System/38’s CPF operating system and the IBM System/36’s SSP operating system. Even OS/2 and its PS/2 platform actually predate the AS/400 by 10 months – and they are long, long gone.
  • Uptycs Raises $13M, Launches Osquery-Based Security Platform
    No. 2 is the growing popularity of Mac and Linux-based infrastructure. Traditional enterprise workloads are deployed on Windows, so that’s where malicious activity historically occurred. But now more companies are using Mac infrastructure and transitioning new workloads to Linux in the cloud. Companies need to monitor and secure these environments as well, and Uptycs’ security platform covers all of the above.
  • CeBIT 2018: Huawei to roll-out KunLun V5 server
    Huawei is set to launch the latest server in its KunLun mission critical range with the V5, teaming up once more with Suse, further confirming that the company’s Linux Enterprise Server system is its preferred standard for the range.
  • Why an Infrastructure Transition is the Perfect Time to Invest in Security
    The idea behind containers has been around since the 1970s, when the technology was first used to isolate application code on Unix systems. However, the use of containers only became widespread in 2013 with the advent of Docker, and container orchestration tools like Kubernetes are even newer than that.

A look at Lutris – Open Gaming Platform for GNU/Linux

Lutris is quite the handy application I’ve discovered, that helps with organization and installation of games on GNU/Linux, even if they come from multiple sources. One of the project's goals is to support any game that runs on Linux regardless of whether it runs natively, through Wine, or other means. The main appeal of Lutris is that it provides an interface to manage all games installed on the machine regardless of source. While it is necessary to integrate the games in the application first, doing so is not super complicated. You may add local games right away by selecting them from the local system or visit the Lutris website to add games this way. Lutris simplifies nearly everything. Users can visit the list of support games on the Lutris website, choose to download and install the game (Note: If its a game that must be bought, you must own it first.) The website lists supported games and where you can acquire or download them. You can use filters on the site to display only free games, games of a genre, or use the built-in search to find games of interest quickly using it. Read more