Geo-Storage in Linux

Reading Time: 6 minutes

Building a GDPR-Compliant Virtual File System with Geo-Storage Attributes on Linux

In today’s digital landscape, managing data across various regions while ensuring compliance with stringent privacy regulations like the General Data Protection Regulation (GDPR) is crucial. Implementing a GDPR-compliant virtual file system (VFS) with geo-storage attributes on Linux servers provides an effective solution. This approach not only simplifies data management but also ensures adherence to regional data privacy laws.

Understanding the GDPR Challenge

The GDPR mandates strict rules on data protection and privacy for individuals within the European Union (EU) and addresses the transfer of personal data outside the EU. Key requirements include:

  • Data Localization: Personal data must be stored within specific geographic regions unless certain conditions are met.
  • Data Minimization and Purpose Limitation: Only necessary data should be collected and processed for specific, legitimate purposes.
  • Consent and Access Rights: Individuals have rights to access their data, request corrections, and withdraw consent for data processing.

The Concept of a Virtual File System with Geo-Storage Attributes

A virtual file system (VFS) with geo-storage attributes allows for dynamic data mapping to ensure compliance with regional data storage regulations. This system ensures that when folders are created on the virtual disk, they are mapped to physical storage in the required geographic location. Users interact with the virtual file system as if all data is stored locally, but the actual storage is distributed according to compliance needs.

Extending Linux Folder Attributes

To integrate geo-storage capabilities into Linux, existing folder attributes must be extended to include geo-location and compliance status. This involves:

  1. Filesystem Modification: Extending the inode structure to include fields for geo-location and compliance status. This allows the system to store metadata about where data should be physically located and what compliance requirements it must meet.
  2. Kernel Changes: Modifying the Virtual File System (VFS) layer and specific filesystem drivers to recognize and handle the new attributes.
  3. User-Space Tools: Developing tools to manage the new attributes, such as commands to set geo-location and compliance status for files and directories.

Handling Physical Storage

Managing physical storage involves setting up a distributed storage architecture, ensuring data localization, and managing data storage operations.

  1. Distributed Storage Architecture: Configure a distributed storage system that spans multiple geographic regions. Solutions like Ceph, GlusterFS, or cloud-based services can be used to create storage pools for different regions.
  2. Metadata Management: Maintain a metadata service that tracks geo-location and compliance status for each file. This service interfaces with the VFS to ensure data is stored in the correct physical location.
  3. Middleware for Attribute-Based Storage: Develop middleware that intercepts file operations, checks geo-location and compliance attributes, and redirects data to the appropriate storage pool.

Data Management Operations

  1. Read and Write Operations: Ensure data is accessed from the correct storage location based on geo-location attributes. This involves modifying file read and write operations to interact with the appropriate storage pools.
  2. Data Movement: Handle the movement of data between storage pools when geo-location or compliance attributes change. This ensures that data remains compliant with regional regulations even if its attributes are updated.

Monitoring and Auditing

Implement monitoring and auditing tools to ensure compliance and track data access:

  1. Compliance Monitoring: Set up monitoring to ensure data is stored in the correct location and compliant with regulations. Regular audits can help identify and rectify any compliance issues.
  2. Access Auditing: Log all access and modification events for auditing purposes. This provides a trail of who accessed what data, when, and how, which is essential for regulatory compliance and security.


Implementing a GDPR-compliant virtual file system with geo-storage attributes on Linux servers involves extending the filesystem and kernel, developing user-space tools, setting up a distributed storage architecture, and implementing monitoring and auditing mechanisms. By dynamically mapping data to appropriate storage locations based on geo-location and compliance attributes, organizations can ensure regulatory compliance while maintaining operational efficiency. This comprehensive solution addresses the complex landscape of global data management and privacy regulations, providing a robust framework for secure and compliant data storage.

By following these theoretical steps, organizations can effectively manage their data across different regions while staying compliant with GDPR and other regional data protection laws. This approach ensures that sensitive data is stored, accessed, and managed in a way that respects user privacy and meets regulatory requirements.

Step-by-Step Tutorial: Implementing a GDPR-Compliant Virtual File System with Geo-Storage Attributes on Linux


This tutorial will guide you through the process of creating a GDPR-compliant virtual file system (VFS) on Linux with geo-storage attributes. This system will ensure that data is stored in the correct geographic location to comply with regulations like GDPR. The steps were generated using OpenAI ChatGPT and have not been tested. This is all based on the theory of using virtual mounted storage to save having geo distributed servers and only having geo distributed storage.

Step 1: Modify the Filesystem

1.1 Extend the Inode Structure

First, we need to modify the filesystem to include geo-location and compliance status attributes. This involves extending the inode structure in the ext4 filesystem.

struct ext4_inode {
    /* Existing fields */
    /* ... */

    /* New geo-storage attributes */
    char geo_location[10]; // e.g., "EU", "US"
    char compliance_status[10]; // e.g., "GDPR", "CCPA"

1.2 Update Filesystem Operations

Next, update the inode read and write operations to handle these new attributes.

int ext4_set_geo_location(struct inode *inode, const char *geo_location) {
    strncpy(inode->i_geo_location, geo_location, sizeof(inode->i_geo_location));
    return 0;

int ext4_get_geo_location(struct inode *inode, char *geo_location) {
    strncpy(geo_location, inode->i_geo_location, sizeof(inode->i_geo_location));
    return 0;

int ext4_set_compliance_status(struct inode *inode, const char *compliance_status) {
    strncpy(inode->i_compliance_status, compliance_status, sizeof(inode->i_compliance_status));
    return 0;

int ext4_get_compliance_status(struct inode *inode, char *compliance_status) {
    strncpy(compliance_status, inode->i_compliance_status, sizeof(inode->i_compliance_status));
    return 0;

Step 2: Kernel Changes

2.1 Update the VFS Layer

Modify the Virtual File System (VFS) layer to recognize and handle the new attributes.

struct inode_operations {
    /* Existing operations */
    /* ... */

    /* New operations for geo-storage attributes */
    int (*set_geo_location)(struct inode *, const char *);
    int (*get_geo_location)(struct inode *, char *);
    int (*set_compliance_status)(struct inode *, const char *);
    int (*get_compliance_status)(struct inode *, char *);

2.2 Modify Filesystem Drivers

Update specific filesystem drivers (e.g., ext4) to implement the new VFS operations.

Step 3: User-Space Tools

Develop user-space tools to manage the new attributes.

3.1 Create setgeo Command

int main(int argc, char *argv[]) {
    if (argc != 3) {
        fprintf(stderr, "Usage: setgeo <location> <file>\n");
        return 1;

    const char *location = argv[1];
    const char *file = argv[2];

    if (setxattr(file, "user.geo_location", location, strlen(location), 0) == -1) {
        return 1;

    return 0;

3.2 Create setcompliance Command

int main(int argc, char *argv[]) {
    if (argc != 3) {
        fprintf(stderr, "Usage: setcompliance <status> <file>\n");
        return 1;

    const char *status = argv[1];
    const char *file = argv[2];

    if (setxattr(file, "user.compliance_status", status, strlen(status), 0) == -1) {
        return 1;

    return 0;

3.3 Modify ls Command

Modify the ls command to display these new attributes.

int list_attributes(const char *file) {
    char geo_location[10];
    char compliance_status[10];

    if (getxattr(file, "user.geo_location", geo_location, sizeof(geo_location)) != -1) {
        printf("Geo-Location: %s\n", geo_location);
    } else {
        perror("getxattr geo_location");

    if (getxattr(file, "user.compliance_status", compliance_status, sizeof(compliance_status)) != -1) {
        printf("Compliance Status: %s\n", compliance_status);
    } else {
        perror("getxattr compliance_status");

    return 0;

Step 4: Handling Physical Storage

4.1 Set Up Distributed Storage Architecture

Configure a distributed storage system like Ceph.

# Example with Ceph: Creating storage pools for different regions
ceph osd pool create eu_pool 128
ceph osd pool create us_pool 128
ceph osd pool create apac_pool 128

4.2 Middleware for Attribute-Based Storage

Develop middleware to intercept file operations and redirect data based on geo-location and compliance attributes.

class GeoStorageMiddleware:
    def __init__(self, metadata_service):
        self.metadata_service = metadata_service

    def write(self, file_path, data):
        attributes = self.metadata_service.get_attributes(file_path)
        geo_location = attributes.get('geo_location')
        compliance_status = attributes.get('compliance_status')

        if geo_location == 'EU' and compliance_status == 'GDPR':
            storage_pool = 'eu_pool'
        elif geo_location == 'US' and compliance_status == 'CCPA':
            storage_pool = 'us_pool'
            storage_pool = 'default_pool'

        self._store_data(storage_pool, file_path, data)

    def _store_data(self, storage_pool, file_path, data):
        # Logic to store data in the specified storage pool

Step 5: Data Management Operations

5.1 Implement Read and Write Operations

Ensure that data is read from and written to the correct storage pool based on geo-location attributes.

def read(file_path):
    attributes = metadata_service.get_attributes(file_path)
    geo_location = attributes.get('geo_location')

    if geo_location == 'EU':
        storage_pool = 'eu_pool'
    elif geo_location == 'US':
        storage_pool = 'us_pool'
        storage_pool = 'default_pool'

    return, file_path)

def write(file_path, data):
    attributes = metadata_service.get_attributes(file_path)
    geo_location = attributes.get('geo_location')

    if geo_location == 'EU':
        storage_pool = 'eu_pool'
    elif geo_location == 'US':
        storage_pool = 'us_pool'
        storage_pool = 'default_pool'

    storage_service.write(storage_pool, file_path, data)

5.2 Handle Data Movement

Handle data movement between storage pools when geo-location attributes change.

def move(file_path, new_geo_location):
    current_attributes = metadata_service.get_attributes(file_path)
    current_geo_location = current_attributes.get('geo_location')

    if current_geo_location != new_geo_location:
        data = + '_pool', file_path)
        storage_service.write(new_geo_location + '_pool', file_path, data)
        storage_service.delete(current_geo_location + '_pool', file_path)
        metadata_service.update_attributes(file_path, {'geo_location': new_geo_location})

Step 6: Monitoring and Auditing

6.1 Compliance Monitoring

Set up monitoring to ensure data is stored in the correct location and is compliant with regulations.

def monitor_compliance():
    for file_path in metadata_service.get_all_files():
        attributes = metadata_service.get_attributes(file_path)
        geo_location = attributes.get('geo_location')
        compliance_status = attributes.get('compliance_status')

        actual_location = storage_service.get_storage_location(file_path)

        if actual_location != geo_location:
            alert_compliance_issue(file_path, actual_location, geo_location)

6.2 Access Auditing

Log all access and modification events for auditing purposes.

def audit_log(event):
    with open('/var/log/geo_storage_audit.log', 'a') as log_file:
        log_file.write(f"{} - {event}\n")

Springing into a better me

Reading Time: 3 minutes

We are two weeks away from the official start of spring. Amidst the hustle and bustle of daily life, achieving a healthy balance becomes a paramount goal for promoting overall wellbeing. Over the past few years I’ve put on a lot of weight prioritising the wrong things, maybe that’s strong. I’ve prioritised work mostly; it’s not a bad thing. I need to find more balance. I need to be able to perform at a high level in work and balance my wellbeing and my family’s wellbeing. Over the past few months, I have started to make an effort to shed the excess again. Since embarking on my journey, I’m down three belt notches. I didn’t want to weigh myself at the start; I knew it would be a scary number. I’ve really taken steps to be better, playing golf, swimming, walking, using Headspace and Balance Apps and the latest addition has been to onboard to the Second Nature Project. In the spirit of embracing this philosophy, our family has taken a proactive approach to balancing work, exercise, rest, food and mental health. From rounds of golf squeezed in where possible to leisurely walks and refreshing swimming sessions at the Lough Erne Resort, I am determined to create a harmonious balance that benefits us individually and strengthens our family bonds.

One of the fundamental pillars of our pursuit of balance is incorporating outdoor activities into our daily routine. Whether it’s traversing the golf courses, taking leisurely strolls around the resort or Enniskillen, or enjoying invigorating swimming sessions and sometimes relaxing swimming sessions, being surrounded by nature again has proven to be a therapeutic escape from the demands of daily life. The crisp air, the sounds of birds chirping, and the beauty of the outdoors around here serve as a refreshing backdrop to our collective efforts to maintain a healthier lifestyle. I do still sometimes miss the sound of the Ocean in the background; however, what we have found here in Enniskillen has its own unique charm.

I’ve spent too many years not making time for exercise and exercise is a crucial component of a balanced and healthy life. This year, our family has decided to explore various avenues of physical activity to keep things exciting. While my wife has taken up rowing with the local club here as a challenging yet rewarding sport, I’ve found solace in swimming and the occasional gym session. Now, I’m encouraging our four children to engage in team sports that not only promotes their physical health but also fosters valuable life skills such as teamwork, communication, and discipline.

I was them to build good relationships with their fellow team members. The move away from Donegal in 2022 brought about a shift in our family dynamic, particularly in terms of the kids’ involvement in team sports. I think we all found it tough to walk away from the football, rowing and other sports and activities in Inver. Recognising the importance of social connections and the benefits of team sports, we are making it a mission to reintegrate our children into such activities in the new area. Whether it’s football, basketball, rugby or any other sport they find appealing, the emphasis is on building camaraderie, making friends, and enjoying the sense of belonging that comes with being part of a team.

In the pursuit of balance, it’s crucial not to overlook the delicate equilibrium between work and rest. We have brought our family up to be industrious and continuously busy, working hard and always finding something to do. Our family is now mading a conscious effort to establish clear boundaries when it comes to work commitments, ensuring that quality time is devoted to play, rest and relaxation. Whether it’s a cosy movie night or simply listening to music, these moments of respite will contribute significantly to our overall well-being.

As we navigate the challenges of modern life, finding a healthy balance becomes a continuous journey rather than a destination. We hope by incorporating outdoor activities, embracing diverse forms of exercise, prioritising team sports for our children, and striking a balance between work and rest, our family is committed to making 2024 a year of holistic well-being. May this year remind us all that true harmony comes from nurturing our physical, mental, and emotional health, ultimately creating a foundation for a fulfilling and balanced life.

Embracing Progress in 2024

Reading Time: 2 minutes

As the new year unfolded, my colleague posed a thought-provoking question that veered away from the conventional New Year’s resolutions: “Instead of creating a list of goals, choose one word that captures the mindset you want to adopt in 2024. This word will be used to guide you toward positive change.” After considerable contemplation, I settled on a word that resonated deeply with my aspirations for the coming months: Progress.

In a world inundated with the pressure of setting ambitious resolutions, the simplicity of choosing one guiding word appealed to me. Progress, in its essence, encapsulates the idea of continuous improvement something I have advocated for throughout my career. It goes beyond the confines of specific goals and embraces the journey of becoming a little better each month than the month before.

Embracing progress means acknowledging that growth is a continuous process. Instead of fixating on monumental changes or lofty objectives, I am focusing on incremental improvements in various aspects of my life. Whether it’s personal development, health and wellness, or career advancement, the aim is to make steady strides forward.

The beauty of progress lies in its adaptability. It allows me to break free from the rigidity of traditional goal-setting that comes with the New Year. This approach encourages a flexible mindset, enabling me to navigate unexpected challenges and opportunities with resilience.

Beyond personal aspirations, my commitment to progress extends to those around me. I am dedicated to creating an environment that promotes growth and improvement. Whether it’s through mentorship, collaboration, or simply lending a helping hand, I want to be a catalyst for positive change in the lives of those I live and work with.

To stay true to the spirit of progress, I have decided to implement a monthly reflection routine. This involves taking a step back, assessing my achievements of the month, and identifying areas for improvement. It’s a chance to feel good about any progress made, learn from setbacks, and focus on the upcoming month.

As we navigate the uncharted waters of a new year, the power of a single word—Progress—serves as a beacon guiding me toward positive change. It’s a reminder that growth is a continuous journey, and every step forward, no matter how small, is a victory. May 2024 be a year of progress, not perfection, as we embrace the transformative power of incremental change.

The Four-Day Workweek, Cultivating a Culture of Continuous Learning

Reading Time: 2 minutes


My random thoughts continue with the 4-day work week. The nature of work is in flux. As discussions about a four-day workweek gain momentum in certain countries, we stand on the threshold of what could be a transformative shift in the professional landscape. While the economic and lifestyle benefits are often discussed, there’s a compelling case for dedicating the fifth day to a purpose beyond work: continuous learning, an opportunity to continue growth throughout your life.

Evolving Job Landscape: A Historical Perspective

Historically, the job market has always been in a state of evolution. Many integral roles today were non-existent a century ago, and a century before that also had significant shifts. With rapid technological advancements and AI on the horizon, it’s not job displacement we should be concerned about but rather how prepared we are to adapt to these changes. We currently leave education between 16 and our early 20s. From there, we now rely primarily on experience with some continuous learning.

My Journey: A Testament to Evolving with Time

My path, from classrooms to the ever-evolving corridors of the tech industry, has underscored the importance of adaptability and learning. From grappling with reading as a child, immersing in the gaming world’s tech intricacies, to earning a First-Class Honours Post Graduate Diploma in Cloud Technologies by 2021, I’ve witnessed the transformative power of continuous learning. I have seen positive career growth over the past few years as I have leaned further into personal and professional development. It’s a journey, and I still have a long way to go.

The Fifth Day: A Paradigm Shift

Imagine a world where the fifth day of the workweek isn’t about work but growth. This holistic day of development could manifest in various ways:

  • Skill Enhancement: From refining current skills to learning new ones that align with future industry demands.
  • Personal Development: Fostering emotional intelligence, critical thinking, or even pursuing hobbies.
  • Inter-generational Knowledge Exchange: Creating platforms where retirees share their expertise and, in turn, learn about modern innovations, ensuring a continuous loop of shared wisdom.
  • Broadened Horizons: Exposure to fields beyond one’s industry can foster cross-industry innovation and collaboration.

Benefits Beyond the Obvious

For businesses, such a model ensures an adaptive workforce primed for resilience in an unpredictable marketplace. For individuals, it promotes personal growth and wellbeing. Society stands to gain from a populace that values and practices lifelong learning. We pave the way for communities that are more innovative, more resilient, and more inclusive.


The four-day workweek isn’t just a structural shift; it’s a philosophical one. It’s an opportunity to transition from a culture of doing to growing. Whether in Donegal or Delhi, tech or tourism, continuous learning is the future. Embracing it benefits us today and equips future generations to tackle unforeseen challenges head-on.

Niche Trends in Technology

Reading Time: 2 minutes

How to Learn About Them

Staying updated with the latest trends is more vital than ever. While mainstream tech like AI, blockchain, and virtual reality garners much attention, there’s an array of niche technologies that deserve the spotlight. Keeping abreast with these niche trends can open new avenues for innovation, career opportunities, and personal growth. But how does one navigate this expansive world without breaking the bank? Fortunately, there are numerous resources available that can help tech enthusiasts learn about these niche trends for free. Here’s a dive into some exciting technologies and how you can immerse yourself in them without spending a dime.

Quantum Computing

In Simple Terms: It’s like the supercharged version of our regular computers. Instead of bits, they use qubits, allowing them to process massive amounts of data simultaneously.

Learning Resources:
IBM Q Experience: A hands-on platform by IBM for quantum experiments. Check it out here.
MIT OpenCourseWare: Access MIT’s free quantum mechanics lectures here.

Biotechnology and CRISPR

In Simple Terms: Think of CRISPR as “genetic scissors” that can cut and modify DNA, potentially curing genetic diseases or improving crops.

Learning Resources:
Addgene’s CRISPR Guide: A detailed guide on CRISPR technology. Visit Addgene.
Coursera: A course titled “Introduction to Genomic Technologies” can be found here.

Edge Computing

In Simple Terms: Instead of sending data across long routes to a centralized data center, edge computing processes it right where it’s generated (like in your smartwatch or car), making things faster and more efficient.

Learning Resources:
EdgeX Foundry: A project by the Linux Foundation dedicated to edge computing. Check their insights here.
YouTube: For an introduction to edge computing, watch this video by IBM Cloud.

Neuromorphic Engineering

In Simple Terms: Building computer chips inspired by how our brains work. This could lead to computers that think and learn more like humans.

Learning Resources:
Google Scholar: If you have access you can dive deep into scholarly articles here.
YouTube: Get a brief overview of neuromorphic computing with this video by Zubin Kane.

General Resources:

The realm of niche tech trends is vast and exciting. The beauty of the digital age is that passionate learners can access a plethora of resources without financial constraints. Whether you’re looking to boost your career, embark on a new project, or simply satisfy your curiosity, the world of technology is at your fingertips. Dive in, explore, and make the most of the free resources available.

Staying Ahead of the Curve: Interconnected and Updated

Reading Time: 2 minutes

Unveiling Dynamic Contacts: Revolutionising How We Connect in the Digital Age


In the digital age, our personal and professional networks have grown exponentially. We connect with people across various platforms – social media, professional networking sites, email, and more. However, managing these connections has become increasingly complex and challenging. This post explores the challenges of current contact management methods and discusses why dynamic contacts are the way forward.

The Static Problem

The primary issue with traditional contact management is its static nature. When individuals change their phone numbers, move houses, switch jobs, or update their email addresses, their contacts often lose touch due to outdated information. This leads to missed opportunities, weakened relationships, and a constant struggle to keep contact lists up-to-date.

Our connections are often platform-dependent. If you leave a social media platform or stop using a particular communication tool, you risk losing those contacts. This fragmentation of networks across different platforms makes it difficult to maintain a comprehensive and current contact list.

The Need for Dynamism

In contrast to static contact lists, dynamic contacts offer a solution to these problems. A dynamic contact list is one that automatically updates when changes occur. For example, if a contact changes their phone number or email address, this change is automatically reflected in your contact list.

Dynamic contacts also overcome the platform-dependency problem. They pull together contacts from various platforms into one centralised list. Even if a user leaves a social media platform or stops using a particular communication tool, their contacts on the dynamic list will still be able to stay connected with them.

The Future is Dynamic

Dynamic contacts are not just a nice-to-have feature; they are the future of contact management. As our lives become more digital and our networks more extensive, the need for dynamic contacts will only increase.

By providing an up-to-date and comprehensive view of our connections, dynamic contacts make it easier for us to stay in touch with the people who matter most to us. They save us time and effort in maintaining our contact lists and ensure that we never lose touch due to outdated information.

In conclusion, dynamic contacts represent the future of contact management. They address the challenges of static contact lists and platform-dependent networks by providing a centralised, up-to-date, and interconnected view of our connections. As we move forward into an increasingly digital and interconnected world, dynamic contacts will become an essential tool for staying connected.

Casting a Better Shadow. Reflections on Leadership and Navigating Back on Track

Reading Time: 3 minutes

Over the past few months, we have been swamped; during these times, it’s hard to self-reflect after a tough week that ended positively. I made time to reflect, reevaluate the plan, and move forward.

As a leader, it’s essential to remember that you cast a shadow. This shadow isn’t a tangible, physical one but a reflection of your actions, attitudes, and values. Just as a physical shadow is shaped by the light and its object, the shadow you cast as a leader is moulded by your actions and their effects on the team around you.

When you’re doing well, your shadow is a positive influence that motivates and inspires. But there are times when you may feel that your leadership shadow isn’t quite what it should be. Perhaps you’ve been under pressure, maybe you’ve made some mistakes, or perhaps you’re simply feeling burnt out. During these times, your shadow may seem to loom more darkly than you’d like. However, don’t despair. Every leader goes through such periods. The key is recognising the issue and taking steps to regain your footing.

Reflecting on the Shadows

The first step in getting back on track is self-reflection. It’s essential to understand the type of shadow you’re currently casting. Are your actions encouraging, fostering growth and togetherness, or are they creating a climate of fear or resentment? Your shadow directly impacts team morale, productivity, satisfaction, and often the outcomes you seek, so it’s crucial to be honest with yourself.

Consider gathering feedback from your team and peers. They can provide insights that you might have missed. Be open to this feedback; it’s a tool for growth, not a personal attack.

Mapping the Course Back

Once you understand the type of shadow you’re casting, it’s time to map your course back. This process may be challenging but also an opportunity for personal and professional growth.

Revisit your values: What do you stand for? What kind of leader do you want to be? These are questions you must answer. Your core values should guide your decisions and actions.

Set achievable goals: Instead of trying to change everything at once, focus on one or two key areas where you can make a difference. This will help prevent you from becoming overwhelmed and make tracking your progress easier.

Seek out a mentor or coach: This can be a more experienced leader within your organisation, a professional coach, or a trusted individual outside your professional sphere. They can provide guidance, encouragement, and a different perspective.

Practice emotional intelligence: Leaders must navigate their emotions and those of their team members. Understanding and managing your emotional responses can help you cast a more positive shadow. 

Creating a New Shadow

“Character is like a tree and reputation like a shadow. The shadow is what we think of it; the tree is the real thing.”

Abraham Lincoln

As you shift your behaviours and attitudes, you’ll cast a new shadow that aligns with your values and the kind of leader you aspire to be. It will realign with you. It requires time, patience, and persistence.

Every leader faces moments of doubt, confusion, or even failure. What separates great leaders from the rest is the ability to acknowledge these moments, learn from them, and navigate back to the right path. In doing so, they cast a more positive shadow and demonstrate to their team that growth comes from adversity.

Remember, the shadow you cast as a leader is not just about you but also the team. When you work to improve, you’re bettering yourself and creating a better environment for those around you. So when you find yourself casting a shadow you’re not proud of, as I did this week, see it as an opportunity. It’s your chance to reflect, learn, and grow into the leader you can be.

Every day is a new opportunity to cast a better shadow. The steps you take towards self-improvement today will echo the positive impacts you make tomorrow. So take a deep breath, square your shoulders, and start the journey back on track – for yourself and your team.

Age Certification for Websites: Fostering Responsibility, Not Censorship

Reading Time: 2 minutes

Ensuring that online content is age-appropriate is a challenge of increasing importance, particularly for the safety of younger internet users. With this in mind, I’m proposing a new and not very innovative approach: a voluntary system of age certification for websites.

But, you may wonder, isn’t this just another form of internet censorship? The answer is a clear and resounding no. Let’s delve into why.

Voluntary Participation: Encouraging Responsibility, Not Mandating It

The proposed age certification system is voluntary, not mandatory. Website owners would choose whether or not to apply for an age certificate. Why? Because I believe in the power of choice and the responsibility that comes with it.

I understand that the diversity of the internet is one of its biggest strengths. Forcing a ‘one-size-fits-all’ approach would not do justice to the vast array of content found online. Instead, I would encourage website developers to consider their audience and the potential impact their content may have. This isn’t about restricting creativity or stifling freedom of speech but promoting mindful and responsible creation.

A Plugin Approach: User Empowerment

Instead of implementing sweeping changes at the internet infrastructure level, our system would be implemented via a browser plugin. This means the control is ultimately in the hands of the users and their caregivers.

The plugin would be designed to read the user’s age from their logged-in account (e.g., Microsoft, Google) and the age certification of the website they’re visiting. Based on this information, the plugin would block or allow access, ensuring an age-appropriate internet experience.

Adult users would have the power to override default settings, granting them access to uncategorised or differently categorised sites. In essence, we’re not deciding what content should be available on the internet, but merely providing a tool that empowers users to navigate the web safely.

A Call to Action: The Web We Want

Our age certification proposal is not about imposing new rules or policing the internet. Rather, it is about sparking a discussion on what kind of web we want for ourselves and for future generations.

If we want an internet that respects the rights of all users, including the most vulnerable, then we must foster a sense of responsibility and mindfulness in how we create and consume online content. A voluntary age certification system, implemented through a browser plugin, is a step towards that vision.

In an era where digital literacy is crucial, let’s encourage a more thoughtful and inclusive approach to web development. Let’s create a safer, more age-appropriate internet experience, not through censorship, but through responsibility and choice.

Certifying the Web: An Age-Appropriate Internet Experience

Reading Time: 2 minutes

With the internet becoming an integral part of everyday life, creating a safer and more age-appropriate online environment is of increasing importance, especially for younger users. This white paper proposes an innovative approach to this challenge: a system of age certification for websites, implemented through a browser plugin, to filter web content based on the user’s age.

The widespread use of the internet brings an array of challenges in ensuring a safe and appropriate user experience, especially for children and teenagers (Livingstone, S., & Third, A., 2017). Various mechanisms exist to protect younger users, including parental control software, ‘kid-safe’ browsers, and age-verification tools on certain websites. However, these solutions often operate at the device level or individual website level and do not provide comprehensive protection.

We propose a new approach, drawing inspiration from age certification systems in the film and gaming industry, that involves certifying websites based on their content’s suitability for different age groups. The certification would be readable by a browser plugin, which filters the accessible content based on the user’s age, thus ensuring an age-appropriate internet experience.

Age Certification Framework
The proposed age certification system encompasses five categories, akin to established content rating systems like the Motion Picture Association (MPA) film ratings or the Entertainment Software Rating Board (ESRB) game ratings:

  • General (G)
  • Parental Guidance (PG)
  • Teen (T)
  • Mature (M)
  • Adults Only (AO)

The system needs to be as inclusive as possible, accounting for the vast range of content found on the internet. Websites would voluntarily apply for an age certificate and be rated by an independent, trusted certification authority.

Technical Implementation
A browser plugin would be developed to read the user’s age from their logged-in account (e.g., Microsoft, Google), read the website’s age certificate, and block or allow access accordingly. Website certificates could be integrated into the website’s SSL/TLS certificate, HTTP headers, or meta tags.

User Age Verification
Privacy-preserving mechanisms for verifying the user’s age are necessary to prevent misuse. Some potential approaches include using established online age verification services, anonymous age verification techniques, or potentially blockchain-based verification (Stark, L., 2018).

Challenges and Considerations
Despite its potential, this proposal comes with notable challenges. Foremost are the complexities of global implementation, potential resistance from website owners, user privacy concerns, and legal implications, notably in relation to data protection regulations like GDPR (General Data Protection Regulation) and COPPA (Children’s Online Privacy Protection Act).

The proposal of an age certification system for websites represents a forward-thinking approach to fostering a safer, more age-appropriate internet experience. While significant challenges exist, with a cooperative and conscientious effort from all stakeholders, this system could significantly enhance online safety, particularly for younger users.


  1. Livingstone, S., & Third, A. (2017). Children and young people’s rights in the digital age: An emerging agenda. New Media & Society, 19(5), 657-670.
  2. Stark, L. (2018). Blockchain technology could be the great equalizer for American cities. TechCrunch.

Welcoming AI in Education: How Disciplining Students for AI Use Disadvantages Them

Reading Time: 3 minutes

AI’s influence on our lives is growing at a pace never seen before. Its applications span various sectors, from healthcare and transport to business operations and entertainment. However, one area where AI could make a transformative impact is education. Despite some disputes surrounding AI’s role in the classroom, punishing or reprimanding students for using AI tools is more likely to place them at a disadvantage in the long run. Here’s why.

The Expanding Role of AI in Education

Artificial Intelligence, commonly referred to as AI, employs machine learning and deep learning techniques to simulate human intelligence in machines. In education, it is becoming an essential asset to personalise learning, provide real-time feedback, automate administrative tasks, and even facilitate remote learning.

Personalised learning is one of the most powerful applications of AI. Algorithms can analyse a student’s learning patterns and difficulties, adapt content accordingly, and provide targeted practice to enhance understanding. This could revolutionise education, moving away from a “one-size-fits-all” approach to a customised learning journey.

AI also provides real-time feedback, ensuring that students don’t have to wait until they submit assignments to know if they’ve grasped the material. AI-driven platforms can identify exactly where students make mistakes and provide immediate corrections, supporting learning and instilling confidence.

Moreover, AI can automate administrative tasks such as marking assignments and scheduling, freeing up teachers’ time to focus on what truly matters – teaching and nurturing students.

Lastly, the COVID-19 pandemic demonstrated AI’s effectiveness in facilitating remote learning. AI-based platforms enabled students to continue their education from the safety of their homes, ensuring minimal disruption in their academic progress.

The Risks of Banning AI in Education

Given the enormous potential of AI in education, penalising students for using AI tools or banning them outright could have negative consequences.

Suppressing Creativity and Innovation

AI can foster creativity and innovation by allowing students to experiment and learn at their own pace. For instance, AI-enabled coding tools can help students understand the logic behind programming languages and stimulate their interest in this field. Punishing students for using AI can suppress this creativity and exploration, inhibiting students’ potential to innovate and excel in their fields.

Widening the Digital Divide

Restricting AI use in classrooms might widen the digital divide between students with access to these tools at home and those who do not have such access. The latter group would miss out on the benefits of personalised learning, immediate feedback, and increased learning autonomy that AI provides. This could lead to disparities in academic achievement and future career opportunities.

Preparing Students for the Future Workforce

AI is rapidly permeating all sectors of the economy. Consequently, the workforce of the future will likely involve interacting with AI in some form. If we deprive students of the opportunity to familiarise themselves with AI during their formative years, we risk producing a workforce ill-equipped to thrive in a technologically advanced future.

The Importance of Ethical AI Use in Education

While we advocate for AI’s usage in education, it is crucial to underscore the importance of ethical AI use. Concerns around data privacy, algorithmic bias, and over-reliance on AI need to be addressed.

Educators should ensure that AI tools comply with data privacy laws to safeguard students’ sensitive information. Similarly, AI developers must strive for transparency and fairness in their algorithms to prevent biased outcomes. Furthermore, while AI can augment teaching and learning, it should not replace the critical role of human interaction and guidance in education.

Conclusion: Embrace, Don’t Penalise

Given the ever-increasing role of AI in our

lives, the question should not be whether students should use AI, but rather how we can ensure they use it effectively and ethically. Penalising or banning students for using AI tools not only disadvantages them but also deprives our society of potential innovators and leaders in the era of AI.

Welcoming AI in education, therefore, is not merely a matter of keeping up with the times, but a necessity for equipping students with the skills they need to thrive in the future. By understanding and integrating AI in our educational systems, we can prepare students to navigate and shape a rapidly changing world.