Language Selection

English French German Italian Portuguese Spanish

Development

Programming: Node.js, Micro:bit, L4Re, Python, Go and More

Filed under
Development
  • 14 Best NodeJS Frameworks for Developers in 2019

    Node.js is used to build fast, highly scalable network applications based on an event-driven non-blocking input/output model, single-threaded asynchronous programming.

    A web application framework is a combination of libraries, helpers, and tools that provide a way to effortlessly build and run web applications. A web framework lays out a foundation for building a web site/app.

    The most important aspects of a web framework are – its architecture and features (such as support for customization, flexibility, extensibility, security, compatibility with other libraries, etc..).

  • Debian now got everything you need to program Micro:bit

    I am amazed and very pleased to discover that since a few days ago, everything you need to program the BBC micro:bit is available from the Debian archive. All this is thanks to the hard work of Nick Morrott and the Debian python packaging team. The micro:bit project recommend the mu-editor to program the microcomputer, as this editor will take care of all the machinery required to injekt/flash micropython alongside the program into the micro:bit, as long as the pieces are available.

    There are three main pieces involved. The first to enter Debian was python-uflash, which was accepted into the archive 2019-01-12. The next one was mu-editor, which showed up 2019-01-13. The final and hardest part to to into the archive was firmware-microbit-micropython, which needed to get its build system and dependencies into Debian before it was accepted 2019-01-20. The last one is already in Debian Unstable and should enter Debian Testing / Buster in three days. This all allow any user of the micro:bit to get going by simply running 'apt install mu-editor' when using Testing or Unstable, and once Buster is released as stable, all the users of Debian stable will be catered for.

  • Some Ideas for 2019

    Well, after my last article moaning about having wishes and goals while ignoring the preconditions for, and contributing factors in, the realisation of such wishes and goals, I thought I might as well be constructive and post some ideas I could imagine working on this year. It would be a bonus to get paid to work on such things, but I don’t hold out too much hope in that regard.
    In a way, this is to make up for not writing an article summarising what I managed to look at in 2018. But then again, it can be a bit wearing to have to read through people’s catalogues of work even if I do try and make my own more approachable and not just list tons of work items, which is what one tends to see on a monthly basis in other channels.
    In any case, 2018 saw a fair amount of personal focus on the L4Re ecosystem, as one can tell from looking at my article history. Having dabbled with L4Re and Fiasco.OC a bit in 2017 with the MIPS Creator CI20, I finally confronted certain aspects of the software and got it working on various devices, which had been something of an ambition for at least a couple of years. I also got back into looking at PIC32 hardware and software experiments, tidying up and building on earlier work, and I keep nudging along my Python-like language and toolchain, Lichen.
    Anyway, here are a few ideas I have been having for supporting a general strategy of building flexible, sustainable and secure computing environments that respect the end-user. Such respect not being limited to software freedom, but also extending to things like privacy, affordability and longevity that are often disregarded in the narrow focus on only one set of end-user rights.

  • 5 Best Python IDEs You Can Get in 2019

    If you’re taking Python lessons online, you will eventually need a good IDE (Integrated Development Environment) to write better code. The command line interface can only prove so useful. At Python.com you can download a native IDE called IDLE (Integrated Development and Learning Environment). However, it is rather basic in scope, and debugging can consume more time than necessary. With this in mind, here are a few of the best IDEs for Python which add to your productivity.

  • Python’s Requests Library (Guide)
  • Factorial one-liner using reduce and mul for Python 2 and 3
  • Sample Chapters from Creating wxPython Applications Book
  • Migrating from Pelican 3 to Pelican 4
  • Python Software Foundation Fellow Members for Q4 2018 [Ed: Python Software Foundation has many Microsoft employees in it now. Not good. Microsoft has been using money to filtrate just about everything, including its competition. This isn't so new a strategy and many examples of it exist.]
  • PyCoder’s Weekly: Issue #352 (Jan. 22, 2019)
  • Why Don't People Use Formal Methods?

    Before we begin, we need to lay down some terms. There really isn’t a formal methods community so much as a few tiny bands foraging in the Steppe.1 This means different groups use terms in different ways. Very broadly, there are two domains in FM: formal specification is the study of how we write precise, unambiguous specifications, and formal verification is the study of how we prove things are correct. But “things” includes both code and abstract systems. Not only do we use separate means of specifying both things, we often use different means to verify them, too. To make things even more confusing, if somebody says they do formal specification, they usually mean they both specify and verify systems, and if somebody says they do formal verification, they usually mean mean they both specify and verify code.

    Before we begin, we need to lay down some terms. There really isn’t a formal methods community so much as a few tiny bands foraging in the Steppe.1 This means different groups use terms in different ways. Very broadly, there are two domains in FM: formal specification is the study of how we write precise, unambiguous specifications, and formal verification is the study of how we prove things are correct. But “things” includes both code and abstract systems. Not only do we use separate means of specifying both things, we often use different means to verify them, too. To make things even more confusing, if somebody says they do formal specification, they usually mean they both specify and verify systems, and if somebody says they do formal verification, they usually mean mean they both specify and verify code.

    For clarity purposes, I will divide verification into code verification (CV) and design verification (DV), and similarly divide specification into CS and DS. These are not terms used in the wider FM world. We’ll start by talking about CS and CV, then move on to DS and DV.

  • Learning C as an uneducated hobbyist

    V=Programming, however, is conscious. It’s an activity in which you have to think in order to act. Unlearning bad practice in programming takes no energy at all apart from that spent being told that the practice is bad and coming to understand and remember it. Once you’ve done that, it’s almost impossible to make the same mistake again.

    That’s why you shouldn’t be afraid of learning “along the way”, “as you go” or “in an ad-hoc manner” because “you might learn bad practice”. If you learn the wrong thing, you can learn the right thing later. After all, you’re not a professional programmer. It doesn’t matter very much if you make a mistake; your job doesn’t depend on it.

  • Demystifying Pointers in Go

    If you’ve never worked with a language that exposes pointers, it could be a little confusing. But the good news is pointers don’t need to be scary. In fact, pointers can be pretty straightforward. Here are the basics of pointers in Go:

Programming: Homebrew 1.9, JBoss EAP, Python, Qt and Inclusion

Filed under
Development
  • Homebrew 1.9 Adds Linux Support, Auto-Cleanup, and More

    The latest release of popular macOS package manager Homebrew includes support for Linux, optional automatic package cleanup, and extended binary package support.

    Linux support, merged from the Linuxbrew project, is still in beta and will become stable in version 2.0. It also enables the use of Homebrew on Windows 10 systems with the Windows Subsystem for Linux installed.

    Auto-cleanup is meant to optimize disk space occupation by removing all intermediate data that Homebrew generates when installing packages. This can be a significant amount when Homebrew actually builds the packages from sources instead of just installing binaries. Auto-cleanup is opt-in by setting the HOMEBREW_INSTALL_CLEANUP. This behaviour will become opt-out in version 2.0, where you will be able to set the HOMEBREW_NO_INSTALL_CLEANUP environment variable to disable auto-cleanup.

  • Streamline your JBoss EAP dev environment with Red Hat CodeReady Workspaces: Part 1
  • Counteracting Code Complexity With Wily - Episode 195

    As we build software projects, complexity and technical debt are bound to creep into our code. To counteract these tendencies it is necessary to calculate and track metrics that highlight areas of improvement so that they can be acted on. To aid in identifying areas of your application that are breeding grounds for incidental complexity Anthony Shaw created Wily. In this episode he explains how Wily traverses the history of your repository and computes code complexity metrics over time and how you can use that information to guide your refactoring efforts.

  • Qt Visual Studio Tools 2.3.1 Released

    The Qt VS Tools version 2.3.1 has now been released to the Visual Studio Marketplace.

  • Ben Cotton: Inclusion is a necessary part of good coding

    Too often I see comments like “some people would rather focus on inclusion than write good code.” Not only is that a false dichotomy, but it completely misrepresents the relationship between the two. Inclusion doesn’t come at the cost of good code, it’s a necessary part of good code.

    We don’t write code for the sake of writing code. We write code for people to use it in some way. This means that the code needs to work for the people. In order to do that, the people designing and implementing the technology need to consider different experiences. The best way to do that is to have people with different experiences be on the team. As my 7th grade algebra teacher was fond of reminding us: garbage in, garbage out.

12 Best Free Linux Project Management Software (Updated 2019)

Filed under
Development
Software

Project management tools encompass many different types of software such as scheduling, resource allocation, collaboration software, quality management, and cost control / budget management. This type of software is typically used by project managers looking to plan and control resources, costs and schedules to meet the objectives of a project.

To help plan a project, there are a number of different types of project management tools. One of the industry standards is the Gantt Chart, which provides a graphical displays of all the tasks that a project is composed of. Each bar on the chart is a graphical representation of the length of time the task is planned to take. Other popular tools include PERT charts (a method for analyzing the tasks involved in completing a project), Product Breakdown Structure (a hierarchical tree structure of components that make up a project deliverable), and Work Breakdown Structure (a hierarchical tree structure of deliverables and tasks that need to be performed to complete a project).

Project management tools offer many advantages when it comes to project planning and tracking. Gantt charts are synonymous with project management. The ability to get an overview of a project visually in the form of a simple to understand chart should not be underestimated. But good project management software offers so much more functionality.

Read more

GNU Parallel and FreeDink Releases

Filed under
Development
GNU
Gaming

Programming: POCL, Pelican and Python

Filed under
Development

Programming: Conway’s Game of Life, py3status and Teaching Python at Apple

Filed under
Development
  • Optimizating Conway

    Conway’s Game of Life seems to be a common programming exercise. I had to program it in Pascal when in High School and in C in an intro college programming course. I remember in college, since I had already programmed it before, that I wanted to optimize the algorithm. However, a combination of writing in C and having only a week to work on it didn’t leave me with enough time to implement anything fancy.

    A couple years later, I hiked the Appalachian Trail. Seven months away from computers, just hiking day in and day out. One of the things I found myself contemplating when walking up and down hills all day was that pesky Game of Life algorithm and ways that I could improve it.

    Fast forward through twenty intervening years of life and experience with a few other programming languages to last weekend. I needed a fun programming exercise to raise my spirits so I looked up the rules to Conway’s Game of Life, sat down with vim and python, and implemented a few versions to test out some of the ideas I’d had kicking around in my head for a quarter century.

  • py3status v3.16

    Two py3status versions in less than a month? That’s the holidays effect but not only!

    Our community has been busy discussing our way forward to 4.0 (see below) and organization so it was time I wrote a bit about that.

  • #195 Teaching Python at Apple

Best Programming Language for Hacking: Top 15 Reviewed for Ethical Hacking

Filed under
Development

Ethical hacking is the art of legally penetrating enterprise networks in order to discover potential flaws that hackers might leverage for creating an entry point in a given network. The target of these ethical hacking endeavors is to find out any exploit before they fall in the hand of harmful attackers and patch them before any attack could take place. Ethical hackers use a diverse set of hacking programs and programming languages for this purpose. Today, we will outline the 15 best programming language for hacking a corporate network successfully. However, we suggest you obtain every necessary permission required before using such high-tech hacking programming, or else you might fall under the radar of law enforcement agencies.

Read more

Programming: GNU Binutils, Qt, Python, GStreamer, C++ and GTK+

Filed under
Development
  • GNU Binutils 2.32 Branched Ahead Of Release With New Features

    A new release of the GNU Binutils programming tools will soon be available. The upcoming Binutils 2.32 release is primarily made up of new CPU ports. 

    GNU Binutils 2.32 is bringing a MIPS port to the Loongson 2K1000 processor and the Loongson 3A1000/3A2000/3A3000 processors, all of which are based on the MIPS64r2 ISA but with different instruction set extensions. These new GPUs are exposed via -march=gs264e, -march=gs464, and -march=gs464e flags. With Binutils 2.32, the utilities like objdump and c++filt now have a maximum amount of recursion that is allowed while demangling strings with the current default being 2048. There is also a --no-recurse-limit for bypassing that limit. Objdump meanwhile allows --disassemble to specify a starting symbol for disassembly.

  • Building Qt apps with Travis CI and Docker

    I recently configured Travis CI to build Nanonote, my minimalist note-taking application. We use Jenkins a lot at work, and despite the fact that I dislike the tool itself, it has proven invaluable in helping us catch errors early. So I strongly believe in the values of Continuous Integration.

    When it comes to CI setup, I believe it is important to keep your distances with the tool you are using by keeping as much setup as possible in tool-agnostic scripts, versioned in your repository, and making the CI server use these scripts.

  • PyPI Security and Accessibility Q1 2019 Request for Proposals Update

    Earlier this year we launched a Request for Information (RFI) followed by the launch of a Request for Proposals (RFP) in November to fulfill a contract for the Open Technology Fund (OTF) Core Infrastructure Fund.

     The initial deadline for our RFP was December 14th. We had hoped to begin work with the selected proposers in January 2019, but ultimately fell short of the ability to do so.

  • GStreamer 1.15.1 Released With Work On AV1, V4L HEVC Encode/Decode

    GStreamer 1.15.1 was announced on Friday as the first development release in the trek towards GStreamer 1.16 for this powerful open-source multimedia framework.

  • GStreamer 1.15.1 development release

    The GStreamer team is pleased to announce the first development release
    in the unstable 1.15 release series.

    The unstable 1.15 release series adds new features on top of the
    current stable 1.14 series and is part of the API and ABI-stable 1.x
    release series of the GStreamer multimedia framework.

    The unstable 1.15 release series is for testing and development
    purposes in the lead-up to the stable 1.16 series which is scheduled
    for release in a few weeks time. Any newly-added API can still change
    until that point, although it is rare for that to happen.

  • Is C++ fast?

    A library that I work on often these days, meshoptimizer, has changed over time to use fewer and fewer C++ library features, up until the current state where the code closely resembles C even though it uses some C++ features. There have been many reasons behind the changes - dropping C++11 requirement allowed me to make sure anybody can compile the library on any platform, removing std::vector substantially improved performance of unoptimized builds, removing algorithm includes sped up compilation. However, I’ve never quite taken the leap all the way to C with this codebase. Today we’ll explore the gamut of possible C++ implementations for one specific algorithm, mesh simplifier, henceforth known as simplifier.cpp, and see if going all the way to C is worthwhile.

  • Python Counters @PyDiff
  • Report: (clxi) stackoverflow python report
  • Regular Expressions in Python
  • Starting on a new map rendering library

    Currently in Maps, we use the libchamplain library to display the bitmap map titles (based on OpenStreetMap data and aerial photography) that we get from our tile provider, currently MapBox. This library is based on Clutter and used via the GTK+ embed support within libchamplain, which in turn makes use of the Clutter GTK embed support. Since this will not be supported when moving along to GTK+ 4.x and the Clutter library is not maintained anymore (besides the copy of it that is included in the GNOME Shell window manager/Wayland compositor, Mutter) eventually Maps will have to find a replacement. There's also some wonky bugs especially with regards to the mixing of event handling on the Clutter side vs. the GTK+ side.

    So to at least get the ball rolling a bit, I recently decided to see how hard it would be to take the code from libchamplain and keep the grotty deep-down internals dealing with tile downloading and caching and such and refocus the top-level parts onto new GTK+ 4 technologies such as the Snapshot, GSK (scene graph), and render node APIs.

Best 10 Git GUI Clients for Ubuntu

Filed under
Development
Software
Ubuntu

I know most of the people reading this article are developers on Linux or Linux enthusiasts and don’t need any introduction to the Git. But for the noobs out there, Git is one of the most popular and most widely used version control systems available for software development and other similar kind of work. Basically Git is tool which can be managed and used through command line and it is one of the most easy to use command line version control tools available for Linux developers and users.With most of the developers nowadays using graphical tools for programming and development, there is no surprise they are also seeking for GUI tools which could prove to be efficient alternatives to Git command line tool. There are many Git GUI clients available for Linux and its distros like Ubuntu which offer most of the features of Git command line tool with more efficiency and reliability.

Read more

Second Godot 3.1 Beta

Filed under
Development
OSS
Gaming
  • Godot 3.1 Beta 2

    We entered the release freeze last week with Godot 3.1 beta 1, and many high priority bug reports have been fixed since then. We're now publishing a new beta 2 snapshot for testers to work with. This new release fixes various crash scenarios, as well as a performance regression in the GLES backend.

    We're still aiming for a release by the end of the month, so we're under a tight schedule. From now on dev focus is on release-critical issues that would seriously hamper Godot 3.1's usability and features.

    Contrarily to our 3.0.x maintenance releases, which include only thoroughly reviewed and backwards-compatible bug fixes, the 3.1 version includes all the new features (and subsequent bugs!) merged in the master branch since January 2018, and especially all those showcased on our past devblogs. It's been almost a year since the 3.0 release and close to 6,000 commits, so expect a lot of nice things in the final 3.1 version!

  • Godot 3.1 Beta 2 Released With OpenGL ES Performance Fix

    The developers behind Godot, one of the leading open-source game engines, have announced their second beta release for the upcoming Godot 3.1 feature release.

    Godot 3.1 initially entered beta earlier this month as stepping towards the first major release of this cross-platform game engine since Godot 3.0 last year. Godot 3.1 is preparing OpenGL ES 2.0 rendering support, continued work around virtual reality (VR) support, 3D soft body physics capabilities, constructive solid geometry, BPTC texture compression, a new visual shader editor, WebSockets support, and various game developer/editor improvements.

Syndicate content

More in Tux Machines

Microsoft Windows Server Benchmarked Against Six Linux Distributions

While it was not too long ago that Microsoft Windows Server 2019 began shipping and that we conducted some end-of-year benchmarks between Windows and Linux, with being in the process of running a number of Windows and Linux benchmarks as part of our ongoing 10GbE OS performance testing, I also took the opportunity to run some other benchmarks on Windows Server 2016 and 2019 as well as a set of Linux distributions. With carrying out the fresh OS installations anyways for the network testing, with recently having brought over some more Phoronix Test Suite test profiles with Windows support, I decided to run some fresh Windows Server vs. Linux benchmarks anyways. Granted, not all of the tests are server-oriented and not all of the traditional Linux server distributions were used. Just take this as you wish of some fresh Windows vs. Linux performance benchmarks. Read more

Games: Lutris, Little Mouse's Encyclopedia, Team Fortress 2 and More

Roundup of Wine 4.0 Release Coverage

  • Wine 4.0 Released
    The Wine team is proud to announce that the stable release Wine 4.0 is now available.
  • Wine 4.0 Officially Released with Vulkan & Direct3D 12 Support, HiDPI on Android
    The Wine project proudly announced today the general availability of the Wine 4.0 release, a major version of the open-source software that lets Linux and macOS users install and use Windows apps on their computers. Wine 4.0 comes about a year after the Wine 3.0 release, which was the first to introduce an Android driver to allow users run Windows apps and games on devices powered by Google's Android mobile OS, Direct3D 11 support by default for AMD Radeon and Intel GPUs, a task scheduler, as well as AES encryption support on macOS. With Wine 4.0, the team continues to improve the free and open-source compatibility layer that allows Windows program to run on Linux and Mac computers, adding new features like support for the next-generation Vulkan graphics API, Direct3D 12 support, HiDPI (High-DPI) support on Android, and support for game controllers.
  • Wine 4.0 Released With New Features: Run Windows Apps On Linux Efficiently
    With Microsoft’s initiative to bring Linux Bash Shell on Windows 10, the Windows users are now able to run their favorite Linux tools on their current operating system. But what if you need to run full-fledged Windows apps and games on a Linux distro? In that case, a software like Wine is really helpful. The developers of this utility have recently released the new version, i.e., 4.0, with lots of features. Wine 4.0 is the result of a year of development effort.
  • Wine 4.0 Released With Vulkan Support, Initial Direct3D 12 Support, CSMT Enabled By Default
    After being in development for a year, Wine 4.0 is now available for download. The new stable Wine release includes important changes like support for Vulkan, Direct3D 12 and game controllers. For those that might not be familiar with it, Wine is a Windows compatibility layer for Linux that lets you run Windows applications and games on Linux, macOS, and Android (experimental). Wine is used by Proton, Valve's Steam Play compatibility layer that allows playing Windows games on Linux, and by CrossOver, a commercial Microsoft Windows compatibility layer for macOS and Linux, among others.
  • Wine 4.0 is Here with Significant New Features
    Not everyone prefers to use Wine. But, if you have a favorite app/service that is not yet available for Linux, you can try Wine in order to run Windows apps or games. For those who are not aware of Wine, it’s a software that lets you run Windows-only applications and games on Linux. Want iTune on Linux, Wine is your best bet.
  • Wine 4.0 Released With Vulkan Support, Initial Direct3D 12 and Better HiDPI
  • Wine 4.0 Officially Released With Vulkan Support, Initial Direct3D 12 & Better HiDPI
    Wine 4.0 is now officially available as the new annual stable release to Wine for running Windows programs and games on Linux and other operating systems. Following seven weekly release candidates, Wine 4.0 was ready to ship today as judged by Wine founder Alexandre Julliard. Wine 4.0 is a big release bringing initial Vulkan graphics API support, Direct3D CSMT is enabled by default, early Direct3D 12 support via VKD3D, continued HiDPI work, various OpenGL improvements, multi-sample D3D texture support, 64-bit improvements, continued Android support, and much more... See our Wine 4.0 feature overview to learn more about this big update.
  • Just over a year after the last main release, Wine 4.0 is officially here
    You might want to grab a glass for this one, no not that dusty old thing, one of the nice ones. The ones at the back of the cupboard for special occasions! Wine 4.0 is officially here. Comparing Wine 3.0 to 4.0, naturally it's a pretty huge release. Although, most people have likely been using the development builds for some time.

today's howtos