Language Selection

English French German Italian Portuguese Spanish

Development

today's howtos and programming

Filed under
Development
HowTos

Qt Quick on Vulkan, Metal, and Direct3D

Filed under
Development
Graphics/Benchmarks

Now that the first beta of Qt 5.14 is getting closer, it is time to start talking about one of the big new features. We cannot possibly cover all the details around the graphics stack improvements and the road to Qt 6 in one post, so in part 1 and 2 we will describe the background and take a closer look at what 5.14 will ship with, and then dive into the technical details and future directions in another set of posts later on.

Read more

Also: Linux Drivers Entries Suggest two APU AMD Lines in 2020

today's howtos and programming

Filed under
Development
  • How to Install Postman on Debian 10
  • freshclam[15552]: Can’t create temporary directory /var/lib/clamav/clamav-969944fd9a258fa7aff08976496d8541.tmp
  • 30 Linux Permissions Exercises for Sysadmins
  • How to Check Linux Mint Version Number & Codename
  • Four semanage commands to keep SELinux in enforcing mode
  • How to start developing with .NET [Ed: Red Hat has totally lost it. It promotes Microsoft.]
  • Constraint programming by example

    There are many different ways to solve problems in computing. You might "brute force" your way to a solution by calculating as many possibilities as you can, or you might take a procedural approach and carefully establish the known factors that influence the correct answer. In constraint programming, a problem is viewed as a series of limitations on what could possibly be a valid solution. This paradigm can be applied to effectively solve a group of problems that can be translated to variables and constraints or represented as a mathematic equation. In this way, it is related to the Constraint Satisfaction Problem (CSP).

    Using a declarative programming style, it describes a general model with certain properties. In contrast to the imperative style, it doesn't tell how to achieve something, but rather what to achieve. Instead of defining a set of instructions with only one obvious way to compute values, constraint programming declares relationships between variables within constraints. A final model makes it possible to compute the values of variables regardless of direction or changes. Thus, any change in the value of one variable affects the whole system (i.e., all other variables), and to satisfy defined constraints, it leads to recomputing the other values.

  • Samuel Sutch: Why Python Has Become an Industry Favorite Among Programmers

    With the world stepping towards a new age of technology development, it isn’t hard to imagine a future that will be full of screens. And if so be the case then, demand for people with strong programming skills will definitely rise with more number of people required to develop and support the applications. Python Training is always a good idea for those wishes to be a part of this constantly developing industry. Python language is not only easy to grasp, but emphasizes less on syntax which is why a few mistakes here and there doesn’t give as much trouble as some other languages does.

GNOME and gestures, Part 2: HdyLeaflet

Filed under
Development
GNOME

A folded HdyLeaflet, just like GtkStack, shows one of its children at any given moment, even during child transitions. The second visible child during transitions is just a screenshot. But which child is “real” and which is a screenshot? Turns out the real child is the destination one, meaning the widget switches its visible child when the animation starts. It isn’t a problem if the animation is quick and time-based, but becomes very noticeable with a gesture. Additionally, it means that starting and cancelling a gesture switches the visible child two time.

One solution would be only switching the visible child at the end of the animation (or not at all if it was canceled). The problem is that it’s a major behavior change: applications that listen to visible-child to know when to update the widgets, or sync the property between two leaflets will break.

Another solution would be to draw both children during transitions, but it still means that visible-child changes two times if the gesture was canceled. The problem here is similar: applications wouldn’t expect the other child to still be drawn, but at least it’s just a visual breakage. And it still means that starting and canceling the gesture would mean two visible-child changes.

The second solution may sound better, and yet the current WIP code uses the first one.

Read more

Programming/Technical Leftovers

Filed under
Development
  • Top 20 Best Python IDE for Linux. Some of Them are Open Source

    Python is a programming language. User can apply it for general purposes to design program from the backend web development, scientific computing, artificial intelligence, and data analysis. Moreover, it works on developing Apps, games and productivity software, and many more purposes. Python is one of the most popular and extensively used programming languages because of its easy to use and simple nature. Additionally, IDE implies an Integrated Development Environment that facilitates debugging, testing, and writing code easier way. It offers highlighting code insight, code completion, and resource management for the users.

  • Python Programming Language Is Considered Better Than Other Languages

    Python is a high-level scripting language. It is easy to learn and powerful than other languages because of its dynamic nature and simple syntax which allow small lines of code. Included indentation and object-oriented functional programming make it simple. Such advantages of Python makes it different from other languages and that’s why Python is preferred for development in companies mostly. In industries, machine learning using python has become popular. This is because it has standard libraries which are used for scientific and numerical calculations. Also, it can be operated on Linux, Windows, Mac OS and UNIX. Students who want to make future in Python are joining online video training courses and python programming tutorial.

  • Immer, "Most Impactful Contribution" JavaScript Open Source Award Winner, Releases V4

    Alec Larson released a few days ago the fourth major iteration of award winner JavaScript library Immer, patching an important edge case. Immer is a JavaScript package which allows developers to work with immutable state as it were mutable, by implementing a copy-on-write mechanism. Immer was recently distinguished this year with the Breakthrough of the year React open source award and the Most impactful contribution JavaScript open source award.

  • Ballerina Reinvents Cloud Native Middleware as a Programming Language, Puts ESB on the Path to Extinction

    Ballerina 1.0, which is available under the Apache License, is being announced in conjunction with ApacheCon North America 2019. Ballerina, an ApacheCon Gold Sponsor, will offer technical sessions and demos of the new Ballerina release at the event. WSO2 CTO Paul Fremantle will also hold a session on Tuesday, September 10 at 2:30 p.m., “Ballerina - Re-inventing Middleware in a Programming Language.” ApacheCon North America 2019 is being held September 9-12, 2019 at the Flamingo in Las Vegas, Nevada.

  • SD Times Open-Source Project of the Week: Ballerina

    The open-source programming language Ballerina hit 1.0 generally availability this week.

  • Python inotify examples
  • How to work with Jupyter Notebooks in PyCharm
  • How to set up a backup snapshot on Linux Mint
  • Dirk Eddelbuettel: pinp 0.0.9: Real Fix and Polish

    Another pinp package release! pinp allows for snazzier one or two column Markdown-based pdf vignettes, and is now used by a few packages. A screenshot of the package vignette can be seen below. Additional screenshots are at the pinp page.

Programming Leftovers

Filed under
Development
  • Highlights From The 2019 Pandas Hack

    Taking place simultaneously in Austin, Bentonville, and Dallas from August 16–18, the Pandas Hack was a weekend hackathon focused on providing updates and bug fixes to the pandas data science library.

  • Updated high-DPI support for Qt 5.14
    Hi all,
    
    We’ve recently merged several patches which improves Qt’s high-DPI support. The changes include:
    
    * Support for fractional device pixel ratios (e.g. Windows 150%)
    * Support per-screen DPI in more places like QStyle
    * Cleanup of configuration API and options.
    
    These fixes applies mostly to the AA_EnableHighDpiScaling type of high-DPI support where 
    the device independent coordinate system is set up by QtGui. Relevant platforms include Windows,
    X11, and Android. The new code and and config options are cross-platform though; it should be
    possible to develop and test on any platform (as long as you are not working on platform plugins).
    
    
  • Qt 5.14 Is Bringing Significantly Better HiDPI Support

    Besides KDE seeing its own HiDPI improvements like fractional scaling on Wayland recently landing, the Qt5 tool-kit is seeing more HiDPI improvements on its end too.

    With Qt 5.14 that is slated to be released before year's end there will be better HiDPI support for dealing with today's modern high pixel density displays. Some of the Qt 5.14 HiDPI improvements include support for fractional device pixel ratios, supporting per-screen DPIs more throughout the tool-kit, configuration API clean-ups, platform plug-in additions, an API for setting the rounding policy for the scaling factor, and expanding the supported environment variables for testing the functionality.

  • Reactive Foundation tackles next phase of software architecture

    “With the rise of cloud-native computing and modern application development practices, reactive programming addresses challenges with message streams and will be critical to adoption,” said Michael Dolan, VP of strategic programs at the Linux Foundation. “With the Reactive Foundation, the industry now has a neutral home for supporting the open source projects enabling reactive programming.”

    [...]

    RSocket builds on reactive streams to prevent outages and is designed to support microservices-based and cloud-native applications as a high-performance replacement of traditional HTTP. It enables long-lived streams on different transport connections, which is useful for mobile to server communication. The foundation will also seeks to expand the open-source community around RSocket and reactive programming.

    “After more than a decade of innovations, the reactive ecosystem is making it into mainstream adoption with Project Reactor, Spring Boot and the Spring Framework accelerating its adoption,” said Stephane Maldini, project reactor lLead at Pivotal. “Together, we can build hyper efficient, scalable distributed systems by rethinking the way we design them and by using the right protocol to coordinate them.”

Programming: Bash/Command Line, Python and More

Filed under
Development
HowTos
  • Add leading zeroes that aren't really leading

    A leading zero can be a useful addition to a number string, and there are several ways to add one or more leading zeroes on the command line. The addition is a little less straightforward if the leading zero sits inside a non-numeric string. This post deals with a couple of such cases.

  • Always Launch Terminal as root User (sudo) in Ubuntu

    While working with the Ubuntu command line, the Terminal, we come across situations that require us to log in as root again and again. Ubuntu does that for protecting our system in order to avoid any user or script that opens the Terminal for any malicious activities that put your privacy and system at risk. Root allows far more access than a standard user needs on the command line. With root in action, features that make Ubuntu more secure are no longer working for you. Just consider running a web browser as root!

  • Fastest Python function to slugify a string

    The code is 7-8 years old and relates to a migration when MDN was created as a Python fork from an existing PHP solution.

    I couldn't help but to react to the fact that it's a list and it's looped over every single time. Twice, in a sense. Python has built-in tools for this kinda stuff. Let's see if I can make it faster.

  • Should you use "dot notation" or "bracket notation" with pandas?

    If you prefer bracket notation, then you can use it all of the time! However, you still have to be familiar with dot notation in order to read other people's code.

    If you prefer dot notation, then you can use it most of the time, as long as you are diligent about renaming columns when they contains spaces or collide with DataFrame methods. However, you still have to use bracket notation when creating new columns.

  • Solving Sequence Problems with LSTM in Python's Keras Library

    Time series forecasting refers to the type of problems where we have to predict an outcome based on time dependent inputs. A typical example of time series data is stock market data where stock prices change with time. Similarly, the hourly temperature of a particular place also changes and can also be considered as time series data. Time series data is basically a sequence of data, hence time series problems are often referred to as sequence problems.

  • How the Worlds of Linux and Windows Programming Converged

    Once upon a time, the world of developers was split into two halves: One half was composed of Windows developers, who created most of the productivity apps that powered PCs (and, occasionally, servers). The other half comprised Linux and Unix developers, whose work focused on server-side development. Today, however, as the worlds of Windows and Linux move ever closer together, the distinction between Windows and Linux developers is disappearing. Gone are the days when you had to specialize in one ecosystem or the other.

Programming: Biases, Markdown, LLVM and PyCharm

Filed under
Development
  • Bias and ethical issues in machine-learning models

    The success stories that have gathered around data analytics drive broader adoption of the newest artificial-intelligence-based techniques—but risks come along with these techniques. The large numbers of freshly anointed data scientists piling into industry and the sensitivity of the areas given over to machine-learning models—hiring, loans, even sentencing for crime—means there is a danger of misapplied models, which is earning the attention of the public. Two sessions at the recent MinneBOS 2019 conference focused on maintaining ethics and addressing bias in machine-learning applications.

    To define a few terms: modern analytics increasingly uses machine learning, currently the most popular form of the field broadly known as artificial intelligence (AI). In machine learning, an algorithm is run repeatedly to create and refine a model, which is then tested against new data.

    MinneBOS was sponsored by the Twin Cities organization Minne Analytics; the two sessions were: "The Ethics of Analytics" by Bill Franks and "Minding the Gap: Understanding and Mitigating Bias in AI" by Jackie Anderson. (Full disclosure: Franks works on books for O'Reilly Media, which also employs the author of this article.) Both presenters pointed out that bias can sneak into machine learning at many places, and both laid out some ways to address the risks. There were interesting overlaps between the recommendations of Franks, who organized his talk around stages, and of Anderson who organized her talk around sources of bias.

    When we talk about "bias" we normally think of it in the everyday of sense of discrimination on the basis of race, gender, income, or some other social category. This focus on social discrimination is reinforced by articles in the popular press. But in math and science, bias is a technical term referring to improper data handling or choice of inputs. And indeed, the risks in AI go further than protected categories such as race and gender. Bias leads to wrong results, plain and simple. Whether bias leads to social discrimination or just to lost business opportunities and wasted money, organizations must be alert and adopt ways to avoid it.

  • An introduction to Markdown

    For a long time, I thought all the files I saw on GitLab and GitHub with an .md extension were written in a file type exclusively for developers. That changed a few weeks ago when I started using Markdown. It quickly became the most important tool in my daily work.

    Markdown makes my life easier. I just need to add a few symbols to what I'm already writing and, with the help of a browser extension or an open source program, I can transform my text into a variety of commonly used formats such as ODT, email (more on that later), PDF, and EPUB.

  • Intel Tightens Up Its AVX-512 Behavior For The LLVM Clang 10 Compiler

    When targeting Skylake-AVX512, Icelake-Client, Icelake-Server, Cascadelake, or Cooperlake with the LLVM Clang compiler where AVX-512 is supported, it will now default to preferring the 256-bit vector width rather than 512-bit with AVX-512. Unless 512-bit intrinsics are used in the source code, 512-bit ZMM registers will not be used since those operations lead to most processors running at a lower frequency state. On current generation processors, the performance gains of AVX-512 can often times be negated due to the AVX-512 frequency hits.

  • 2019.3 EAP 1

    The first Early Access Program (EAP) for PyCharm 2019.3 is now available to be downloaded from our website!

today's howtos and programming bits

Filed under
Development
HowTos

Programming: C, Node.js, Python and Logo

Filed under
Development
  • Unit-testing static functions in C

    An annoying thing about C code is that there are plenty of functions that cannot be unit-tested by some external framework - specifically anything declared as static. Any larger code-base will end up with hundreds of those functions, many of which are short and reasonably self-contained but complex enough to not trust them by looks only. But since they're static I can't access them from the outside (and "outside" is defined as "not in the same file" here).

    The approach I've chosen in the past is to move the more hairy ones into separate files or at least declare them normally. That works but is annoying for some cases, especially those that really only get called once. In case you're wondering whether you have at least one such function in your source tree: yes, the bit that parses your commandline arguments is almost certainly complicated and not tested.

  • Node.js VS Python: Which is Better?

    Both Node.js (majorly used as a backend framework ), and Python ( front-end and back-end programming language) are used extensively for programming of a web app. It is vital to select a suitable framework or programming language for web app development because it is the backbone of every web app.

    Node.js and Python are extensively used for this purpose. When you talk about Node.js or python, you are actually comparing JavaScript with Python . This is because Node.js is actually a framework built on Google Chrome’s JavaScript.

    Both of them are among the top programming languages according to the TOIBE index.

  • Episode #147: Mocking out AWS APIs
  • Python Testing 201 with pytest

    For Python Frederick?s September presentation, I presented on Python testing. In the presentation, I explained more of the features of pytest that went beyond the basics that we explored in March.

  • Excellent Free Books to Learn Logo

    The Logo Programming Language, a dialect of Lisp, was designed as a tool for learning. It features interactivity, modularity, extensibility, with flexibility of data types.

    Logo offers a rich programming environment providing multimedia tools, robotics and network access. Full-featured Logo packages provide hundreds of commands for exploring all sorts of applications, from the simplest turtle graphics to artificial intelligence.

    None of the books featured below are released under an open source license. There seems to be a dearth of open source programming books for Logo. But the books featured below are available to view without charge.

Syndicate content

More in Tux Machines

SUSE: YaST Development Sprint 84 and SUSE 'in Space'

  • Highlights of YaST Development Sprint 84

    The YaST Team finished yet another development sprint last week and we want to take the opportunity to let you all glance over the engine room to see what’s going on. Today we will confess an uncomfortable truth about how we manage the Qt user interface, will show you how we organize our work (or at least, how we try to keep the administrative part of that under control) and will give you a sneak peak on some upcoming YaST features and improvements. Let’s go for it!

  • Lunar Vacation Planning

    HPE, one of SUSE’s most important partners in High-Performance Computing and the advancement of science and technology, is now building NASA’s new supercomputer named “Aitken” to support Artemis and future human missions to the moon. HPE’s “Aitken” supercomputer will be built at NASA’s Ames Research Center and will run SUSE Linux Enterprise HPC (co-located where the Pleiades supercomputer – also SUSE-based – has been advancing research for several years). Aitken will run extremely complex simulations for entry, descent and landing on the moon as part of the Artemis program. The missions include landing the next humans on the lunar south polar region by 2024 (on the rim of the Shackleton crater, which experiences constant indirect sunlight for a toasty -300 degrees Fahrenheit).

today's howtos

Flathub vs. Snap Store: Which App Store Should You Use?

Linux package management has come a long way from the nightmare it used to be. Still, the package managers provided by distributions aren’t always perfect. The Snap and Flatpak formats have made it much easier to install software no matter what distro you’re running. Both Snap and Flatpak files are often available on a given app’s website, but both of these formats have their own centralized marketplaces. Which one is right for you? It’s not an easy question to answer. Read more

GhostBSD 19.09 Now Available

GhostBSD 19.09 has some considerable changes happened, like moving the system to STABLE instead of CURRENT for ABI stability with the integration of the latest system update developed by TrueOS. This also means that current users will need to reinstall GhostBSD unless they were running on the development version of GhostBSD 19.09. GhostBSD 19.09 marks the last major changes the breaks updates for software and system upgrade. Read more