

How generous of them that we’re allowed to install software on our mobile computers that we own.
Somewhere between Linux woes, gaming, open source, 3D printing, recreational coding, and occasional ranting.
🇬🇧 / 🇩🇪


How generous of them that we’re allowed to install software on our mobile computers that we own.


This is the only valid answer!
The URLs mentioned in their blog article all have a wrong certificate (different host name).
I am sure if they fix it Google’s system would reclassify the sites as safe.


- Does this mean sideloading is going away on Android?
No, but we have to approve it.
FTFY.


Gerade wegen Paketen, für die man normaler Weise noch nicht mal ’ne Funktion schreiben würde.
So Pakete die eine Funktion bereitstellen, die man in einer if-Abfrage benutzen kann, um (n % 2) === 1 nicht selbst schreiben zu müssen, und dafür 390000 Downloads pro Woche haben.


Die Problematik mit NPM ist nun schon bald eine Dekade lang bekannt.
https://www.davidhaney.io/npm-left-pad-have-we-forgotten-how-to-program/
Dass da nicht viel häufiger viel größere Katastrophen geschehen ist das, worüber man schreiben sollte. Nicht, dass wieder mal ein Paket kompromittiert wurde.
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?
“bookworm” is now oldstable and “bullseye” is oldoldstable.
So “bullseye” got promoted from outdated to antique?
Security … Depends. If you want to sell the SSD, then yes, wiping the SSD is advised. You don’t need complicated random multiple-write patterns. Just make sure to wipe everything (keywords: wear-leveling, cache), you could use blkdiscard for that.
Performance-wise nothing noticeable would change. Physically, SSDs are fast enough to modify the charge traps to store the bits as needed to store files regardless of what’s in those traps (that’s quite a rabbit hole).
If you plan using the SSD for your own, you don’t need to wipe it, just repartition as needed and create the file systems in the partitions. What I do, is writing some data to the storage to destroy the partition table (dd if=/dev/urandom of=/dev/XYZ where XYZ is my target device – and then leave it runninf for a few seconds).
Since you’re using encryption, the common tools only see garbage and no data (i.e. file system). So simply don’t decrypt and work with the mapped partition but use the device directly.


I’m going to voluntarily read other people’s AI slop.


How can you only have 15 Tabs open?
I use bookmarks and close Tabs I don’t need any longer.


I have currently 13 tabs open and I don’t see the issue. RAM is there to be used. I actually expect my programs to extensively cache stuff and use the RAM.

(The other Firefox processes for the individual tabs are cut from the screenshot.)


And cached. Browsers just use the RAM for what it exists for.
Because in Europe we actually own our hardware.
Someone else will continue selling RAM and making money.