monovergent

joined 2 years ago
[–] [email protected] 4 points 4 days ago

Tidying up, journalling, writing, or art. Though nothing on a screen and nothing related to eating to avoid brushing my teeth again.

Indeed, I have the means and curiosity to try out biphasic sleeping. Only things that keep me back are having two alarms a night (at least while I'm not used to it) and the fear I'll get too worked up to fall asleep again.

[–] [email protected] 4 points 4 days ago

Sometimes I'll wake up at 0300 and contemplate trying biphasic sleep. But I fall back asleep before I can muster the courage to get out of bed.

[–] [email protected] 2 points 5 days ago

I made a 1:3 peroxide to water mixture in my watering can and in about a month, the fungus gnats were gone for good with no apparent harm to my plant.

[–] [email protected] 2 points 5 days ago

My desktop text editor has an autosave feature, but it only works after you've manually saved the file. All I wanted is something like the notes app on my phone, where I can jot down random thoughts without worrying about naming a new file. So here's the script behind my text editor shortcut, which creates a new text file in ~/.drafts, names it with the current date, adds a suffix if the file already exists, and finally opens the editor:

#!/bin/bash

name=/home/defacto/.drafts/"`date +"%Y%m%d"`"_text
if [[ -e "$name" || -L "$name" ]] ; then
    i=1
    while [[ -e "$name"_$i || -L "$name"_$i ]] ; do
        let i++
    done
    name="$name"_$i
fi
touch -- "$name"
pluma "$name" #replace pluma with your editor of choice
[–] [email protected] 6 points 6 days ago (1 children)

Why? (Just curious; I'm not familiar with the Linux phone scene)

[–] [email protected] 6 points 6 days ago

It was in 7 as well, but only the 32-bit edition. edit.com stopped shipping with 64-bit editions.

[–] [email protected] 1 points 6 days ago (2 children)

Aw man, I was about to praise the first two.

[–] [email protected] 3 points 1 week ago (1 children)

As others have suggested, QubesOS is a good one to have on your list. I'd probably use if it weren't for its crippling effects on battery life.

Immutable distros are much friendlier to laptops and, as I understand, update in a way not unlike an Android device would. But I insist on some system-level customizations and I haven't been motivated to learn how such customizations can be made to survive updates and the like.

I've also been eyeing NixOS, but with everything up and running on Debian smoothly for a few years, I haven't found the excuse to switch yet. Along with customizing it to be a comfortable daily driver, I've also been trying to see how secure I can make my system as a fun exercise. While it's not immutable, Debian is a good base considering the team behind it and how much is riding on its security, including internet-facing servers.

What I've done to harden Debian, if anyone's interested:

  • Apply Madaidan's hardening guide judiciously. Roughly 2/3 of the measures made sense for my use case and it's almost unnoticeable in my daily workflow.
  • Have as few closed-source components as possible. In my case, intel-microcode is the only non-free package on my system.
  • Install the hardening-runtime package, but remove its included slub_debug=FPZ kernel argument, which in recent kernels forces less secure unhashed pointers.
  • XFCE is still not fully ported to Wayland, so I use slock, the X11 screen locker with fewest lines of code.
  • Install the ufw firewall and default to deny
  • Enable unattended-upgrades
  • Everything including the /boot partition is encrypted. I have built coreboot with just the GRUB2 payload, which I configured to immediately bring up the LUKS password prompt. All other options are behind a password.

I also put together and maintain a ~16 GB clean system image of Debian set up exactly to my taste, which I clone to my machines as needed. This probably wouldn't have been a thing if I knew about NixOS earlier, and it certainly hasn't helped me switch over either.

[–] [email protected] 3 points 1 week ago (2 children)

Is the automatic scaling a recently-introduced feature to KDE? I have Plasma 5 on Debian 12, could that be the missing link, or is my configuration just wonky? Hoping to avoid editing every affected shortcut to include Gamescope.

[–] [email protected] 2 points 1 week ago

I've sketched out ideas for something like the MNT Reform, but with a Framework motherboard, and it's surprisingly hard to whittle down the form factor any more without sacrificing unique and useful features, like the user-replaceable battery cells and modular mechanical keyboard. Those were the main attractions for me, and it is indeed very weak hardware for the price. Tallying up the component prices, it's about as good as it gets without economies of scale while insisting on libre firmware.

[–] [email protected] 4 points 1 week ago

No, but I do try to keep prep and cleanup times to under 1 hour for breakfast and lunch combined and 1 hour for dinner.

[–] [email protected] 8 points 1 week ago

Librewolf, Ungoogled Chromium flatpak for anything that doesn't work in Librewolf, and Fennec on Android

 

I work a rather demanding job and I've constantly been feeling tired and underperformant compared to my colleagues for the past few months. I keep evading responsibilities or putting them off until the last minute.

Many people would kill to be where I am. Yet, I show up every day unmotivated.

There were several stressful years leading up to my current job and I'm wondering if I'm burnt out at this point or if I'm just not pulling my weight.

Edit: Thank you all for your support and guidance. I haven't given too many details here, but personal life has been moving along smoothly, chores get done, etc. But I definitely need to reconsider where I'm going with my job.

 

The frowning face that pops up when the internet connection drops out or Youtube breaks something. I don't know if it's how suddenly it pops up, my horror and true crime habit, or its lifeless eyes, but I have a jarring and visceral reaction when it shows up.

It's all subjective I suppose, and I could make personal builds to patch it out, so I don't know if it merits me making a Github account and raising an issue. I'm curious if anyone else feels the same way about the frowning face error.

 

Work uses Slack, which is quite entrenched in the organization, so trying to move all of my contacts over to something else would be nontrivial. Colleagues use it to send moderately urgent messages every now and then, so notifications on my phone would be a nice-to-have.

I haven't had much luck finding well-maintained open-source clients for Slack. I could sandbox Play Services alongside the official app or a browser, but I'd rather not make my phone run the whole Google Play stack just for those notifications. Did I miss any low-hanging fruit or is hosting a Matrix bridge the only alternative?

 

It's not worth shipping and handling, it's beaten up, and I don't know anybody who wants it. Nothing is upgradeable, unless you count inserting a microSD card.

Of course I could use it as a janky media server or a dumb SSH terminal, but I've already got other machines for those jobs. Or I could recycle it, but what's the fun in that? Suggest me your wackiest programs to try, dangerous distros, or most unorthodox setups to make use of it.

 

Got Ollama set up with an 8GB AMD graphics card at my disposal. Any recommendations for the most unhinged model I can run on this? i.e. I can ask it how to annoy my neighbors and it won't go on a rant about morals or its supposed purpose as an LLM?

 

Summary: nothing seems to have changed on my phone except for an initial notification that my device is no longer supported.

The Pixel 4a with GrapheneOS is my secondary phone where I test out apps before committing to them on my main phone and sequester less desirable apps like Whatsapp. GrapheneOS support for it ended over a year ago, so the update notification today was quite the surprise.

With Google recently rolling out an update to the 4a that cripples its battery and charging, I was very wary, knowing that at least one of the GrapheneOS maintainers intends to discourage use of older, unsupported models.

My Pixel had been on the 2024092100 release of GOS, which oddly enough is not tagged in the repo. Comparing the closest release, 2024080800, with 2025012100 yielded no differences in the code (https://github.com/GrapheneOS-Archive/device_google_sunfish/compare/2024080800-sunfish...2025012100-sunfish). So I went ahead with it.

Upon booting, I found a notification saying that my device is no longer supported with a brief explanation. I dismissed it before I could type it up here since I was worried it was a sticky nag banner. It seems that this is acting upon what was mentioned on their Mastodon some time ago:

https://grapheneos.social/@GrapheneOS/111170300209864856

I'll come back to update this post if it does become a nag notification.

However, the lack of code changes might just point to me having dismissed the warning last update and then forgetting about it. But why else would they put out an update at this point?

Regardless, I can happily say that there is no impact on my Pixel 4a's battery life and fast charging is still allowed. I have no evidence that anything should have changed, but I'm not knowledgeable enough about the GrapheneOS code to make any promises.

Update: The notification does come back upon reboot, which was not the case before the update. It reads:

This device is no longer supported

This device stopped receiving full security updates in September 2023 and isn't safe to use anymore regardless of OS choice. It's strongly recommended to replace it as soon as possible. Tap to see more info.

Tapping opens up the GOS FAQ section on device support. I'll come back in a couple days if it recurs without reboot.

 

I was recently intrigued to learn that only half of the respondents to a survey said that they used disk encryption. Android, iOS, macOS, and Windows have been increasingly using encryption by default. On the other hand, while most Linux installers I've encountered include the option to encrypt, it is not selected by default.

Whether it's a test bench, beater laptop, NAS, or daily driver, I encrypt for peace of mind. Whatever I end up doing on my machines, I can be pretty confident my data won't end up in the wrong hands if the drive is stolen or lost and can be erased by simply overwriting the LUKS header. Recovering from an unbootable state or copying files out from an encrypted boot drive only takes a couple more commands compared to an unencrypted setup.

But that's just me and I'm curious to hear what other reasons to encrypt or not to encrypt are out there.

 

This is an aggressive method for when isopropyl alcohol on a towel is too slow or requires too much elbow grease. See the caveats section!

Materials

  • Isopropyl alcohol, 100 mL or more
  • Copper or copper-coated scourer
  • Heavy-duty scrubbing pad (like the green piece on top of dish sponges)
  • Magic eraser (replace with non-scratch scrubbing pad if not available)
  • Paper towels
  • A couple of hours

PPE

  • Adequate ventilation
  • Dust mask (microplastics)
  • Sturdy, waterproof gloves, or in my case, non-waterproof fiberglass gloves over thin foodservice gloves
  • Old clothes (stains)

Method

Remove power, batteries, and any electronic components you can.

This is an iterative process, so not every step has to be done perfectly in one pass.

Magnesium parts (usually the lower chassis and lid)

  • The rubber coating is bound more strongly here than on plastic parts.
  • Wet an area about 5 cm in diameter with isopropyl alcohol. There should be a shallow puddle of it where you will scrub.
  • Scrape off the rubber coating: rub the copper scourer firmly in circular motions. It should begin to slough off with the consistency of boogers.
  • Continue until no more rubber scrapes off, then repeat until the entire surface has been scoured.
  • Remove residues: wet areas 5 cm in diameter as before and scrub, but now with the scrubbing pad.
  • Wipe: moisten a paper towel with isopropyl alcohol, wipe off the entire surface, and let dry.
  • Inspect: once dry, look for any outstanding rubber patches. Go over them again starting with the copper scourer, using lateral motions if it is especially stubborn.
  • Polish: Moisten a magic eraser with isopropyl alcohol and firmly scrub over the entire surface.
  • Finish: Wet a paper towel with water and wipe off until melamine dust from the magic eraser is gone and the surface no longer stains the towel black.

Plastic parts

  • Same as previously, but omit the copper scourer.
  • Whereas the sloughed off rubber just migrates up into empty spaces in the copper scourer leaving the working edge exposed throughout the process, the rubber will foul scrubbing pads. Either have several pads on hand or wash out the rubber with soap and water.

Cleanup

  • Soap and water

Caveats

  • This process severely defaces stickers, the ThinkPad emblem, and glossy surfaces
  • Direction of scrubbing is evident in fine scratches throughout treated surfaces. In my opinion, a scuffed ThinkPad is better than a sticky ThinkPad; I did not try further polishing or restoration steps.
  • Results on painted magnesium will be uneven, with some patches of primer standing out where the rubber degraded more slowly and magnesium showing through on edges and corners after scrubbing.
  • Rubber debris will get caught in grilles. Scrape it out at the end using a toothpick.
  • Anything sloughed off will stain anything it contacts.

How it works

The rubber, once degraded, cannot be rejuvenated, but may be scraped off with fingernails. Copper and scrubbing pads, with a similar hardness to fingernails, can perform the same scraping action, sped up with the addition of isopropyl alcohol, a solvent for the rubber, primer, and paint. Still, the rubber will not just dissolve like sugar in water. The key is the scraping action, otherwise the soft rubber just ends up getting pushed around the surface.

The nature of rubberized soft-touch coatings on ThinkPads and other electronics, to my knowledge:

  • The coating is a thin layer of polyurethane or otherwise synthetic unvulcanized rubber.
  • With exposure to ambient moisture, molecules in the rubber eventually undergo hydrolysis, where the rubber polymer chains are broken up by intruding water molecules.
  • Result is a soft, sticky mess as the petroleum-based rubber gradually returns to its natural state.

On a ThinkPad, each part may have a slightly different rubber coating

  • Magnesium chassis: Rubber coating strongly bound to a primer layer, which lies on top of the black paint over the magnesium itself.
  • Large plastic pieces (old E-series palmrests, antenna enclosure of X230): Rubber coating bound directly to smooth black plastic or a primer on top of smooth black plastic.
  • Small plastic pieces: Rubber coating bound loosely to smooth black plastic.

Personal observations regarding the above:

  • The coating wears out fastest on corners and edges.
  • Rubber coatings degrade at different rates across different parts. On my X230, the coating on the lid was in much better shape than the lower chassis (both are magnesium parts).

What didn't work (all tested on my beater ThinkPad):

  • Rubbing with just an isopropyl alcohol-soaked paper towel
  • Just an isopropyl alcohol-soaked magic eraser
  • Water-based baking soda paste
  • Toothpaste
  • Olive oil
  • WD-40
  • Hand sanitizer
  • Soap and water
  • Isopropyl alcohol with a screwdriver (deep, narrow scratches)
  • Baby powder (comes off and turns sticky again after a week of use)

What worked too slowly

  • Isopropyl alcohol-based baking soda paste
  • Non-scratch scrubbing pad
  • Isopropyl alcohol with a copper coin

What was not tried, mostly because I didn't want to spend over $10:

  • Plasti-dip
  • D-Limonene
  • Methylated spirits
  • Goo gone
12
submitted 6 months ago* (last edited 6 months ago) by [email protected] to c/[email protected]
 

Building Coreboot

  • Significantly easier and lower risk than I expected. A lot is already taken care of once the mainboard is selected. There are many safety and sanity checks in the build process.
  • Make sure to select "General Setup">"Option backend to use">"Use CMOS for configuration values" so that nvramcui and nvramtool works.
  • Even if flashing only the top chip, build for the entire 12 MB ROM. Otherwise, the machine won't have the correct offset for the MRC cache and will cold boot when it should be resuming from suspend.

Installing Coreboot

  • I am not yet confident enough to use an external programmer with my 3612QE board, so I opted for the 1vyrain route.
  • Extracted the top 4MB of coreboot.rom using dd and once booted in the 1vyrain installer, overwrote /root/bios/X230.rom (double-check this for yourself, just going off my memory here) and let it flash the chip. This workaround to avoid having to upload my bios somewhere and connect 1vyrain to the internet.
  • After that, the bios region of the chip is unlocked. To update the bios with a new build, run sudo flashrom -p internal -i bios --ifd -w build/coreboot.rom --noverify-all
  • In the event of GRUB misconfiguration, run set prefix=(memdisk)/boot/grub, ls your way to your grub.cfg (the one in the boot partition, not the one in EFI) and get back into Linux with configfile (disk,part)/path/to/your/grub.cfg

Observations

  • Boot times are fast, only 2.5 seconds to the LUKS password prompt
  • All components are recognized and seem to work as usual.
  • Battery life is good. About 1 W increase in idle power consumption over the regular BIOS.
  • The wifi card changed from wlp3s0 to wlp2s0
  • The 3612QE CPU, QM77 chipset, and Coreboot all have documented ECC support. Regardless, the machine still does not boot if ECC RAM is installed. Bear in mind that I only had one such stick of RAM (SK Hynix EP3L-12800S 8GB) to test.
  • The 3612QE board now charges with a stock 65W charger.
  • I am using the ME Disable option in nvramtool for now. Eventual goal is to use me_cleaner.

Quirks

  • The power button LED occasionally does not light when booted. No obvious cause yet and no adverse effects associated with it.
  • Rarely and without obvious cause, the reported battery percentage suddenly drops to 0. Immediately upon plugging in the charger, the correct percentage comes back.
  • This may or may not have to do with the installed 9-cell Kingsener battery. My other corebooted X230 with an i5-3320M and DTK 6-cell has been used equally as much without ever encountering this issue.
  • EDIT: the issue is indeed related to the Kingsener battery. The battery also jumps back to a normal percentage within a few seconds even if I don't plug in a charger. No work lost due to the issue yet.
 

My laptop has a display resolution of 1366x768. Every now and then, I'll encounter a window whose default height is over 768 and thus won't fit entirely within my screen. The GTK file picker comes to mind, though it is resizable without much fuss. But then there are those that cannot be resized and being unable to move the titlebar further up, I am forced to use Alt+F7 to see what's at the bottom.

I suspect that many programs today are designed to work comfortably on higher resolution displays, but not really tested on smaller ones. Understandably, developers only have so much time and 1366x768 is getting long in the tooth. Just wanted to put this out there since nobody seems to be talking about it.

 

Decided to uninstall my display manager and use startx instead. But now when I resume from suspend, the brightness keys cease to work until I log out and back in. Backlight does still respond when echoing into /sys/class/backlight/intel_backlight/brightness. But what kind of magic does a display manager do to keep brightness controls working after suspend and resume?

Using xfce on tty1 on an X230 if it matters.

 

UPDATE: After flashing coreboot with the option to "Enable ECC if supported", ECC RAM still does not work. The screen and lights come on and the speakers emit a continuous high tone. The memory tested was an 8GB stick of 2Rx8 EP3L-12800E from SK Hynix. It is unbuffered ECC to the best of my knowledge. I'll write up my thoughts on corebooting this particular board when I have used it for some more time.

After learning that the 3612QE itself supports ECC RAM in contrast to the stock CPU options and that the QM77 chipset also does, I purchased a DDR3 SODIMM with unbuffered ECC. I have not been aware of any other attempts to test this combination.

The machine did not POST and did not produce any beep codes. Absolutely no response to any input aside from shutting down when briefly holding the power button. Everything returned to normal upon putting the original RAM back.

I suspect the BIOS lacks support, but whether this changes with coreboot remains unknown to me, at least until I learn how to prepare and flash coreboot.

This is purely an exercise in curiosity.

view more: ‹ prev next ›