If you have money to spend, look for a Microsoft Surface. It’s amazing how good they work with Linux, despite being a Microsoft device designed to run Windows.
Their build quality is really good, too.
Somewhere between Linux woes, gaming, open source, 3D printing, recreational coding, and occasional ranting.
🇬🇧 / 🇩🇪
If you have money to spend, look for a Microsoft Surface. It’s amazing how good they work with Linux, despite being a Microsoft device designed to run Windows.
Their build quality is really good, too.
Thanks! I just prefer simple UIs.
(Screenshots resized due to not wasting too much space.
Here’s a small one of how a website would look like.
Here’s a larger one of how my new tab page looks like (including multiple tabs to show how the tab bar looks like).
// Enable userChrome.css
user_pref('toolkit.legacyUserProfileCustomizations.stylesheets', true);
// Warnings
user_pref('browser.aboutConfig.showWarning', false);
// Style
user_pref('browser.tabs.inTitlebar', 0);
user_pref('browser.theme.content-theme', 1);
user_pref('browser.theme.toolbar-theme', 1);
// Extensions
user_pref('extensions.activeThemeID', 'firefox-compact-light@mozilla.org');
user_pref('extensions.pocket.enabled', false);
user_pref('extensions.screenshots.disabled', true);
user_pref('extensions.getAddons.showPane', false);
user_pref('extensions.htmlaboutaddons.recommendations.enabled', false);
// Zoom
user_pref('toolkit.zoomManager.zoomValues', '.5,.3,1,1.2,1.3,1.5');
user_pref('devtools.toolbox.zoomValue', '1.4');
user_pref('browser.zoom.siteSpecific', false);
// Privacy
//
// Basically do not leak URLs, IPs, etc. to external services
user_pref('browser.safebrowsing.malware.enabled', false);
user_pref('browser.safebrowsing.phishing.enabled', false);
user_pref('security.OCSP.enabled', 0);
user_pref('browser.contentblocking.category', 'custom');
user_pref('app.shield.optoutstudies.enabled', false);
user_pref('browser.urlbar.trending.featureGate', false);
// DoH explicitly off
user_pref('network.trr.mode', 5);
user_pref('network.trr.default_provider_uri', '');
// Cookies
user_pref('network.cookie.cookieBehavior', 2);
// AdBlock
user_pref('browser.newtabpage.activity-stream.showSponsoredTopSites', false);
user_pref('browser.newtabpage.activity-stream.feeds.section.topstories', false);
user_pref('browser.newtabpage.activity-stream.feeds.topsites', false);
// Remove weird URLS
user_pref('toolkit.shopping.ohttpConfigURL', '');
user_pref('toolkit.shopping.ohttpRelayURL', '');
user_pref('browser.partnerlink.attributionURL', '');
user_pref('browser.privatebrowsing.vpnpromourl', '');
// Do not track
user_pref('privacy.trackingprotection.enabled', false);
user_pref('privacy.trackingprotection.emailtracking.enabled', false);
user_pref('privacy.trackingprotection.socialtracking.enabled', false);
user_pref('privacy.trackingprotection.cryptomining.enabled', false);
user_pref('privacy.trackingprotection.fingerprinting.enabled', false);
user_pref('privacy.donottrackheader.enabled', true);
// Beahvior
user_pref('general.smoothScroll', false);
user_pref('signon.autofillForms', true);
user_pref('signon.firefoxRelay.feature', 'disabled');
user_pref('browser.download.manager.addToRecentDocs', false);
user_pref('security.tls.version.min', 1);
user_pref('browser.profiles.enabled', false);
// UI features
//
// https://github.com/yokoffing/Betterfox/blob/main/user.js
user_pref('browser.discovery.enabled', false);
user_pref('browser.shell.checkDefaultBrowser', false);
user_pref('browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons', false);
user_pref('browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features', false);
user_pref('browser.preferences.moreFromMozilla', false);
user_pref('browser.tabs.tabmanager.enabled', false);
user_pref('browser.aboutConfig.showWarning', false);
user_pref('browser.aboutwelcome.enabled', false);
user_pref('browser.uidensity', 0);
user_pref('browser.urlbar.trimURLs', false);
user_pref('browser.urlbar.showSearchTerms.enabled', false);
// Telemetry
//
// https://github.com/yokoffing/Betterfox/blob/main/user.js
user_pref('datareporting.policy.dataSubmissionEnabled', false);
user_pref('datareporting.healthreport.uploadEnabled', false);
user_pref('toolkit.telemetry.unified', false);
user_pref('toolkit.telemetry.enabled', false);
user_pref('toolkit.telemetry.server', 'data:,');
user_pref('toolkit.telemetry.archive.enabled', false);
user_pref('toolkit.telemetry.newProfilePing.enabled', false);
user_pref('toolkit.telemetry.shutdownPingSender.enabled', false);
user_pref('toolkit.telemetry.updatePing.enabled', false);
user_pref('toolkit.telemetry.bhrPing.enabled', false);
user_pref('toolkit.telemetry.firstShutdownPing.enabled', false);
user_pref('toolkit.telemetry.coverage.opt-out', true);
user_pref('toolkit.coverage.opt-out', true);
user_pref('toolkit.coverage.endpoint.base', '');
user_pref('browser.ping-centre.telemetry', false);
user_pref('browser.newtabpage.activity-stream.feeds.telemetry', false);
user_pref('browser.newtabpage.activity-stream.telemetry', false);
user_pref('breakpad.reportURL', '');
user_pref('browser.tabs.crashReporting.sendReport', false);
user_pref('browser.crashReports.unsubmittedCheck.autoSubmit2', false);
user_pref('app.shield.optoutstudies.enabled', false);
user_pref('app.normandy.enabled', false);
user_pref('app.normandy.api_url', '');
// Disable AI bullshit
//
user_pref('browser.ml.enable', false);
user_pref('browser.ml.chat.enabled', false);
user_pref('browser.ml.chat.shortcuts', false);
user_pref('browser.ml.chat.sidebar', false);
user_pref('pdfjs.enableAltText', false);
user_pref('pdfjs.enableUpdatedAddImage', false);
and
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
/* Tabs styling */
#TabsToolbar {
background-color: #cccccc !important;
--toolbarbutton-inner-padding: 0 !important;
}
.tabbrowser-tab {
padding: 0 !important;
}
.tab-background {
margin: 0 !important;
border-radius: 0 !important;
background-color: var(--toolbar-bgcolor) !important;
box-shadow: none !important;
}
#alltabs-button {
display: none !important;
}
#tabbrowser-tabs {
min-height: unset !important;
}
/* secondary label indicators */
@font-face {
/* copy font file to same directory as this CSS file */
font-family: 'SymbolsNerdFont';
src: url('SymbolsNerdFont.ttf') format('truetype');
}
.tab-secondary-label {
display: none;
}
.tab-text::before {
font-family: SymbolsNerdFont;
padding-right: 0.25em;
}
.tabbrowser-tab[soundplaying] .tab-text::before { content: ''; }
.tabbrowser-tab[muted] .tab-text::before { content: ''; }
.tabbrowser-tab[activemedia-blocked] .tab-text::before { content: ''; }
/* unselected tabs */
.tab-background:not([selected]),
.tab-icon-image:not([selected]) {
opacity: 0.4 !important;
}
.tab-text:not([selected]) {
color: #555753 !important;
}
#tabbrowser-arrowscrollbox {
min-height: var(--tab-min-height) !important;
max-height: var(--tab-min-height) !important;
}
scrollbox[part="scrollbox"] {
gap: 2px;
}
and
/* Style about:home and about:newtab */
@-moz-document url-prefix(about:home), url-prefix(about:newtab) {
.logo-and-wordmark {
background-image: url(REPLACE_ME_WITH_YOUR_FAVORITE_IMAGE.jpg);
background-size: cover;
background-position: center;
aspect-ratio: 16/9;
border-radius: 1em;
position: relative;
width: auto;
height: auto;
max-width: 80%;
max-height: 60vh;
margin: 0 auto;
}
.logo-and-wordmark .logo {
display: none !important;
}
.logo-and-wordmark .wordmark {
position: absolute;
right: 2em;
bottom: 0.5em;
--newtab-wordmark-color: #eb8819;
}
}
So … Basically just another preconfigured Firefox with extensions?
Getting a burner phone and account and only tun it on when you want to check the messages is a good start. Do not use any of your real information.
When I left FB a decade ago they didn’t force a phone number for the messenger, thy basically just requested all possible permissions.
GTX 1080 + i7 4790K here: I run an Arch Linux Wayland setup (labwc) on my machine. So I use this for gaming, too.
I have a handful of native games running without any issues. Other games I run on Steam (installed via Flatpak to avoid the 32 bits dependency hell). Never had any REAL issues that were not coming from Nvidia not running well on Linux or Valve not getting Linux support right.
Even after years of being used as a meme template, this stock photo is still as aesthetically pleasing as a Renaissance painting.
I always get an e-mail with the TOTP code when I want to log in.
… we also need your cookie and tracking preferences. Do you want us to store all possible data about you and share it with everyone? “Yes” or “Yes, but we pretend not to”
“bookworm” is now oldstable and “bullseye” is oldoldstable.
So “bullseye” got promoted from outdated to antique?
Files on your own hardware are equally good as physical media.
I am with you on physical media, and it is sad. Physical media is the only media you really own.
Why would people in the right mind bind the right to vote to a document that allows you to operate a vehicle on public roads anyways?
depending on how you look
… and even more where you cross the border. If I want to go (like in “just walk there”) from Poland to Germany, I could use this bridge for example:
It’s really just an ordinary bridge across a river, no border patrol, no ID check, nothing. Just walk from one country into another.
Or if I want to cross the border from Germany to France, I could just use that publicly accessible hiking path:
(Seen from French side, the barrier where the people sit is the whole border crossing point.) And this bridge with a view brings you from France to Spain.
Except border check points you’ll find luxury housing on French side and commercial buildings (stores and some warehouses) on Spain side.
At no point in that imaginary journey (now that I think about it, this would make a great road trip with hiking parts) you need your ID card when you travel to another country.
Long story short: It’s really easy to cross borders in the EU.
I live in the EU and thus I can travel pretty far away without having to ever show my ID card. Maybe it’s just personal experience but whenever I had to show it, no-one cared about it wasn’t valid anymore.
Another trick is acting stupid: “Oh, thank you! I didn’t notice! When would a normal person check that, eh? 🙂 … Right on next Monday I’ll going to renew it!” and then hasta la vista, we won’t meet ever again anyways.
The next time I have to renew it, is in 2031. I guess I won’t renew it till 2040.
I usually ignore renewals as much as I can. My last ID card was 8 years overdue.
Let me introduce you to UY Scuti.