Kirsle.net logo Kirsle.net

Tagged as: Linux

Pinephone vs. De-googled Android
October 23, 2020 by Noah

The Pinephone is a new smartphone in the works that will run mainline Linux as its operating system instead of Android, and already has a lot of Linux distributions that run on it. The idea is it would run all the same Linux software you get on desktops, servers or Raspberry Pi's and give you a private alternative to Android devices which send a lot of data up to Google.

They've already released some phones, and I have one that came installed with Ubuntu Touch, and I've been testing the operating systems as they progress. Linux on Mobile is still very early, most graphical apps don't fit on the tiny screen size of a smartphone, battery life can still be improved, camera quality can be improved. But progress is advancing rapidly and there's a growing number of apps that work and provide basic "smart phone" functions: calls, texts, email, calculator, calendar, maps, password manager (KeePass), web browsers.

My dream is to use a Pinephone as my daily driver, but it's still got a long ways to go, and I got impatient and instead installed a de-googled Android ROM onto my existing Pixel phone.

And having used both Linux and Android on mobile, I've determined that a de-googled Android ROM is a very solid alternative to a Linux phone while you wait for Linux phones to get better:

  • The F-Droid app store has a lot of free and open source apps for all your "smart phone" functionality and larger number of mobile-friendly apps compared to Linux.
  • Termux for Android is a very cool terminal emulator with a package manager! You can install Linux software like git, ssh, python and run a full Linux environment.
  • You're reasonably private at the operating system level: without Google Play Services installed on Android, Google Location Services and other features aren't there and so aren't spying on you.
  • Android apps are more secure than Linux with their sandbox and permissions.
  • You can run some Play Store apps, but not apps that rely on Google services. Still, on Pinephone you can have none of the Android apps (very well) anyway.

Details below:

Read more...

Tags: 0 comments | Permalink
The little things they don't tell you about Linux
September 15, 2020 by Noah

When we're talking about "Linux" the operating system, we really mean one of the thousands of Linux distributions that exist out there. Linux itself is just the kernel -- the lowest level part of the operating system that deals with hardware, drivers, process and memory management. A distribution is all the stuff on top: the software, the desktop environments and so on.

Most Linux distributions can be called "GNU/Linux" because they include the Linux kernel and a suite of software tools from the GNU project. These are mostly command-line programs like grep and less as well as deeper system components like the GNU C Library (glibc) which is used by basically every program on the system.

When you're new to Linux you may look at this enormous list of distributions and be paralyzed as to which one you should pick. Fedora, or Ubuntu? Or Debian or Arch?

People will often tell you: it doesn't really matter, all these distributions are running more-or-less the same software and the biggest differences between them is their package manager and what format their software is shipped in. On Fedora you might dnf install firefox or dnf update thunderbird whereas on Debian you would apt install firefox or on Alpine you'll apk add firefox. Just learn the set of commands for your distro of choice and you're good. Software on Fedora-like distros come in .rpm packages, Debian-likes come in .deb, but mainly you'll install software through the official repositories of your distro.

But there's more differences between the distros that they don't tell you about:

Read more...

Tags: 1 comment | Permalink
Docker Crash Course
July 21, 2020 by Noah

Docker is a commonly used tool in modern software development to deploy applications to web servers in a consistent, reproducible manner. It's been described as basically a "light-weight virtual machine" and it makes use of a Linux kernel feature known as containers.

How does it work?

In this post I'll try and briefly sum up what Linux containers do and what problem they solve for developers.

Read more...

Tags: 3 comments | Permalink
Pinephone: First Impressions
June 25, 2020 (updated June 26, 2020) by Noah

The Pinephone is "an open source smart phone supported by all major Linux phone projects." I'd been keeping my eye on these things for a few years now and finally got the Pinephone in my hands earlier this week to try it out.

The idea with devices like this (as well as the Librem 5 phone) is that it's a smartphone that runs standard mainline GNU/Linux software instead of Android. This means root passwords (or sudo), SSH servers, full admin control of the device, and ability to run all the familiar Linux software that you get on a desktop PC, server, or Raspberry Pi type of device.

Importantly this means no Google Play Services or built-in spyware and the user is in control of their device. More privacy, but not necessarily more security.

There are many Linux operating systems available for the device already and I've tested out Ubuntu Touch UBports, postmarketOS and Mobian/Phosh and here are some of my impressions so far.

tl;dr.:

  • The phone is not "daily driver" status yet.
  • Most graphical Linux apps don't fit on a small screen yet.
  • The phone otherwise works as well as any Linux device such as a raspberry pi.

See also: I'm maintaining a Linux on Phones page on my site's wiki to collect notes, config tweaks, software I found that works and so on.

Read more...

Tags: 0 comments | Permalink
A drawing-based maze game
July 9, 2019 (updated July 18, 2019) by Noah

I've been working on a videogame the past couple of years, off and on. It's called...

...for now. I have a better name picked out for it, but I'm going to be callling it Project: Doodle (while it's in alpha) so that the finished version will be distinct from the alpha versions, of which it may end up looking nothing like!

The theme of Doodle is centered around hand-drawn, side-scrolling platformer type mazes. You can draw your own levels using freehand and basic drawing tools, color in some fire or water, and drag in pre-made "Doodads" like buttons, keys and doors to add some interaction to your level.

Read more for a screenshot, more information and alpha version download links (Linux, Windows and Mac OS).

Read more...

Tags: 0 comments | Permalink
Poor Man's ngrok
May 4, 2017 by Noah

Recently, I was developing a Python/Flask app to implement Web Hooks for a third-party API that I was working with. The API recommended the use of ngrok during local development so that the server running on your local computer could be accessed publicly over the Internet (so that their API could reach yours).

ngrok is cool and all, but for their free plan they randomize the subdomain they give you every time you start the program. This meant I always had to log into my API account and change my Web Hook URL each day.

What ngrok is doing is nothing new: I've written about using SSH to forward ports between machines, and figured it should be easy enough for me to configure a subdomain on my own server that forwards traffic to another port that I could open when I need to.

Read more...

Tags: 0 comments | Permalink
Music Management
July 29, 2016 by Noah

Manually managing a music collection of MP3 files on disk is such a pain in the ass that I felt like blogging about it.

First, you have cloud music services like Google Play Music which can't detect duplicates properly.

Read more...

Tags: 4 comments | Permalink
A review of Linux desktop environments
June 17, 2016 by Noah

The next version of Fedora (24) is coming out soon, so I decided a couple weeks ago that I'd take a tour of all the different desktop environments and see if I like any of them enough to switch from Xfce. My original desktop environment of choice was GNOME 2, and I had jumped ship to Xfce after GNOME 3 was released because I was no fan of the tablet-focused, feature-stripped interface of the new desktop and GNOME 2.32 was, in my opinion, the pinnacle of the desktop metaphor for Linux.

Read more...

Tags: 0 comments | Permalink
Principle of Least Astonishment
March 22, 2016 by Noah

In user interface and software design, the principle of least astonishment states that "if a necessary feature has a high astonishment factor, it may be necessary to redesign the feature." It means that your user interface should behave in a way that the user expects, based on their prior knowledge of how similar interfaces behave.

This is a rant about Mac OS X.

Read more...

Tags: 0 comments | Permalink
Let's Encrypt
December 30, 2015 by Noah

The free SSL certificate authority Let's Encrypt went into public beta earlier this month, and I updated all of my sites to use SSL now. I still had several more months before kirsle.net's old certificate from Namecheap expired, but I switched to the Let's Encrypt certificate because I could include all my subdomains instead of only the www one.

Check out their website and get free SSL certificates for your sites, too. I'm just writing this blog with some personal tips for how I configured my nginx server and a Python script I wrote to automate the process of renewing my certificates every month (Let's Encrypt certs expire every 90 days).

Read more...

Tags: 1 comment | Permalink