Salta al contenuto principale



Portland, OR.


Standing on the Ross Island Bridge, camera on tripod, trying to capture tasty views of Portland as the temperature dipped below 10°C and my fingies started getting cold.

I think I delivered. Even while jerks honked at me.

Thanks for seeing my work!





French court convicts TotalEnergies of greenwashing over climate claims


Judges ruled on Thursday that the energy giant had misled consumers by overstating its carbon neutrality goals. The case could set a potential precedent for corporate climate advertising.

The lawsuit targeted around 40 "false advertisements," some of which are still being used, according to climate groups. It requested that TotalEnergies be required to stop using them and be required to put disclaimers on its ads that include warnings about the impact of fossil fuels on the climate.


See also:
- The fuel, and controversies, that built TotalEnergies
Founded in 1924 at the initiative of the French state, the group is now one of the world's leading oil companies. Confronted with a number of scandals, notably environmental, it's now accused of undermining the energy transition and enriching itself at the expense of climate change.

Questa voce è stata modificata (2 giorni fa)


Dalla candidatura a sindaca alle voci sul futuro politico: tutti i capitoli del “caso Salis” Wanda Valli su L'Unica - Genova


Salis, ex atleta e dirigente sportiva, ora è alle prese con la sfida più significativa e difficile: con la politica, alla guida di un’istituzione importante come è il Comune. Sono passati solo pochi mesi da quando è entrata a Palazzo Tursi, il nobile, ele

Salis, ex atleta e dirigente sportiva, ora è alle prese con la sfida più significativa e difficile: con la politica, alla guida di un’istituzione importante come è il Comune. Sono passati solo pochi mesi da quando è entrata a Palazzo Tursi, il nobile, elegante, palazzo simbolo di Genova politica. Pochi per giudicare una persona, eppure sono bastati per far nascere un “caso Salis”, avvincente come un giallo d’autore. E siamo solo agli inizi.

lunica.email/silvia-salis-sind…

reshared this



My Privacy Setup v2


It's been a while since I made this post, so I think it's time for an update.

Items in italics are subsequent additions.

Remember these rules:


  • Be respectful! Some people are early on in their privacy journey, or have a lax threat model. Just because it doesn't align with yours, or uses some anti-privacy software, doesn't mean you can downvote them! Help them improve by giving suggestions on alternatives.
  • Don't promote proprietary software! Proprietary software, no matter how good it may seem, is against the community rules, and generally frowned upon. If you aren't sure, you can always ask! This is a place to learn. Don't downvote people just because they don't know!
  • Don't focus solely on me! Since this happened in one of @Charger8232@lemmy.ml's posts, I want to mention that this thread is not designed to pick apart only my setup. The point is to contribute your own and help others. That doesn't mean you can't still give suggestions for mine, but don't prioritize mine over another.
  • Be polite! This falls under "Be respectful", but be kind to everyone! Say please, thank you, and sorry. Lemmy is really good about this, but there will always be someone.


Here is my setup:


Web browsing

  • I use Mullvad Browser for general browsing, with uBlock Origin and NoScript.
  • I use FoxyProxy to route my connection over Tor or I2P when accessing a hidden service or eepsite.
  • I use Librewolf for general browsing on on my Raspberry Pi, as Mullvad has not yet been ported to aarch64.
  • I use a self-hosted SearXNG instance for web searches, though it isn't quite as reliable as MetaGer used to be.
  • I use Mullvad VPN at all times.
    • I only use their owned servers; not their rented ones.
    • I usually enable multihop, but it does cause issues.
    • I use their Shadowsocks proxy to connect while on eduroam.


  • I use NextDNS and Mullvad DNS interchangeably for extra content blocking.
  • I use Libredirect and UntrackMe to redirect me to alternative frontends for popular services (e.g. YouTube -> Invidious)
  • I use Vivaldi for society stuff, where the stupid web apps don't play nice with adblockers.

Desktop

  • I use several trusted Linux distributions on my PCs; currently:
    • Arch Linux
    • Debian
    • Raspbian
    • Alpine (pending installation)
    • Slackware


  • Apart from my Raspberry Pi, the UEFI/BIOS is password-protected on all of my machines.
  • I have enabled secure boot on my ThinkPad T480s (the only device I own that supports it).
  • I always carry a Tails USB, but I haven't yet had cause to use it.
  • I use full disk encryption (LUKS) on everything, and I have a VeraCrypted pen drive for special cases.
  • I cover most of my webcams with Blu-Tac or electrical tape.
    • My ThinkPad T480s supports disabling the webcams and microphone in the UEFI.
    • I trust the security in GrapheneOS enough not to to this on my phone, which would be inconvenient (although a case with camera covers would be nice once my Otterbox wears out).


Mobile

  • I use a Pixel 8 with GrapheneOS.
  • Again, I am always connected to Mullvad VPN.
  • I currently use Cromite, but I often switch between several private options. Suggestions with reasoning are most welcome.
    • Cromite is hardened according to PrivacyGuides.


  • I have Tor Browser installed, for when I need more protection or if I need to access a .onion
  • My passcode is simply the longest string of digits I can remember.
    • I used to use an alphanumeric passphrase, but it became rather inconvenient when I disabled biometric unlock.


  • Radios (i.e. WiFi, Bluetooth) are automatically disabled when they are not in use.

Messaging

  • I have managed to get my family and a few friends to use Signal, and I have one friend who I speak to over Tox (I am aware of why this isn't the most secure; he's had difficulty with other options)
  • I am forced to use Discord, sadly, as all three of my societies use it as their only form of communication (other than social media), as do several societies from other universities and as does one of my close friends.
  • With the exceptions of my grandma and my old high school group chat, I no-longer use WhatsApp.
  • Now that I'm out of student accommodation, I have been able to delete Snapchat (my old flatmates insisted on using it for the flat group chat). Good riddance.

Online accounts

  • I use KeePass to manage my passwords, which are synchronised between devices using Syncthing.
    • KeePassXC is the client I use on desktop.
    • On Android, I use KeePassDX.


  • I use Aegis and OTPClient to generate TOTPs. I also have a graphing calculator that can generate these, but it doesn't seem to work very well these days.
  • I have anonymised all of my social media accounts apart from my LinkedIn (I wish I didn't have this in the first place; something something capitalism) and an old Mastodon account I lost access to.

Video streaming

  • I use Invidious, yt-dlp, and mpv to watch YouTube videos.
  • I use PeerTube when possible (mainly to watch Veronica Explains, New Ellijay TV, Techlore, and The Linux Experiment).

AI

  • I played around with ChatGPT and DALL-E in the early '20s, but those days are behind me now.
  • I occasionally use Duck.ai for help with server stuff, but only when I'm desperate and out of options.

Social Media

  • The only non-FOSS social media I use is Tumblr, which is ranked B by ToS;DR.
  • I have a LinkedIn, but I don't really use it.
  • I am the media officer for one of my societies, but I have all of those nasty proprietary apps in a separate profile.

Email

  • I use Posteo as my main provider.
  • I have DuckDuckGo Email Protection as an alias service, which I use through Quacky.
  • I use my uni email (Outlook 365) and my society email (Gmail) through privacy-respecting clients; namely Evolution, KMail (if I'm running KDE), and FairEmail.

Shopping/Finance

  • I rarely make online purchases. I am certainly being tracked, but I'm simply not producing enough data in the first place for this to be a big problem.
  • For physical purchases, I am trying to use cash more often, but it makes my budget harder to manage.
  • The only recurring payment I make is to OVH, who provide my VPS and are known to be one of the better hosting providers from a privacy standpoint (though I imagine not the best).
  • I would use Monero for things like Mullvad, but I've had a hard time acquiring any.
  • I have joined several loyalty schemes, but I rarely use them as I shop at Aldi (specifically Aldi Süd), which doesn't have one.
    • The data collected by supermarkets when I use my loyalty cards is, in my opinion, a fair trade. They get some analytics, and I get discounted products. I am comfortable with this.


Music

  • I occasionally stream music on Bandcamp, but virtually everything I listen to is either on CD or a local file.
  • I occasionally use an MP3 stream to listen to KERRANG! Radio, Radio 4, Classic FM (for DanTDM's show), or my university's student radio station.
  • I give Last.fm my listening data intentionally.

TV shows

  • I use DVDs for most of my viewing, but I have sailed the high seas in the past
  • Some shows I enjoy (i.e. Helluva Boss) are released officially for free on YouTube (watched via Invidious).
  • My flat does have a smart TV, but its one of the older ones (sans bullshit) and not connected to the internet.
  • One of my flatmates is trying to set up a media server, which is nice.

Gaming

  • I generally don't game.
  • When playing Minecraft, I use PrismLauncher and I'm always sure to install the Anti-Telemetry mod.

Programming

  • I code using Micro. I also sometimes use Kate, but only if I'm running Plasma.
  • I use sourcehut and Codeberg to host my projects.

Productivity

  • I normally just use Markdown for note-taking and documents.
  • Next time I make a presentation, I will probably use Markdown slides (LibreOffice Impress isn't great, in my experience).
  • Spreadsheets are edited with LibreOffice Calc, but I tend to just use a text editor to write a CSV or TSV unless I need formulae.
  • One of my societies uses Trello and Google Docs for their stuff. However, I use these in their own profile on my phone, and in their own browser on desktop.
  • If there's anything really sensitive or really private I need to write, I just use a pen and paper. I also own a typewriter.

Misc

  • I use FreshRSS for news.
    • I use Capy Reader on my phone and Newsboat on desktop.


  • My local timezone just happens to be the same as UTC most of the time.
  • I use a non-smart, analogue watch (RIP PineTime).
  • I don't have a car, as I'm skint.
  • I use Bluetooth earbuds out of necessity. I'm still salty about Apple removing the headphone jack and then every other phone company (in this case, Google) following suit. However, they are basic earbuds which do not require an app, and so they should be more private than other similar models.
  • I will never use Amazon Echo or Google Home.


To-Do


  • Use cash more often
  • Try to get family to ditch Meta
  • Get grandparents to use Signal
  • Audit all systems with Lynis
  • Selectively clear cookies and site data every so often in Vivaldi (automate, if possible)

Thanks for reading!

Questa voce è stata modificata (2 giorni fa)
in reply to Hellfire103

For markdown note taking I cannot recommend enough obsidian



PieFed Email Error


Hello!

I wanted to move away from Reddit and started with a Lemmy instance for a few days. But, I kept on bumping into these mentions about PieFed and got curious. I figured since I just started, no harm in just spinning up PieFed. That, and once I saw Voyager was able to work with PieFed, it just seemed like a no brainer.

I'm so very impressed, I'm just exploring everything, checking out settings, and adding new communities.

That said I probably did something wrong in the process. I input the settings for email in .env.docker. As soon as I did, error emails arrived in batches of 5-8 at a time. I tried making sense of it myself, but I got stuck. Would anyone kindly take a look and point me in the right direction?

::: spoiler Error
Exception on /inbox
[POST]Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/requests/models.py", line 976, in json
return complexjson.loads(self.text, **kwargs)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/json/__init__.py", line 346, in loads
return _default_decoder.decode(s)
~~~~~~~~~~~~~~~~~~~~~~~^^^
File "/usr/local/lib/python3.13/json/decoder.py", line 345, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/json/decoder.py", line 363, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/pyld/documentloader/requests.py", line 72, in loader
'document': response.json()
~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/requests/models.py", line 980, in json
raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/pyld/context_resolver.py", line 143, in _fetch_context
remote_doc = jsonld.load_document(url,
{'documentLoader': self.document_loader},
requestProfile='http://www.w3.org/ns/json-ld#context')
File "/usr/local/lib/python3.13/site-packages/pyld/jsonld.py", line 6583, in load_document
remote_doc = options['documentLoader'](url, options)
File "/usr/local/lib/python3.13/site-packages/pyld/documentloader/requests.py", line 100, in loader
raise JsonLdError(
...<2 lines>...
cause=cause)
pyld.jsonld.JsonLdError: ('Could not retrieve a JSON-LD document from the URL.',)
Type: jsonld.LoadDocumentError
Code: loading document failed
Cause: Expecting value: line 1 column 1 (char 0) File "/usr/local/lib/python3.13/site-packages/pyld/documentloader/requests.py", line 72, in loader
'document': response.json()
~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/requests/models.py", line 980, in json
raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/pyld/jsonld.py", line 1219, in to_rdf
expanded = self.expand(input_, options)
File "/usr/local/lib/python3.13/site-packages/pyld/jsonld.py", line 870, in expand
expanded = self._expand(active_ctx, None, document, options,
inside_list=False)
File "/usr/local/lib/python3.13/site-packages/pyld/jsonld.py", line 2302, in _expand
active_ctx = self._process_context(
active_ctx, element['@context'], options)
File "/usr/local/lib/python3.13/site-packages/pyld/jsonld.py", line 3049, in _process_context
resolved = options['contextResolver'].resolve(active_ctx, local_ctx, options.get('base', ''))
File "/usr/local/lib/python3.13/site-packages/pyld/context_resolver.py", line 58, in resolve
resolved = self._resolve_remote_context(
active_ctx, ctx, base, cycles)
File "/usr/local/lib/python3.13/site-packages/pyld/context_resolver.py", line 108, in _resolve_remote_context
context, remote_doc = self._fetch_context(active_ctx, url, cycles)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/pyld/context_resolver.py", line 148, in _fetch_context
raise jsonld.JsonLdError(
...<8 lines>...
code='loading remote context failed')
pyld.jsonld.JsonLdError: ('Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.',)
Type: jsonld.InvalidUrl
Code: loading remote context failed
Details: {'url': 'https://www.w3.org/ns/activitystreams', 'cause': JsonLdError('Could not retrieve a JSON-LD document from the URL.')}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/pyld/jsonld.py", line 1128, in normalize
dataset = self.to_rdf(input_, opts)
File "/usr/local/lib/python3.13/site-packages/pyld/jsonld.py", line 1221, in to_rdf
raise JsonLdError(
'Could not expand input before serialization to '
'RDF.', 'jsonld.RdfError', cause=cause)
pyld.jsonld.JsonLdError: ('Could not expand input before serialization to RDF.',)
Type: jsonld.RdfError
Cause: ('Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.',)
Type: jsonld.InvalidUrl
Code: loading remote context failed
Details: {'url': 'https://www.w3.org/ns/activitystreams', 'cause': JsonLdError('Could not retrieve a JSON-LD document from the URL.')} File "/usr/local/lib/python3.13/site-packages/pyld/jsonld.py", line 1219, in to_rdf
expanded = self.expand(input_, options)
File "/usr/local/lib/python3.13/site-packages/pyld/jsonld.py", line 870, in expand
expanded = self._expand(active_ctx, None, document, options,
inside_list=False)
File "/usr/local/lib/python3.13/site-packages/pyld/jsonld.py", line 2302, in _expand
active_ctx = self._process_context(
active_ctx, element['@context'], options)
File "/usr/local/lib/python3.13/site-packages/pyld/jsonld.py", line 3049, in _process_context
resolved = options['contextResolver'].resolve(active_ctx, local_ctx, options.get('base', ''))
File "/usr/local/lib/python3.13/site-packages/pyld/context_resolver.py", line 58, in resolve
resolved = self._resolve_remote_context(
active_ctx, ctx, base, cycles)
File "/usr/local/lib/python3.13/site-packages/pyld/context_resolver.py", line 108, in _resolve_remote_context
context, remote_doc = self._fetch_context(active_ctx, url, cycles)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/pyld/context_resolver.py", line 148, in _fetch_context
raise jsonld.JsonLdError(
...<8 lines>...
code='loading remote context failed')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/app/app/activitypub/routes.py", line 613, in shared_inbox
LDSignature.verify_signature(request_json, actor.public_key)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/app/activitypub/signature.py", line 485, in verify_signature
final_hash = cls.normalized_hash(options) + cls.normalized_hash(document)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
File "/app/app/activitypub/signature.py", line 544, in normalized_hash
norm_form = jsonld.normalize(
document,
{"algorithm": "URDNA2015", "format": "application/n-quads"},
)
File "/usr/local/lib/python3.13/site-packages/pyld/jsonld.py", line 272, in normalize
return JsonLdProcessor().normalize(input_, options)
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/pyld/jsonld.py", line 1130, in normalize
raise JsonLdError(
'Could not convert input to RDF dataset before normalization.',
'jsonld.NormalizeError', cause=cause)
pyld.jsonld.JsonLdError: ('Could not convert input to RDF dataset before normalization.',)
Type: jsonld.NormalizeError
Cause: ('Could not expand input before serialization to RDF.',)
Type: jsonld.RdfError
Cause: ('Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.',)
Type: jsonld.InvalidUrl
Code: loading remote context failed
Details: {'url': 'https://www.w3.org/ns/activitystreams', 'cause': JsonLdError('Could not retrieve a JSON-LD document from the URL.')} File "/usr/local/lib/python3.13/site-packages/pyld/jsonld.py", line 1219, in to_rdf
expanded = self.expand(input_, options)
File "/usr/local/lib/python3.13/site-packages/pyld/jsonld.py", line 870, in expand
expanded = self.expand(active_ctx, None, document, options,
inside_list=False)
File "/usr/local/lib/python3.13/site-packages/pyld/jsonld.py", line 2302, in _expand
active_ctx = self._process_context(
active_ctx, element['@context'], options)
File "/usr/local/lib/python3.13/site-packages/pyld/jsonld.py", line 3049, in _process_context
resolved = options['contextResolver'].resolve(active_ctx, local_ctx, options.get('base', ''))
File "/usr/local/lib/python3.13/site-packages/pyld/context_resolver.py", line 58, in resolve
resolved = self._resolve_remote_context(
active_ctx, ctx, base, cycles)
File "/usr/local/lib/python3.13/site-packages/pyld/context_resolver.py", line 108, in _resolve_remote_context
context, remote_doc = self._fetch_context(active_ctx, url, cycles)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/pyld/context_resolver.py", line 148, in _fetch_context
raise jsonld.JsonLdError(
...<8 lines>...
code='loading remote context failed')
File "/usr/local/lib/python3.13/site-packages/pyld/jsonld.py", line 1128, in normalize
dataset = self.to_rdf(input
, opts)
File "/usr/local/lib/python3.13/site-packages/pyld/jsonld.py", line 1221, in to_rdf
raise JsonLdError(
'Could not expand input before serialization to '
'RDF.', 'jsonld.RdfError', cause=cause)
:::

Questa voce è stata modificata (2 giorni fa)
in reply to pathwonder

As soon as federation starts there is all kinds of weird JSON that arrives from different software, so errors start happening. Most of them are not serious.

Are you following PeerTube channels? Afaik PeerTube is the one most likely to trigger the JSON-LD-based signature validation.

in reply to Rimu

Thank you everyone, for your replies and tips!!

I haven't followed PeerTube channels directly from PieFed - yet.

After just under 24 hours up, so far everything seems to be working just as wjs018 says.

Thanks Rimu for the Sentry tip.

I think I'll just not set the email for errors so as to avoid the logs being sent out.

in reply to pathwonder

If you want a more manageable way to deal with error reports, get a free account with sentry.io, create a project within sentry and then put the DSN from the project into the SENTRY_DSN environment variable.


Can anyone tell me if this sounds realistic or if it's CEO hype?


Sounds interesting, and I get much of what he said, but I'm not qualified to judge. Sounds great, and not just for AI, though that seems the company's focus. Thoughts?
#tech



Platner's Campaign Marches On Despite Intense Hit Pieces | Majority Report




Satellite data shows methane emissions are declining in part of Canada’s oil patch, but more monitoring is needed


Authors:

  • Chris Hugenholtz | Professor, Geography, University of Calgary
  • Coleman Vollrath | PhD Candidate in Physical Geography, University of Calgary
  • Thomas Barchyn | Researcher, Geography, University of Calgary
  • Zhenyu Xing | Postdoctoral Associate, University of Calgary


Governments in Canada’s major oil and gas producing provinces, Alberta and Saskatchewan, have touted their efforts in recent years to reduce methane emissions.

Methane is a greenhouse gas released into the atmosphere at oil and gas facilities through leaks, vents, maintenance activities and incomplete combustion. Methane traps significantly more heat than carbon dioxide, making it a potent climate pollutant.

We set out to independently verify if government claims of decreasing oil and gas methane emissions were accurate. Our new study shows that the answer is yes — but with important caveats and valuable lessons for Canada’s energy sector.

We studied satellite observations between 2019 and 2023 to understand how methane emissions rates in Canada’s main oil-producing region were changing. We focused on the heavy oil belt near Lloydminster, Alta., where a distinctive extraction method known as CHOPS (cold heavy oil production with sand) has long been associated with notable methane emissions.

CHOPS brings a mix of oil, water, sand and gas to the surface. The oil is collected, but the co-produced gas — which is mainly methane — has historically been vented or flared.





The Rise of Licensed IPTV in 2025: Why Viewers Are Switching to Legal Streaming


Over the last few years, IPTV has grown from a niche technology into one of the main ways people watch live television.
But 2025 marks a turning point — the rise of licensed IPTV platforms that provide legal, stable, and high-quality viewing experiences.

Here’s why more users are moving to legitimate providers:

📺 Legality & Safety — Licensed IPTV services operate under verified broadcast agreements, giving users peace of mind.
Consistent Quality — No channel drops, no sudden shutdowns, and full HD streams.
🌍 Multi-Device Access — Works seamlessly on Smart TVs, Firestick, Android, iPhone, and web browsers.
🔒 Data Protection — Transparent payment gateways and no hidden data collection.

If you’re looking for a reliable, fully licensed provider in the US, Canada, or Europe,
👉 Legal IPTV Provider USA offers a verified IPTV service with legal authorization and a large range of premium channels.

Always choose licensed IPTV — it supports creators, ensures long-term stability, and delivers the best viewing experience without risk.



Why Are Some Democrats Backing MAGA's Anti-LGBTQ+ Censorship?


in reply to cm0002

@cm0002@lemmings.world please add the required [Opinion] prefix in the title.

This op-ed from Fight for the Future <...>


Voter turnout exceeds expectations in California's Prop. 50 special election


Early voter turnout is exceeding expectations in California’s Nov. 4 special election over redrawing the state’s congressional districts, a Democratic-led effort to counter Republican attempts to keep Congress under GOP control.

“We’re seeing some pretty extraordinary numbers of early votes that have already been cast, people sending back in their ballots,” Gov. Gavin Newsom said in a livestream with former President Obama on Wednesday.

More than 3.4 million mail ballots have been returned as of Wednesday, with votes from Democrats outpacing ballots from Republicans and Californians registered as not having a party preference, according to a ballot tracker run by Democratic strategist Paul Mitchell. Mitchell is deeply involved in the Democratic effort, and drafted the proposed congressional districts on the Nov. 4 special election ballot.



Video-Sen. Bernie Sanders - Harnessing Energy From "No Kings" Rally to "Fight Oligarchy"





American Journalist chased by settlers in the occupied west bank


Sensitive content

in reply to Ayache Benbraham ☭🪬

I found a YouTube link in your post. Here are links to the same video on alternative frontends that protect your privacy:



Bernie Sanders floats AOC as potential 2028 presidential contender: ‘Very good politician’


Independent Senator Bernie Sanders floated Democratic Rep. Alexandria Ocasio-Cortez as a potential presidential candidate in the 2028 elections, saying that even though it's "her decision to make," she is a "very, very good politician."

Speaking to Axios, Sanders said that he has been "out on the streets with her" and noticed how she responds when people come up to her. "It's so incredibly genuine and open."

Ocasio-Cortez is seemingly positioning herself to run for higher office, whether it is challenging Senate Minority Leader Chuck Schumer for his seat or to make a run for president.

in reply to Suavevillain

Yea, republicans piss on you and say it's that guy, Dems piss on you and say it's raining.

Atleast piss in my mouth and we'll all be happy


in reply to Spectre

*former

epstein & maxwell have deep ties to Mossad and israhell is pedo/r*pe central so the shoe fits the foot.

Questa voce è stata modificata (1 giorno fa)


The shutdown has air traffic controllers moonlighting as Uber drivers. What could go wrong?




My Honest Review of 4KIV IPTV (After Testing It for a Few Months)


I’ve been experimenting with different IPTV services for the past year, and honestly, most of them didn’t last long. Either the streams were buffering constantly, local channels were missing, or the provider shut down after a few months.
A few months ago, I started using 4Kiv.com , and so far, it’s been one of the more reliable ones I’ve tried in 2025.
Here’s what stood out for me:
* Good mix of US + international channels (including locals I couldn’t get on other providers)
* A large movie and TV series library that actually gets updated
* Sports & PPV events included, which is a big plus
* Works smoothly on Firestick, Smart TVs, Android, iOS, and PC
* No major buffering issues, even during live games or peak hours
👉 You can check it out here: www.4kiv.com
I’m curious if anyone else here has tried 4KIV or found other solid IPTV services that are actually stable in 2025?


Noi del Rione Sanità, anticipazioni seconda puntata di giovedì 30 ottobre 2025: la violenza riesplode, Massimo nella rete di Mariano


Prosegue su Rai 1 il racconto di Noi del Rione Sanità, la serie di Luca Miniero con Carmine Recano nei panni di Don Giuseppe Santoro. Dopo l’esordio all’insegna del coraggio civile, la seconda puntata alza la posta: il progetto teatrale prende forma tra entusiasmi e fratture, mentre nel quartiere torna a farsi sentire la violenza. Il carisma del boss Mariano diventa una minaccia concreta per i più giovani, a partire da Massimo, che scivola nel suo raggio d’influenza.

LE ANTICIPAZIONI: Noi del Rione Sanità, anticipazioni seconda puntata di giovedì 30 ottobre 2025: la violenza riesplode, Massimo nella rete di Mariano



Is there any incompatibility between NodeBB and Mobilizon?


Good evening everyone. Mobilizon is an interesting alternative to EventBrite developed by the French collective Framasoft. I recently noticed that NodeBB can't see #Mobilizon events. Of course, I didn't expect NodeBB to be able to see and manage events

Good evening everyone.
Mobilizon is an interesting alternative to EventBrite developed by the French collective Framasoft.
I recently noticed that NodeBB can't see #Mobilizon events.
Of course, I didn't expect NodeBB to be able to see and manage events (mark them as accepted, rejected, or "unclear"), like Friendica, for example.
Mastodon, however, while it can't "manage" events, can view them and allows you to follow the users who publish them.

I've noticed that NodeBB can't see Friendica events either, nor those produced by the federated platform "Gancio."

Can anyone explain to me what could be causing this incompatibility? Is it a "protection" feature of NodeBB, or a problem with the format in which #ActivityPub events are published?

Have a good evening, and thanks in advance.

in reply to informapirata

Re: Is there any incompatibility between NodeBB and Mobilizon?


Hello again informapirata!

It depends what kind of activity they send over. Most likely we just haven't cleared it for processing by NodeBB.

Any object type that we don't recognize we ignore for now, but there's no reason we can't look into it and clear it 🙂

in reply to julian

Re: Is there any incompatibility between NodeBB and Mobilizon?


Thanks for your reply, julian

For what it's worth, I agree with this approach.
Mobilizon events are certainly one of the most interesting implementations of the Fediverse and are extremely important for offering a user experience that can do without Facebook, just as the evolution of federated NodeBB represents a significant step forward in creating an alternative to Facebook groups (we're trying to do this in Italy with citiverse.it...).

However, some of Mobilizon's limitations (Mobilizon events are one-way: they're visible from the Fediverse and can even be managed with Friendica, but—for example—it's not yet possible to create a Mobilizon event from Friendica) and the critical issues in managing events for "generalist" platforms (I recall the problems, later resolved, that Friendica had with uncontrolled event sharing: all it took was for an account to follow an event account and all its followers would find it in their calendars... :confounded: ) make it appropriate to think very carefully and cautiously about the integration roadmap.

For the rest, thank you for your promptness and willingness to respond to users who ask for clarification!

Best regards,
Francesco



ACLU Sues After Protester Detained and Handcuffed for Playing Darth Vader Theme at National Guard in Viral TikTok Clips




'Big problem': Trump's ICE under investigation for illegally tampering with license plates




The Adam Schiff criminal probe has stalled, sources say


After months of investigating, federal prosecutors in Maryland have not produced enough evidence to bring charges, according to four people familiar with the investigation.

The federal mortgage fraud investigation against Democratic Sen. Adam Schiff, one of President Donald Trump’s chief political foes, has stalled, according to four people familiar with the investigation.

After months of investigating, the federal prosecutors in Maryland leading the probe have not produced enough evidence to bring charges, these people said.

One of the sources, a federal law enforcement official, said the investigation “came to a standstill.”




Meet the new Clippy: Microsoft unveils Copilot's "Mico" avatar


Today, Microsoft introduced Mico, a new and more personal avatar for the AI-powered Copilot digital assistant, which the company describes as human-centered.

https://www.bleepingcomputer.com/news/microsoft/meet-the-new-clippy-microsoft-unveils-copilots-mico-avatar/

Questa voce è stata modificata (3 giorni fa)

Technology Channel reshared this.




How Windows 10 Upgrades Boosted Global PC Shipments in 2025




[Patch Notes] 0.3.1c Hotfix


0.3.1c Hotfix


  • Fixed an issue where items could not be placed in Merchant's Tabs when first entering a Hideout instance.


[Announcement] Announcing Path of Exile: Keepers of The Flame


We're excited to bring you the announcements from GGG Live, where we'll be revealing our new Path of Exile expansion, Keepers of the Flame! In this news post we've put together links to everything that is being announced during the livestream. We'll be updating this news post for your reference as the livestream progresses.

Questa voce è stata modificata (3 giorni fa)



The INTRUDER FARIDA McFadden


Wow, just wow! This is my new Freida favorite! I loved the storyline, the cabin in the woods setting, the POV of Ella/Casey chapters, and Freida's captive writing style which hooked me as I read this in less than 24 hours! I also love that Freida's sense of humor in her writing style is present even in a dark thriller! I downloaded it for free from here for anyone who wants to enjoy the book
www.biblio99.blogspot.com


[Patch Notes] 0.3.1c Patch Notes


0.3.1c Patch Notes


  • Added support for the new Supporter Packs.
  • Fixed an issue where some players could not enter their hideout after logging in on a different platform.


[Patch Notes] 3.26.0j Patch Notes


3.26.0j Patch Notes


  • Added support for the upcoming announcement and new Supporter Packs.

Thanks for your support!