Language Selection

English French German Italian Portuguese Spanish

today's leftovers

Filed under
Misc
  • Top 10 Reasons Why Desktop Linux Failed

    1) Linux isn't pre-installed - No matter how much we may debate it, having Windows pre-installed on PCs means that's what people are likely to end up using. In order for someone to move over to Linux on the desktop, there must be a clear reason to do so. There is the problem. The only time I've personally seen users make the switch over to Linux from Windows comes down to frustration with Windows or a desire to advance their skills into an IT field.

    My own Linux story, for example, was a mixture of the two examples above. First off, I was just done with Windows. I had already been dabbling with Linux at the time I completely switched, but I become disenfranchised with the Microsoft way of doing things. So for me, the switch to Linux was based out of frustration.

    Had I not experienced any frustrations with Windows, I might not have ever thought to jump ship over to an alternative. Even when I built my own PCs myself, the OS offered at computer stores was Windows only. This is a huge hurdle for Linux adoption on the desktop.

    2) Linux freedom vs convenience - It's been my experience that people expect a user experience that's consistent and convenience. How one defines this depends on the individual user. For some, it's a matter of familiarity or perceived dependability. For more advanced PC users, a consistent convenience may mean a preferred workflow or specific applications.

    The greater takeaway is that when people are aware of other operating systems, they will usually stick with that they've used the longest. This presents a problem when getting people to try Linux. When using a desktop platform for a long time, you develop habits and expectations that don't lend themselves well to change.

  • How to be efficient and cost effective (or not)

    It's the mid-1990s, and this big corporation is working on a major development project to replace most of its critical systems, says a Unix admin pilot fish working there.

  • [Podcast] PodCTL #41 – Dissecting Kubernetes Surveys

    In a world of open source projects, privately funded companies, one-off cloud services and a mix of public companies, it can often be difficult to determine hype from trends from real usage.

  • PodCTL Podcast #38 – A Beginner’s Guide to Kubernetes
  • Optimizing a Python application with C++ code

    I’ve been working lately in a command line application called Bard which is a music manager for your local music collection. Bard does an acoustic fingerprinting of your songs (using acoustid) and stores all song metadata in a sqlite database. With this, you can do queries and find song duplicates easily even if the songs are not correctly tagged. I’ll talk in another post more about Bard and its features, but here I wanted to talk about the algorithm to find song duplicates and how I optimized it to run around 8000 times faster.

    [...]

    An obvious improvement I didn’t do yet was replacing the map with a vector so I don’t have to convert it before each for_each call. Also, vectors allow to reserve space in advance, and since I know the final size the vector will have at the end of the whole algorithm, I changed to code to use reserve wisely.

    This commit gave the last increase of speed, to 7998x, 36680 songs/second and would fully process a music collection of 1000 songs in just 13 seconds..

  • How A KDE Developer Used C++17 & Boost.Python For About A 8,000x Speed-Up

    Open-source developer Antonio Larrosa who contributes to KDE and openSUSE has been developing a command-line music manager called Bard. He's written an interesting post about how he sped up some of his operations by around eight-thousand times faster.

    In particular, Antonio was focused on speeding up the process of finding song/music duplicates in the user's local music collection. What started out as Python code was morphed into optimized C++ code. Little surprise, the C++ code once tuned was immensely faster than Python -- but the blog post is interesting for those curious about the impact of the various steps he took for tuning this implementation.

  • GLib 2.58 Is Looking Good With Portability Improvements, Efficient Process Launching

    The GLib low-level GNOME library while being quite mature is seeing a significant update with its version 2.58 release due out this September for GNOME 3.30.

    Two of the biggest GLib 2.58 changes we have covered up to now on Phoronix has been the new generic reference counting API and more efficient app launching. The reference counting API has been in the works for 6+ years to help GLib's bindings/integration with languages utilizing automatic memory management / garbage collection. The more efficient process launching via the use of posix_nspawn() is also exciting for better performance, particularly on systems suffering from memory pressure.

  • Taiwan Travel Blog - Day 2 & 3

    My Taiwan Travel blog continues! I was expecting the weather to go bad on July 10th, but the typhoon arrived late and the rain only started around 20:00. I'm pretty happy because that means I got to enjoy another beautiful day of hiking in Taroko National Park.

    I couldn't find time on the 10th to sit down and blog about my trip, so this blog will also include what I did on the 11th.

  • Canonical Releases Minimal Ubuntu, Optimised for Multicloud

    Canonical, the company behind popular Linux system Ubuntu, has released Minimal Ubuntu, a pared-back, significantly faster iteration of its server operating system (OS).

  • Nokia signs billion-euro network tech deal with China Mobile

     

    Nokia said over the one-year framework agreement it will deliver mobile radio access, fixed access, IP routing and optical transport systems as well as other services to the Chinese mobile operator.  

  •  

More in Tux Machines

Programming: mmap. Python and More

  • Making the Most of your Memory with mmap
    Sometimes it seems that we have nearly infinite memory resources, especially compared to the tiny 48K RAM of yesteryear’s 8-bit computers. But today’s complex applications can soak up megabytes before you know it. While it would be great if developers planned their memory management for all applications, thinking through a memory management strategy is crucial for applications with especially RAM intensive features like image/video processing, massive databases, and machine learning. How do you plan a memory management strategy? It’s very dependent on your application and its requirements, but a good start is to work with your operating system instead of against it. That’s where memory mapping comes in. mmap can make your application’s performance better while also improving its memory profile by letting you leverage the same virtual memory paging machinery that the OS itself relies on. Smart use of the memory mapping API (Qt, UNIX, Windows) allows you to transparently handle massive data sets, automatically paging them out of memory as needed – and it’s much better than you’re likely to manage with a roll-your-own memory management scheme. Here’s a real-life use case of how we used mmap to optimize RAM use in QiTissue, a medical image application. This application loads, merges, manipulates, and displays highly detailed microscope images that are up to gigabytes in size. It needs to be efficient or risks running out of memory even on desktops loaded with RAM.
  • Moving Kolla images to Python 3
    Python… To use 2.7 or to go for 3.x? To “be compatible” or to “use fancy new features”. Next year Python 2 gets finally unsupported upstream.
  • PyCharm 2019.1 RC 2
    New in PyCharm 2019.1: completely redesigned Jupyter Notebooks, improved HTML & CSS quick documentation, custom themes, and more. Get the release candidate from our website
  • 13 Project Ideas for Intermediate Python Developers
    Learning the basics of Python is a wonderful experience. But the euphoria of just learning can be replaced by the hunger for hands-on projects. It’s normal to want to build projects, hence the need for project ideas. The problem though is that some projects are either too simple for an intermediate Python developer or too hard. This article will suggest projects you can work on as an intermediate Python developer. These project ideas will provide the appropriate level of challenge for you.
  • Speed: Default value vs checking for None
  • Announcing SLE 15 SP1 RC 1 and SES 6 Beta 11!
  • Coding in Python 19 - More fun with the OS Module
  • Coding in Python 20 - Subprocess
  • Coding in Python 21 - Handling Exceptions
  • Starting A Django Project
  • Microsoft buffs up its open-source halo to fine sheen with PostgreSQL GUI in Azure Data Studio [Ed: These are all proprietary software falsely marketed using "free bait" a.k.a. "open core" or 'open' plugins. It's also surveillance.]

DebConf20 Conference to Be Hosted in Haifa, Israel, for Debian GNU/Linux 11

A port city built in tiers, Haifa is found in the northern area of Israel, extending from the Mediterranean sea till the north slope of the Carmel Mountain National Park. Haifa it's the third-largest city in Israel after Jerusalem and Tel Aviv, and it is close to the biblical city Nazareth where Jesus studied and prayed. In 2020, the Debian Project will celebrate 12 years since the first DebConf Debian developer conference, so they decided to choose Israel instead of Lisbon, Portugal, for next year's DebConf20 event despite the extensive discussions between the DebConf team and committee due to Israel's political system. Read more

Ubuntu Leftovers

  • Debug ACPI DSDT and SSDT with ACPICA Utilities
    Using acpidbg on Ubuntu 18.04 x64 can be quite handy; however, the Linux kernel with ACPI_DEBUGGER is not always available, such as on Ubuntu for ARM. In such cases, acpica also provides a set of utilities, named acpica-tools, for ACPI debugging.
  • NVIDIA Jetson Nano is a $99 Computer Built for AI, Powered by Ubuntu
    Sold as a complete compute solution, the Jetson Nano Developer Kit wants to let embedded designers, researchers, and DIY makers harness the power of AI, all at an affordable price. A NVIDIA’s JetPack SDK provides a ‘complete desktop Linux environment based on Ubuntu 18.04 LTS’, replete with accelerated graphics, NVIDIA CUDA toolkit support, and more. NVIDIA say developers will find it “easy” to install leading open-source Machine Learning (ML) frameworks like TensorFlow, Caffe and Keras. Frameworks for computer vision and robotics development like OpenCV and ROS are also available via the SDK. The JetPack 4.2 SDK [shipped on the microSD card] provides a complete desktop Linux environment for Jetson Nano based on Ubuntu 18.04 with accelerated graphics, support for NVIDIA CUDA Toolkit 10.0, and libraries such as cuDNN 7.3 and TensorRT 5,” Nvidia says of the nimble Nano dev kit. But how powerful is it?
  • Vertical rhythm and spacing in Vanilla Framework 2.0
    Vanilla, the CSS framework behind Canonical’s suite of products and services, has undergone significant changes over the last 12 months. We’ve introduced vertical rhythm, a new type scale, consistent white space in and between elements, and adjustable information density. 
  • Ubuntu 19 04 Desktop Tour of New Features

Security: Updates, Microsoft, Mirai, Reproducible Builds and PuTTY