1825 Monetary Lane Suite #104 Carrollton, TX
Do a presentation at NTLUG.
What is the Linux Installation Project?
Real companies using Linux!
Not just for business anymore.
Providing ready to run platforms on Linux
Show Descriptions... (Show All)
- [$] Microsoft drops support for PHP
For years, Windows PHP users have enjoyed builds provided directly by Microsoft. The company has contributed to the PHP project in many ways, with the binaries made available on windows.php.net being the most visible. Recently Microsoft Project Manager Dale Hirt announced that, beginning with PHP 8.0, Microsoft support for PHP on Windows would end.
- [$] Creating open data interfaces with ODPi
Connecting one source of data to another isn't always easy because of differentstandards, data formats, and APIs to contend with, among the manychallenges. One of the groups that is trying to help with the challenge ofdata interoperability is the Linux Foundation's Open Data Platforminitiative (ODPi). At the 2020Open Source Summit North America virtual event on July 2, ODPiTechnical Steering Committee chairperson MandyChessell outlined the goals of ODPi and the projects that are part of it.She also described how ODPiis taking an open-source development approach to make data moreeasily accessible.
- Security updates for Friday
Security updates have been issued by Fedora (curl, LibRaw, python-pillow, and python36), Mageia (coturn, samba, and vino), openSUSE (opera), and Ubuntu (openssl).
- [$] LibreOffice: the next five years
The LibreOffice project wouldseem to be on a roll. It produces what is widely seen as the leadingfree office-productivity suite, and has managed to move out of the shadowof the moribund (but brand-recognized) ApacheOpenOffice project. The LibreOffice 7 release is coming within a month, and the tenthanniversary of the founding of the Document Foundation arrives inSeptember. Meanwhile, LibreOfficeOnline is taking off and, seemingly, seeing some market success.So it is a bit surprising to see the project's core developersin a sort of crisis mode while users worry about a tag that showed up inthe project's repository.
- Six new stable kernels
Greg Kroah-Hartman has announced the release of the 5.7.8, 5.4.51,4.19.132, 4.14.188, 4.9.230, and 4.4.230 stable kernels. As usual, these allcontain important fixes; users should upgrade.
- Security updates for Thursday
Security updates have been issued by CentOS (firefox), Debian (ffmpeg, fwupd, ruby2.5, and shiro), Fedora (freerdp, gssdp, gupnp, mingw-pcre2, remmina, and xrdp), openSUSE (chocolate-doom), Oracle (firefox and kernel), and Ubuntu (linux, linux-lts-xenial, linux-aws, linux-kvm, linux-raspi2, linux-snapdragon and thunderbird).
- [$] Linux Mint drops Ubuntu Snap packages
The Linux Mint project has made good on previous threats to actively prevent Ubuntu Snap packages from being installed through the APT package-management system without the user's consent. This move is the result of "major worries" from Linux Mint on Snap's impact with regard to user choice and software freedom. Ubuntu's parent company, Canonical, seems open to finding a solution to satisfy the popular distribution's concerns — but it too has interests to consider.
- Security updates for Wednesday
Security updates have been issued by Debian (roundcube), Fedora (chromium, firefox, and ngircd), Oracle (firefox and thunderbird), Scientific Linux (firefox), Slackware (seamonkey), SUSE (djvulibre, ffmpeg, firefox, freetds, gd, gstreamer-plugins-base, icu, java-11-openjdk, libEMF, libexif, librsvg, LibVNCServer, libvpx, Mesa, nasm, nmap, opencv, osc, perl, php7, python-ecdsa, SDL2, texlive-filesystem, and thunderbird), and Ubuntu (cinder, python-os-brick).
- The "Open Usage Commons" launches
Google has announcedthe creation of the Open UsageCommons, which is intended to help open-source projects manage theirtrademarks. From theorganization's own announcement: "We created the Open UsageCommons because free and fair open source trademark use is critical to thelong-term sustainability of open source. However, understanding andmanaging trademarks takes more legal know-how than most project maintainerscan do themselves. The Open Usage Commons is therefore dedicated tocreating a model where everyone in the open source chain – from projectmaintainers to downstream users to ecosystem companies – has peace of mindaround trademark usage and management. The projects in the Open UsageCommons will receive support specific to trademark protection andmanagement, usage guidelines, and conformance testing." Initialmembers include the Angular, Gerrit, and Istio projects.
- Use DNS over TLS
The Domain Name System (DNS) that modern computers use to find resources on the internet was designed 35 years ago without consideration for user privacy. Modernize it by wrapping its queries with Transport Layer Security (TLS)!
- Microsoft to pull support for PHP: Version 8? Exterminate, more like...
No support 'in any capacity' for PHP for Windows for v8 and beyond, but Windows users not to worry, says release managerBorn-again open source fan Microsoft is celebrating 25 years of PHP by, er, pulling its support for the scripting language that is beloved (or dreaded) by server operators the world over.…
- Linux-ready Coffee Lake systems support Nvidia graphics
Neousys’ “Nuvo-8240GC” embedded PC runs on 8th or 9th Gen CPUs with 2x PCIe x16 for dual Tesla T4 GPUs and offers 2x PCIe x8, M.2 for NVMe, and 2x mini-PCIe. A similar Nuvo-8108GC system was tapped by Baidu as a dev kit for its Linux-based Apollo automotive platform. Neousys announced a rugged, Intel Coffee […]
- Making compliance scalable in a container world
Software is increasingly being distributed as container images. Container images include the many software components needed to support the featured software in the container. We should design source code availability into container tools and processes to facilitate open source license compliance that is efficient and portable:
- Add videos as wallpaper on your Linux desktop
The Linux desktop is a beautiful thing, but if you[he]#039[/he]re tired of boring wallpaper, then you should try wallset, a command-line utility allowing you to set a video as your wallpaper. Wallset can also help you manage your wallpaper collection so you can conveniently make changes as often as you want.
- Police Surveilled Protests With Help From Twitter-Affiliated Startup Dataminr
An anonymous reader quotes a report from The Intercept: Leveraging close ties to Twitter, controversial artificial intelligence startup Dataminr helped law enforcement digitally monitor the protests that swept the country following the killing of George Floyd, tipping off police to social media posts with the latest whereabouts and actions of demonstrators, according to documents reviewed by The Intercept and a source with direct knowledge of the matter. The monitoring seems at odds with claims from both Twitter and Dataminr that neither company would engage in or facilitate domestic surveillance following a string of 2016 controversies. Twitter, up until recently a longtime investor in Dataminr alongside the CIA, provides the company with full access to a content stream known as the "firehose" -- a rare privilege among tech firms and one that lets Dataminr, recently valued at over $1.8 billion, scan every public tweet as soon as its author hits send. Both companies denied that the protest monitoring meets the definition of surveillance. Dataminr's Black Lives Matter protest surveillance included persistent monitoring of social media to tip off police to the locations and activities of protests, developments within specific rallies, as well as instances of alleged "looting" and other property damage. According to the source with direct knowledge of Dataminr's protest monitoring, the company and Twitter's past claims that they don't condone or enable surveillance are "bullshit," relying on a deliberately narrowed definition. "It's true Dataminr doesn't specifically track protesters and activists individually, but at the request of the police they are tracking protests, and therefore protesters," this source explained. According to internal materials reviewed by The Intercept, Dataminr meticulously tracked not only ongoing protests, but kept comprehensive records of upcoming anti-police violence rallies in cities across the country to help its staff organize their monitoring efforts, including events' expected time and starting location within those cities. A protest schedule seen by The Intercept shows Dataminr was explicitly surveilling dozens of protests big and small, from Detroit and Brooklyn to York, Pennsylvania, and Hampton Roads, Virginia. Company documents also show the firm instructed members of its staff to look for instances of "lethal force used against protesters by police or vice-versa," "property damage," "widespread arson or looting against government or commercial infrastructure," "new instances of officer-involved shootings or death with potential interpretation of racial bias," and occasions when a "violent protests spreads to new major American city." Staff were also specifically monitoring social media for posts about "Officers involved in Floyd's death" -- all of which would be forwarded to Dataminr's governmental customers through a service named "First Alert." [...] First Alert also scans other popular platforms like Snapchat and Facebook, the latter being particularly useful for protest organizers trying to rapidly mobilize their communities. On at least one occasion, according to MPD records, Dataminr was able to point police to a protest's Facebook event page before it had begun.
Read more of this story at Slashdot.
- Canadian Genetic Non-Discrimination Act Upheld
Long-time Slashdot reader kartis writes: Canada's Supreme Court upheld the Genetic Non-Discrimination Act (GINA) which prohibits under criminal penalty, employers or insurers from demanding or using genetic information. This was a result of a private member's bill in Parliament, which meant it passed without the government's support, and in fact both the Federal government and Quebec government (which had gotten it declared unconstitutional as outside federal powers) argued that it extended criminal powers into a provincial jurisdiction. Well, the Supreme Court has surprisingly upheld it in a 5-4 decision, which means great things for Canadians' privacy, and also suggests a wider ability for federal privacy legislation than many jurists had thought.
Read more of this story at Slashdot.
- Tyson Bets On Robots To Tackle Meat Industry's Worker Shortage
At Tyson's 26,000-square-foot, multi-million dollar Manufacturing Automation Center near its headquarters in Springdale, Arkansas, the company will apply the latest advances in machine learning to meat manufacturing, with the goal of eventually eliminating jobs that can be physically demanding, highly repetitive and at times dangerous. Bloomberg reports: Advances in technology are making it possible to make strides in automation. For example, machine vision is now accurate and speedy enough to apply to meat production, which is highly labor intensive compared with other food manufacturing. Also, a lot of washing and sanitizing occurs in a meat-packing plant, which has traditionally been difficult on robots, but now the machines are built to withstand that. At Tyson's new facility, a series of laboratories showcase different types of robots. Mechanical arms in glass cases use smart cameras to sort colorful objects or stack items. In another room, a larger machine called a palletizer performs stacking tasks. There's also a training space. Many of the types of robots that a meatpacking plant would need are not on the market currently, so the company needs to innovate and collaborate with partners to create them, said Doug Foreman, a director in engineering at Tyson. But the technology is ready. The processing capabilities of cameras are "so advanced even from a few years ago," Foreman said. "Processing-speed-wise, it's there now for us."
Read more of this story at Slashdot.
- Apple Supplier Foxconn To Invest $1 Billion In India
Foxconn plans to invest up to $1 billion to expand a factory in southern India where the Taiwanese contract manufacturer assembles Apple iPhones. Fox Business reports: The move, the scale of which has not previously been reported, is part of a quiet and gradual production shift by Apple away from China as it navigates disruptions from a trade war between Beijing and Washington and the coronavirus crisis. "There's a strong request from Apple to its clients to move part of the iPhone production out of China," one of the sources with direct knowledge of the matter told Reuters. Foxconn's planned investment in the Sriperumbur plant, where Apple's iPhone XR is made some 50 km west of Chennai, will take place over the course of three years. Some of Apple's other iPhones models, made by Foxconn in China, will be made at the plant. Taipei-headquartered Foxconn will add some 6,000 jobs at the Sriperumbur plant in Tamil Nadu state under the plan. It also operates a separate plant in the southern Indian state of Andhra Pradesh, where it makes smartphones for China's Xiaomi Corp, among others. "With India's labour cheaper compared with China, and the gradual expansion of its supplier base here, Apple will be able to use the country as an export hub," Neil Shah of Hong Kong-based tech researcher Counterpoint said.
Read more of this story at Slashdot.
- The Uncertain Future of Ham Radio
Julianne Pepitone from IEEE Spectrum writes about the uncertain future of ham radio. An anonymous reader shares an excerpt: Will the amateur airwaves fall silent? Since the dawn of radio, amateur operators -- hams -- have transmitted on tenaciously guarded slices of spectrum. Electronic engineering has benefited tremendously from their activity, from the level of the individual engineer to the entire field. But the rise of the Internet in the 1990s, with its ability to easily connect billions of people, captured the attention of many potential hams. Now, with time taking its toll on the ranks of operators, new technologies offer opportunities to revitalize amateur radio, even if in a form that previous generations might not recognize. The number of U.S. amateur licenses has held at an anemic 1 percent annual growth for the past few years, with about 7,000 new licensees added every year for a total of 755,430 in 2018. The U.S. Federal Communications Commission doesn't track demographic data of operators, but anecdotally, white men in their 60s and 70s make up much of the population. As these baby boomers age out, the fear is that there are too few young people to sustain the hobby. This question of how to attract younger operators also reveals deep divides in the ham community about the future of amateur radio. Like any large population, ham enthusiasts are no monolith; their opinions and outlooks on the decades to come vary widely. And emerging digital technologies are exacerbating these divides: Some hams see them as the future of amateur radio, while others grouse that they are eviscerating some of the best things about it. No matter where they land on these battle lines, however, everyone understands one fact. The world is changing; the amount of spectrum is not. And it will be hard to argue that spectrum reserved for amateur use and experimentation should not be sold off to commercial users if hardly any amateurs are taking advantage of it. One of the key debates in ham radio is its main function in the future: Is it a social hobby? A utility to deliver data traffic? And who gets to decide? "Those questions have no definitive or immediate answers, but they cut to the core of the future of ham radio," writes Pepitone. "Loring Kutchins, president of the Amateur Radio Safety Foundation, Inc. (ARSFi) -- which funds and guides the 'global radio email' system Winlink -- says the divide between hobbyists and utilitarians seems to come down to age." "Younger people who have come along tend to see amateur radio as a service, as it's defined by FCC rules, which outline the purpose of amateur radio -- especially as it relates to emergency operations," Kutchins (W3QA) told Spectrum last year. Kutchins, 68, expanded on the theme in a recent interview: "The people of my era will be gone -- the people who got into it when it was magic to tune into Radio Moscow. But Grandpa's ham radio set isn't that big a deal compared to today's technology. That doesn't have to be sad. That's normal." "Ham radio is really a social hobby, or it has been a very social hobby -- the rag-chewing has historically been the big part of it," says Martin F. Jue (K5FLU), founder of radio accessories maker MFJ Enterprises, in Starkville, Miss. "Here in Mississippi, you get to 5 or 6 o' clock and you have a big network going on and on -- some of them are half-drunk chattin' with you. It's a social group, and they won't even talk to you unless you're in the group."
Read more of this story at Slashdot.
- Charter's Hidden 'Broadcast TV' Fee Now Adds $197 a Year To Cable Bills
Charter is raising the "Broadcast TV" fee it imposes on cable plans from $13.50 to $16.45 a month starting in August. "Charter has raised the fee repeatedly -- it stood at $9.95 in early 2019 before a series of price increases," reports Ars Technica. "It $16.45 a month, the fee will cost customers an additional $197.40 per year." From the report: Charter says the Broadcast TV fee covers the amount it pays broadcast television stations (e.g. affiliates of CBS, NBC, ABC, and Fox) for the right to carry their channels. But for consumers, it is essentially a hidden fee because Charter's advertised TV prices don't include it. Charter imposes a smaller Broadcast TV fee on its streaming TV plans, but is raising that charge from $6 to $8.95 a month, Stop the Cap wrote. Charter is also raising the base price of its TV service. "Spectrum's most popular TV Select package is expected to increase $1.50/month to $73.99/month," Stop the Cap wrote. "Customers on a promotional pricing plan will not see this rate increase until their promotional pricing expires." The Broadcast TV fee change will apparently apply even to customers who are on promotional deals that lock in a price for a set amount of time. Charter told us that promotional prices apply to the "package price," which "will not change until the end of their promotional period." But Charter said that the "Broadcast TV Service Charge is separate from the TV package price," so it can go up regardless of whether a customer is still on a promotional deal. For comparison, Comcast's Broadcast TV fee is $14.95 a month.
Read more of this story at Slashdot.
- Android 10 Had the Fastest Adoption Rate of Any Version of Android Yet
Google announced that Android is seeing the fastest adoption rates of any version of Android. The Verge reports: According to Google, Android 10 was installed on 100 million devices five months after its launch in September 2019 â" 28 percent faster than it took the company to reach a similar milestone for Android Pie. Google credits the faster adoption rate to improvements the company has been making over the years, like Android Oreo's Project Treble and Android 10's Project Mainline, which makes it easier for hardware companies to create new updates. But while those numbers are impressive, Google's post is notably missing some crucial information, like what percentage of Android devices are running Android 10 -- a number that's sure to be lower than Google would like. In fact, Google has effectively stopped publishing the breakdown percentage of which Android devices are running which version of Android entirely, following a similar announcement last August that looked back at Android 9 Pie adoption rates. (At the time, Android Pie had been installed on 22.6 percent of Android devices ahead of the release of Android 10.)
Read more of this story at Slashdot.
- Facebook Considers Political-Ad Blackout Ahead of US Election
An anonymous reader quotes a report from Bloomberg: Facebook is considering imposing a ban on political ads on its social network in the days leading up to the U.S. election in November, according to people familiar with the company's thinking. The potential ban is still only being discussed and hasn't yet been finalized, said the people, who asked not to be named talking about internal policies. A halt on ads could serve as a defense against misleading election-related content spreading widely right as people prepare to vote. Still, there are also concerns that an ad blackout could hurt "get out the vote" campaigns, or limit a candidate's ability to respond widely to breaking news or new information. Facebook doesn't fact-check ads from politicians or their campaigns, a point of contention for many lawmakers and advocates, who say the policy means ads on the platform could be used to spread lies and misinformation. The social-media giant has been criticized in recent weeks by civil rights groups that say it doesn't do enough to remove efforts to limit voter participation, and a recent audit of the company found Facebook failed to enforce its own voter suppression policies when it comes to posts from U.S. President Donald Trump. Hundreds of advertisers are currently boycotting Facebook's advertising products as part of a protest against its policies.
Read more of this story at Slashdot.
- Google Bans Stalkerware Ads
Google announced plans this week to ban ads that promote stalkerware, spyware, and other forms of surveillance technology that can be used to track other persons without their specific consent. From a report: The change was announced this week as part of an upcoming update to Google Ads policies, set to enter into effect next month, on August 11, 2020. Examples of products and services that advertisers won't be able to promote via Google Ads anymore include: 1. Spyware and technology used for intimate partner surveillance including but not limited to spyware/malware that can be used to monitor texts, phone calls, or browsing history; 2. GPS trackers specifically marketed to spy or track someone without their consent; 3. Promotion of surveillance equipment (cameras, audio recorders, dash cams, nanny cams) marketed with the express purpose of spying.
Read more of this story at Slashdot.
- Amazon Delays Next Video Game Half a Year After Latest One Flops
Following scathing reviews of a computer game it released in May, Amazon.com is delaying its next big-budget game by at least six months. From a report: The decision represents another setback for the technology giant's ambitions to break into the gaming industry. The next game, New World, was supposed to debut in late August but is now scheduled for spring 2021, Rich Lawrence, director of Amazon's game studio, wrote in a blog post Friday. The company wants extra time to implement changes suggested by players who have been testing the game, he wrote. Delays are fairly common in the video game industry, but this was an important opportunity for Amazon to redeem itself after a recent flop. Amazon is trying to make a name for itself as a maker of big-budget video games that can compete with those from the likes of Activision Blizzard and Electronic Arts. But Amazon's Crucible, a free-to-play PC game introduced in May, was panned by critics, prompting Amazon to take the highly unusual step of pulling the game from wide circulation.
Read more of this story at Slashdot.
- Cling C++ Interpreter Looking To Upstream More Code Into LLVM
Not to be confused with Clang as the well known C/C++ compiler front-end for the LLVM compiler, Cling is a separate project as an interactive, JIT-based C++ interpreter. Cling has been in development for years and at least partially is looking to upstream where possible back into LLVM...
- Linux Might Pursue x86_64 Micro-Architecture Feature Levels
Stemming from the recent GNU glibc work on better handling modern CPU optimizations with newer instruction set extensions across Intel and AMD product families, the concept of x86-64 micro-architecture feature levels is being talked about by open-source/Linux developers...
- AMD Ryzen 9 3900XT vs. Intel Core i9 10900K Linux Gaming Performance
Following the 130+ benchmarks of the AMD Ryzen 3000XT series earlier in the week looking at the CPU/system performance on Ubuntu Linux, here is our first look at the Linux gaming performance with putting the Ryzen 9 3900XT up head-to-head against the Intel Core i9 10900K.
- Wayland-Info Spun From Weston Code For Offering Wayland Helper Tool
Wayland's Weston compositor has provided a weston-info utility to display information on supported Wayland extensions and versioning along with other details of the Wayland compositor environment. That utility is now being spun out as wayland-info as a Wayland compositor-agnostic utility for displaying this information...
- Security: Why Linux Is Better Than Windows Or Mac OS
Linux is a free and open source operating system that was released in 1991 developed and released by Linus Torvalds. Since its release it has reached a user base that is greatly widespread worldwide. Linux users swear by the reliability and freedom that this operating system offers, especially when compared to its counterparts, windows and 
- Essential Software That Are Not Available On Linux OS
An operating system is essentially the most important component in a computer. It manages the different hardware and software components of a computer in the most effective way. There are different types of operating system and everything comes with their own set of programs and software. You cannot expect a Linux program to have all 
- Things You Never Knew About Your Operating System
The advent of computers has brought about a revolution in our daily life. From computers that were so huge to fit in a room, we have come a very long way to desktops and even palmtops. These machines have become our virtual lockers, and a life without these network machines have become unimaginable. Sending mails, 
- How To Fully Optimize Your Operating System
Computers and systems are tricky and complicated. If you lack a thorough knowledge or even basic knowledge of computers, you will often find yourself in a bind. You must understand that something as complicated as a computer requires constant care and constant cleaning up of junk files. Unless you put in the time to configure 
- The Top Problems With Major Operating Systems
There is no such system which does not give you any problems. Even if the system and the operating system of your system is easy to understand, there will be some times when certain problems will arise. Most of these problems are easy to handle and easy to get rid of. But you must be 
- 8 Benefits Of Linux OS
Linux is a small and a fast-growing operating system. However, we can’t term it as software yet. As discussed in the article about what can a Linux OS do Linux is a kernel. Now, kernels are used for software and programs. These kernels are used by the computer and can be used with various third-party software 
- Things Linux OS Can Do That Other OS Can’t
What Is Linux OS? Linux, similar to U-bix is an operating system which can be used for various computers, hand held devices, embedded devices, etc. The reason why Linux operated system is preferred by many, is because it is easy to use and re-use. Linux based operating system is technically not an Operating System. Operating 
- Packagekit Interview
Packagekit aims to make the management of applications in the Linux and GNU systems. The main objective to remove the pains it takes to create a system. Along with this in an interview, Richard Hughes, the developer of Packagekit said that he aims to make the Linux systems just as powerful as the Windows or 
- What’s New in Ubuntu?
What Is Ubuntu? Ubuntu is open source software. It is useful for Linux based computers. The software is marketed by the Canonical Ltd., Ubuntu community. Ubuntu was first released in late October in 2004. The Ubuntu program uses Java, Python, C, C++ and C# programming languages. What Is New? The version 17.04 is now available here 
- Ext3 Reiserfs Xfs In Windows With Regards To Colinux
The problem with Windows is that there are various limitations to the computer and there is only so much you can do with it. You can access the Ext3 Reiserfs Xfs by using the coLinux tool. Download the tool from the official site or from the sourceforge site. Edit the connection to “TAP Win32 Adapter 
- Microsoft and Google team up to make PWAs better in the Play Store
We’re glad to announce a new collaboration between Microsoft and Google for the benefit of the web developer community. Microsoft’s PWABuilder and Google’s Bubblewrap are now working together to help developers publish PWAs in the Google Play Store. PWABuilder.com is Microsoft’s open source developer tool that helps you build high quality PWAs and publish them in app stores. Bubblewrap is Google’s command line utility and library to generate and sign Google Play Store packages from Progressive Web Apps. I hope this further improves PWAs, since they are a godsend for smaller operating systems and even bigger ones that are not macOS or Windows. Sure, nothing beats a proper native application, but if the choice is no application or a reasonably integrated PWA Ill take the PWA.
- Resurrecting BeIA
Did you ever wonder what BeIA really was? A lot of people talked about BeIA back in the days Be, Inc. was still developing its OS for internet appliances, but after Be, Inc. closed its doors, BeIA vanished as well. A thread over on the Haiku discussion forums which began as a talking point for how Haiku could recreate a BeIA style concept turned in to a treasure trove of BeIA information, including examples of BeIA running and an overview of some of the process of building BeIA distributions. This video shows it all in action, including BeIA running under emulation. Theres also a wonderful video shot in Be, Incs offices where a Hungarian UG member gets a tour and shown BeIA hardware, with terrible framerate and resolution, but well worth checking out.
- Canonical and Google enable Linux desktop app support with Flutter through snap
It has long been our vision for Flutter to power platforms. We’ve seen this manifest already at Google with products like the Assistant so now we’re thrilled to see others harnessing Flutter to power more platforms. Today we are happy to jointly announce the availability of the Linux alpha for Flutter alongside Canonical, the publisher of Ubuntu, the world’s most popular desktop Linux distribution. I welcome any additional investment in Linux or other operating systems that arent the macOS or Windows, but this one has a major downside: its all tied to Canonicals snaps and Snap Store. In case you are unaware snaps are quite controversial in the Linux world, and Linux Mint, one of the most popular Linux distributions, has taken a very proactive approach in removing them. Their reasoning makes it very clear why snap is so problematic: Applications in this store cannot be patched, or pinned. You can’t audit them, hold them, modify them or even point snap to a different store. You’ve as much empowerment with this as if you were using proprietary software, i.e. none. This is in effect similar to a commercial proprietary solution, but with two major differences: It runs as root, and it installs itself without asking you. On top of all this, the snap server is closed source. Snap is simply a no-go, and Im saddened Google decided to opt for using it. Then again, Google has never shown any interest whatsoever in desktop Linux preferring to simply take, but not give. None of their applications other than Chrome are available on Linux, and opting for snap further demonstrates Google doesnt really seem to understand the Linux ecosystem at all. All they had to do was release a source tarball, and for a few extra brownie points, maybe a .deb and/or .rpm, but that isnt even necessary. If your tool is good enough, it will be picked up by distributions and third parties who will make those packages for you. Google opting for snap instead indicates they have little faith in their own product being good and valuable enough to be embraced by the Linux distribution community. And if they dont have any faith, why should I?
- Microsoft and Zoom join Hong Kong data pause
Microsoft and Zoom have said they will not process data requests made by the Hong Kong authorities while they take stock of a new security law. They follow Facebook, Google, Twitter and the chat app Telegram, which had already announced similar pauses! in compliance over the past two days. China passed the law on 30 June, criminalising acts that support independence, making it easier to punish protesters. This feels more like a lets get some good press in the west while we resume normal operation in aiding the genocidal Chinese regime when people stop caring! than a real principled stand, but with how everybody just rolls over for China, Ill take any element of resistance no matter how weak sauce I can get. It doesnt get much weaker than pausing!, though. Apple says it is assessing! the rules. Oh turns out I was wrong. It does get weaker.
- The super duper universal binary
A question I got repeatedly the last couple days was, now that AARM (Apple ARM) is a thing, is the ultimate ARM-Intel-PowerPC Universal Binary possible? You bet it is! In fact, Apple already documents that you could have a five-way binary, i.e., ARM64, 32-bit PowerPC, 64-bit PowerPC, i386 and x86_64. Just build them separately and lipo them together. Youll be able to eventually build a binary that contains code for every Mac hardware and software platform starting from Classic all the way up to macOS Big Sur, and from m68k all the way up to ARM. I doubt anyone will use it, but that doesnt make it any less cool.
- Nokia to add open interfaces to its telecom equipment
Finland’s Nokia on Tuesday became the first major telecom equipment maker to commit to adding open interfaces in its products that will allow mobile operators to build networks that are not tied to a vendor. The new technology, dubbed Open Radio Access Network (Open RAN), aims to reduce reliance on any one vendor by making every part of a telecom network interoperable and allowing operators to choose different suppliers for different components. Im definitely not versed enough in low-level networking equipment to understand just how significant it is, but on the face of it, it does sound like a good move.
- The Document Foundation clarifies Personal Edition! label for LibreOffice 7.0
Due to draft and development work in the area of branding and product naming, some speculation, in particular related to the “Personal Edition” tag shown in a LibreOffice 7.0 RC (Release Candidate), has started on several communication channels. So let us, as The Document Foundation’s Board of Directors, please provide further clarifications: 1. None of the changes being evaluated will affect the license, the availability, the permitted uses and/or the functionality. LibreOffice will always be free software and nothing is changing for end users, developers and Community members. Basically, The Document Foundation intends to offer through partners professional paid-for support for LibreOffice to enterprise customers, and hence the tentative name to differentiate the LibreOffice we all know from the supported one.
- Booting a 486 from floppy with the most up-to-date stable Linux kernel
Since I wanted to see how Linux would detect the drive that meant I needed to find a way to boot Linux. After a bit of googling I discovered the make tinyconfig option which makes a very small (but useless) kernel, small enough to fit on a floppy. I enabled a couple of other options, found a small enough initramfs, and was able to get it to boot on the 486. And as expected Linux has no problem with seeing that the drive is connected and the drives full capacity. Next step is to actually get Linux installed to the hard drive. Id rather not roll my own distro but maybe Ill have to. Another possibility is to boot Linux from floppy and then download a kernel and initrd from a current distro and kexec over to it. But that feels to me like reinventing iPXE. Thats version 5.8 of the Linux kernel running on a 486. I shouldnt be surprised that this is possible, yet Im still surprised this is possible.
- Google-backed groups criticize Apples new warnings on user tracking
Sixteen marketing associations, some of which are backed by Facebook Inc and Alphabet Inc’s Google, faulted Apple for not adhering to an ad-industry system for seeking user consent under European privacy rules. Apps will now need to ask for permission twice, increasing the risk users will refuse, the associations argued. Cry me a river. Theres an interesting note later in the linked article: Apple engineers also said last week the company will bolster a free Apple-made tool that uses anonymous, aggregated data to measure whether advertising campaigns are working and that will not trigger the pop-up. But of course it doesnt. Its made by Apple, after all, and we all trust Apple, right? Its not like Apple rushed to sell out everything privacy-related to a regime committing genocide, so we clearly have nothing to worry about when Apple forces itself into the advertising business by leveraging its iOS platform.
- Hands-on: 85+ new macOS Big Sur changes and features
After going in depth with iOS 14 earlier this week, today we focus on macOS Big Sur. The biggest takeaway from my hands-on time with the follow up to macOS Catalina is that Apple’s latest OS is clearly being designed with the future in mind. Although it’s unmistakably Mac, Big Sur is a departure from previous versions of macOS in terms of aesthetics. Everything, from the dock, to the menu bar, to window chrome, icons, and even sounds have been updated. A good overview of the many, many changes in Big Sur. Interesting sidenote: with both Windows and macOS now heavily catering towards touch use, this leaves Linux and most of the smaller platforms, like the Amiga or Haiku as one of the last remaining places with graphical user interfaces designed 100% towards mouse input. Big buttons, lots spacing, lots of wasted space its coming to your Mac.
- Linux Journal Ceases Publication: An Awkward Goodbye
by Kyle Rankin IMPORTANT NOTICE FROM LINUX JOURNAL, LLC: On August 7, 2019, Linux Journal shut its doors for good. All staff were laid off and the company is left with no operating funds to continue in any capacity. The website will continue to stay up for the next few weeks, hopefully longer for archival purposes if we can make it happen. –Linux Journal, LLC
Final Letter from the Editor: The Awkward Goodbye
by Kyle Rankin
Have you ever met up with a friend at a restaurant for dinner, then after dinner you both step out to the street and say a proper goodbye, only when you leave, you find out that you both are walking in the same direction? So now, you get to walk together awkwardly until the true point where you part, and then you have another, second goodbye, that's much more awkward.
That's basically this post.
So, it was almost two years ago that I first said goodbye to Linux Journal and the Linux Journal community in my post "So Long and Thanks for All the Bash". That post was a proper goodbye. For starters, it had a catchy title with a pun. The post itself had all the elements of a proper goodbye: part retrospective, part "Thank You" to the Linux Journal team and the community, and OK, yes, it was also part rant. I recommend you read (or re-read) that post, because it captures my feelings about losing Linux Journal way better than I can muster here on our awkward second goodbye.
Of course, not long after I wrote that post, we found out that Linux Journal wasn't dead after all! We all actually had more time together and got to work fixing everything that had caused us to die in the first place. A lot of our analysis of what went wrong and what we intended to change was captured in my article Go to Full Article
- Oops! Debugging Kernel Panics
by Petros Koutoupis
A look into what causes kernel panics and some utilities to help gain more information.
Working in a Linux environment, how often have you seen a kernel panic? When it happens, your system is left in a crippled state until you reboot it completely. And, even after you get your system back into a functional state, you're still left with the question: why? You may have no idea what happened or why it happened. Those questions can be answered though, and the following guide will help you root out the cause of some of the conditions that led to the original crash.
Figure 1. A Typical Kernel Panic
Let's start by looking at a set of utilities known as kexec and kdump. kexec allows you to boot into another kernel from an existing (and running) kernel, and kdump is a kexec-based crash-dumping mechanism for Linux.
Installing the Required Packages
First and foremost, your kernel should have the following components statically built in to its image:
CONFIG_RELOCATABLE=y CONFIG_KEXEC=y CONFIG_CRASH_DUMP=y CONFIG_DEBUG_INFO=y CONFIG_MAGIC_SYSRQ=y CONFIG_PROC_VMCORE=y
You can find this in /boot/config-`uname -r`.
Make sure that your operating system is up to date with the latest-and-greatest package versions:
$ sudo apt update && sudo apt upgrade
Install the following packages (I'm currently using Debian, but the same should and will apply to Ubuntu):
$ sudo apt install gcc make binutils linux-headers-`uname -r` ↪kdump-tools crash `uname -r`-dbg
Note: Package names may vary across distributions.
During the installation, you will be prompted with questions to enable kexec to handle reboots (answer whatever you'd like, but I answered "no"; see Figure 2).
Figure 2. kexec Configuration Menu
And to enable kdump to run and load at system boot, answer "yes" (Figure 3).
Figure 3. kdump Configuration Menu
Open the /etc/default/kdump-tools file, and at the very top, you should see the following:
Go to Full Article
- Loadsharers: Funding the Load-Bearing Internet Person
by Eric S. Raymond
The internet has a sustainability problem. Many of its critical services depend on the dedication of unpaid volunteers, because they can't be monetized and thus don't have any revenue stream for the maintainers to live on. I'm talking about services like DNS, time synchronization, crypto libraries—software without which the net and the browser you're using couldn't function.
These volunteer maintainers are the Load-Bearing Internet People (LBIP). Underfunding them is a problem, because underfunded critical services tend to have gaps and holes that could have been fixed if there were more full-time attention on them. As our civilization becomes increasingly dependent on this software infrastructure, that attention shortfall could lead to disastrous outages.
I've been worrying about this problem since 2012, when I watched a hacker I know wreck his health while working on a critical infrastructure problem nobody else understood at the time. Billions of dollars in e-commerce hung on getting the particular software problem he had spotted solved, but because it masqueraded as network undercapacity, he had a lot of trouble getting even technically-savvy people to understand where the problem was. He solved it, but unable to afford medical insurance and literally living in a tent, he eventually went blind in one eye and is now prone to depressive spells.
More recently, I damaged my ankle and discovered that although there is such a thing as minor surgery on the medical level, there is no such thing as "minor surgery" on the financial level. I was looking—still am looking—at a serious prospect of either having my life savings wiped out or having to leave all 52 of the open-source projects I'm responsible for in the lurch as I scrambled for a full-time job. Projects at risk include the likes of GIFLIB, GPSD and NTPsec.
That refocused my mind on the LBIP problem. There aren't many Load-Bearing Internet People—probably on the close order of 1,000 worldwide—but they're a systemic vulnerability made inevitable by the existence of common software and internet services that can't be metered. And, burning them out is a serious problem. Even under the most cold-blooded assessment, civilization needs the mean service life of an LBIP to be long enough to train and acculturate a replacement.
(If that made you wonder—yes, in fact, I am training an apprentice. Different problem for a different article.)
Alas, traditional centralized funding models have failed the LBIPs. There are a few reasons for this:
Go to Full Article
- Documenting Proper Git Usage
by Zack Brown
Jonathan Corbet wrote a document for inclusion in the kernel tree, describing best practices for merging and rebasing git-based kernel repositories. As he put it, it represented workflows that were actually in current use, and it was a living document that hopefully would be added to and corrected over time.
The inspiration for the document came from noticing how frequently Linus Torvalds was unhappy with how other people—typically subsystem maintainers—handled their git trees.
It's interesting to note that before Linus wrote the git tool, branching and merging was virtually unheard of in the Open Source world. In CVS, it was a nightmare horror of leechcraft and broken magic. Other tools were not much better. One of the primary motivations behind git—aside from blazing speed—was, in fact, to make branching and merging trivial operations—and so they have become.
One of the offshoots of branching and merging, Jonathan wrote, was rebasing—altering the patch history of a local repository. The benefits of rebasing are fantastic. They can make a repository history cleaner and clearer, which in turn can make it easier to track down the patches that introduced a given bug. So rebasing has a direct value to the development process.
On the other hand, used poorly, rebasing can make a big mess. For example, suppose you rebase a repository that has already been merged with another, and then merge them again—insane soul death.
So Jonathan explained some good rules of thumb. Never rebase a repository that's already been shared. Never rebase patches that come from someone else's repository. And in general, simply never rebase—unless there's a genuine reason.
Since rebasing changes the history of patches, it relies on a new "base" version, from which the later patches diverge. Jonathan recommended choosing a base version that was generally thought to be more stable rather than less—a new version or a release candidate, for example, rather than just an arbitrary patch during regular development.
Jonathan also recommended, for any rebase, treating all the rebased patches as new code, and testing them thoroughly, even if they had been tested already prior to the rebase.
"If", he said, "rebasing is limited to private trees, commits are based on a well-known starting point, and they are well tested, the potential for trouble is low."
Moving on to merging, Jonathan pointed out that nearly 9% of all kernel commits were merges. There were more than 1,000 merge requests in the 5.1 development cycle alone.
Go to Full Article
- Understanding Python's asyncio
by Reuven M. Lerner
How to get started using Python's asyncio.
Earlier this year, I attended PyCon, the international Python conference. One topic, presented at numerous talks and discussed informally in the hallway, was the state of threading in Python—which is, in a nutshell, neither ideal nor as terrible as some critics would argue.
A related topic that came up repeatedly was that of "asyncio", a relatively new approach to concurrency in Python. Not only were there formal presentations and informal discussions about asyncio, but a number of people also asked me about courses on the subject.
I must admit, I was a bit surprised by all the interest. After all, asyncio isn't a new addition to Python; it's been around for a few years. And, it doesn't solve all of the problems associated with threads. Plus, it can be confusing for many people to get started with it.
And yet, there's no denying that after a number of years when people ignored asyncio, it's starting to gain steam. I'm sure part of the reason is that asyncio has matured and improved over time, thanks in no small part to much dedicated work by countless developers. But, it's also because asyncio is an increasingly good and useful choice for certain types of tasks—particularly tasks that work across networks.
So with this article, I'm kicking off a series on asyncio—what it is, how to use it, where it's appropriate, and how you can and should (and also can't and shouldn't) incorporate it into your own work.
What Is asyncio?
Everyone's grown used to computers being able to do more than one thing at a time—well, sort of. Although it might seem as though computers are doing more than one thing at a time, they're actually switching, very quickly, across different tasks. For example, when you ssh in to a Linux server, it might seem as though it's only executing your commands. But in actuality, you're getting a small "time slice" from the CPU, with the rest going to other tasks on the computer, such as the systems that handle networking, security and various protocols. Indeed, if you're using SSH to connect to such a server, some of those time slices are being used by sshd to handle your connection and even allow you to issue commands.
All of this is done, on modern operating systems, via "pre-emptive multitasking". In other words, running programs aren't given a choice of when they will give up control of the CPU. Rather, they're forced to give up control and then resume a little while later. Each process running on a computer is handled this way. Each process can, in turn, use threads, sub-processes that subdivide the time slice given to their parent process.
Go to Full Article
- RV Offsite Backup Update
by Kyle Rankin
Having an offsite backup in your RV is great, and after a year of use, I've discovered some ways to make it even better.
Last year I wrote a feature-length article on the data backup system I set up for my RV (see Kyle's "DIY RV Offsite Backup and Media Server" from the June 2018 issue of LJ). If you haven't read that article yet, I recommend checking it out first so you can get details on the system. In summary, I set up a Raspberry Pi media center PC connected to a 12V television in the RV. I connected an 8TB hard drive to that system and synchronized all of my files and media so it acted as a kind of off-site backup. Finally, I set up a script that would attempt to sync over all of those files from my NAS whenever it detected that the RV was on the local network. So here, I provide an update on how that system is working and a few tweaks I've made to it since.
Overall, the media center has worked well. It's been great to have all of my media with me when I'm on a road trip, and my son appreciates having access to his favorite cartoons. Because the interface is identical to the media center we have at home, there's no learning curve—everything just works. Since the Raspberry Pi is powered off the TV in the RV, you just need to turn on the TV and everything fires up.
It's also been great knowing that I have a good backup of all of my files nearby. Should anything happen to my house or my main NAS, I know that I can just get backups from the RV. Having peace of mind about your important files is valuable, and it's nice knowing in the worst case when my NAS broke, I could just disconnect my USB drive from the RV, connect it to a local system, and be back up and running.
The WiFi booster I set up on the RV also has worked pretty well to increase the range of the Raspberry Pi (and the laptops inside the RV) when on the road. When we get to a campsite that happens to offer WiFi, I just reset the booster and set up a new access point that amplifies the campsite signal for inside the RV. On one trip, I even took it out of the RV and inside a hotel room to boost the weak signal.
Go to Full Article
- Another Episode of "Seems Perfectly Feasible and Then Dies"--Script to Simplify the Process of Changing System Call Tables
by Zack Brown
David Howells put in quite a bit of work on a script, ./scripts/syscall-manage.pl, to simplify the entire process of changing the system call tables. With this script, it was a simple matter to add, remove, rename or renumber any system call you liked. The script also would resolve git conflicts, in the event that two repositories renumbered the system calls in conflicting ways.
Why did David need to write this patch? Why weren't system calls already fairly easy to manage? When you make a system call, you add it to a master list, and then you add it to the system call "tables", which is where the running kernel looks up which kernel function corresponds to which system call number. Kernel developers need to make sure system calls are represented in all relevant spots in the source tree. Renaming, renumbering and making other changes to system calls involves a lot of fiddly little details. David's script simply would do everything right—end of story no problemo hasta la vista.
Arnd Bergmann remarked, "Ah, fun. You had already threatened to add that script in the past. The implementation of course looks fine, I was just hoping we could instead eliminate the need for it first." But, bowing to necessity, Arnd offered some technical suggestions for improvements to the patch.
However, Linus Torvalds swooped in at this particular moment, saying:
Ugh, I hate it.
I'm sure the script is all kinds of clever and useful, but I really think the solution is not this kind of helper script, but simply that we should work at not having each architecture add new system calls individually in the first place.
IOW, we should look at having just one unified table for new system call numbers, and aim for the per-architecture ones to be for "legacy numbering".
Maybe that won't happen, but in the _hope_ that it happens, I really would prefer that people not work at making scripts for the current nasty situation.
And the portcullis came crashing down.
It's interesting that, instead of accepting this relatively obvious improvement to the existing situation, Linus would rather leave it broken and ugly, so that someone someday somewhere might be motivated to do the harder-yet-better fix. And, it's all the more interesting given how extreme the current problem is. Without actually being broken, the situation requires developers to put in a tremendous amount of care and effort into something that David's script could make trivial and easy. Even for such an obviously "good" patch, Linus gives thought to the policy and cultural implications, and the future motivations of other people working in that region of code.
Note: if you're mentioned above and want to post a response above the comment section, send a message with your response text to firstname.lastname@example.org.
Go to Full Article
- Experts Attempt to Explain DevOps--and Almost Succeed
by Bryan Lunduke
What is DevOps? How does it relate to other ideas and methodologies within software development? Linux Journal Deputy Editor and longtime software developer, Bryan Lunduke isn't entirely sure, so he asks some experts to help him better understand the DevOps phenomenon.
The word DevOps confuses me.
I'm not even sure confuses me quite does justice to the pain I experience—right in the center of my brain—every time the word is uttered.
It's not that I dislike DevOps; it's that I genuinely don't understand what in tarnation it actually is. Let me demonstrate. What follows is the definition of DevOps on Wikipedia as of a few moments ago:
DevOps is a set of software development practices that combine software development (Dev) and information technology operations (Ops) to shorten the systems development life cycle while delivering features, fixes, and updates frequently in close alignment with business objectives.
I'm pretty sure I got three aneurysms just by copying and pasting that sentence, and I still have no clue what DevOps really is. Perhaps I should back up and give a little context on where I'm coming from.
My professional career began in the 1990s when I got my first job as a Software Test Engineer (the people that find bugs in software, hopefully before the software ships, and tell the programmers about them). During the years that followed, my title, and responsibilities, gradually evolved as I worked my way through as many software-industry job titles as I could:
Automation Engineer: people that automate testing software. Software Development Engineer in Test: people that make tools for the testers to use. Software Development Engineer: aka "Coder", aka "Programmer". Dev Lead: "Hey, you're a good programmer! You should also manage a few other programmers but still code just as much as you did before, but, don't worry, we won't give you much of a raise! It'll be great!" Dev Manager: like a Dev Lead, with less programming, more managing. Director of Engineering: the manager of the managers of the programmers. Vice President of Technology/Engineering: aka "The big boss nerd man who gets to make decisions and gets in trouble first when deadlines are missed."
During my various times with fancy-pants titles, I managed teams that included:
Go to Full Article
- DNA Geometry with cadnano
by Joey Bernard
This article introduces a tool you can use to work on three-dimensional DNA origami. The package is called cadnano, and it's currently being developed at the Wyss Institute. With this package, you'll be able to construct and manipulate the three-dimensional representations of DNA structures, as well as generate publication-quality graphics of your work.
Because this software is research-based, you won't likely find it in the package repository for your favourite distribution, in which case you'll need to install it from the GitHub repository.
Since cadnano is a Python program, written to use the Qt framework, you'll need to install some packages first. For example, in Debian-based distributions, you'll want to run the following commands:
sudo apt-get install python3 python3-pip
I found that installation was a bit tricky, so I created a virtual Python environment to manage module installations.
Once you're in your activated virtualenv, install the required Python modules with the command:
pip3 install pythreejs termcolor pytz pandas pyqt5 sip
After those dependencies are installed, grab the source code with the command:
git clone https://github.com/cadnano/cadnano2.5.git
This will grab the Qt5 version. The Qt4 version is in the repository https://github.com/cadnano/cadnano2.git.
Changing directory into the source directory, you can build and install cadnano with:
python setup.py install
Now your cadnano should be available within the virtualenv.
You can start cadnano simply by executing the cadnano command from a terminal window. You'll see an essentially blank workspace, made up of several empty view panes and an empty inspector pane on the far right-hand side.
Figure 1. When you first start cadnano, you get a completely blank work space.
In order to walk through a few of the functions available in cadnano, let's create a six-strand nanotube. The first step is to create a background that you can use to build upon. At the top of the main window, you'll find three buttons in the toolbar that will let you create a "Freeform", "Honeycomb" or "Square" framework. For this example, click the honeycomb button.
Figure 2. Start your construction with one of the available geometric frameworks.
Go to Full Article
- Running GNOME in a Container
by Adam Verslype
Containerizing the GUI separates your work and play.
Virtualization has always been a rich man's game, and more frugal enthusiasts—unable to afford fancy server-class components—often struggle to keep up. Linux provides free high-quality hypervisors, but when you start to throw real workloads at the host, its resources become saturated quickly. No amount of spare RAM shoved into an old Dell desktop is going to remedy this situation. If a properly decked-out host is out of your reach, you might want to consider containers instead.
Instead of virtualizing an entire computer, containers allow parts of the Linux kernel to be portioned into several pieces. This occurs without the overhead of emulating hardware or running several identical kernels. A full GUI environment, such as GNOME Shell can be launched inside a container, with a little gumption.
You can accomplish this through namespaces, a feature built in to the Linux kernel. An in-depth look at this feature is beyond the scope of this article, but a brief example sheds light on how these features can create containers. Each kind of namespace segments a different part of the kernel. The PID namespace, for example, prevents processes inside the namespace from seeing other processes running in the kernel. As a result, those processes believe that they are the only ones running on the computer. Each namespace does the same thing for other areas of the kernel as well. The mount namespace isolates the filesystem of the processes inside of it. The network namespace provides a unique network stack to processes running inside of them. The IPC, user, UTS and cgroup namespaces do the same for those areas of the kernel as well. When the seven namespaces are combined, the result is a container: an environment isolated enough to believe it is a freestanding Linux system.
Container frameworks will abstract the minutia of configuring namespaces away from the user, but each framework has a different emphasis. Docker is the most popular and is designed to run multiple copies of identical containers at scale. LXC/LXD is meant to create containers easily that mimic particular Linux distributions. In fact, earlier versions of LXC included a collection of scripts that created the filesystems of popular distributions. A third option is libvirt's lxc driver. Contrary to how it may sound, libvirt-lxc does not use LXC/LXD at all. Instead, the libvirt-lxc driver manipulates kernel namespaces directly. libvirt-lxc integrates into other tools within the libvirt suite as well, so the configuration of libvirt-lxc containers resembles those of virtual machines running in other libvirt drivers instead of a native LXC/LXD container. It is easy to learn as a result, even if the branding is confusing.
Go to Full Article