Language Selection

English French German Italian Portuguese Spanish

Mac

Make the switch from Mac to Linux easier with Homebrew

Filed under
GNU
Linux
Mac

The Homebrew project began its life as an unofficial Linux-style package manager for the Mac. Its users quickly fell in love with its friendly interface and helpful prompts, and—in what may seem like a strange twist of fate—it got ported to Linux.

At first, there were two separate projects for macOS and Linux (Homebrew and Linuxbrew), but now Homebrew's core manages both operating systems. Because I've been on a journey to migrate from Mac to Linux, I have been looking at how my favorite open source applications for macOS perform on Linux, and I've been happy to find that Homebrew's support for Linux truly shines.

Read more

How to Make Ubuntu Look Like macOS in 5 Easy Steps

Filed under
GNU
Linux
Mac
GNOME
Ubuntu

Customization is one of the main reasons why I use Linux. There is no end to the kind of customization you can do to your desktop Linux. You can change icons, themes, change fonts, change terminals, add screenlets, indicator applets, extensions and what not.

We have covered numerous desktop customization tips and tricks on It’s FOSS. In this one, I’ll show you how to make Ubuntu look like macOS.

Many people use macOS because of its simplistic and elegant look. You may disagree with it but it remains a popular opinion. Even there are Linux distributions that have macOS like look and feel.

One of the readers requested us to show how to make Ubuntu look like macOS and hence we’ve created this tutorial. In fact, this is a good example to show the customization capability of desktop Linux.

Read more

The Free Operating System That’s Identical To macOS

Filed under
GNU
Linux
Mac

iRaspbian comes with a series of built-in apps, including Chromium Media Edition (the version of the web browser that allows you to use services such as Netflix), LibreOffice and the GIMP art package - all of which have their own icons on the Dock.

Read more

Apple Music on the web is no longer in beta -- including on Linux

Filed under
Linux
Mac

My favorite streaming music service is Apple Music. As an iPhone user, this was a match made in heaven. As a regular desktop Linux user, however, this was very problematic. You see, for the longest time, you needed iTunes to listen to Apple Music on desktop. This wasn't a problem when using Windows 10 or macOS, but as soon as I signed into, say, Ubuntu, I was out of luck, as there is no iTunes for Linux.

Thankfully, late last year, Apple finally brought its streaming music service to the web. In other words, all you needed to listen to Apple Music was a compatible web browser. This meant that users of desktop Linux could finally listen to the streaming service by simply firing up a web browser, such as Firefox. Despite being a feature Spotify offered for many years, it was still a really big deal. The problem? Apple Music for the web was merely a beta. Today, this changes.

Read more

macOS vs. Ubuntu

Filed under
GNU
Linux
Mac
Ubuntu

Linux or Mac? It is one of those hot Coca-Cola vs. Pepsi debates, but it’s an important one as your work, and your overall computer experience depends much on what type of work you do and what OS do you use for that work.

First, let’s start by explaining a little bit about the Operating System (OS). OS is a piece of software that essentially runs your computer. It manages and controls your system hardware and provides some essential features.

What type of OS might be the best one for you depends on you, e.g., if you are an average user who uses the computer to kill time and play games, Windows is the best OS for you as it is optimized for gaming. But if your lively hood depends on your PC or you have some sensitive information on your PC, then Windows is the worst OS for you. Similarly, macOS is optimized for web designing, video editing, and music-making as the software for these tasks optimized for macOS. Linux is excellent for programming as many IDEs, and text editors were designed for Linux. Now before we start to discuss macOS and Ubuntu, let’s have a brief look at their histories.

Read more

Microsoft and Apple Leftovers

Filed under
Microsoft
Mac

The CUPS Printing System Lead Developer Has Left Apple, Begins Developing "LPrint"

Filed under
Mac
OSS

More than a decade after Apple acquired the CUPS source-code and its lead developer, that developer, Michael Sweet, recently parted ways with Apple.

Just before Christmas was an announcement by CUPS lead developer Michael Sweet that he left Apple and will be taking a break and then plans to begin forming a new business with his wife.

During his tenure at Apple, there were many CUPS improvements: much better network printing support, basic 3D printer support, IPP Everywhere, and more.

Back in 2017 though is when Apple decided CUPS would no longer be GPL licensed but they migrated to the Apache 2.0 license. Just last August came CUPS 2.3 with that licensing change and the print server's first release in three years.

Read more

Manjaro with KDE on a MacBook Pro

Filed under
GNU
KDE
Linux
Mac

With that away, I just installed purely Manjaro Linux on my MacBook last evening, who cares, I anyways don’t use macOS at all beside as VirtualBox startup environment.

I searched for some pointers in the internet, in the past I already had some parallel install. If you search a bit, you will find various hints how to do it.

[...]

For me this did the job and the stuff is running well enough. The webcam won’t work without additional effort, not that I use it. No idea if Bluetooth or other stuff like the Thunderbolt ports work, but I never used that even on macOS.

Fortunately the HiDPI support on Linux & Qt & KDE has gone a long way since my initial try 2015 and now, with some scaling of 1.5 or 2, it is all nicely usable ;=)

Given I still have some macOS machines available at work, I might still try out some Kate bundles there from time to time, but my personal life is now macOS free.

Read more

Apple Tightens the Proprietary Screws

Filed under
Mac
  • Apple will enforce app notarization for macOS Catalina in February

    The new policies require developers to submit their apps to Apple to go through a notarizing security process, or they won't run in macOS Catalina. An extension to the existing Gatekeeper process that previously allowed notarization as an option, the requirement is designed to ensure downloaded software is from the source users believe it is from.

  • Apple to Enforce macOS App Verification Requirements Starting February

    "If you have not yet done so, upload your software to the notary service and review the developer log for warnings. These warnings will become errors starting February 3 and must be fixed in order to have your software notarized. Software notarized before February 3 will continue to run by default on macOS Catalina," the company said in a statement.

  • Apple will enforce macOS app notarization requirements starting in February

    Developers received word of the impending changes this summer. Apple temporarily adjusted the notarization prerequisites in order to make the transition to macOS Catalina easier for developers and users. The new changes go into effect on February 3, 2020.

  • Apple’s App Notarization Requirements For macOS Catalina To Be Enforced In February

    Cupertino tech giant Apple announced earlier in June that all apps distributed outside the Mac App Store must be notarized so they can continue functioning on Macs and MacBooks running on the latest macOS version, macOS Catalina.

Thunderbolt 3 Software Connection Manager Support Coming In Linux 5.5 For Apple Hardware

Filed under
Linux
Hardware
Mac

The Thunderbolt changes have been merged to char-misc ahead of the upcoming Linux 5.5 merge window.

The principal Thunderbolt changes for this next version of the Linux kernel is introducing software connection manager support for Thunderbolt 3 hardware -- initially just Apple systems. Up to now the Thunderbolt 3 controllers on Apple systems have just relied upon the firmware connection manager but now Linux's in-kernel connection manager can be used in place of the firmware implementation. The Thunderbolt connection manager is responsible for creating PCIe tunnels and other operations when Thunderbolt devices are connected.

Read more

Syndicate content

More in Tux Machines

NanoPi NEO3 Headless SBC Launched for $20 and up

Last month, we found out FriendlyELEC was working on NanoPi NEO3, a tiny SBC powered by Rockchip RK3328 processor and made for headless applications and networked storage thanks to Gigabit Ethernet and USB 3.0 ports, as well as a 26-pin GPIO header. At the time, the board was still been finalized, but the company has now started to take orders for $20 and up depending on options which include a cute white enclosure... [...] The Wiki has been updated as well, and the company provides both Ubuntu Core 18.04 based FriendlyCore, and OpenWrt based FriendlyWrt operating systems for the board with both relying on Linux 5.4.12 kernel. I’d also expect Armbian to eventually provide Ubuntu 20.04 and Debian 10 images. Read more

Moving (parts of) the Cling REPL in Clang

Motivation
===

Over the last decade we have developed an interactive, interpretative 
C++ (aka REPL) as part of the high-energy physics (HEP) data analysis 
project -- ROOT [1-2]. We invested a significant  effort to replace the 
CINT C++ interpreter with a newly implemented REPL based on llvm -- 
cling [3]. The cling infrastructure is a core component of the data 
analysis framework of ROOT and runs in production for approximately 5 
years.

Cling is also  a standalone tool, which has a growing community outside 
of our field. Cling’s user community includes users in finance, biology 
and in a few companies with proprietary software. For example, there is 
a xeus-cling jupyter kernel [4]. One of the major challenges we face to 
foster that community is  our cling-related patches in llvm and clang 
forks. The benefits of using the LLVM community standards for code 
reviews, release cycles and integration has been mentioned a number of 
times by our "external" users.

Last year we were awarded an NSF grant to improve cling's sustainability 
and make it a standalone tool. We thank the LLVM Foundation Board for 
supporting us with a non-binding letter of collaboration which was 
essential for getting this grant.


Background
===

Cling is a C++ interpreter built on top of clang and llvm. In a 
nutshell, it uses clang's incremental compilation facilities to process 
code chunk-by-chunk by assuming an ever-growing translation unit [5]. 
Then code is lowered into llvm IR and run by the llvm jit. Cling has 
implemented some language "extensions" such as execution statements on 
the global scope and error recovery. Cling is in the core of HEP -- it 
is heavily used during data analysis of exabytes of particle physics 
data coming from the Large Hadron Collider (LHC) and other particle 
physics experiments.


Plans
===

The project foresees three main directions -- move parts of cling 
upstream along with the clang and llvm features that enable them; extend 
and generalize the language interoperability layer around cling; and 
extend and generalize the OpenCL/CUDA support in cling. We are at the 
early stages of the project and this email intends to be an RFC for the 
first part -- upstreaming parts of cling. Please do share your thoughts 
on the rest, too.


Moving Parts of Cling Upstream
---

Over the years we have slowly moved some patches upstream. However we 
still have around 100 patches in the clang fork. Most of them are in the 
context of extending the incremental compilation support for clang. The 
incremental compilation poses some challenges in the clang 
infrastructure. For example, we need to tune CodeGen to work with 
multiple llvm::Module instances, and finalize per each 
end-of-translation unit (we have multiple of them). Other changes 
include small adjustments in the FileManager's caching mechanism, and 
bug fixes in the SourceManager (code which can be reached mostly from 
within our setup). One conclusion we can draw from our research is that 
the clang infrastructure fits amazingly well to something which was not 
its main use case. The grand total of our diffs against clang-9 is: `62 
files changed, 1294 insertions(+), 231 deletions(-)`. Cling is currently 
being upgraded from llvm-5 to llvm-9.

A major weakness of cling's infrastructure is that it does not work with 
the clang Action infrastructure due to the lack of an 
IncrementalAction.  A possible way forward would be to implement a 
clang::IncrementalAction as a starting point. This way we should be able 
to reduce the amount of setup necessary to use the incremental 
infrastructure in clang. However, this will be a bit of a testing 
challenge -- cling lives downstream and some of the new code may be 
impossible to pick straight away and use. Building a mainline example 
tool such as clang-repl which gives us a way to test that incremental 
case or repurpose the already existing clang-interpreter may  be able to 
address the issue. The major risk of the task is avoiding code in the 
clang mainline which is untested by its HEP production environment.
There are several other types of patches to the ROOT fork of Clang, 
including ones  in the context of performance,towards  C++ modules 
support (D41416), and storage (does not have a patch yet but has an open 
projects entry and somebody working on it). These patches can be 
considered in parallel independently on the rest.

Extend and Generalize the Language Interoperability Layer Around Cling
---

HEP has extensive experience with on-demand python interoperability 
using cppyy[6], which is built around the type information provided by 
cling. Unlike tools with custom parsers such as swig and sip and tools 
built on top of C-APIs such as boost.python and pybind11, cling can 
provide information about memory management patterns (eg refcounting) 
and instantiate templates on the fly.We feel that functionality may not 
be of general interest to the llvm community but we will prepare another 
RFC and send it here later on to gather feedback.


Extend and Generalize the OpenCL/CUDA Support in Cling
---

Cling can incrementally compile CUDA code [7-8] allowing easier set up 
and enabling some interesting use cases. There are a number of planned 
improvements including talking to HIP [9] and SYCL to support more 
hardware architectures.



The primary focus of our work is to upstreaming functionality required 
to build an incremental compiler and rework cling build against vanilla 
clang and llvm. The last two points are to give the scope of the work 
which we will be doing the next 2-3 years. We will send here RFCs for 
both of them to trigger technical discussion if there is interest in 
pursuing this direction.


Collaboration
===

Open source development nowadays relies on reviewers. LLVM is no 
different and we will probably disturb a good number of people in the 
community ;)We would like to invite anybody interested in joining our 
incremental C++ activities to our open every second week calls. 
Announcements will be done via google group: compiler-research-announce 
(https://groups.google.com/g/compiler-research-announce).



Many thanks!


David & Vassil

Read more Also: Cling C++ Interpreter Looking To Upstream More Code Into LLVM

This week in KDE: New features galore!

Tons and tons of awesome new features and UI polish landed this week, alongside an equally weighty ton of important bugfixes. Read more

Elive 3.8.14 beta released

The Elive Team is proud to announce the release of the beta version 3.8.14 This new version includes: Kernel updated to 5.6.14 retrowave special theme themes, designs, icons improvements and more customizations included bootup with a much more friendly graphical menu, it now remembers your last selected OS, all the options are in the same menu instead of submenus, disabled useless recovery options, improved resolution, fixed wallpaper issue on encrypted installations SWAP space is much more performant now, feedbacks welcome Read more