Changing ./bin/sh from linking to dash to linking to bash

For years I used Red Hat Enterprise Linux Workstations, which link /bin/sh to bash. Ubuntu links /bin/sh to dash. Most of my scripts begin with “#! /bin/bash”. A few don’t; those are bugs. I have tried to fix them all but I may have missed some.

More importantly, there seem to be things in my environment that dash doesn’t like. When at runs,an error message that I don’t understand appears, though that seems to be at’s only problem. However, there is a more serious problem with cron. It can’t play sounds. That problem may well have nothing to do with dash, but I would like to eliminate that possibility. So my question is:

If I change /bin/sh from linking to dash to linking to bash, will that make ubuntu in any way unhappy?

Form API – form ID value changing which breaks the action# link

I have a custom module creating a form. As the form is a bit down the page, I have added an anchor to the submit so the user sees the results without the need to scroll down

  public function getFormId() {
    return 'form_name_form';
  }

  public function buildForm(array $form, FormStateInterface $form_state, $entity_id = NULL) {
    $form('#action') = '#form_name_form';
    //.. rest of form removed for clarity
  }

This works and then it does not… I can see why:

<form class="form_name_form" data-drupal-selector="form_name_form" action="#form_name_form" method="post" id="form_name_form" accept-charset="UTF-8">

Becomes

<form class="form_name_form" data-drupal-selector="form_name_form-2" action="#form_name_form" method="post" id="form_name_form--2" accept-charset="UTF-8">

But I am not sure how to stop the addition of ‘–2’ to the ID?
Or set $form(‘#action’) = ‘#form_name_form’; to the actual generated form id?

sql server – Bypassing version store for changing column datatype

Database is Always On High Availability synchronised database on SQL Server 2019 with READ_COMMITTED_SNAPSHOT on and we are updating datatype from varchar to nvarchar (with “alter table” command) on a column on a large (1 TB) table.
It blew up our tempdb due to version store.
I understand why this happened, but really just looking at (maybe creative) ways to stop this happening (ideally to bypass the version store for this command).
I’m considering recommending ADR to at least mean that at least issue is isolated to this particular database, but would love to hear any other ideas.

Changing bitcoin core password

Let’s say I have 5 copies of my .dat file on individual flash drives. I download the blockchain and run a full node and have the core wallet. I copy my .dat file into bitcoin core. I type in the old password and then change the password to a new password. Will someone who has 1 of my old .dat files and who knows the old password be able to access my bitcoins?

postgresql – Changing the target schema on export or import?

I normally do the following for SQL dumps:

pg_dump -U username -cOx database > dump.sql

And then restore it into a new database with:

psql -U username new_database < dump.sql

Currently the database tables are not in the public schema, but a schema named for a user. No reason for it. I think it happened when there was a migration from MySQL to PostgreSQL a few years back using a utility whose name escapes me.

I’d like to move everything into public. I know I can do this by editing the dump.sql, which is a slow process given the size of the file (which is pretty small in database terms).

Is there a way to do this when exporting or importing a SQL dump?

This is PostgreSQL 13, btw.

wordpress.org – Changing default wp search string

By default WordPress use a + between spaces

No, it doesn’t. WordPress doesn’t generate + characters, it doesn’t use those characters, and it can’t see them.

So Where Does the +t Come From?

The browser and URLs. Spaces in URL parameters are encoded as + characters or %20. Forms specifically become +.

When data that has been entered into HTML forms is submitted, the form field names and values are encoded and sent to the server in an HTTP request message using method GET or POST, or, historically, via email.[3] The encoding used by default is based on an early version of the general URI percent-encoding rules,[4] with a number of modifications such as newline normalization and replacing spaces with + instead of %20. The media type of data encoded this way is application/x-www-form-urlencoded, and it is currently defined in the HTML and XForms specifications. In addition, the CGI specification contains rules for how web servers decode data of this type and make it available to applications.

https://en.wikipedia.org/wiki/Percent-encoding#The_application/x-www-form-urlencoded_type

Search URLs convert "test data" to test+data because that’s how URL parameters generated by HTML forms are meant to work.

Is there any way to change that + into a hyphen.

Not without causing problems. To do this you would need to intercept the form inputs and replace - with a space using javascript.

Then, you would need to intercept it on the PHP side and undo the change. As a result it will be impossible to search for things that contain hyphens. This will also break search functionality in a lot of themes and plugins.

Buying – Need banners changing

Hello,

We’ve got this kind of template in html:
SEMrush

(​IMG)

Need graphic to change banners/backgrounds on above ico page – marked with orange rectangles for banners and backgrounds related to cryptocurrencies (something about general crypto and about farming tokens/swaping tokens/staking tokens – because it will be related to our products that we will deliver in future) – we marked in and described on the photo.
All banners should be created in .psd and should be easy to edit for us (with all layers editable).

Prefered colors of banners – dark blue as on above image (all texts and buttons visible on above image will stay in same place and same color so must be good visible). Banners should be eye-catching and professional looking.

If you’re a person who want to do this kind of job, please contact us with information how much you charge for this and whats delivery time. Please also send us your previous works that we can check your talent. ;)

It is possible that in the nearest future we will have more graphic things to do so we can work longer if all will be ok.

P.S. We will provide you full .PSD template of page above for easier banner editing.

Payment: Paypal or Skrill

 

javascript – 409 ‘Conflict’ Changing ContentType property of Document Library

I have about 600 items in a document library. The library has 9 content types defined in it, which is part of a reorganization to take items out of folders and make it folderless. The library is a copy of the original, and so these files have been uploaded by a move operation. All files are of the default ‘Document’ content type standard during item creation typically by uploading.

Other than ‘Edit Properties’ one-by-one for each item, and inability to use QuickEdit to change item ‘Content Type’ field (not a Column), the one way to change rapidly is REST requests. In the about 60-70 lines of code shown below, the script does the following:

  1. It has 3 serial REST requests
  2. REST request #1 gets the names and IDs of the Content Types of the doc lib, which are then stored in an array of two-property objects
  3. REST request #2 then gets all the items of the list filtered for the default “Document” content type, which are to be changed. It selects on one column, “Level 1” (referring to a top-level folder name representing a categorization that became a content type name), and its value is to be used in doing the item Content Type field update.
  4. REST request is the “POST” request supposed to do the modification. Each item request is processed in a for loop, and I put a timeout on each request of 5 seconds to space out the requests so as not to get server errors about resources.

On the “POST” request (innermost), I am getting 409 (Conflict) response errors not on one item, but the rest of the items, and I haven’t figured out what is going on. I am looking at the request object message and it shows this

{"error":{"code":"-2130575305, Microsoft.SharePoint.SPException","message":{"lang":"en-US","value":"The file <filename> has been modified by i:0#.f|membership|<user identity> on 26 Feb 2021 07:46:30 -0800."}}}

I am also getting additional message from a function ‘findAjaxError()’ in my script library that seems to indicate success.

{"readyState":4,"responseText":"","status":204,"statusText":"No Content"}

But when I do a count of items with the ‘Document’ content type after a request to change only 50 items in a retrieved items list, it seems to have only been reduced by 1 item in count.

I am probably not setting up the headers correctly, or using correct method (not “POST”, but “PUT” or other?)

Has anyone tried this?

function dataTransformer() {
    RESTrequest({
        url: "https://<server+site path>/_api/web/lists/" + 
                            "getByTitle('<doc lib name>')?$expand=ContentTypes&$select=ContentTypes/Id/StringValue,ContentTypes/Name",
        method: "GET",
        successCallback: (data) => {
            let ListContentTypes = ( ), results = data.d.ContentTypes.results, DocumentContentTypeId;

            for (let result of results) {
                if (result.Name == "Document")
                    DocumentContentTypeId = result.Id.StringValue;
                ListContentTypes.push({
                    name: result.Name,
                    id: result.Id.StringValue
                });
            }
            RESTrequest({
                url: "https://<server+site path>/_api/web/lists/" + 
                            "getByTitle('<doc lib name>')/items?$select=Id,Level_x0020_1,File/Name" + 
                            "&$filter=ContentTypeId eq '" + DocumentContentTypeId + "'" +
                            "&$expand=File",
                method: "GET",
                successCallback: (data) => {
                    let ctype, idx, results = data;

                    for (idx = 0; idx < results.length; idx++) {
                        console.log("count of files to be operated on: " + results.length);
                        for (ctype of ListContentTypes)
                            if (ctype.name == results(idx).Level_x0020_1)
                                break;
                        console.log("modifying file '" + results(idx).File.Name + "'");
                        setTimeout(() => {
                            RESTrequest({
                                setDigest: true,
                                url: "https://<server+site path>/_api/web/lists/" + 
                                        "getByTitle('<doc lib name>')/items(" + results(idx).Id + ")",
                                method: "POST",
                                headers: {
                                    "X-HTTP-METHOD": "MERGE",
                                    "IF-MATCH": "*"
                                },
                                data: formatRESTBody((
                                    ("ListItemEntityTypeFullName", <list item entity type full name> ),
                                    ("ContentTypeId", ctype.id)
                                )),
                                successCallback: (data, text, reqObj) => {
                                    console.log("response data => " + 
                                        JSON.stringify(data) + 
                                        "nrequestObj => " +
                                        JSON.stringify(reqObj));
                                },
                                errorCallback: (reqObj) => {
                                    console.log(findAjaxError(reqObj));
                                }
                            });
                        }, 5000);
                    }
                },
                errorCallback: (reqObj) => {
                    console.log(findAjaxError(reqObj));
                }
            });
        },
        errorCallback: (reqObj) => {
            console.log(findAjaxError(reqObj));
        }
    });
}