Technology Tales

Notes drawn from experiences in consumer and enterprise technology

TOPIC: INSERT

Adding Linux copy and paste keyboard shortcuts to macOS with Karabiner-Elements

8th April 2026

Here is one for those using a conventional PC keyboard, like I do with my Mac Mini: setting up Linux-style copying and pasting keyboard shortcuts on macOS. Because there is no Insert key on a conventional Mac keyboard, the suggestion will not work for that setup, as I remembered when seeking to use it on an iMac for the sake of retaining Linux-compatible muscle memory.

Before going any further, I need to point out that I already have swapped the Left CMD and Left CTRL keys using the Karabiner-Elements app, into which the following code was imported as a complex mapping and saved. Thus, what is CMD below is CTRL in reality. That means that the result is that I have CTRL+Insert for copying and SHFT+Insert for pasting. Here then is the code that makes the new mappings work:

{
  "description": "Cmd+Insert -> Cmd+C, Shift+Insert -> Cmd+V",
  "manipulators": [
    {
      "type": "basic",
      "from": {
        "key_code": "insert",
        "modifiers": { "mandatory": ["command"] }
      },
      "to": [
        { "key_code": "c", "modifiers": ["command"] }
      ]
    },
    {
      "type": "basic",
      "from": {
        "key_code": "insert",
        "modifiers": { "mandatory": ["shift"] }
      },
      "to": [
        { "key_code": "v", "modifiers": ["command"] }
      ]
    }
  ]
}

The complexity above comes from the use of modifier keys like SHFT, especially when turning SHFT+Insert into CMD+V (CTRL+V as I have it set up using a predicate simple mapping for the CMD/CTRL pairing). Otherwise, things should be self-explanatory, and Karabiner-EventViewer allowed me to identify the keys to remap.

Dealing with Error 1064 in MySQL queries

27th April 2023

Recently, I was querying a MySQL database table and got a response like the following:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use

The cause was that one of the data column columns was named using the MySQL reserved word key. While best practice is not to use reserved words like this at all, this was not something that I could alter. Therefore, I enclosed the offending keyword in backticks (`) to make the query work.

There is more information in the MySQL documentation on Schema Object Names and on Keywords and Reserved Words for dealing with or avoiding this kind of situation. While I realise that things change over time and that every implementation of SQL is a little different, it does look as if not using established keywords should be a minimum expectation when any database tables get created.

Updating Oracle data tables that have associated sequence objects

3rd May 2007

Here’s something that I want to put somewhere for future reference before I forget it: keep sequences associated with Oracle data tables up to date while adding records. Given that it took me a while to find it, it might come in useful for someone else too.

The first thing is to update the sequence itself:

SELECT TABLE_SEQ.NEXTVAL FROM DUAL;

Dual is a handy single record table that you can use to update sequences. Use the actual associated table itself if you like to see that sequence number rocket…

The next thing is to use the new value to assign a table ID as part of an INSERT statement:

INSERT INTO “TABLE” VALUES (TABLE_SEQ.CURRVAL, 1, ‘Test value’);

  • The content, images, and materials on this website are protected by copyright law and may not be reproduced, distributed, transmitted, displayed, or published in any form without the prior written permission of the copyright holder. All trademarks, logos, and brand names mentioned on this website are the property of their respective owners. Unauthorised use or duplication of these materials may violate copyright, trademark and other applicable laws, and could result in criminal or civil penalties.

  • All comments on this website are moderated and should contribute meaningfully to the discussion. We welcome diverse viewpoints expressed respectfully, but reserve the right to remove any comments containing hate speech, profanity, personal attacks, spam, promotional content or other inappropriate material without notice. Please note that comment moderation may take up to 24 hours, and that repeatedly violating these guidelines may result in being banned from future participation.

  • By submitting a comment, you grant us the right to publish and edit it as needed, whilst retaining your ownership of the content. Your email address will never be published or shared, though it is required for moderation purposes.