Futurology Today

601 readers
9 users here now

This is a sibling community to r/futurology on Reddit, set up and moderated by the same people.

TAKE CARE NOT TO FORGET YOUR PASSWORD UNTIL YOU ADD A RECOVERY EMAIL TO YOUR ACCOUNT DETAILS.

Health

Uptime

OUR RULES

  1. Be respectful to others - this includes no hostility, racism, sexism, bigotry, etc.

  2. Submissions must be future focused.

  3. No memes, reaction gifs or similarly low effort content.

  4. No spamming - this includes polls and surveys. This also includes promoting any content in which you have any kind of financial or non-financial stake.

  5. Bots require moderator permission to operate

  6. Comments must be on topic, contribute to the discussion and be of sufficient length. Comments that dismiss well-established science without compelling evidence are a distraction to discussion of futurology and may be removed.

Do you like the old Reddit interface? You can browse us that way if you like. https://old.futurology.today/

LEGAL NOTICE & LEGAL CONTACT DETAILS

founded 2 years ago
ADMINS
676
677
 
 
678
679
 
 

Stop waiting for someone else to stop Trump. Stop acting like everyone except you doesn't know what's happening. Get up off your asses and do something.

Organize yourselves. You have the platform. Use it.

Signed an English guy who you banned for telling you to stop Trump by utilizing Princess Leia and a chain long enough to wrap around his neck.

680
 
 

You don’t have to choose between Amazon and Kobo.

681
 
 

I hope they fight extradition...

682
 
 

This is a followup to my introduction of BlogOnLemmy, a simple blog frontend. If you haven't seen it, no need because I will be explaining how it works and how you can run your own BlogOnLemmy for free.

Leveraging the Federation

Having a platform to connect your content to likeminded people is invaluable. The Fediverse achieves this in a platform agnostic way, so in theory it shouldn't matter which platform we use. But platform have different userbases that interact with posts in different ways. I've always preferred the forum variety, where communities form and discussion is encouraged.

My posts are shared as original content on Lemmy, and that's who it's meant for. Choosing for a traditional blog style to make a more palatable platform for a wider audience, and in this way also promoting Lemmy.

Constraints

Starting off I did not want the upkeep of another federated instance. Not every new thing that is deployed on the Fediverse needs to stand on its own or made from the ground up as an ActivityPub compatible service. But rather use existing infrastructure, already federated, already primed for interconnectivity. Taking it one step further is not a having a back-end at all, a 'dumb' website as it were. Posts are made, edited, and cross-posted on Lemmy.

The world of CSS and JavaScript on the other hand - how websites are styled and made feature-rich - is littered with libraries. Being treated like black boxes, often just a few functions are used with the rest clogging up our internet experience. Even jQuery, which is used by over 74% of all websites, is already 23kB in its smallest form. I'm not planning on having the smallest possible footprint*, but rather showing a modern web browser provides an underused toolset of natively supported functionality; something the first webdevs would have given their left kidney for.

Lastly, to improve maintainability and simplicity, one page is enough for a blog. Provided that its content can be altered dynamically.

*See optimization

How it's made

Graphviz

1. URL: Category/post

Even before the browser completely loads the page, we can take a look at the URL. With our constraints only two types of additions are available for us, the anchor and GET parameters. When an anchor, or '#', is present websites scroll to a specific place in a website after loading. We can hijack this behavior and use it to load predefined categories. Like '#blog' or '#linkdumps'. For posts, '#/post/3139396' looks nicer than '?post=3139396', but anchors are rarely search engine compatible. So I'm extracting the GET parameter to load an individual post.

Running JavaScript before the page has done loading should be swift and easy, like coloring the filters or setting Dark/Light mode, so it doesn't delay the site.

2. API -> Lemmy

A simple 'Fetch' is all that's required. Lemmy's API is extensive already, because it's used by different frontends and apps that make an individual’s experience unique. When selecting a category, we are requesting all the posts made by me in one or more lemmy communities. A post or permalink uses the same post_id as on the Lemmy instance. Pretty straight forward.

3. Markdown -> HTML

When we get a reply from the Lemmy instance, the posts are formatted in Markdown. Just as they are when you submit the post. But our browsers use HTML, a different markup language that is interpretable by our browsers. This is where the only code that's not written by me steps in, a Markdown to HTML layer called snarkdown. It's very efficient and probably the smallest footprint possible for what it is, around 1kB.

Optimization

When my blog was launched, I was using a Cloudflare proxy, for no-hassle https handling, caching and CDN. Within the EU, I'm aiming for sub-100ms* to be faster than the blink of an eye. With a free tier of Cloudflare we can expect a variance between 150 and 600ms at best, but intercontinental caching can take seconds.

Nginx and OpenLiteSpeed are regarded as the fastest webservers out there, I often use Apache for testing but for deployment I prefer Nginx's speed and reliability. I could sidetrack here and write another 1000 words about the optimization of static content and TLS handling in Nginx, but that's a story for another time.

* For the website, API calls are made asynchronously while the page is loaded and are not counted

Mythical 14kB, or less?

All data being transferred on the internet is split up into manageable chunks or frames. Their size or Maximum Transmission Unit, is defined by IEEE 802.3-2022 1.4.207 with a maximum of 1518 bytes*. They usually carry 1460 bytes of actual application data, or Maximum Segment Size.

Followed by most server operating systems, RFC 6928 proposes 10x MSS (= Congestion Window) for the first reply. In other words, the server 'tests' your network by sending 10 frames at once. If your device acknowledges each frame, the server knows to double the Congestion Window every subsequent reply until some are dropped. This is called TCP Slow Start, defined in RFC 5681.

10 frames of 1460 bytes contain 14.6kB of usable data. Or at least, it used to. The modern web changed with the use of encryption. The Initial Congestion Window, in my use case, includes 2 TLS frames and from each frame it takes away an extra 29 bytes. Reducing our window to 11.4kB. If we manage our website to fit within this first Slow Start routine, we avoid an extra round trip in the TCP/IP-protocol. Speeding up the website as much as your latency to the server. Min-maxing TCP Traffic is the name of the game.

* Can vary with MTU settings of your network or interface, but around 1500 (+ 14 bytes for headers) is the widely accepted default

10kB vs 15kB with TCP Slow Start
Visualizes two raw web requests, 10.7kB vs 13.3kB with TCP Slow Start
- Above Blue: Request Starts
- Between Green: TLS Handshake
- Inside Red: Initial Congestion Window

Icons

Icons are tricky, because describing pixel positions takes up a considerable amount of data. Instead SVG's are commonplace, creating complex shapes programmatically, and significantly reducing its footprint. Feathericons is a FOSS icon library providing a beautiful SVG rendered solution for my navbar. For the favicon, or website icon, I coded it manually with the same font as the blog itself. But after different browsers took liberties rendering the font and spacing, I converted it to a path traced design. Describing each shape individually and making sure it's rendered the same consistently.

Regular vs. Inline vs Minified

If we sum up the filesizes we're looking at around 50kB of data. Luckily servers compress* our code, and are pretty good at it, leaving only 15kB to be transferred; just above our 11kB threshold. By making the code unreadable for humans using minifying scripts we can reduce the final size even more. Only... the files that make up this blog are split up. Common guidelines recommend doing so to prevent one big file clogging up load times. For us that means splitting up our precious 11kB in multiple round trips, the opposite of our goal. Inline code blocks to the rescue, with the added bonus of the entire site now being compressed into one file making the compression more efficient to end optimization at a neat 10.7kB.

* The Web uses Gzip. A more performant choice today is Brotli, which I compiled for use on my server

In Practice

All good in theory, now let's see the effect in practice. I've deployed the blog 4 times, and each version was measured for total download time from 20 requests. In the first graph we notice the impact of not staying inside the Initial Congestion Window, where only the second scenario is delayed by a second round trip when loading the first page.

Scenario 1. and 3. have separate files, and separate requests are made. Taking priority in displaying the website, or the first file, but neglecting potential useable space inside the init_cwnd. We can tell when comparing the second graph, it ends up almost doubling their respective total load times.

The final version is the only one transferring all the data in one round trip, and is the one deployed on the main site. With total download times as low as 51ms, around 150ms as a soft upper limit, and 85ms average in Europe. Unfortunately, that means worldwide tests show load times of 700ms, so I'll eventually implement a CDN.

Speedtest 4 scenarios

  1. Regular (14,46kB): no minification, separate files
    - https://dev3.martijn.sh/
  2. Inline (13,29kB): no minification, one file
    - https://dev1.martijn.sh/
  3. Regular Minified (10,98kB): but still using separate files
    - https://dev2.martijn.sh/
  4. Inline Minified (10,69kB): one page as small as possible
    - https://martijn.sh/

I'll be leaving up dev versions until there's a significant update to the site

Content Delivery Network

Speeds like this can only be achieved when you're close to my server, which is in London. For my Eurobros that means blazing fast response times. For anyone else, cdn.martijn.sh points to Cloudflare's CDN and git.martijn.sh to GitHub's CDN. These services allow us to distribute our blog to servers across the globe, so requesting clients always choose the closest server available.

GitHub Pages

An easy and free way of serving a static webpage. Fork the BlogOnLemmy repository and name it 'GitHub-Username'.github.io. Your website is now available as username.github.io and even supports the use of custom domain names. Mine is served at git.martijn.sh.

While testing its load times worldwide, I got response times as low as 64ms with 250ms on the high end. Not surprisingly they deliver the page slightly faster globally than Cloudflare does, because they're optimizing for static content.

Extra features

  • Taking over the Light or Dark mode of the users' device is a courtesy more than anything else. Adding to this, a selectable permanent setting. My way of highlighting the overuse of cookies and localStorage by giving the user the choice to store data of a website that is built from the ground up to not use any.
  • A memorable and interactable canvas to give a personal touch to the about me section.
  • Collapsed articles with a 'Read More'-Button.
  • 'Load More'-Button loads the next 10 posts, so the page is as long as you want it to be

Webmentions

Essential for blogging in current year, Webmentions keep websites up-to-date when links to them are created or edited. Fortunately Lemmy has got us covered, when posts are made the first instance sends a Webmention to the hosters of any links that are mentioned in the post.

To stay within scope I'll be using webmention.io for now, which enables us to get notified when linked somewhere else by adding just a single line of HTML to our code.

Notes

  • Enabling HTTP2 or 3 did not speed up load times, in fact with protocol negotiations and TLS they added one more packet to the Initial Congestion Window.
  • For now, the apex domain will be pointing directly to my server, but more testing is required in choosing a CDN.
  • Editing this site for personal use requires knowledge of HTML and JS for now, but I might create a script to individualize blogs easier.
683
684
 
 

Michele Fiore was found guilty in October of six counts of federal wire fraud and one count of conspiracy to commit wire fraud. She was out of custody ahead of her sentencing, which had been scheduled for next month.

Federal prosecutors said at trial that Michelle Fiore, 54, had raised more than $70,000 for the statue of a Las Vegas police officer who was fatally shot in 2014 in the line of duty, but had instead spent some of it on cosmetic surgery, rent and her daughter’s wedding.

In a lengthy statement Thursday on Facebook, Fiore expressed gratitude to the president while also accusing the U.S. government and “select media outlets” of a broad, decade-long conspiracy to “target and dismantle” her life.

685
 
 

Anyone else? Is there a fix? On Android.

686
 
 

Direct link to Intel press release - Lip-Bu Tan: Our Path Forward

687
688
 
 

A number of party leaders are frustrated that Hogg, who has a leadership position in the party, is pushing primaries against some incumbents in deep-blue seats.

Democratic party leaders Thursday morning admonished officers to not take sides in primaries, addressing a situation involving activist and Democratic National Committee vice chair David Hogg.

"Let me be unequivocal. No DNC officer should ever attempt to influence the outcome of a primary election, whether on behalf of an incumbent or a challenger," DNC Chair Ken Martin said in a press call. "Voters should decide who our primary nominees are, not DNC leadership. Our role is to serve as stewards of a fair, open and trusted process, not to tilt the scales."'

As of now, however, the DNC does not have the power to remove Hogg if he refuses to stand down on funding primary challenges through a separate PAC — unless the body changes its rules, a senior DNC official told NBC News.

“Under the present bylaws, there is no action that can be taken against David Hogg without changing to the bylaws to extend that policy of neutrality to all primaries," DNC Finance Chair Chris Korge told NBC News. "There is no codified, legal way to remove an officer for doing what David Hogg has done because it only extends to the presidential race. "

Korge said that, as of now, the situation is to be addressed at a future meeting, likely in August.

Korge said he believed it was imperative for the body to formally change its bylaws because the party division the Hogg situation has caused harkens to an old ghost Democrats don't want to revisit.

“It smells like 2016, when progressives said the DNC had it in the bag for Hillary Clinton," Korge said, referencing angst in the party that the DNC had its thumb on the scale to block Sen. Bernie Sanders, I-Vt., from the presidential nomination. "No party official, no officer of the DNC, should do anything that would result in the division that was created by the perception that existed back in 2016."

On Thursday, Martin went on to say he had spoken to Hogg about what he perceived as a conflict but he did not expound on whether he gave him an ultimatum.

"I understand what he's trying to do," Martin continued in the press call. "As I've said to him, 'If you want to challenge incumbents, you're more than free to do that. But just not as an officer of the DNC, because our job is to be a neutral arbiter. We can't be both the referee and also the player at the same time. You have to make a decision.'"

In pushing back on Thursday, Hogg cited Trump's power clashes with institutions in saying the party needed to take more aggressive actions. He added that he had not violated any DNC bylaws.

"They’re trying to change the rules because I'm not currently breaking them. As we’re seeing law firms, tech companies, and so many others bowing to Trump, we all must use whatever position of power we have to fight back. And that’s exactly what I'm doing," Hogg said in a statement.

689
 
 
690
1
submitted 4 hours ago* (last edited 3 hours ago) by 10MeterFeldweg@feddit.org to c/buyfromeu@feddit.org
 
 

Does someone have recommendations for cargo shorts? I need new ones for the upcoming summer. Everything I find are shorts without additional pockets and/or they are to short, I like mine at knee length. Thank you!

691
692
 
 

Senior US officials have warned that the administration could soon give up attempts to stop Russia's war in Ukraine if Moscow and Kyiv do not come to an agreement.

Archived version: https://archive.is/newest/https://www.euronews.com/my-europe/2025/04/25/trump-says-crimea-will-stay-with-russia-in-latest-interview


Disclaimer: The article linked is from a single source with a single perspective. Make sure to cross-check information against multiple sources to get a comprehensive view on the situation.

693
 
 

This is a long article (excerpts from a book apparently) but it's interesting.

Basically the author, a man with Jewish heritage, makes a fake persona and joins far-right groups. He's assisted by the group Hope Not Hate.

What do you think of the far-right? One of the interesting points that is made in the article a few times is that some far-right adherents, met by the author, seem to want friendship more than anything else. At least that's the author's view.

694
695
 
 
696
697
 
 

A Pentagon memo dated Monday and revealed Thursday states the department will restore surgical procedures and cross-sex hormone therapy to individuals, including dependents of troops, as first reported by Politico.

“Service members and all other covered beneficiaries 19 years of age or older may receive appropriate care for their diagnosis of [gender dysphoria], including mental health care and counseling and newly initiated or ongoing cross-sex hormone therapy,” according to the memo, signed by Stephen Ferrara, acting assistant secretary of Defense for health affairs. “Service members may also receive voice therapy and appropriate surgical procedures.”

The Pentagon did not immediately respond to a request for comment from The Hill.

698
 
 

Which country, how much a month, what's the plan include?

699
 
 

cross-posted from: https://lemm.ee/post/62370804

700
 
 

cross-posted from: https://hexbear.net/post/4684644

The Trump administration signaled last week it intends to approve a land transfer that will allow a foreign company to mine a sacred Indigenous site in Arizona, where local tribes and environmentalists have fought the project for decades and before federal courts rule on lawsuits over the project.

Western Apache have gathered at Oak Flat, or Chi’chil Biłdagoteel in Apache, since time immemorial for sacred ceremonies that cannot be held anywhere else, as tribal beliefs are inextricably tied to the land. The tribe believes the landscape located outside present-day Superior, Arizona, is a direct corridor to the Creator, where Gaan — called spirit dancers in English, and akin to angels — reside. The site allows the Western Apache to connect to their religion, history, culture, and environment, tribal members told Inside Climate News.

But beneath the ground at the site of Oak Flat lies one of the world’s largest untapped copper deposits. Resolution Copper, a subsidiary of two of the biggest mining companies in the world, Rio Tinto and BHP, has worked for decades to gain access to the location to utilize what’s called “block cave mining.”

Three lawsuits against the project are still working their way through the courts. Apache Stronghold v. United States, decided by a federal appeals court in favor of the mine, was appealed by plaintiffs more than a year ago to the Supreme Court, which has not yet decided whether to take it up. That case argues the destruction of Oak Flat violates the Apache’s religious freedom, and is a threat to other religions.

Full Article

view more: ‹ prev next ›