I’m still catching up on post for March. In this post, I’m proving updates on the vegetable garden progress and my experience in learning to paint and draw. I experimented with using artificial intelligence to assist me in painting trees and a woodland scene after completing an initial draft.

March. The start of the vegetable garden

Slightly late in preparing the vegetable garden. I’m adopting a combination of no-dig gardening and traditional vegetable beds this year. No-dig gardening, popularized by Charles Dowding (see Charles Dowding YouTube), involves layering compost or organic matter on the soil surface without disturbing it through digging. This method helps maintain soil structure, retains moisture, reduces weed growth, and promotes biodiversity. Additionally, no-dig gardening minimizes soil erosion, enhances carbon sequestration, and reduces the release of stored carbon into the atmosphere, contributing positively to the environment.

In April and May, I’ll be planting a variety of vegetables. Potatoes and carrots will go directly into the soil. For the raised beds, which are filled with two-year-old compost made from leaves and grass cuttings, I’m planning to plant leafy greens like lettuce and spinach, as well as root vegetables such as beets and radishes. Other suitable vegetables for this time of year include broccoli, cabbages, and peas. These choices should ensure a bountiful harvest throughout the growing season.

How does growing vegetables compare to building software?

Preparation, timing and keeping to budgets. Surprisingly, there are notable similarities between starting a vegetable garden and building a software system. Both begin with a set of requirements and goals that you aim to achieve within a budget. In gardening, you plan how you will prepare the soil, much like designing a software solution. Additionally, you must plan the growing cycle to know what needs to be planted and when to achieve the best crop yields. For instance, I plan to plant 2-3 crops of carrots and potatoes as well as salad greens, staggering the planting in two-week intervals. In software development, you would have a project plan outlining when teams need to begin their work to ensure the development completes on schedule, aligning with the planned go-live date.

Design thinking – scale, reliability and performance. In software development, system design is crucial. It plays a significant role in interviews when hiring software engineers. Similarly, in the vegetable garden, not all plants grow well together, so careful design of the planting plan is needed to determine which crops to grow together and which to keep apart. Proper planning ensures one crop does not hinder the growth of another. Moreover, you need to consider the scale of your crop yield and how often you want to harvest. In software development, system design addresses scalability, ensuring the system can handle increased loads, reliability to maintain consistent performance, and overall system performance to meet user expectations efficiently.

For example, certain vegetables should not be grown together due to their incompatible growing requirements or potential to hinder each other’s growth. One classic example is planting carrots and dill together. Dill can attract pests that are harmful to carrots and may also inhibit their growth. Similarly, planting onions or garlic near beans can stunt the growth of the beans. This principle of companion planting ensures that one crop does not hinder the growth of another, much like how certain software components must be carefully designed to work harmoniously in a larger system.

In the context of software architecture, consider a scenario where one part of the system uses a relational database for transaction-heavy operations, requiring ACID (Atomicity, Consistency, Isolation, Durability) properties, while another part depends on a NoSQL database optimized for eventual consistency and scalable performance. These two components might fail to work harmoniously because the transactional integrity expected by the relational database might be compromised by the eventual consistency model of the NoSQL database, leading to data integrity issues.

Additionally, the concept of sacrificial planting can be employed to protect more valuable crops. By planting a less precious crop that attracts pests away from the main crop, you can reduce the damage to the latter. For instance, planting radishes near cucumbers can lure pests away from the cucumbers, allowing them to thrive. This strategy is akin to deploying microservices in software architecture to handle less critical tasks, thereby safeguarding the core functionalities of the system.

Art – pastels and water colour and using Chat GPT AI as a guide

I tried out using pastels in March. Pastels are maybe not my favourite art medium; I find it harder than water colours.  I will keep practicing alongside water colours as that’s the only way to improve and learn.  I’m going to give acrylic paints a try in May and then oil. Below the two pastels done in March.

Water colour

Below is my first try at a woodland watercolour scene. I realized trees are not easy, I’ve been using a combination of books and now I’m starting to us ChatGPT (AI) to guide me as well.  My thoughts on AI in this field are that it is great for helping with the basics and I am sure it can help explain techniques. My best learning experience so far is a combination of AI, books and human interaction.  I need to learn to slow down and take my time, I tend to complete a picture in about 2 hours.

Here’s a Microsoft co-pilot (AI) explanation of how to paint trees with watercolour. Painting trees with watercolour involves a few key techniques:

First, start with a light sketch to outline the shape and position of the trees. Next, begin with a wash of light green or brown to establish the basic form. Use a wet-on-wet technique to blend colours and create a natural gradient.

As you build up layers, use a dry brush to add texture and detail to the bark and foliage. Remember to vary your brush strokes to mimic the organic patterns found in nature. Finally, add shadows and highlights to give depth and dimension to your trees.

With practice and patience, you can create beautiful and realistic trees in your watercolour paintings.

Chat GPT generated art

Using ChatGPT prompt: “generate a woodland image using water colour techniques”, generates the image

Extending the AI chat with the prompt – “add blue bell flowers to the image”, the result is

And here is the Chat GPT instructions

Prompt: Provide step by step instructions for how to create this image


Here’s a step-by-step guide to creating a watercolour woodland scene with bluebells, like the image you requested:

### 🎨 **Materials Needed**
- Watercolor paper (cold press, 140 lb)
- Watercolor paints (greens, blues, browns, yellows)- Brushes (round brushes in various sizes, flat brush for washes)
- Pencil and eraser (for light sketching)
- Water, mixing palette, paper towel

### 🖼️ **Step-by-Step Instructions**

#### **1. Light Sketch (Optional but Helpful)**
- Lightly sketch the basic layout:
  - A curving path leading into the distance (use perspective).
  - Vertical lines for tree trunks.
  - Rough zones where the bluebells will go (foreground and midground).

#### **2. Background Wash**
- **Sky & Atmosphere:**

  - Wet the top half of the paper.
  - Drop in diluted blues and a touch of green to suggest distant foliage and mist.
  - Keep it light and let it fade as it comes downward.

#### **3. Trees in the Distance**

- Use a mix of blue-green with more water to paint faint trees that recede into the background.
- Keep edges soft using the wet-on-wet technique.
- Let this layer dry fully.

#### **4. Midground Trees and Foliage**

- Mix greens (sap green + ultramarine or lemon yellow) and start adding trees with more defined shapes.
- Use a drier brush for tree trunks to add slight texture.
- Add some canopy foliage by dabbing with a sponge or brush tip, letting light peek through.

#### **5. Foreground Trees and Path**
- Use darker, richer colors for the trees closer to the viewer (burnt sienna + ultramarine for bark).
- Paint the path using warm earth tones (yellow ochre, burnt umber), adding shadows with a touch of blue or grey.
- Layer shadow areas where the path curves or trees cast light.

#### **6. Bluebells**
- Once the greenery is dry, mix a vibrant blue-violet (like cobalt blue + alizarin crimson).
- Use a small round brush to dab clusters of tiny bell shapes in the grass area.
- Vary tones to show depth: lighter shades in the distance, bolder in the foreground.
- Add dark green leaves and stems around them for contrast.

#### **7. Final Details**
- Deepen shadows using a bluish-grey to enhance realism.
- Dry brush texture on tree bark or fallen leaves.
- Soften any hard edges with a damp brush if needed to keep the watercolor feel.
- Optional: Add tiny details like birds, butterflies, or light rays.

#### **8. Let Dry & Evaluate**
- Step back and check for balance in composition and color.
- Make final touches only if necessary—watercolor is best when it’s loose and expressive.

https://chatgpt.com/share/67fe2c72-164c-8012-a613-e504e5690f72

The AI image cost about $0.10 to produce. Not quite as enjoyable as actually painting my own image, it is another form of creativity though and does enable fast experimentation with different styles. The same principle being applied in software development – creating MVPs in days rather than weeks or even months.

The next posts

  • Restoring the cosmetics of a fireplace (pointing bricks and new tiles), catch-up post for March.
  • Using AI to translate instructions from a retro board game into a computer game.  I want to see if this can be done in Python and Go and then scale this to a multi player solution.
  • Building Financial Systems – specific solutions vs abstract extensible platform solutions. This is likely to be a series of posts, covering some of my experience of building financial software solutions for collateral management, video accounting treatments, FX trading, anti-money laundering and food delivery.
Posted in

Leave a comment