There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

Max_P , to linux in What is the advantage of PKGBUILD over RPM specs?
@Max_P@lemmy.max-p.me avatar

Never wrote RPM specs because I generally dislike RPM-based distributions (Fedora was a really bad experience when I tried it), but from a quick Google search they’re very similar.

I kinda like the format at a glance, seems pretty comparable in terms of what you put in there. Definitely less painful than debhelper.

I guess one of the advantages of PKGBUILD is that they’re essentially bash scripts that gets sourced by the tools, so they’re incredibly simple and don’t require parsing a custom format. You can:

<pre style="background-color:#ffffff;">
<span style="font-style:italic;color:#969896;">#!/bin/sh
</span><span style="color:#62a35c;">source</span><span style="color:#323232;"> PKGBUILD
</span><span style="color:#323232;">prepare
</span><span style="color:#323232;">build
</span><span style="color:#323232;">check
</span><span style="color:#323232;">package
</span>

That comes with disadvantages in that reading the PKGBUILD is inherently unsafe, and it was the cause of many concerns back in the days with tools like yaourt, which pretty much just blindly sourced it to get the variables out, which means immediate code execution just loading it from the AUR.

KDE freezes when going to sleep/suspending

For quite some time now, KDE has intermittently been unable to go to sleep. It will either go to a black screen with the cursor still showing, and the computer running, or it will show a half frozen sddm looking screen with the computer still running. The computer, in both cases, will be wholly unresponsive, and the only way to...

dudeami0 , to linux in KDE freezes when going to sleep/suspending
@dudeami0@lemmy.dudeami.win avatar

Using Nvidia with closed source drivers by chance? I had a similar issue and had to disable the services related to nvidia suspend/hibernate/resume:

<pre style="background-color:#ffffff;">
<span style="color:#323232;">systemctl disable nvidia-suspend nvidia-hibernate nvidia-resume
</span>

This is all I can think of, some hardware specs might help others with assisting you.

cspiegel , to linux in Why is copy and paste so difficult for Linux to solve?

Others have covered PRIMARY vs CLIPBOARD (the separation of which I find to be extremely useful).

For Vim, you have access to these both via the registers + (CLIPBOARD) and * (PRIMARY). So, for example, to paste from your CLIPBOARD selection, you’d do this:

<pre style="background-color:#ffffff;">
<span style="color:#323232;">"+p
</span>

(or P). Similar for yanking:

<pre style="background-color:#ffffff;">
<span style="color:#323232;">"+yy
</span>

for example.

baltakatei , (edited ) to selfhosted in What is the best way to create a image gallery website?

fgallery

TL;DR: fgallery is a dumb static web gallery generator: EXAMPLE, SETUP.

There’s fgallery which is a small Debian package that takes an input directory (e.g. photo-dir) and creates a static website in a new directory (e.g. my-gallery).

<pre style="background-color:#ffffff;">
<span style="color:#323232;">$ fgallery photo-dir my-gallery
</span>

Description

From the Debian package details page.

static HTML+JavaScript photo album generator

“fgallery” is a static photo gallery generator with no frills that has a stylish, minimalist look. “fgallery” shows your photos, and nothing else.

There is no server-side processing, only static generation. The resulting gallery can be uploaded anywhere without additional requirements and works with any modern browser.

Among all the Debian packages similar to this one, this seems the most recently maintained (version 1.9.1 came out 2022-12-31). It is licensed GPLv2+ so the source code is available.

Upload to a web server

After running fgallery as described above, upload my-gallery to your static web page directory (e.g. /var/www/html/ with a typical apache2 setup) and open the index.html through a web browser.

Here’s an example gallery I made just now (setup procedure).

( https://commons.wikimedia.org/wiki/File:Portland_Japanese_Garden_Tanabata_tanzaku.jpg by Baltakatei / 🅭🅯🄎 4.0 )

Viewing locally with a browser

To view the gallery locally without uploading to a web server (e.g. a Digital Ocean droplet) or static content hosting service (e.g. AWS S3), you can do so with your own web browser. However, because the fgallery webpage uses Javascript and since modern browsers refuse to render Javascript in HTML pages at local file system addresses (e.g. file:///) due to same-origin policy, the easiest solution is to make a simple webserver via python3:

<pre style="background-color:#ffffff;">
<span style="color:#323232;">$ python3 -m http.server -d ./my-gallery
</span>

Then, you can visit the my-gallery/index.html file via a local http:// address at http://localhost:8000/.

Summary

fgallery lacks many complex features (no image database, no metadata editing, no dynamic server processes for editing images, etc.). However, I’d argue its lack of features is the main feature. It just takes a directory of photos and spits out a directory you can plug into your hosting service. Updating the the gallery is just a matter of running the same $ fgallery photo-dir my-gallery command again and re-uploading.

Edit(2023-07-07T12:05+00): Clarify python3 commend.

TL;DR: fgallery is a dumb static web gallery generator: EXAMPLE, SETUP.

CrimsonOnoscopy OP , to news in France passes bill to allow police remotely activate phone camera, microphone, spy on people
@CrimsonOnoscopy@beehaw.org avatar
<pre style="background-color:#ffffff;">
<span style="color:#323232;">·
</span><span style="color:#323232;">···
</span><span style="color:#323232;">·
</span><span style="color:#323232;">··
</span>
418teapot , to selfhosted in Anyone using rustic?

The way I remember the order is that the parentheses around the link would make grammatical sense outside of markdown (the goal of markdown is to still be fully readable even when looking at the raw source).

For example if I were posting on a forum that didn’t have markdown support which one of these would make more sense:

  1. You can find that on this lemmy instance (https://lemmy.world).
  2. You can find that on (this lemmy instance) https://lemmy.world.

Option 2 makes no sense grammatically. Then you just need to use the square brackets (which rarely show up in non-markdown text) to denote the link range.


Alternatively, if you still have a hard time remembering the order, you can use reference-style links which make it even more readable outside of markdown rendered contexts (note that there are no parentheses in this version, nothing to get confused):

<pre style="background-color:#ffffff;">
<span style="color:#323232;">[Here is a link][1] and [here is another link][2].
</span><span style="color:#323232;">
</span><span style="color:#323232;">[1]: http://example.org
</span><span style="color:#323232;">[2]: http://example.com
</span>
HandOfDoom , to world in Why are so many climate records breaking all at once?
<pre style="background-color:#ffffff;">
<span style="color:#323232;">We drive our cars and planes
</span><span style="color:#323232;">And burn the fossil fuels
</span><span style="color:#323232;">We ignore the scientists
</span><span style="color:#323232;">And call them climate fools
</span><span style="color:#323232;">
</span><span style="color:#323232;">We chop down all the forests
</span><span style="color:#323232;">And fill the seas with trash
</span><span style="color:#323232;">We melt the polar ice caps
</span><span style="color:#323232;">And watch the glaciers crash
</span><span style="color:#323232;">
</span><span style="color:#323232;">We suffer and we will die
</span><span style="color:#323232;">From the heat as we get older
</span><span style="color:#323232;">But hey, at least we created a lot of value
</span><span style="color:#323232;">For our dear shareholders
</span>

No luck getting my Lemmy instance up and running, is this a good place to get some help?

I’m not exactly a linux beginner but I’m far from an expert and I could use some pointers. I have a domain and a VPS through Namecheap, I chose Ubuntu 20.04 LAMP and I’ve tried several guides to get this working but something always goes wrong sooner or later....

IchNichtenLichten OP , to selfhosted in No luck getting my Lemmy instance up and running, is this a good place to get some help?
@IchNichtenLichten@lemmy.world avatar

I didn’t do that because I’m apparently a moron :)

I’m trying with

dessalines/lemmy:0.18.0 dessalines/lemmy-ui:0.18.0

In this section

<pre style="background-color:#ffffff;">
<span style="color:#323232;">  # actual and only port facing any connection from outside
</span><span style="color:#323232;">  # Note, change the left number if port 1236 is already in use on your system
</span><span style="color:#323232;">  # You could use port 80 if you won't use a reverse proxy
</span><span style="color:#323232;">  - "80:8536"
</span>

this fails with Error starting userland proxy: listen tcp4 0.0.0.0:80: bind: address already in use

I tried 8080 instead and got no errors but I wasn’t able to load the Lemmy page.

I can now get the “Apache2 Ubuntu Default Page - It works!” So that’s something.

manned_meatball , to linux in How to make it such that, when running `command`, it automatically does `SOME_ENV_VAR=value command`? (something cleaner than aliases?)
@manned_meatball@lemmy.ml avatar
<pre style="background-color:#ffffff;">
<span style="color:#323232;">function command_one() {
</span><span style="color:#323232;">    # activate the environment
</span><span style="color:#323232;">    source "$XDG_DATA_HOME/venvs/alpha.sh"
</span><span style="color:#323232;">    # run the thing
</span><span style="color:#323232;">    actual_command_one
</span><span style="color:#323232;">}
</span><span style="color:#323232;">
</span><span style="color:#323232;">function command_two() {
</span><span style="color:#323232;">    # activate the environment
</span><span style="color:#323232;">    source "$XDG_DATA_HOME/venvs/alpha.sh"
</span><span style="color:#323232;">    source "$XDG_DATA_HOME/venvs/bravo.sh"
</span><span style="color:#323232;">    # run the other thing
</span><span style="color:#323232;">    actual_command_two
</span><span style="color:#323232;">}
</span>
Andy , (edited ) to linux in How to make it such that, when running `command`, it automatically does `SOME_ENV_VAR=value command`? (something cleaner than aliases?)
@Andy@programming.dev avatar

If you were using Zsh, one way you could do this is by autoloading function files from a folder in your fpath.

Let’s say you’re using ~/.local/share/zsh/site-functions for your custom functions. To ensure that folder is an early part of your fpath, put something like this within your .zshrc:

<pre style="background-color:#ffffff;">
<span style="color:#323232;">typeset -U fpath=(~/.local/share/zsh/site-functions $fpath)
</span>

Then let’s say you want to override the uptime command. Add a file ~/.local/share/zsh/site-functions/uptime with content like:

<pre style="background-color:#ffffff;">
<span style="color:#323232;">NO_COLOR=1 =uptime
</span>

Explanation for the second =:=’ expansion If a word begins with an unquoted =’ and the EQUALS option is set, the remainder of the word is taken as the name of a command. If a command ex‐ ists by that name, the word is replaced by the full pathname of the command.

The last thing you need to do is mark it for autoloading, in your .zshrc:

<pre style="background-color:#ffffff;">
<span style="color:#323232;">autoload -Uz uptime
</span>

Instead of listing those functions manually as arguments, you could instead use a glob pattern to collect all those names, excluding any which begin with _ (completion functions):

<pre style="background-color:#ffffff;">
<span style="color:#323232;">autoload -Uz ~/.local/share/zsh/site-functions/[^_]*(:t)
</span>
rikudou , to selfhosted in In over my head

Then it should work with this: join-lemmy.org/docs/…/install_docker.html

Here are the commands, basically:

Installing docker

From this doc: docs.docker.com/engine/install/ubuntu/

  • for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
  • apt-get update
  • apt-get install ca-certificates curl gnupg
  • install -m 0755 -d /etc/apt/keyrings
  • curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  • chmod a+r /etc/apt/keyrings/docker.gpg
  • echo “deb [arch=”$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu “$(. /etc/os-release && echo “$VERSION_CODENAME”)” stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
  • apt-get update
  • apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-compose

This series of commands installed an official docker repository in your system so docker itself is always up-to-date, Ubuntu gets updates like this kinda slowly.

Installing Lemmy

From this doc: join-lemmy.org/docs/…/install_docker.html

  • mkdir /opt/lemmy
  • cd /opt/lemmy
  • wget https://raw.githubusercontent.com/LemmyNet/lemmy-ansible/main/templates/docker-compose.yml
  • wget https://raw.githubusercontent.com/LemmyNet/lemmy-ansible/main/examples/config.hjson -O lemmy.hjson
  • wget https://raw.githubusercontent.com/LemmyNet/lemmy-ansible/main/templates/nginx_internal.conf
  • wget https://raw.githubusercontent.com/LemmyNet/lemmy-ansible/main/examples/customPostgresql.conf
  • Edit all the downloaded files (for example using nano) and change everything that starts with {{ and ends with }}
  • mkdir -p volumes/pictrs
  • chown -R 991:991 volumes/pictrs
  • docker-compose up -d

Installing webserver

I chose Caddy, you can choose a different one but then you’ll have to check on your own.

From this guide: caddyserver.com/docs/install#debian-ubuntu-raspbi…

  • apt install -y debian-keyring debian-archive-keyring apt-transport-https
  • curl -1sLf ‘https://dl.cloudsmith.io/public/caddy/stable/gpg.key’ | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
  • curl -1sLf ‘https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt’ | tee /etc/apt/sources.list.d/caddy-stable.list
  • apt update
  • apt install caddy
  • Edit the file /etc/caddy/Caddyfile (for example using nano /etc/caddy/Caddyfile)
  • Paste this content (replace domain.tld with your Lemmy instance domain and the 1236 with the port you have configured in the docker-compose.yml file for {{ lemmy_port }}):
<pre style="background-color:#ffffff;">
<span style="color:#323232;">domain.tld {
</span><span style="color:#323232;">        @http {
</span><span style="color:#323232;">                protocol http
</span><span style="color:#323232;">        }
</span><span style="color:#323232;">        redir @http https://{host}{uri}
</span><span style="color:#323232;">        reverse_proxy localhost:1236
</span><span style="color:#323232;">}
</span>

Hope I haven’t forgotten anything, feel free to ask.

Edit: After all the commands, restart caddy with service caddy restart.

pe1uca , to selfhosted in In over my head

Ah, maybe I wasn’t clear enough, caddy doesn’t need a configuration to redirect traffic from port 80 to port 443, it does it automatically: caddyserver.com/docs/automatic-https

If you want to configure an http only site you need to specifically configure it in your Caddyfile.
Here’s an example for a reverse proxy

<pre style="background-color:#ffffff;">
<span style="color:#323232;"># We don't specify the protocol so Caddy assumes HTTPS and redirects any HTTP to secure.  
</span><span style="color:#323232;">secure.example.com { reverse_proxy :<port> }
</span><span style="color:#323232;">
</span><span style="color:#323232;"># HTTP is specified so Caddy won't redirect to port 443 nor generate a certificate.  
</span><span style="color:#323232;">http://insecure.example.com { reverse_proxy :<port> }
</span>
megane_kun , to showerthoughts in If humans were born with 6 fingers on each hand we would be using base 12 instead of the decimal system.

In base 12 (using T for ten and E for eleven), we can have the following:

<pre style="background-color:#ffffff;">
<span style="color:#323232;">10:00am => 0T:00
</span><span style="color:#323232;">11:00am => 0E:00
</span><span style="color:#323232;">10:00pm => 1T:00
</span><span style="color:#323232;">11:00pm => 1E:00
</span>

Boom! The second digit of the hour (in 24 hour notation) does exactly what AM and PM does!

mcmxci , to selfhosted in New Lemmy Server - Get all communities

Yes, sorry. I have

<pre style="background-color:#ffffff;">
<span style="color:#323232;">COMMUNITY_SORT_METHODS: '[
</span><span style="color:#323232;">        "TopAll",
</span><span style="color:#323232;">        "TopDay",
</span><span style="color:#323232;">        "TopHour" ]'
</span>
dustojnikhummer OP , to selfhosted in NPM vs Traefik?

That seems to have done it!

<pre style="background-color:#ffffff;">
<span style="color:#323232;">http:
</span><span style="color:#323232;">  routers:
</span><span style="color:#323232;">    jellyfin-rtr:
</span><span style="color:#323232;">      rule: "Host(`[redacted].com`)"
</span><span style="color:#323232;">      entryPoints:
</span><span style="color:#323232;">        - websecure
</span><span style="color:#323232;">      service: jellyfin-svc
</span><span style="color:#323232;">      tls:
</span><span style="color:#323232;">        certResolver: letsencrypt
</span><span style="color:#323232;">  services:
</span><span style="color:#323232;">    jellyfin-svc:
</span><span style="color:#323232;">      loadBalancer:
</span><span style="color:#323232;">        servers:
</span><span style="color:#323232;">          - url: "http://[]redacted]:8096" 
</span>
Gatsby , to showerthoughts in The new captcha to prove you're a human should be "say something inappropriate or offensive"
<pre style="background-color:#ffffff;">
<span style="color:#323232;">TIN CAN MAN IS A SOCKET FUCKER
</span>
SzethFriendOfNimi , (edited ) to startrek in I Guess They Don’t Watch Lower Decks

╒════════════════════════════╕ It looks like you want a singularity

<pre style="background-color:#ffffff;">
<span style="color:#323232;">  • [Yes] - of course 
</span><span style="color:#323232;">  • [No]  - I’m worthless and deserve to be deleted
</span>

╘╦═══════════════════════════╛

<pre style="background-color:#ffffff;">
<span style="color:#323232;">👀   
</span><span style="color:#323232;">📎   
</span>
phil299 , (edited ) to fediverse in Youtube alternatives | Foss and privacy centered alternatives

Peertube platform list here

You have to open a account to :-

<pre style="background-color:#ffffff;">
<span style="color:#323232;">Comment videos
</span><span style="color:#323232;">Subscribe to channels to be notified of new videos
</span><span style="color:#323232;">Have access to your watch history
</span><span style="color:#323232;">Create your channel to publish videos
</span>

Although you should be able to follow specific platforms via something like mastodon

eeleech , to programmerhumor in Can we finally put this one to rest?
<pre style="background-color:#ffffff;">
<span style="color:#323232;">(when-not (> a b) (> b a))
</span>
supermair , (edited ) to world in In Turkey, women must wait 300 days before they remarry

Did people even bother reading the article? A medical exam is literally one of the ways listed to skip the period if a woman does not want to wait:

<pre style="background-color:#ffffff;">
<span style="color:#323232;">The period can be dismissed if the woman agrees to undergo a medical examination to prove she is not pregnant or if she remarries her ex-husband. The period also ends if a woman gives birth.
</span>

YSK: Commas can be used in phone numbers to automatically input automated menu options

For instance, I’m on Jury Duty in the US this week. Kinda a freebie but I still have to call in and input my “ID” number, birthday, and zip code before entering phone tree options to hear my summons status. So I saved a contact in my phone for the jury hotline with the main number, my Id number, birthday, zip code, and...

RickRussell_CA , to youshouldknow in YSK: Commas can be used in phone numbers to automatically input automated menu options
@RickRussell_CA@lemmy.world avatar

FYI, the comma comes from the old Hayes modem command language.

<pre style="background-color:#ffffff;">
<span style="color:#323232;">ATDTnumber,,option,option
</span>

ATtention Dial Tone number pause pause option pause option

Each comma was about a 2 second pause. You can use multiple commas for longer pauses.

Azzu , to youshouldknow in YSK: you should use this lemmy link switcher script (via violentMonkey)

Crashes for me, too:

<pre style="background-color:#ffffff;">
<span style="color:#323232;">Second failure launching org.mozilla.firefox/org.mozilla.fenix.customtabs.ExternalAppBrowserActivity, giving up
</span><span style="color:#323232;">android.os.TransactionTooLargeException: data parcel size 614820 bytes
</span><span style="color:#323232;">	at android.os.BinderProxy.transactNative(Native Method)
</span><span style="color:#323232;">	at android.os.BinderProxy.transact(BinderProxy.java:571)
</span><span style="color:#323232;">	at android.app.IApplicationThread$Stub$Proxy.scheduleTransaction(IApplicationThread.java:2746)
</span><span style="color:#323232;">	at android.app.servertransaction.ClientTransaction.schedule(ClientTransaction.java:136)
</span><span style="color:#323232;">	at com.android.server.wm.ClientLifecycleManager.scheduleTransaction(ClientLifecycleManager.java:47)
</span><span style="color:#323232;">	at com.android.server.wm.ActivityTaskSupervisor.realStartActivityLocked(ActivityTaskSupervisor.java:880)
</span><span style="color:#323232;">	at com.android.server.wm.RootWindowContainer.startActivityForAttachedApplicationIfNeeded(RootWindowContainer.java:2000)
</span><span style="color:#323232;">	at com.android.server.wm.RootWindowContainer.$r8$lambda$auelgeOhCvbItmS_07q5VFEb1ac(Unknown Source:0)
</span><span style="color:#323232;">	at com.android.server.wm.RootWindowContainer$$ExternalSyntheticLambda2.apply(Unknown Source:8)
</span><span style="color:#323232;">	at com.android.internal.util.function.pooled.PooledLambdaImpl.doInvoke(PooledLambdaImpl.java:318)
</span><span style="color:#323232;">	at com.android.internal.util.function.pooled.PooledLambdaImpl.invoke(PooledLambdaImpl.java:204)
</span><span style="color:#323232;">	at com.android.internal.util.function.pooled.OmniFunction.apply(OmniFunction.java:78)
</span><span style="color:#323232;">	at com.android.server.wm.ActivityRecord.forAllActivities(ActivityRecord.java:4270)
</span><span style="color:#323232;">	at com.android.server.wm.WindowContainer.forAllActivities(WindowContainer.java:1430)
</span><span style="color:#323232;">	at com.android.server.wm.WindowContainer.forAllActivities(WindowContainer.java:1423)
</span><span style="color:#323232;">	at com.android.server.wm.RootWindowContainer.lambda$attachApplication$15$RootWindowContainer(RootWindowContainer.java:1978)
</span><span style="color:#323232;">	at com.android.server.wm.RootWindowContainer$$ExternalSyntheticLambda20.accept(Unknown Source:6)
</span><span style="color:#323232;">	at com.android.server.wm.Task.forAllRootTasks(Task.java:3197)
</span><span style="color:#323232;">	at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1806)
</span><span style="color:#323232;">	at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1806)
</span><span style="color:#323232;">	at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1806)
</span><span style="color:#323232;">	at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1806)
</span><span style="color:#323232;">	at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1806)
</span><span style="color:#323232;">	at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1806)
</span><span style="color:#323232;">	at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1799)
</span><span style="color:#323232;">	at com.android.server.wm.RootWindowContainer.attachApplication(RootWindowContainer.java:1964)
</span><span style="color:#323232;">	at com.android.server.wm.ActivityTaskManagerService$LocalService.attachApplication(ActivityTaskManagerService.java:6041)
</span><span style="color:#323232;">	at com.android.server.am.ActivityManagerService.attachApplicationLocked(ActivityManagerService.java:4595)
</span><span style="color:#323232;">	at com.android.server.am.ActivityManagerService.attachApplication(ActivityManagerService.java:4676)
</span><span style="color:#323232;">	at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:2404)
</span><span style="color:#323232;">	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2517)
</span><span style="color:#323232;">	at android.os.Binder.execTransactInternal(Binder.java:1179)
</span><span style="color:#323232;">	at android.os.Binder.execTransact(Binder.java:1143)
</span>
pyrojoe , to selfhosted in Well well 🤨

Damn that setup is no joke. 21GB in a few months initially sounded like a lot to me… but I decided to math it out. Lets say the 20gb was across 1,2 or 3 months…

<pre style="background-color:#ffffff;">
<span style="color:#323232;">Time till 1tb would fill up.
</span><span style="color:#323232;">+------+-----------+----------+----------+
</span><span style="color:#323232;">|      | 3 months  | 2 months | 1 month  |
</span><span style="color:#323232;">| 1 TB | ~12 years | ~8 years | ~4 years |
</span><span style="color:#323232;">+------+-----------+----------+----------+
</span>

That data usage is looking pretty reasonable… Even 20gb per month is something that wouldn’t be too hard to keep up with and I’m sure eventually there’ll be a way to clean up old posts that no one on your instance saved or commented on if you are trying to save space. I’d start to worry if disk usage was hitting closer to 40gb a month.

turdas , to linux in Your best terminal aliases

I use this function to launch GUI apps from the shell without occupying that shell or cluttering it with their output:

<pre style="background-color:#ffffff;">
<span style="color:#323232;">nown() {
</span><span style="color:#323232;">        if [ -n "$1" ]
</span><span style="color:#323232;">        then
</span><span style="color:#323232;">                nohup $@ &> /dev/null & disown
</span><span style="color:#323232;">        else
</span><span style="color:#323232;">                echo "Don't give me a null command dumbass."
</span><span style="color:#323232;">        fi
</span><span style="color:#323232;">}
</span>
cheerupcharlie , to linux in Your best terminal aliases

I always set these because I’ve been burned too many times:

Turn on interactive mode for dangerous commands

<pre style="background-color:#ffffff;">
<span style="color:#323232;">alias cp='cp -iv'
</span><span style="color:#323232;">alias mv='mv -iv'
</span><span style="color:#323232;">alias rm='rm -iv'
</span>
  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • lifeLocal
  • goranko
  • All magazines