migration – Images in the post still pointing to older domain after domain change

Image URLs are just saved as HTML in the database. They’re not going to change just by changing the site URL. You need to do some sort of search-replace. This is covered in the documentation on moving WordPress:

When your domain name or URLs change there are additional concerns.
The files and database can be moved, however references to the old
domain name or location will remain in the database, and that can
cause issues with links or theme display.

If you do a search and replace on your entire database to change the
URLs, you can cause issues with data serialization, due to the fact
that some themes and widgets store values with the length of your URL
marked. When this changes, things break. To avoid that serialization
issue, you have three options:

  1. Use the Velvet Blues Update URLs or Better Search Replace plugins if
    you can access your Dashboard.

  2. Use WP-CLI’s search-replace if your hosting provider (or you) have
    installed WP-CLI.

  3. Use the Search and Replace for WordPress Databases Script to safely
    change all instances on your old domain or path to your new one. (**
    only use this option if you are comfortable with database
    administration ** )

Delete older EBS Volume snapshots except few with certain tags using Python, Lambda

I am learning Python and managed to accomplish the above. But my script doesn’t seem optimal. Could someone help to take a review and suggest for betterment?

import boto3
from datetime import datetime,timedelta

REGION = "ap-southeast-1"
retention_days = 45
account_id = boto3.client('sts').get_caller_identity().get('Account')
ec2 = boto3.client('ec2', region_name=REGION)

def lambda_handler(event, context):
    now = datetime.now()
    outdated_snapID = ()
    retain_snapID = ()
    result = ec2.describe_snapshots(OwnerIds=(account_id))
    for snapshot in result('Snapshots'):
        # Remove timezone info from snapshot in order for comparison to work below
        snapshot_time = snapshot('StartTime').replace(tzinfo=None)
        # Subtract snapshot time from now returns a timedelta 
        # Check if the timedelta is greater than retention days
        if (now - snapshot_time) > timedelta(retention_days):
    retain_snap = ec2.describe_snapshots(OwnerIds=(account_id), Filters=({'Name': 'tag:Retain', 'Values': ('True', 'true')}))
    for snap in retain_snap('Snapshots'):
        # Remove timezone info from snapshot in order for comparison to work below
        snapshot_time = snap('StartTime').replace(tzinfo=None)
        if (now - snapshot_time) > timedelta(retention_days):
    # Remove retained snapshotID's from the outdated array
    for i in retain_snapID:
    for x in outdated_snapID:

def delete_snapshot(snapshotID):
    except Exception as ex:
        print("Something went wrong:", ex)

canon – How do I determine the best new equivalent model for my insurers to replace an older camera?

Honestly, on paper the current lower tier 2000D/Rebel T7 matches or exceeds just about every specification from the more than a decade old 500D/Rebel T1i.

It does have slightly lower burst rate and buffer: The 2000D can shoot at 3.0 fps for 150 JPEGs or 11 raw, while the 500D can go at 3.5 fps for 170 JPEGs or 9 raw.

One difference you might could have used to argue that the 2000D won’t do what the 500D can do is use Magic Lantern. There is a stable version of Magic Lantern available for the 500D. There is no finished or even “beta” version of Magic Lantern available for the 2000D/Rebel T7 or 4000D.

You could have tried to convince the insurance company that using some of the functionality that Magic Lantern offers which isn’t included in Canon’s firmware was vital to the way you used your 500D/Rebel T1i, then they might budge and allow for a model that can currently run Magic Lantern.

Alas, none of Canon’s current models have a stable version of ML available, so you’d be looking at what a used 700D/Rebel T7i would cost.

There is one glaring difference between the 500D/T1i and the 2000D/Rebel T7, though: A center pin in the hot shoe that allows using third party non-TTL third party flashes.

The 500D/Rebel T1i has one, the 2000D and 4000D do not. (At least the initial production runs did not. There have been reports that very recent 2000D bodies do now include a fully functional hot shoe, but you don’t know that, right?) If you have third party flashes that worked with the 500D but won’t work with camera lacking the center pin, that might be just the thing to convince them they need to provide a camera that can use your current flashes or, in addition to the camera, they need to also provide Canon flashes that will work with the “borked” hot shoe. It will be cheaper for them to buy you an 800D than to buy a 2000D AND couple of Canon flashes!

Compatability of gutenberg block in older WordPress version

I’m developing a Gutenberg block and have a doubt on using the latest gutenberg APIs.

My block contains a button. Referring the docs, there is a property called “variant” using which the button style can be changed.

I was testing this in WordPress 5.7.2 (the latest WP released as of now) and this property does not work.


enter image description here

Docs no where mentions that this applies to WP 5.8+. Being new to this ecosystem makes be doubt that if I’m doing things right.

So if I use this API, then users who use the plugin on older WP version will not get this working right ?

What are the best practises on this ? Shouldn’t the doc be updated after WP 5.8 is released ?

I do not want to change the minimum required WP version for my plugin, since this block is not the main feature in my case. Please advise.

Basic (and dumb) question – how do I determine if my Armory wallet has any bitcoins in it on a Mac (with an older OS)?

I am using High Sierra on my ancient iMac and having difficulting loading Armory. I loaded a version that works on occasion – that is offline — and not showing anything on the balance except (…). Does this mean it’s empty or by having it offline am I missing the access required.

Thanks in advance .

synchronization – Missing Transaction on older Bither wallet on older computer

Please note I am not that technically savvy nor know that much about cryptocurrency. I am helping out a friend that (for disability reasons) cannot ask himself.

My friend purchased and has bitcoin he stored in an older laptop from around 2008 (unsure). He created a newer Bither wallet on a “newer” laptop he purchased around 2018/2019. He wanted to transfer the Bitcoin from the older Bither Wallet to the new one to “prep” it with the intention to sell all of it as it has become too much technology-wise to keep up with.

We tried to transfer the Bitcoin from the old Bither wallet via the “Send” feature and used the code of numbers that was (I assume) the account number of the newer Bither wallet. On the old wallet, it has a white dot noting the transaction. On the new Bither wallet, there is no indication of any transaction. We though we would wait to see if anything would happen and it has been a few months now and we do not know where the Bitcoin is anymore.

The old Bither wallet is version 1.4.5. It is running on a Dell laptop with Windows 7 Professional.

I am not sure of the newer Bither account. We live a few hours apart and would have to confirm with him the details on his end (which might take some time to obtain. Again, apologies and I hope for some patience for anyone helping us with this).

Also, I do not know what should be kept confidential so please let mw know if there is something I should not disclose here or post (the account “numbers,” QR code etc.).

Thank you.

enter image description here

appsec – What are the risks to an app in supporting older iOS versions?

Anything you get a client to install is out of your hands. It could be installed in an emulator or in a reverse engineering rig or on a rooted device. Or on an older and vulnerable OS. This means that the app is outside of your control and anything can happen to it.

It can be decomposed, traffic can be inspected, encryption can be broken. Either intentionally by the user or by a malicious process. The device’s controls limit how far that can go, but it cannot prevent everything.

So, the security risks to your app and the data on the app is not greater for running on an old OS. There may be other UX and operational risks, but that would be off-topic.