A 'No' Years Resolution

, 02 January 2026
A 'No' Years Resolution
Selsey Cuttlefish © Paul Parsons

By Kerry Williams

Communications Officer - Conservation 

Happy New Year! However you choose to celebrate, I hope your festive season was full of peace, joy, and mega loads of cheese. I always have a new year’s resolution and try to make them positive. Apologise less. Dance more. Wear the shoes. Before you stop reading for fear of me going full ‘live, laugh, love’ don’t worry, I’m heading somewhere.

2026 is going to be the year of boundaries. As well-meaning humans, and especially in the UK, we can be a little too agreeable, put up with stuff, get on with it. But as nature demonstrates, it doesn’t have to be this way.

There are not many better boundary-setting role models than those species who ward off others as standard. Camouflage antithesis, these creatures make themselves obvious to warn incomers that they’re not to be messed with. It’s called aposematism, a defence mechanism utilised by certain species across the board; invertebrates, plants, mammals, birds, fish and fungi.

There are a few different types of aposematism:

Aposematic colouration

Deliberately bright colours to visually warn of a toxic taste to others (whether this is true or not). Think ladybirds, wasps and Cinnabar moth caterpillars, who are bright yellow to mirror the toxic traits taken on by their favourite food plant – Ragwort. Then there are Cuttlefish (pictured above), whose colour-changing skills give them the option of disguise or bold vibrant attack.

Cinnabar moth caterpillars © Alan Price

Olfactory aposematism

Repelling predators by producing a smell or foul-smelling substance. This dirty card is played by several species of shield bug, sometimes harshly but accurately known as stink bugs. Many plants are notable for this feature, including the strong-smelling Wild Garlic.

Ransoms (Wild Garlic) © Arthur Hoare

Auditory aposematism

Sound as a deterrent. Many species make alarm calls to expose a nearby predator, like a Robin tick-ticking at the sight of a cat. But auditory aposematism is making a sound to directly warn of one's own danger or distaste to others. A famous example is the Rattlesnake, which clatters its tail to give the heads up - “it’s not worth it mate”. Closer to home, the Garden Tiger moth rubs its wings together to make a rasping noise to the same effect. 

Garden Tiger Moth © Alan Price


There’s no doubt these creatures have mastered the art of communicating their boundaries. In nature there’s no awkwardness, no deeper meaning, no overthink – imagine! So, in nature’s honour, this year I’ll be saying a lot more ‘no’. Hopefully with no need for any olfactory assistance.

Leave a comment
Time Δ Debug Message - Perch Runway 3.2
1787404103.82970 [907] SELECT p.pagePath, pr.routePattern, pr.routeRegExp, p.pageTemplate, pr.routeOrder, s.settingValue AS siteOffline FROM swt_pages_staging p LEFT JOIN swt_page_routes pr ON p.pageID=pr.pageID LEFT JOIN swt_settings s ON s.settingID='siteOffline' UNION SELECT NULL AS pagePath, pr2.routePattern, pr2.routeRegExp, pr2.templatePath AS pageTemplate, pr2.routeOrder, NULL AS siteOffline FROM swt_page_routes pr2 WHERE templateID!=0 ORDER BY routeOrder ASC, pagePath ASC
1787404103.87160.0419Matched route: news/[slug:s]
1787404103.87170.0001Server address: 216.73.216.140
1787404103.87180Using master page: /templates/pages/blog/post.php
1787404103.87180Page arguments:
Array
(
    [0] => /news/a-no-years-resolution
    [s] => a-no-years-resolution
    [1] => a-no-years-resolution
)
1787404103.8720.0003 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1787404103.8730.001 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1787404103.87470.0017 [1] SELECT locationID FROM swt_shop_tax_locations WHERE locationIsHome=1 LIMIT 1
1787404103.87520.0005INSERT INTO swt_shop_cart(memberID,locationID,currencyID,cartPricing,cartProperties) VALUES(NULL,'1',47,'standard','[]')
1787404103.88720.0119 [1] SELECT * FROM swt_shop_cart WHERE cartID=24380620
1787404103.8880.0009 [1] SELECT * FROM swt_shop_cart WHERE cartID=24380620
1787404103.88880.0008 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-08-22 13:08:00' AND saleTo>'2026-08-22 13:08:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1787404103.90270.0139 [1] SELECT SQL_CALC_FOUND_ROWS DISTINCT tbl.* FROM ( SELECT idx.itemID, main.*, idx2.indexValue as sortval FROM swt_blog_index idx JOIN swt_blog_posts main ON idx.itemID=main.postID AND idx.itemKey='postID' JOIN swt_blog_index idx2 ON idx.itemID=idx2.itemID AND idx.itemKey='postID' AND idx2.indexKey='_id' WHERE 1=1 AND ((idx.indexKey='postSlug' AND idx.indexValue='a-no-years-resolution')) AND idx.itemID=idx2.itemID AND idx.itemKey=idx2.itemKey GROUP BY idx.itemID, idx2.indexValue, postID ) as tbl WHERE (postStatus='Published' AND postDateTime<='2026-08-22 13:08:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1787404103.90740.0047 [1] SELECT FOUND_ROWS() AS `count`
1787404103.9080.0006 [1] SELECT * FROM swt_blog_posts WHERE postID=3861 AND postStatus='Published' AND postDateTime<='2026-08-22 13:08:00'
1787404103.90930.0013 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1787404103.910.0007 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1787404103.91060.0005 [1] SELECT * FROM swt_categories WHERE catID=267 LIMIT 1
1787404103.9110.0005 [1] SELECT * FROM swt_categories WHERE catID=36 LIMIT 1
1787404103.91160.0005Using template: /templates/blog/post.html
1787404103.91180.0002 [162] SELECT catID, catPath FROM swt_categories
1787404103.91270.001 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-08-22 13:08:00' AND postSlug='a-no-years-resolution'
1787404103.93910.0264Using template: /templates/blog/post.html
1787404103.93950.0004 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1787404103.94130.0018Using template: /templates/pages/attributes/seo.html
1787404103.94160.0002 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1787404103.94250.0009 [nil] SELECT * FROM ( SELECT idx.itemID, c.regionID, idx.pageID, c.itemJSON, idx2.indexValue as sortval FROM swt_content_index idx JOIN swt_content_items c ON idx.itemID=c.itemID AND idx.itemRev=c.itemRev AND idx.regionID=c.regionID JOIN swt_content_index idx2 ON idx.itemID=idx2.itemID AND idx.itemRev=idx2.itemRev AND idx2.indexKey='_order' WHERE ((idx.regionID=104 AND idx.itemRev=0)) AND idx.itemID=idx2.itemID AND idx.itemRev=idx2.itemRev ) as tbl GROUP BY itemID, pageID, itemJSON, sortval, regionID ORDER BY sortval ASC
1787404103.9440.0015 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1787404103.94810.0041 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1787404103.94870.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1787404103.95140.0027Using template: /templates/navigation/ps_nav_template.html
1787404103.95140 [6] Using template: /templates/navigation/ps_nav_template_children.html
1787404103.95190.0005 [4] Using template: /templates/navigation/ps_nav_template_children.html
1787404103.95220.0003 [29] Using template: /templates/navigation/ps_nav_template_children.html
1787404103.95440.0022 [10] Using template: /templates/navigation/ps_nav_template_children.html
1787404103.95540.001 [7] Using template: /templates/navigation/ps_nav_template_children.html
1787404103.95610.0007 [9] Using template: /templates/navigation/ps_nav_template_children.html
1787404103.9590.0029 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1787404103.960.0011 [1] SELECT * FROM swt_pages_staging WHERE pageHidden=0 AND pageNew=0 AND pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition
1787404103.96350.0034 [1] Using template: /templates/navigation/breadcrumbs.html
1787404103.9640.0005Using template: /templates/blog/post.html
1787404103.96420.0002 [1] SELECT * FROM swt_blog_authors WHERE authorID='30' LIMIT 1
1787404103.9650.0008Using template: /templates/blog/author.html
1787404103.96540.0004 [1] SELECT SQL_CALC_FOUND_ROWS DISTINCT tbl.* FROM ( SELECT idx.itemID, main.*, idx2.indexValue as sortval FROM swt_blog_index idx JOIN swt_blog_posts main ON idx.itemID=main.postID AND idx.itemKey='postID' JOIN swt_blog_index idx2 ON idx.itemID=idx2.itemID AND idx.itemKey='postID' AND idx2.indexKey='_id' WHERE 1=1 AND ((idx.indexKey='postSlug' AND idx.indexValue='a-no-years-resolution')) AND idx.itemID=idx2.itemID AND idx.itemKey=idx2.itemKey GROUP BY idx.itemID, idx2.indexValue, postID ) as tbl WHERE (postStatus='Published' AND postDateTime<='2026-08-22 13:08:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1787404103.96860.0032 [1] SELECT FOUND_ROWS() AS `count`
1787404103.96910.0005 [1] Using template: /templates/blog/post.html
1787404103.97130.0022Using template: /templates/blog/comment_form.html
1787404103.9720.0006 [nil] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=3861 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1787404104.03740.0655 [0] Using template: /templates/blog/comment.html
1787404104.03760.0002Using template: /templates/blog/post.html
1787404104.03810.0005 [1] SELECT * FROM swt_blog_authors WHERE authorID='30' LIMIT 1
1787404104.0390.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1787404104.03970.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1787404104.04020.0005 [7] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-002%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1787404104.04230.0021 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1787404104.04280.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1787404104.04490.0021 [6] Using template: /templates/navigation/footer-nav.html
1787404104.0460.0011 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1787404104.04660.0006 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1787404104.04710.0005 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1787404104.04950.0024 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1787404104.050.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1787404104.05180.0019 [10] Using template: /templates/navigation/footer-nav.html
1787404104.05580.004 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1787404104.05670.0009 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1787404104.05720.0005 [30] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-004%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1787404104.06080.0036 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1787404104.06150.0007 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1787404104.06430.0029 [29] Using template: /templates/navigation/footer-nav.html
1787404104.06710.0028 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1787404104.06790.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1787404104.06850.0005 [11] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1787404104.07150.003 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1787404104.07210.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1787404104.07470.0026 [10] Using template: /templates/navigation/footer-nav.html
1787404104.07570.001Request time: 0.2471
1787404104.07570Process time: 0.2469
1787404104.07580Memory: 1.6274