The question was whether or not a sign saying guns not allowed at a mall would make me feel more safe there. I would see them, I might bump into them, it's a mall.
The argument that most of them are sane and reasonable doesn't reassure me much when we're talking about people with a magic kill button.
Fair enough, though a person with a gun is much more likely to shoot me than a person without a gun. Any measure to reduce the amount of people in my vicinity carrying guns has my full support. If 1/1000 (number pulled out of my ass obviously) gun owners end up shooing someone, and you reduce the amount of people around me carrying guns from 1000 to 10, you've just dramatically increased my statistical probability of living a full life.
I actually looked and couldn't find the murder rate in the population of gun owners with basic googling but the actual number doesn't matter when it's being compared to 0.
Currently live in the Republic of Ireland and I have no idea what you're talking about? Were you here on Saint Patrick's Day? There's a significant amount of Palestinian flags in windows here for pretty obvious reasons but other than that I don't think I've seen a flag since, again, Paddy's day.
The sign actually would give me an increased sense of security yeah.
Obviously a lunatic out to do a mass shooting would disregard the sign but your average gun wielder might be offended and take their business elsewhere – and statistically that's the one who's more likely to shoot me. That's my logic as a Norwegian who's lived there for just a year anyway.
I'm between The Black Parade (the album) by My Chemical Romance, an alt rock opera masterpiece imo, and Hamilton, the Broadway cast recording.
I feel like the former might not work as well when removed from its time, but I bet it still would blow my mind.
Have you tried kitty? It's seriously nice if you can live with the occasional "oh no I sshed to a server that doesn't have the correct terminfo files and now none of the normal terminal navigation features work"
I'm sorry to be the one to break it to you but every job becomes a job, if you know what I mean. I'm my own boss, work from home, doing programming which is my passion. I still love programming, but work is work. Not saying you shouldn't try to find enjoyment in it, just don't want you to expect it to be fun as shit no matter what the job description says. Just try to find one that doesn't make you miserable and focus on that work life balance.
This doesn't really install it, though, you can't update or permanently edit and config, set up users, or anything like that.
I would guess OP wants something more like booting the ISO in a VM, allocating a thumb drive to that VM, and then installing a full system to it with a boot loader.
Imo it's only a tool to understand and explain situations, not so much a tool to solve problems. Definitely understanding the forces that make up the conflict might help you solve a problem, but the solution will depend on what kind of forces are involved.
Again The issue on the repo. The developers recommend just using the app feature of the browsers to get similar functionality without the security concerns.
If you look at the repo, the very first line in the readme links to an issue that briefly explains why you should care.
Unmaintained software comes in two categories:
The software is done. It does exactly what it was meant to do and it was written in a language and in such a way as to be pretty future proof. Examples are some basic code libraries or command line utilities.
The software had to be updated all the time to keep up with changing environments and security problems, so the dev got sick of it and dropped it. Or a better solution came along so the developer felt free to finally drop the burden.
Nativefier falls in the second category and the second clause. Don't use it.
I'll try that, but since I haven't been able to find any related issues I'm pretty sure it's a configuration error on my part. Hehe the regretfully long post. Next step will probably be to open an issue on authentik's GitHub but since I think it's a pebkac I would prefer not to waste their time.
You asked for my python script but now I can't seem to load that comment to reply directly to it. Anyway, here's the script, I haven't bothered to upload the repo anywhere. I'm sure it isn't perfect but it works fine for me. The action for opening evolution when you click the tray icon is specific to hyprland so will probably need to be modified to suit your needs.
python
import asyncio
import concurrent.futures
import logging
import signal
import sqlite3
import sys
from pathlib import Path
from subprocess import run
import pkg_resources
from inotify_simple import INotify, flags
from PySimpleGUIQt import SystemTray
menu_def = ["BLANK", ["Exit"]]
empty_icon = pkg_resources.resource_filename(
"evolution_tray", "resources/inbox-empty.svg"
)
full_icon = pkg_resources.resource_filename(
"evolution_tray", "resources/inbox-full.svg"
)
inotify = INotify()
tray = SystemTray(filename=empty_icon, menu=menu_def, tooltip="Inbox empty")
logging.getLogger("asyncio").setLevel(logging.WARNING)
handler = logging.StreamHandler(sys.stdout)
logger = logging.getLogger()
logger.setLevel("DEBUG")
logger.addHandler(handler)
def handle_menu_events():
while True:
menu_item = tray.read()
if menu_item == "Exit":
signal.raise_signal(signal.SIGTERM)
elif menu_item == "__ACTIVATED__":
run(["hyprctl", "dispatch", "exec", "evolution"])
# tray.update(filename=paused_icon)
logger.info("Opened evolution")
def get_all_databases():
cache_path = Path.home() / ".cache" / "evolution" / "mail"
return list(cache_path.glob("**/folders.db"))
def check_unread() -> int:
unread = 0
for db in get_all_databases():
conn = sqlite3.connect(db)
cursor = conn.cursor()
try:
cursor.execute("select count(*) read from INBOX where read == 0")
unread += cursor.fetchone()[0]
except:
pass
finally:
conn.close()
if unread > 0:
tray.update(filename=full_icon, tooltip=f"{unread} unread emails")
else:
tray.update(filename=empty_icon, tooltip="Inbox empty")
return unread
def watch_inbox():
while True:
for database in get_all_databases():
inotify.add_watch(database, mask=flags.MODIFY)
while inotify.read():
logger.info("New mail")
logger.info(f"{check_unread()} new emails")
async def main():
executor = concurrent.futures.ThreadPoolExecutor(max_workers=1)
loop = asyncio.get_running_loop()
check_unread()
watch_task = asyncio.wait(
fs={
loop.run_in_executor(executor, watch_inbox),
},
return_when=asyncio.FIRST_COMPLETED,
)
await asyncio.gather(watch_task, loop.create_task(handle_menu_events()))
def entrypoint():
signal.signal(signal.SIGINT, signal.SIG_DFL)
signal.signal(signal.SIGTERM, signal.SIG_DFL)
try:
asyncio.run(main())
except Exception as e:
logger.exception(e)
if __name__ == "__main__":
entrypoint()
Don't know why you were down dooted, that's absolutely true and exactly how I feel, and how everyone I've talked to about copilot feels.