Blog

GOMP: Why I’m Canceling Any Service That Makes Me Talk to a Chatbot

Reading Time: 2 minutes

In today’s fast-paced digital world, convenience is king. Companies are constantly looking for ways to streamline processes and make life easier for their customers. One of the most popular tools for achieving this has been the implementation of chatbots in customer service. In theory, chatbots should offer a quick, efficient, and hassle-free way to get answers, resolve issues, or even cancel services. However, in practice, many of these chatbots fall far short of expectations, leading to frustration and wasted time. For this reason, I’ve decided to cancel any service that requires me to interact with a chatbot for customer support.

Don’t get me wrong—chatbots can be fantastic when they’re well-designed, thoroughly tested, and given the capabilities to match or even exceed what human customer care can provide. When a chatbot is equipped with advanced AI, it can offer 24/7 support, handle high volumes of inquiries, and provide immediate responses to simple, repetitive questions. In these cases, chatbots truly enhance the customer experience by making it quicker and easier to get help without the need to wait on hold or navigate through endless phone menus.

But here’s the catch: the vast majority of chatbots today are not living up to this potential. Many are underprepared and poorly designed, offering limited responses that barely scratch the surface of what a customer might need. Instead of resolving issues, these chatbots often lead customers through a frustrating maze of pre-scripted answers that do little to address the specific problem at hand. This inefficiency is not only a waste of time but also a significant source of frustration for customers who just want a straightforward solution.

What’s worse is that some companies seem to view chatbots as a way to save money in the short term without considering the long-term impact on customer satisfaction. By investing in a cheap, underdeveloped chatbot, these companies may cut costs initially, but they risk underwhelming their customers and driving them away. This short-sighted approach simply doesn’t make sense in a competitive market where customer loyalty is critical.

Customer service should be about providing clear, direct, and human support, especially when it comes to something as important as canceling a service. If a company relies on a chatbot as the primary method for handling cancellations or customer issues, it signals to me that they value automation over quality service. I prefer to invest in services that prioritize the customer experience, and dealing with a chatbot that doesn’t meet that standard is not something I’m willing to tolerate.

The lesson here is clear: if companies want to use chatbots effectively, they need to put in the time and effort to ensure these tools are truly helpful. Chatbots should enhance the customer experience, not detract from it. They should be able to handle complex inquiries with the same care and efficiency as a human representative. Anything less is a disservice to the customer and, ultimately, to the company’s bottom line.

So, for now, I’m saying goodbye to any service that forces me to talk to a chatbot. My time is valuable, and I won’t waste it on poorly designed systems that fail to meet my expectations. I encourage others to do the same—demand better service and let companies know that subpar chatbot experiences are simply not acceptable. After all, in a world where customer experience can make or break a business, shouldn’t we all expect more?

Exploring the impact of Social Media Algorithms

Reading Time: 2 minutes

An Experiment with Identical Facebook Profiles

In the modern digital age, social media platforms play a significant role in shaping our perceptions and opinions. One of the most debated topics is how these platforms, particularly Facebook, contribute to the polarisation of views. To explore this phenomenon, I am conducting an experiment using two identical Facebook profiles to see how content diverges over time. Here’s a detailed account of my journey and findings.

The Concept

The idea was simple yet profound: create two identical Facebook profiles, engage with similar content initially, and then gradually diverge their interactions. The goal was to observe how Facebook’s algorithms would tailor content differently for each profile and potentially contribute to the extremity of views.

Setting Up the Experiment

Profile Creation
I began by creating two new Facebook accounts with identical information:

  • Names: Chosen to be generic and identical
  • Date of Birth: Same for both profiles
  • Profile Picture and Cover Photo: Identical images
  • Hobbies and Interests: Listed the same interests
  • About Me Section: Filled out with the same details
  • Friends and Groups: Added the same initial set of friends and joined similar groups to establish a common baseline.

Initial Interactions
To maintain consistency, I identified a few common interests and interacted similarly on both profiles. This included:

  • Liking the same pages
  • Following the same public figures
  • Joining the same groups

The Experiment

Baseline Phase
For the first two weeks, I ensured both profiles interacted with the same types of content in a consistent manner. This meant liking, commenting, and sharing similar posts.

Divergence Phase
After the initial period, I began to subtly change the interactions:

  • Profile A: Started liking and following content that leaned slightly towards one side of the political spectrum.
  • Profile B: Started liking and following content that leaned slightly towards the opposite side.
  • Over time, I gradually increased the extremity of the content interacted with, meticulously tracking the changes.

Let’s see how over the coming weeks the social media landscape for the two profiles progress.

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.

Conclusion

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

Overview

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) {
        perror("setxattr");
        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) {
        perror("setxattr");
        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'
        else:
            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
        pass

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'
    else:
        storage_pool = 'default_pool'

    return storage_service.read(storage_pool, 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'
    else:
        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 = storage_service.read(current_geo_location + '_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"{datetime.now()} - {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

Introduction

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.

Conclusion

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

Introduction

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.