Dovecot 2.4.2 upgrade
Dovecot recently released version 2.4.2 which required some changes to the configuration file (from version 2.3.x).
I use Dovecot as a personal, local IMAP server which pulls from the corporate Outlook server so I can maintain a local archive not subject to any quota constraints.
As I use Arch Linux and mindlessly update weekly, I was puzzled when Thunderbird suddenly stopped working.
My Dovecot server is local for me only, insecure and hence my configuration file is relatively simple.
Read morefun with static site generators
Introduction
Static site generators (SSG’s) are often used for blogs. SSG’s typically process Markdown files into static HTML files. The use of static HTML files (rather than dynamically generating the site using a database) offers benefits for performance and security.
Read moreCommonmark_test
This is the famous ‘Hello world’ program written in Python in colour using Markdown.
#!/usr/bin/env python
import sys
def hello(name='world'):
    greeting = "hello " + name
    print(greeting)
if __name__ == "__main__":
    hello(*sys.argv[1:])
This took me a long time to get working.
The music video for Rihanna’s song American Oxygen depicts various moments from American history, including the inauguration of Barack Obama.
Why, sometimes I’ve believed as many as six impossible things before breakfast.
Read moreOracle SQLcl configuration
I use SQLcl a lot and install it on every environment I work on. It’s fully compatible with SQL*Plus and has useful extensions to interact with OCI, Autonomous Databases and Data Pump.
My SQLcl configuration file is named ’login.sql’ and located in the ‘~/work’ directory. I also keep my ’tnsnames.ora’ file here.
The location of these two Oracle configuration files is configured in ‘~/.bashrc’.
# Oracle TNS location
export TNS_ADMIN=$HOME/work
# SQLCL login file
export SQLPATH=$HOME/work
This is my SQLcl configuration file.
Read morewhat I use
I like reading about the hardware and software various people use so here’s my version.
Introduction
I work for Oracle as a technical consultant based in the UK (fully remote). I’m old and evolved from a Unix/C developer to PL/SQL, Oracle DBA and now work on database migrations and Oracle Cloud Infrastructure (OCI).
Hardware
Lenovo ThinkCentre M900.
- Intel i7-6700
 - Memory 48GB (upgraded from 16GB)
 - Disk 1TB
 
Samsung Galaxy S24
Expensive phone kindly provided by my employer. I don’t use many apps (Gmail, WhatsApp, BBC Sport, Tusky).
Read moreremapping multiple tablespaces in Data Pump
Occasionally I find myself migrating Oracle databases between environments using Data Pump.
Enterprise applications tend to use multiple tablespaces for logical separation (and historical reasons). However, this isn’t possible when the target database is Autonomous Database (ADB) hosted on Oracle Cloud Infrastructure (OCI).
ADB is a managed service so DBA’s can’t create tablespaces and are limited to ‘DATA’.
However, Oracle 19c Data Pump supports wildcards for the REMAP_TABLESPACE parameter which allows multiple tablespaces from the existing application to be mapped to the ADB DATA tablespace.
Read moreblog questions challenge
I was interested by Kev Quirk’s “Blog Questions Challenge”, so here’s my answers.
To recap, the questions are:
- Why did you start blogging in the first place ?
 - What platform are you using to manage your blog and why did you choose it ?
 - Have you blogged on other platforms before ?
 - How do you write your posts? For example, in a local editing tool, or in a panel/dashboard that’s part of your blog ?
 - When do you feel most inspired to write ?
 - Do you publish immediately after writing, or do you let it simmer a bit as a draft ?
 - What’s your favourite post on your blog ?
 - Any future plans for your blog ? Maybe a redesign, a move to another platform, or adding a new feature ?
 
Why did you start blogging in the first place ?
I had a web site from 1999 but this was essentially a set of static HTML pages.
Read moreimproving the FWP APEX application
Stung by the criticism of our Football Web Pages APEX application, we decide to try to address the various issues raised by end users and peer code review.
- When clicking ‘Fixtures’, I get ‘ORA-20999: REST Data Source returned an HTTP error: HTTP 400: Bad request’
 - If you enter a Competition only, it works fine. If you enter a Team only, it works fine. If you enter both a ‘Competition’ and ‘Team’, the results look weird. Should ‘Team’ be a cascading LOV based on the ‘Competition’ ?
 - The column names and labels need tidying up. There are a lot of meaningless ID fields displayed.
 - It would be nice to have the option to review past results separately from fixtures in the future.
 - Performance - the Popup LOV’s for Competition and Team are sluggish. Why are they so S L O W ?
 - The navigation menu looks chaotic and ugly.
 
HTTP 400 error entering Fixtures report
This error is because the REST parameter for ‘Competition’ or ‘Teams’ is required. When we first run this page, there no values defined for the ‘Competition’ or ‘Teams’ parameters which results in the error.
Read moreYour Amazing OrgMode Post
Your Main Content
This is where the magic happens. Write your awesome content here!
Here is the wonderful second paragraph.
Standard text markup
bold
italic
underline
Verbatim
code
StrikeThrough
Lists
Unordered list
- Apples
 - Oranges
 - Pears
 
Ordered list
- First
 - Second
 - Third
 
Blocks
Sample quote
Everything should be made as simple as possible, but not any simpler –Albert Einstein
Example code block
#include <stdio.h>
int main(int argc, char *argv[])
{
 printf("Hello world"):;
}
Tables
Sample table
Read moreGoToSocial 0.6.0(rc1) upgrade
Flushed after the success of getting GoToSocial 0.5.2 working successfully, I was about to celebrate with a cup of tea when this post appeared in my timeline about the release of 0.6.0 (Release Candidate 1).
Good morning everyone! We just cut the first release candidate for v0.6.0 of GoToSocial: v0.6.0-rc1.
There’s a preposterous amount of changes included in this one (we’ll do a proper organized list when we do the release proper).
Read more