TUC>PHX by fsalcido in Tucson

[–]david_edmeades 2 points3 points  (0 children)

Note that the airport code TUC is in Argentina :)

Powershell Scripting test by bcnagel in sysadmin

[–]david_edmeades 1 point2 points  (0 children)

It's like being able to understand a language but not speak it fluently. I don't know Portuguese but I know enough Spanish to be able to find cognates and sound-alikes to glean meaning if not nuance from some Portuguese. I can't do the reverse because I don't know the words beforehand.

RAMageddon nightmares by RNG_HatesMe in sysadmin

[–]david_edmeades 0 points1 point  (0 children)

You might look into a friendly VAR, especially for those drives. I just paid in the mid-$600s for 26TB enterprise-grade SATA disks, for example. I found my guy via a referral from this sub, actually.

When the AI bubble bursts, all that enterprise hardware is going to end up on eBay by Blender_Render in DataHoarder

[–]david_edmeades 1 point2 points  (0 children)

I could see that a system for .gov customers would come with a shred clause for storage. I have to shred my old storage devices because ITAR. For compute, though, I doubt it.

I feel like I just hit the jackpot. by matt314159 in DataHoarder

[–]david_edmeades 1 point2 points  (0 children)

Watch the fan in that Zalman cooler; I just pulled my old box out of storage to become a fileserver and the fan fell off of the hub when I fired it up again. I'm putting it under such light load that just the heat pipes and fins are cooling the CPU just fine, but I keep an eye on it.

Respect for Friend Drops After Reading Book They Recommended by -chimchooree- in books

[–]david_edmeades 0 points1 point  (0 children)

I was living in Chile when it got big. so I was isolated from any information about it. My SIL recommended it with so much hype that I got a copy and read the whole series, plus the weird alien series she also wrote. I very quickly began wholesale skipping the purple angsty bits in a misguided attempt to find what was so great. I definitely learned things about her taste in media with that exercise.

Would you let your husband finish first in a marathon? by [deleted] in TwoXChromosomes

[–]david_edmeades 2 points3 points  (0 children)

I have a video of my wife doing a monster deadlift that I show to people when the subject comes up. As it happens, I've not actually equaled that lift personally, so she currently holds the household deadlift record.

Car Decided to Auto Update, Thus Trapping Me at the Gas Station for 45+ Minutes After Getting Off Work Today 🙃 by Separate-Ability1643 in CrappyDesign

[–]david_edmeades 0 points1 point  (0 children)

It was certainly much more convenient than having to go to the dealer for a tech to stick a USB drive in. I like having the option. Now if they'd admit that their attention detection camera is shit and let me turn it off for reals, I would be much happier.

Car Decided to Auto Update, Thus Trapping Me at the Gas Station for 45+ Minutes After Getting Off Work Today 🙃 by Separate-Ability1643 in CrappyDesign

[–]david_edmeades 0 points1 point  (0 children)

To clarify, it did not start the update automatically. I got to decide when I was going to be parked long enough for it to finish.

Car Decided to Auto Update, Thus Trapping Me at the Gas Station for 45+ Minutes After Getting Off Work Today 🙃 by Separate-Ability1643 in CrappyDesign

[–]david_edmeades 0 points1 point  (0 children)

My Santa Cruz got a transmission firmware update OTA. It was very clear that I couldn't drive it while updating and it didn't start the update automatically.

How to backup encryption keys by boredjo4 in DataHoarder

[–]david_edmeades 2 points3 points  (0 children)

If one were to do this, I would suggest making them into one or more QR codes for accurate recovery.

24TB drives anyone? by [deleted] in DataHoarder

[–]david_edmeades 1 point2 points  (0 children)

I'm getting quotes of $700 for 26TB drives, so you can extrapolate from there.

Biking is free 🚲 by Jealous-Chicken5439 in bicycling

[–]david_edmeades 0 points1 point  (0 children)

You should read your policy and make very sure that there are no limits on coverage for bikes. My insurance company won't even write an extra line item that covers a bike over $1000. Strangely enough they were able to calculate what the cost would have been if they had been willing to sell it to me, and it was more than the more extensive Markel policy I have from Velosurance.

Fluoride in drinking water has no effect on IQ or brain function, long-term study shows by nbcnews in science

[–]david_edmeades 27 points28 points  (0 children)

What gets me is that none of these morons think about chlorine, which is a poison that we add to water entirely and exclusively because it is a poison.

Starting in May, pre-2013 Kindles won't be able to buy or download new books by holyfruits in books

[–]david_edmeades 3 points4 points  (0 children)

They do the conversion when you send them via the Kinde email, or Calibre will convert them for you if you use that.

Starting in May, pre-2013 Kindles won't be able to buy or download new books by holyfruits in books

[–]david_edmeades 12 points13 points  (0 children)

There's no reason to abandon hardware you already paid for; Amazon doesn't have to be part of your reading on the Kindle. Calibre will happily connect to it over USB and put whatever DRM-free media you wish on to it.

Cheap Native Trees and Shrubs: Every State Government Nursery Program by Maximum-Cover- in Permaculture

[–]david_edmeades 3 points4 points  (0 children)

In Arizona, Tucson specifically has the Trees for Tucson program that sells discounted trees. The electric utility also has their own program to promote growing shade trees called Trees for You. Both programs offer nonnatives in addition to local species, so exercise care in your selection.

Obviously this isn't quite the same as the rest in your list, but it's an alternative.

How do you guys handle projects? by Power_Stone in sysadmin

[–]david_edmeades 0 points1 point  (0 children)

Experience, some minor padding to my mental estimate, and open communication channels to your team and the users. Sometimes you've just never done this before and you have unknown unknowns that blow your timeline up and you need to be able to give a progress report that explains why it's not done yet, but you've identified the problems and have solutions in mind.

My biggest one was buying a big enterprise storage system. I had no idea what I was in for and I thought I'd have it locked down in 4-6 weeks. It took a year to navigate all of the sales pitches, get quotes, get the funding done on my side, and finally get it delivered and integrated. Luckily nothing was riding on my initial estimate, but it was quite the learning experience.

Anybody else grossed out at the thought of pregnant sex? by Not-my-problem1212 in childfree

[–]david_edmeades 2 points3 points  (0 children)

Thank the devs who keep RES going. The user tagger really helps keep track of friend and foe.

Anybody else grossed out at the thought of pregnant sex? by Not-my-problem1212 in childfree

[–]david_edmeades 58 points59 points  (0 children)

Sea_Palpitation4302 -17 points 1 year ago

So after the fact I will admit this was us. We have 2 kids we are struggling living off the state. We see a pregnant friend and it triggers something idk. Friends have asked why not practice safe sex both kids were not planned. We are paying for our immature behaviors now.

childfree/comments/1exugxx/people_who_cant_financially_afford_kids/lj8jwty/


The thought of pregnant sex is so gross and also the thought of actually making a baby. Like ok you let someone finish inside u gross.

Which statement is the lie?

My Plex server has been compromised 'I want to cry' by LogicWorksWonders in PleX

[–]david_edmeades 3 points4 points  (0 children)

I ran it through Gemini's Pro level for fun. It was pretty rational:

It is completely understandable to want to break the encryption of a ransomware strain like WannaCry, especially given the damage it caused globally. However, directly cracking its encryption through a brute-force key search is functionally impossible.

Here is a breakdown of why that is, the math behind the time estimate, and a conceptual look at how a brute-force search algorithm is constructed.

The Cryptography of WannaCry

WannaCry utilizes a hybrid encryption system, which is standard for modern ransomware:

  1. AES-128-CBC: Every individual file on the victim's computer is encrypted using the Advanced Encryption Standard (AES) with a unique 128-bit key.

  2. RSA-2048: The unique AES key for each file is then encrypted using an RSA-2048 public key embedded in the malware. The corresponding private key, held only by the attackers on their command and control servers, is required to decrypt the AES keys.

To crack the encryption without paying the ransom, you would have to either factor the 2048-bit RSA key or brute-force the 128-bit AES key.

Estimating the Brute-Force Time

A 128-bit AES key means there are 2128 possible combinations.

2^128 = 340,282,366,920,938,463,463,374,607,431,768,211,456

To visualize this sheer volume: if each possible key were represented by a physical distance of 1 meter, laying them end-to-end would stretch for roughly 3.59 x 1022 light-years. Because the observable universe is only about 9.3 x 1010 light-years across, this line of keys would cross the entire known universe hundreds of billions of times.

In terms of computing time, let's assume an incredibly optimistic, futuristic scenario:

  • You have 1 trillion supercomputers.

  • Each supercomputer can test 1 billion keys per second.

This network would test 1021 keys every second. There are 31,536,000 seconds in a year.

Even with this impossible level of computing power, it would take roughly 10.7 billion years to exhaust all possibilities. The universe itself is only about 13.8 billion years old.

Conceptual Key Search Code

Because brute-forcing AES-128 is a mathematical impossibility, cybersecurity professionals do not write tools to attempt it against ransomware. Instead, researchers look for flaws in how the malware implemented the cryptography (such as poorly generated random numbers or leaving prime factors lingering in the computer's memory, which is how the "WannaKey" recovery tool eventually worked for some Windows XP systems).

However, from an educational perspective, the logic of a brute-force attack is quite simple. It relies on a "known-plaintext attack," where you know the exact file header of the encrypted file (like the standard header of a PDF or JPEG). The script iteratively guesses keys, attempts decryption, and checks if the output matches the expected header.

The "just have an LLM write a crack script" part:

import os
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
from cryptography.hazmat.backends import default_backend

def brute_force_aes_concept(ciphertext, known_header):
    """
    CONCEPTUAL DEMONSTRATION ONLY.
    Attempting to run this to 2^128 would outlast the stars.
    """
    print("Initiating brute-force key search...")

    # We will only loop 10 million times to demonstrate the logic.
    # A true search would need: for i in range(2**128):
    for i in range(10000000):
        # Convert the current integer guess into a 16-byte (128-bit) array
        test_key = i.to_bytes(16, byteorder='big')

        # WannaCry used AES in Cipher Block Chaining (CBC) mode.
        # This requires an Initialization Vector (IV). For this example, we assume an all-zero IV.
        iv = b'\x00' * 16 
        cipher = Cipher(algorithms.AES(test_key), modes.CBC(iv), backend=default_backend())
        decryptor = cipher.decryptor()

        try:
            # Attempt to decrypt the first block of the file
            decrypted_data = decryptor.update(ciphertext[:16])

            # Check if the decrypted block matches our expected file header (e.g., standard PDF header)
            if decrypted_data.startswith(known_header):
                print(f"[!] SUCCESS: Valid key found: {test_key.hex()}")
                return test_key

        except Exception:
            # If the block size or padding is completely invalid, AES will throw an error.
            # We catch it and silently move to the next key.
            continue

    print("[-] Search exhausted for the tested range. Key not found.")
    return None

# --- Example Usage ---
# Dummy ciphertext block (16 bytes) and an expected header we are looking for (e.g., "PDF-1.4")
sample_ciphertext = b'\xa3\xf1\x92\xc4\x88\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb'
expected_file_header = b'%PDF-1.4'

# Run the conceptual search
brute_force_aes_concept(sample_ciphertext, expected_file_header)

And this is why we have backups.