home.social

Search

1000 results for “commons_protocol”

  1. Stop Being a Coder: Why Your Job Title is Your Biggest Limitation

    2,522 words, 13 minutes read time.

    In the early stages of my career, I operated within an IT department of eighteen people where the culture was defined by a rigid, almost suffocating level of compartmentalization. Most of my colleagues viewed their job titles as a protective shield, a way to say “that isn’t my responsibility” the moment a task veered slightly outside the narrow confines of their specific niche. If a problem required a blend of database knowledge, a bit of electrical troubleshooting, and a grasp of network protocols, it would often sit in limbo because nobody wanted to step out of their lane. During this time, I kept a tagline in my email signature that served as a personal North Star: “I do today what others won’t so tomorrow I can do what others can’t.” It was a reminder to myself that while my official designation might have been specialized, my actual value to the organization was my willingness to be a generalist who could bridge the gaps between disparate technologies.

    This mindset of doing what others refused to do—whether it was crawling under a desk to fix a printer or diving into the nuances of server rack power distribution—inevitably led to a unique professional paradox. On one hand, I became the go-to person for high-profile projects that required a holistic understanding of how systems actually interact in the real world. On the other hand, this cross-functional agility often drew grief from those who felt threatened by anyone operating outside of a designated silo. The reality of modern development is that “just being a coder” is a precarious position; code does not exist in a vacuum, and it certainly does not run on magic. If you cannot understand the hardware it sits on, the network it travels across, or the physical environment where the user interacts with it, you are not a solution provider—you are just a specialized laborer.

    The transition from a SharePoint WebPart developer to a hardware-integrated generalist is perhaps the best example of how a broader skill base creates superior outcomes. While many developers are content to stay within the SPFx sandbox, true innovation often requires stepping into the physical realm where software meets silicon. My first encounter with piSignage did not happen in a boardroom, but rather through a personal project involving a Christmas display meant to show hours of operation and holiday information. It was a low-stakes environment that allowed me to test the limits of the Raspberry Pi and the piSignage management layer, proving that a low-cost, high-reliability hardware node could handle dynamic data delivery with minimal overhead. When the professional requirement later arose for a robust system to display real-time calendar events in an office setting, I did not have to start from scratch or wait for a “hardware specialist” to tell me what was possible. I already had the blueprint because I had been willing to experiment with electronics and networking when others were busy staying in their lanes.

    The Polymath’s Advantage: Why SharePoint Developers Must Master Hardware

    In the specific context of SharePoint development, the leap from creating a WebPart to deploying a global digital signage solution like piSignage represents a massive expansion of a developer’s utility. Most SharePoint developers spend their lives worrying about state management, API calls, and CSS, but they often lose sight of the fact that the most critical data—like corporate calendaring—frequently needs to live outside of a browser tab. To effectively move that data onto a wall-mounted display, a developer must suddenly care about things like Power over Ethernet (PoE) injectors, heat dissipation in small enclosures, and the stability of a Linux-based OS running on an ARM processor. This is where the “common sense” of a generalist becomes more valuable than the syntax knowledge of a specialist. Understanding how to pull a JSON feed from a SharePoint calendar is one thing; ensuring that the hardware player can maintain a secure, persistent connection to that feed in a high-traffic enterprise network is quite another.

    This broader skill base acts as a force multiplier because it allows a developer to speak the languages of multiple departments simultaneously. When you understand why a printer is failing or how a server’s subnets are partitioned, you gain the ability to troubleshoot the entire stack rather than just pointing fingers at the infrastructure team. In the case of piSignage, the integration involves more than just a URL; it requires an understanding of how the Raspberry Pi interacts with HDMI-CEC to control screen power, how the local cache handles network outages, and how to scale a deployment across dozens of nodes without manual intervention. By mastering these “non-dev” skills, you transform from a person who writes code into a person who builds ecosystems. This is exactly what I mean by doing what others won’t; while the rest of the team is waiting for a ticket to be resolved by the networking group, the polymath developer has already diagnosed the latency issue and proposed a hardware-level fix that keeps the project moving forward.

    The refusal to be “just a developer” is what ultimately leads to the high-profile projects that define a career. When leadership sees that you can take a complex business need—like a synchronized, automated signage system—and handle every aspect from the API integration to the physical installation and networking, they stop seeing you as a line-item expense and start seeing you as a strategic asset. It is a path that requires a thick skin, as you will inevitably encounter pushback from those who prefer the safety of their silos. However, the long-term payoff is the ability to work on projects with actual physical impact, moving beyond the screen and into the environment. The “grief” received from colleagues is a small price to pay for the professional autonomy that comes from being the only person in the room who truly understands how the whole machine works, from the code in the cloud to the copper in the wall.

    Analyzing the piSignage Ecosystem as an Enterprise Solution

    When evaluating a platform like piSignage from the perspective of an integrated developer, one must look past the user interface and into the architectural stability of the underlying hardware-software stack. The choice of the Raspberry Pi as the primary node is not merely a cost-saving measure; it is a strategic decision that leverages a mature Linux ecosystem and a robust GPIO header for physical world interaction. In a professional environment, reliability is the only currency that matters, and piSignage capitalizes on the Pi’s ability to run for months without a reboot by utilizing a lean, specialized operating system image. This architecture allows the player to act as a persistent gateway for SharePoint calendar data, pulling updates via synchronized zones that can handle high-definition video, static imagery, and live web components simultaneously. By treating the signage player as a dedicated IoT endpoint rather than just a “browser on a stick,” the developer ensures that the system can recover gracefully from power cycles and network interruptions without requiring manual intervention from the IT staff.

    The true power of this ecosystem lies in its centralized management layer, which can be deployed either as a hosted cloud service or as a private on-premise server. For a developer who understands the intricacies of corporate security and data sovereignty, the ability to host the management server internally is a significant advantage over consumer-grade signage solutions. This configuration allows for the seamless synchronization of sensitive internal calendaring events without exposing those data streams to the public internet, satisfying the stringent requirements of NIST and ISO security frameworks. The piSignage API further extends this utility, enabling a SharePoint developer to write custom scripts that trigger specific content changes on the physical displays based on real-time triggers within the Microsoft 365 environment. This level of deep integration is only possible when the person designing the software also understands the capabilities of the hardware node, proving once again that specialized silos are the enemy of truly sophisticated technical solutions.

    Common Sense and Copper: The Technical Skills Coding Bootcamps Forget

    There is a profound disconnect in the modern tech industry between the ability to write functional code and the ability to understand the physical infrastructure that code inhabits. Many developers entering the field today are proficient in high-level abstractions but are functionally illiterate when it comes to the “copper” layer—the networking, electronics, and basic hardware troubleshooting that keeps a business operational. Understanding why a Raspberry Pi is failing to pull a DHCP lease or recognizing the symptoms of a failing power supply is just as critical as debugging a memory leak in a WebPart. When I speak about “common sense” in engineering, I am referring to the diagnostic intuition that allows a developer to look at a black box and systematically isolate whether the failure point is the software, the ethernet cable, or the monitor’s internal scaler. This is a skill set that cannot be taught in a 12-week coding bootcamp; it is forged by a willingness to take apart a printer, rewire a server rack, or troubleshoot an office-wide connectivity issue that “isn’t your job.”

    This foundational knowledge of electronics and networking actually makes you a significantly better software engineer because it informs how you handle error states and data persistence. A developer who understands the volatility of a Wi-Fi connection in a crowded office space will write much more resilient polling logic for their signage application than one who assumes the network is an infinite, unbreakable pipe. By embracing the “drudge work” of hardware—the very tasks that my eighteen colleagues in that compartmentalized IT department avoided—you gain a visceral understanding of system latency and resource constraints. This allows you to optimize your SharePoint integrations not just for the ideal desktop environment, but for the rugged, often unpredictable reality of edge computing. Whether it is adjusting the refresh rate of a calendar view to prevent screen burn-in or configuring a hardware watchdog timer to auto-recover a frozen player, these “low-level” insights are what separate a mere coder from a true systems architect.

    Navigating the Politics of High-Profile Generalism

    The inevitable consequence of adopting a “do what others won’t” mentality is that you will eventually collide with the rigid boundaries of corporate bureaucracy. In a department where eighteen people are incentivized to stay within their silos, a developer who successfully bridges the gap between SharePoint, networking, and hardware integration creates a visible disruption to the status quo. This friction often manifests as professional grief, where colleagues may perceive your cross-functional capability as an overstep or a critique of their own specialized limitations. However, the high-profile projects that define a career—such as deploying a global, automated signage network tied to live enterprise data—simply cannot be executed by committee members who refuse to touch a piece of hardware or troubleshoot a network switch. Navigating this political landscape requires a commitment to the objective success of the project over the comfort of the department’s departmentalization. By delivering a working solution like piSignage that flawlessly synchronizes calendar events, you provide a tangible proof of value that silences critics through pure technical efficacy.

    This transition from being a specialized “coder” to a comprehensive technical architect is fundamentally about ownership of the entire problem-solving lifecycle. While the specialists in my former department were waiting for documentation or permission to investigate a failure, my background in electronics and “common sense” troubleshooting allowed me to bypass those artificial bottlenecks. When a high-stakes project involving real-time data visualization on physical screens is on the line, the organization does not need someone who only understands the JavaScript layer; they need the person who can verify the PoE voltage, configure the VLAN, and debug the API response in the same hour. This level of versatility is what earns the trust of stakeholders and leads to the most challenging, rewarding assignments in the industry. It is a demanding path that requires constant learning and a willingness to handle the “dirty” work of IT, but it is the only way to ensure that your career is defined by what you can uniquely accomplish rather than by the limitations of a job title.

    Conclusion: Why the Integrated Generalist Always Wins the Long Game

    In the final analysis, the most successful developers are those who view their job titles as a baseline rather than a boundary. Moving beyond the SharePoint WebPart to master hardware integration tools like piSignage is a microcosm of a much larger professional truth: the physical and digital worlds are no longer separate. Whether you are building a personal Christmas display to communicate holiday hours or architecting a mission-critical enterprise calendar system, the principles of networking, hardware stability, and common-sense engineering remain the same. By refusing to be compartmentalized, you develop a resilience that makes you indispensable to any organization. The grief from colleagues and the intensity of high-profile projects are merely indicators that you are operating at a level that others cannot reach because they are unwilling to do the foundational work required to get there.

    The “Polymath Developer” is not a myth; it is a necessity in an era where software must live and breathe in a physical environment. As you move forward in your career, remember that every printer you fix, every server you rack, and every IoT node you configure is an investment in your future capability. Your willingness to do today what others won’t is exactly what will allow you to do tomorrow what others can’t. By embracing the complexity of the entire stack—from the code in the cloud to the copper in the walls—you transcend the role of a specialized laborer and become a true architect of solutions. The world has enough people who can write a line of code; it needs more people who can make that code matter in the real world.

    Call to Action


    If this post sparked your creativity, don’t just scroll past. Join the community of makers and tinkerers—people turning ideas into reality with 3D printing. Subscribe for more 3D printing guides and projects, drop a comment sharing what you’re printing, or reach out and tell me about your latest project. Let’s build together.

    D. Bryan King

    Sources

    Disclaimer:

    The views and opinions expressed in this post are solely those of the author. The information provided is based on personal research, experience, and understanding of the subject matter at the time of writing. Readers should consult relevant experts or authorities for specific guidance related to their unique situations.

    Related Posts

    Rate this:

    #APIIntegration #AutomatedSignage #CalendarSynchronization #CareerLimitations #CloudSignageManagement #ContentScheduling #CorporateCommunicationTech #CrossFunctionalDeveloper #DigitalSignageArchitecture #DigitalSignageSecurity #DigitalSignageSolutions #DIYEnterpriseSolutions #EdgeComputing #ElectronicsForCoders #EnterpriseITStrategy #FullStackEngineering #GPIOProgramming #HardwareGeneralist #HardwareTroubleshooting #HDMICECControl #HighProfileProjects #HTML5Signage #IoTIntegration #IoTSecurityStandards #ITCareerAdvice #ITCompartmentalization #ITInfrastructure #ITSilos #JSONDataFeeds #LinuxForDevelopers #LowPowerSignage #ManagementServerOnPremise #Microsoft365Integration #NetworkingForDevelopers #NISTIoTFramework #OfficeAutomation #OutlookCalendarSignage #piSignage #piSignageTutorial #PolymathDeveloper #PowerOverEthernet #ProfessionalDevelopment #ProfessionalManifesto #RaspberryPi4 #RaspberryPiDigitalSignage #RaspberryPiEnterprise #RaspberryPiServer #RealTimeDataVisualization #RemoteDeviceManagement #ScalableSignage #SharePointDeveloper #SharePointWebPartDevelopment #SoftwareHardwareIntegration #SystemsArchitect #SystemsEngineering #techCareerGrowth #TechGeneralism #technicalGhostwriting #WorkspaceInnovation
  2. Stop Being a Coder: Why Your Job Title is Your Biggest Limitation

    2,522 words, 13 minutes read time.

    In the early stages of my career, I operated within an IT department of eighteen people where the culture was defined by a rigid, almost suffocating level of compartmentalization. Most of my colleagues viewed their job titles as a protective shield, a way to say “that isn’t my responsibility” the moment a task veered slightly outside the narrow confines of their specific niche. If a problem required a blend of database knowledge, a bit of electrical troubleshooting, and a grasp of network protocols, it would often sit in limbo because nobody wanted to step out of their lane. During this time, I kept a tagline in my email signature that served as a personal North Star: “I do today what others won’t so tomorrow I can do what others can’t.” It was a reminder to myself that while my official designation might have been specialized, my actual value to the organization was my willingness to be a generalist who could bridge the gaps between disparate technologies.

    This mindset of doing what others refused to do—whether it was crawling under a desk to fix a printer or diving into the nuances of server rack power distribution—inevitably led to a unique professional paradox. On one hand, I became the go-to person for high-profile projects that required a holistic understanding of how systems actually interact in the real world. On the other hand, this cross-functional agility often drew grief from those who felt threatened by anyone operating outside of a designated silo. The reality of modern development is that “just being a coder” is a precarious position; code does not exist in a vacuum, and it certainly does not run on magic. If you cannot understand the hardware it sits on, the network it travels across, or the physical environment where the user interacts with it, you are not a solution provider—you are just a specialized laborer.

    The transition from a SharePoint WebPart developer to a hardware-integrated generalist is perhaps the best example of how a broader skill base creates superior outcomes. While many developers are content to stay within the SPFx sandbox, true innovation often requires stepping into the physical realm where software meets silicon. My first encounter with piSignage did not happen in a boardroom, but rather through a personal project involving a Christmas display meant to show hours of operation and holiday information. It was a low-stakes environment that allowed me to test the limits of the Raspberry Pi and the piSignage management layer, proving that a low-cost, high-reliability hardware node could handle dynamic data delivery with minimal overhead. When the professional requirement later arose for a robust system to display real-time calendar events in an office setting, I did not have to start from scratch or wait for a “hardware specialist” to tell me what was possible. I already had the blueprint because I had been willing to experiment with electronics and networking when others were busy staying in their lanes.

    The Polymath’s Advantage: Why SharePoint Developers Must Master Hardware

    In the specific context of SharePoint development, the leap from creating a WebPart to deploying a global digital signage solution like piSignage represents a massive expansion of a developer’s utility. Most SharePoint developers spend their lives worrying about state management, API calls, and CSS, but they often lose sight of the fact that the most critical data—like corporate calendaring—frequently needs to live outside of a browser tab. To effectively move that data onto a wall-mounted display, a developer must suddenly care about things like Power over Ethernet (PoE) injectors, heat dissipation in small enclosures, and the stability of a Linux-based OS running on an ARM processor. This is where the “common sense” of a generalist becomes more valuable than the syntax knowledge of a specialist. Understanding how to pull a JSON feed from a SharePoint calendar is one thing; ensuring that the hardware player can maintain a secure, persistent connection to that feed in a high-traffic enterprise network is quite another.

    This broader skill base acts as a force multiplier because it allows a developer to speak the languages of multiple departments simultaneously. When you understand why a printer is failing or how a server’s subnets are partitioned, you gain the ability to troubleshoot the entire stack rather than just pointing fingers at the infrastructure team. In the case of piSignage, the integration involves more than just a URL; it requires an understanding of how the Raspberry Pi interacts with HDMI-CEC to control screen power, how the local cache handles network outages, and how to scale a deployment across dozens of nodes without manual intervention. By mastering these “non-dev” skills, you transform from a person who writes code into a person who builds ecosystems. This is exactly what I mean by doing what others won’t; while the rest of the team is waiting for a ticket to be resolved by the networking group, the polymath developer has already diagnosed the latency issue and proposed a hardware-level fix that keeps the project moving forward.

    The refusal to be “just a developer” is what ultimately leads to the high-profile projects that define a career. When leadership sees that you can take a complex business need—like a synchronized, automated signage system—and handle every aspect from the API integration to the physical installation and networking, they stop seeing you as a line-item expense and start seeing you as a strategic asset. It is a path that requires a thick skin, as you will inevitably encounter pushback from those who prefer the safety of their silos. However, the long-term payoff is the ability to work on projects with actual physical impact, moving beyond the screen and into the environment. The “grief” received from colleagues is a small price to pay for the professional autonomy that comes from being the only person in the room who truly understands how the whole machine works, from the code in the cloud to the copper in the wall.

    Analyzing the piSignage Ecosystem as an Enterprise Solution

    When evaluating a platform like piSignage from the perspective of an integrated developer, one must look past the user interface and into the architectural stability of the underlying hardware-software stack. The choice of the Raspberry Pi as the primary node is not merely a cost-saving measure; it is a strategic decision that leverages a mature Linux ecosystem and a robust GPIO header for physical world interaction. In a professional environment, reliability is the only currency that matters, and piSignage capitalizes on the Pi’s ability to run for months without a reboot by utilizing a lean, specialized operating system image. This architecture allows the player to act as a persistent gateway for SharePoint calendar data, pulling updates via synchronized zones that can handle high-definition video, static imagery, and live web components simultaneously. By treating the signage player as a dedicated IoT endpoint rather than just a “browser on a stick,” the developer ensures that the system can recover gracefully from power cycles and network interruptions without requiring manual intervention from the IT staff.

    The true power of this ecosystem lies in its centralized management layer, which can be deployed either as a hosted cloud service or as a private on-premise server. For a developer who understands the intricacies of corporate security and data sovereignty, the ability to host the management server internally is a significant advantage over consumer-grade signage solutions. This configuration allows for the seamless synchronization of sensitive internal calendaring events without exposing those data streams to the public internet, satisfying the stringent requirements of NIST and ISO security frameworks. The piSignage API further extends this utility, enabling a SharePoint developer to write custom scripts that trigger specific content changes on the physical displays based on real-time triggers within the Microsoft 365 environment. This level of deep integration is only possible when the person designing the software also understands the capabilities of the hardware node, proving once again that specialized silos are the enemy of truly sophisticated technical solutions.

    Common Sense and Copper: The Technical Skills Coding Bootcamps Forget

    There is a profound disconnect in the modern tech industry between the ability to write functional code and the ability to understand the physical infrastructure that code inhabits. Many developers entering the field today are proficient in high-level abstractions but are functionally illiterate when it comes to the “copper” layer—the networking, electronics, and basic hardware troubleshooting that keeps a business operational. Understanding why a Raspberry Pi is failing to pull a DHCP lease or recognizing the symptoms of a failing power supply is just as critical as debugging a memory leak in a WebPart. When I speak about “common sense” in engineering, I am referring to the diagnostic intuition that allows a developer to look at a black box and systematically isolate whether the failure point is the software, the ethernet cable, or the monitor’s internal scaler. This is a skill set that cannot be taught in a 12-week coding bootcamp; it is forged by a willingness to take apart a printer, rewire a server rack, or troubleshoot an office-wide connectivity issue that “isn’t your job.”

    This foundational knowledge of electronics and networking actually makes you a significantly better software engineer because it informs how you handle error states and data persistence. A developer who understands the volatility of a Wi-Fi connection in a crowded office space will write much more resilient polling logic for their signage application than one who assumes the network is an infinite, unbreakable pipe. By embracing the “drudge work” of hardware—the very tasks that my eighteen colleagues in that compartmentalized IT department avoided—you gain a visceral understanding of system latency and resource constraints. This allows you to optimize your SharePoint integrations not just for the ideal desktop environment, but for the rugged, often unpredictable reality of edge computing. Whether it is adjusting the refresh rate of a calendar view to prevent screen burn-in or configuring a hardware watchdog timer to auto-recover a frozen player, these “low-level” insights are what separate a mere coder from a true systems architect.

    Navigating the Politics of High-Profile Generalism

    The inevitable consequence of adopting a “do what others won’t” mentality is that you will eventually collide with the rigid boundaries of corporate bureaucracy. In a department where eighteen people are incentivized to stay within their silos, a developer who successfully bridges the gap between SharePoint, networking, and hardware integration creates a visible disruption to the status quo. This friction often manifests as professional grief, where colleagues may perceive your cross-functional capability as an overstep or a critique of their own specialized limitations. However, the high-profile projects that define a career—such as deploying a global, automated signage network tied to live enterprise data—simply cannot be executed by committee members who refuse to touch a piece of hardware or troubleshoot a network switch. Navigating this political landscape requires a commitment to the objective success of the project over the comfort of the department’s departmentalization. By delivering a working solution like piSignage that flawlessly synchronizes calendar events, you provide a tangible proof of value that silences critics through pure technical efficacy.

    This transition from being a specialized “coder” to a comprehensive technical architect is fundamentally about ownership of the entire problem-solving lifecycle. While the specialists in my former department were waiting for documentation or permission to investigate a failure, my background in electronics and “common sense” troubleshooting allowed me to bypass those artificial bottlenecks. When a high-stakes project involving real-time data visualization on physical screens is on the line, the organization does not need someone who only understands the JavaScript layer; they need the person who can verify the PoE voltage, configure the VLAN, and debug the API response in the same hour. This level of versatility is what earns the trust of stakeholders and leads to the most challenging, rewarding assignments in the industry. It is a demanding path that requires constant learning and a willingness to handle the “dirty” work of IT, but it is the only way to ensure that your career is defined by what you can uniquely accomplish rather than by the limitations of a job title.

    Conclusion: Why the Integrated Generalist Always Wins the Long Game

    In the final analysis, the most successful developers are those who view their job titles as a baseline rather than a boundary. Moving beyond the SharePoint WebPart to master hardware integration tools like piSignage is a microcosm of a much larger professional truth: the physical and digital worlds are no longer separate. Whether you are building a personal Christmas display to communicate holiday hours or architecting a mission-critical enterprise calendar system, the principles of networking, hardware stability, and common-sense engineering remain the same. By refusing to be compartmentalized, you develop a resilience that makes you indispensable to any organization. The grief from colleagues and the intensity of high-profile projects are merely indicators that you are operating at a level that others cannot reach because they are unwilling to do the foundational work required to get there.

    The “Polymath Developer” is not a myth; it is a necessity in an era where software must live and breathe in a physical environment. As you move forward in your career, remember that every printer you fix, every server you rack, and every IoT node you configure is an investment in your future capability. Your willingness to do today what others won’t is exactly what will allow you to do tomorrow what others can’t. By embracing the complexity of the entire stack—from the code in the cloud to the copper in the walls—you transcend the role of a specialized laborer and become a true architect of solutions. The world has enough people who can write a line of code; it needs more people who can make that code matter in the real world.

    Call to Action


    If this post sparked your creativity, don’t just scroll past. Join the community of makers and tinkerers—people turning ideas into reality with 3D printing. Subscribe for more 3D printing guides and projects, drop a comment sharing what you’re printing, or reach out and tell me about your latest project. Let’s build together.

    D. Bryan King

    Sources

    Disclaimer:

    The views and opinions expressed in this post are solely those of the author. The information provided is based on personal research, experience, and understanding of the subject matter at the time of writing. Readers should consult relevant experts or authorities for specific guidance related to their unique situations.

    Related Posts

    Rate this:

    #APIIntegration #AutomatedSignage #CalendarSynchronization #CareerLimitations #CloudSignageManagement #ContentScheduling #CorporateCommunicationTech #CrossFunctionalDeveloper #DigitalSignageArchitecture #DigitalSignageSecurity #DigitalSignageSolutions #DIYEnterpriseSolutions #EdgeComputing #ElectronicsForCoders #EnterpriseITStrategy #FullStackEngineering #GPIOProgramming #HardwareGeneralist #HardwareTroubleshooting #HDMICECControl #HighProfileProjects #HTML5Signage #IoTIntegration #IoTSecurityStandards #ITCareerAdvice #ITCompartmentalization #ITInfrastructure #ITSilos #JSONDataFeeds #LinuxForDevelopers #LowPowerSignage #ManagementServerOnPremise #Microsoft365Integration #NetworkingForDevelopers #NISTIoTFramework #OfficeAutomation #OutlookCalendarSignage #piSignage #piSignageTutorial #PolymathDeveloper #PowerOverEthernet #ProfessionalDevelopment #ProfessionalManifesto #RaspberryPi4 #RaspberryPiDigitalSignage #RaspberryPiEnterprise #RaspberryPiServer #RealTimeDataVisualization #RemoteDeviceManagement #ScalableSignage #SharePointDeveloper #SharePointWebPartDevelopment #SoftwareHardwareIntegration #SystemsArchitect #SystemsEngineering #techCareerGrowth #TechGeneralism #technicalGhostwriting #WorkspaceInnovation
  3. Stop Being a Coder: Why Your Job Title is Your Biggest Limitation

    2,522 words, 13 minutes read time.

    In the early stages of my career, I operated within an IT department of eighteen people where the culture was defined by a rigid, almost suffocating level of compartmentalization. Most of my colleagues viewed their job titles as a protective shield, a way to say “that isn’t my responsibility” the moment a task veered slightly outside the narrow confines of their specific niche. If a problem required a blend of database knowledge, a bit of electrical troubleshooting, and a grasp of network protocols, it would often sit in limbo because nobody wanted to step out of their lane. During this time, I kept a tagline in my email signature that served as a personal North Star: “I do today what others won’t so tomorrow I can do what others can’t.” It was a reminder to myself that while my official designation might have been specialized, my actual value to the organization was my willingness to be a generalist who could bridge the gaps between disparate technologies.

    This mindset of doing what others refused to do—whether it was crawling under a desk to fix a printer or diving into the nuances of server rack power distribution—inevitably led to a unique professional paradox. On one hand, I became the go-to person for high-profile projects that required a holistic understanding of how systems actually interact in the real world. On the other hand, this cross-functional agility often drew grief from those who felt threatened by anyone operating outside of a designated silo. The reality of modern development is that “just being a coder” is a precarious position; code does not exist in a vacuum, and it certainly does not run on magic. If you cannot understand the hardware it sits on, the network it travels across, or the physical environment where the user interacts with it, you are not a solution provider—you are just a specialized laborer.

    The transition from a SharePoint WebPart developer to a hardware-integrated generalist is perhaps the best example of how a broader skill base creates superior outcomes. While many developers are content to stay within the SPFx sandbox, true innovation often requires stepping into the physical realm where software meets silicon. My first encounter with piSignage did not happen in a boardroom, but rather through a personal project involving a Christmas display meant to show hours of operation and holiday information. It was a low-stakes environment that allowed me to test the limits of the Raspberry Pi and the piSignage management layer, proving that a low-cost, high-reliability hardware node could handle dynamic data delivery with minimal overhead. When the professional requirement later arose for a robust system to display real-time calendar events in an office setting, I did not have to start from scratch or wait for a “hardware specialist” to tell me what was possible. I already had the blueprint because I had been willing to experiment with electronics and networking when others were busy staying in their lanes.

    The Polymath’s Advantage: Why SharePoint Developers Must Master Hardware

    In the specific context of SharePoint development, the leap from creating a WebPart to deploying a global digital signage solution like piSignage represents a massive expansion of a developer’s utility. Most SharePoint developers spend their lives worrying about state management, API calls, and CSS, but they often lose sight of the fact that the most critical data—like corporate calendaring—frequently needs to live outside of a browser tab. To effectively move that data onto a wall-mounted display, a developer must suddenly care about things like Power over Ethernet (PoE) injectors, heat dissipation in small enclosures, and the stability of a Linux-based OS running on an ARM processor. This is where the “common sense” of a generalist becomes more valuable than the syntax knowledge of a specialist. Understanding how to pull a JSON feed from a SharePoint calendar is one thing; ensuring that the hardware player can maintain a secure, persistent connection to that feed in a high-traffic enterprise network is quite another.

    This broader skill base acts as a force multiplier because it allows a developer to speak the languages of multiple departments simultaneously. When you understand why a printer is failing or how a server’s subnets are partitioned, you gain the ability to troubleshoot the entire stack rather than just pointing fingers at the infrastructure team. In the case of piSignage, the integration involves more than just a URL; it requires an understanding of how the Raspberry Pi interacts with HDMI-CEC to control screen power, how the local cache handles network outages, and how to scale a deployment across dozens of nodes without manual intervention. By mastering these “non-dev” skills, you transform from a person who writes code into a person who builds ecosystems. This is exactly what I mean by doing what others won’t; while the rest of the team is waiting for a ticket to be resolved by the networking group, the polymath developer has already diagnosed the latency issue and proposed a hardware-level fix that keeps the project moving forward.

    The refusal to be “just a developer” is what ultimately leads to the high-profile projects that define a career. When leadership sees that you can take a complex business need—like a synchronized, automated signage system—and handle every aspect from the API integration to the physical installation and networking, they stop seeing you as a line-item expense and start seeing you as a strategic asset. It is a path that requires a thick skin, as you will inevitably encounter pushback from those who prefer the safety of their silos. However, the long-term payoff is the ability to work on projects with actual physical impact, moving beyond the screen and into the environment. The “grief” received from colleagues is a small price to pay for the professional autonomy that comes from being the only person in the room who truly understands how the whole machine works, from the code in the cloud to the copper in the wall.

    Analyzing the piSignage Ecosystem as an Enterprise Solution

    When evaluating a platform like piSignage from the perspective of an integrated developer, one must look past the user interface and into the architectural stability of the underlying hardware-software stack. The choice of the Raspberry Pi as the primary node is not merely a cost-saving measure; it is a strategic decision that leverages a mature Linux ecosystem and a robust GPIO header for physical world interaction. In a professional environment, reliability is the only currency that matters, and piSignage capitalizes on the Pi’s ability to run for months without a reboot by utilizing a lean, specialized operating system image. This architecture allows the player to act as a persistent gateway for SharePoint calendar data, pulling updates via synchronized zones that can handle high-definition video, static imagery, and live web components simultaneously. By treating the signage player as a dedicated IoT endpoint rather than just a “browser on a stick,” the developer ensures that the system can recover gracefully from power cycles and network interruptions without requiring manual intervention from the IT staff.

    The true power of this ecosystem lies in its centralized management layer, which can be deployed either as a hosted cloud service or as a private on-premise server. For a developer who understands the intricacies of corporate security and data sovereignty, the ability to host the management server internally is a significant advantage over consumer-grade signage solutions. This configuration allows for the seamless synchronization of sensitive internal calendaring events without exposing those data streams to the public internet, satisfying the stringent requirements of NIST and ISO security frameworks. The piSignage API further extends this utility, enabling a SharePoint developer to write custom scripts that trigger specific content changes on the physical displays based on real-time triggers within the Microsoft 365 environment. This level of deep integration is only possible when the person designing the software also understands the capabilities of the hardware node, proving once again that specialized silos are the enemy of truly sophisticated technical solutions.

    Common Sense and Copper: The Technical Skills Coding Bootcamps Forget

    There is a profound disconnect in the modern tech industry between the ability to write functional code and the ability to understand the physical infrastructure that code inhabits. Many developers entering the field today are proficient in high-level abstractions but are functionally illiterate when it comes to the “copper” layer—the networking, electronics, and basic hardware troubleshooting that keeps a business operational. Understanding why a Raspberry Pi is failing to pull a DHCP lease or recognizing the symptoms of a failing power supply is just as critical as debugging a memory leak in a WebPart. When I speak about “common sense” in engineering, I am referring to the diagnostic intuition that allows a developer to look at a black box and systematically isolate whether the failure point is the software, the ethernet cable, or the monitor’s internal scaler. This is a skill set that cannot be taught in a 12-week coding bootcamp; it is forged by a willingness to take apart a printer, rewire a server rack, or troubleshoot an office-wide connectivity issue that “isn’t your job.”

    This foundational knowledge of electronics and networking actually makes you a significantly better software engineer because it informs how you handle error states and data persistence. A developer who understands the volatility of a Wi-Fi connection in a crowded office space will write much more resilient polling logic for their signage application than one who assumes the network is an infinite, unbreakable pipe. By embracing the “drudge work” of hardware—the very tasks that my eighteen colleagues in that compartmentalized IT department avoided—you gain a visceral understanding of system latency and resource constraints. This allows you to optimize your SharePoint integrations not just for the ideal desktop environment, but for the rugged, often unpredictable reality of edge computing. Whether it is adjusting the refresh rate of a calendar view to prevent screen burn-in or configuring a hardware watchdog timer to auto-recover a frozen player, these “low-level” insights are what separate a mere coder from a true systems architect.

    Navigating the Politics of High-Profile Generalism

    The inevitable consequence of adopting a “do what others won’t” mentality is that you will eventually collide with the rigid boundaries of corporate bureaucracy. In a department where eighteen people are incentivized to stay within their silos, a developer who successfully bridges the gap between SharePoint, networking, and hardware integration creates a visible disruption to the status quo. This friction often manifests as professional grief, where colleagues may perceive your cross-functional capability as an overstep or a critique of their own specialized limitations. However, the high-profile projects that define a career—such as deploying a global, automated signage network tied to live enterprise data—simply cannot be executed by committee members who refuse to touch a piece of hardware or troubleshoot a network switch. Navigating this political landscape requires a commitment to the objective success of the project over the comfort of the department’s departmentalization. By delivering a working solution like piSignage that flawlessly synchronizes calendar events, you provide a tangible proof of value that silences critics through pure technical efficacy.

    This transition from being a specialized “coder” to a comprehensive technical architect is fundamentally about ownership of the entire problem-solving lifecycle. While the specialists in my former department were waiting for documentation or permission to investigate a failure, my background in electronics and “common sense” troubleshooting allowed me to bypass those artificial bottlenecks. When a high-stakes project involving real-time data visualization on physical screens is on the line, the organization does not need someone who only understands the JavaScript layer; they need the person who can verify the PoE voltage, configure the VLAN, and debug the API response in the same hour. This level of versatility is what earns the trust of stakeholders and leads to the most challenging, rewarding assignments in the industry. It is a demanding path that requires constant learning and a willingness to handle the “dirty” work of IT, but it is the only way to ensure that your career is defined by what you can uniquely accomplish rather than by the limitations of a job title.

    Conclusion: Why the Integrated Generalist Always Wins the Long Game

    In the final analysis, the most successful developers are those who view their job titles as a baseline rather than a boundary. Moving beyond the SharePoint WebPart to master hardware integration tools like piSignage is a microcosm of a much larger professional truth: the physical and digital worlds are no longer separate. Whether you are building a personal Christmas display to communicate holiday hours or architecting a mission-critical enterprise calendar system, the principles of networking, hardware stability, and common-sense engineering remain the same. By refusing to be compartmentalized, you develop a resilience that makes you indispensable to any organization. The grief from colleagues and the intensity of high-profile projects are merely indicators that you are operating at a level that others cannot reach because they are unwilling to do the foundational work required to get there.

    The “Polymath Developer” is not a myth; it is a necessity in an era where software must live and breathe in a physical environment. As you move forward in your career, remember that every printer you fix, every server you rack, and every IoT node you configure is an investment in your future capability. Your willingness to do today what others won’t is exactly what will allow you to do tomorrow what others can’t. By embracing the complexity of the entire stack—from the code in the cloud to the copper in the walls—you transcend the role of a specialized laborer and become a true architect of solutions. The world has enough people who can write a line of code; it needs more people who can make that code matter in the real world.

    Call to Action


    If this post sparked your creativity, don’t just scroll past. Join the community of makers and tinkerers—people turning ideas into reality with 3D printing. Subscribe for more 3D printing guides and projects, drop a comment sharing what you’re printing, or reach out and tell me about your latest project. Let’s build together.

    D. Bryan King

    Sources

    Disclaimer:

    The views and opinions expressed in this post are solely those of the author. The information provided is based on personal research, experience, and understanding of the subject matter at the time of writing. Readers should consult relevant experts or authorities for specific guidance related to their unique situations.

    Related Posts

    Rate this:

    #APIIntegration #AutomatedSignage #CalendarSynchronization #CareerLimitations #CloudSignageManagement #ContentScheduling #CorporateCommunicationTech #CrossFunctionalDeveloper #DigitalSignageArchitecture #DigitalSignageSecurity #DigitalSignageSolutions #DIYEnterpriseSolutions #EdgeComputing #ElectronicsForCoders #EnterpriseITStrategy #FullStackEngineering #GPIOProgramming #HardwareGeneralist #HardwareTroubleshooting #HDMICECControl #HighProfileProjects #HTML5Signage #IoTIntegration #IoTSecurityStandards #ITCareerAdvice #ITCompartmentalization #ITInfrastructure #ITSilos #JSONDataFeeds #LinuxForDevelopers #LowPowerSignage #ManagementServerOnPremise #Microsoft365Integration #NetworkingForDevelopers #NISTIoTFramework #OfficeAutomation #OutlookCalendarSignage #piSignage #piSignageTutorial #PolymathDeveloper #PowerOverEthernet #ProfessionalDevelopment #ProfessionalManifesto #RaspberryPi4 #RaspberryPiDigitalSignage #RaspberryPiEnterprise #RaspberryPiServer #RealTimeDataVisualization #RemoteDeviceManagement #ScalableSignage #SharePointDeveloper #SharePointWebPartDevelopment #SoftwareHardwareIntegration #SystemsArchitect #SystemsEngineering #techCareerGrowth #TechGeneralism #technicalGhostwriting #WorkspaceInnovation
  4. Stop Being a Coder: Why Your Job Title is Your Biggest Limitation

    2,522 words, 13 minutes read time.

    In the early stages of my career, I operated within an IT department of eighteen people where the culture was defined by a rigid, almost suffocating level of compartmentalization. Most of my colleagues viewed their job titles as a protective shield, a way to say “that isn’t my responsibility” the moment a task veered slightly outside the narrow confines of their specific niche. If a problem required a blend of database knowledge, a bit of electrical troubleshooting, and a grasp of network protocols, it would often sit in limbo because nobody wanted to step out of their lane. During this time, I kept a tagline in my email signature that served as a personal North Star: “I do today what others won’t so tomorrow I can do what others can’t.” It was a reminder to myself that while my official designation might have been specialized, my actual value to the organization was my willingness to be a generalist who could bridge the gaps between disparate technologies.

    This mindset of doing what others refused to do—whether it was crawling under a desk to fix a printer or diving into the nuances of server rack power distribution—inevitably led to a unique professional paradox. On one hand, I became the go-to person for high-profile projects that required a holistic understanding of how systems actually interact in the real world. On the other hand, this cross-functional agility often drew grief from those who felt threatened by anyone operating outside of a designated silo. The reality of modern development is that “just being a coder” is a precarious position; code does not exist in a vacuum, and it certainly does not run on magic. If you cannot understand the hardware it sits on, the network it travels across, or the physical environment where the user interacts with it, you are not a solution provider—you are just a specialized laborer.

    The transition from a SharePoint WebPart developer to a hardware-integrated generalist is perhaps the best example of how a broader skill base creates superior outcomes. While many developers are content to stay within the SPFx sandbox, true innovation often requires stepping into the physical realm where software meets silicon. My first encounter with piSignage did not happen in a boardroom, but rather through a personal project involving a Christmas display meant to show hours of operation and holiday information. It was a low-stakes environment that allowed me to test the limits of the Raspberry Pi and the piSignage management layer, proving that a low-cost, high-reliability hardware node could handle dynamic data delivery with minimal overhead. When the professional requirement later arose for a robust system to display real-time calendar events in an office setting, I did not have to start from scratch or wait for a “hardware specialist” to tell me what was possible. I already had the blueprint because I had been willing to experiment with electronics and networking when others were busy staying in their lanes.

    The Polymath’s Advantage: Why SharePoint Developers Must Master Hardware

    In the specific context of SharePoint development, the leap from creating a WebPart to deploying a global digital signage solution like piSignage represents a massive expansion of a developer’s utility. Most SharePoint developers spend their lives worrying about state management, API calls, and CSS, but they often lose sight of the fact that the most critical data—like corporate calendaring—frequently needs to live outside of a browser tab. To effectively move that data onto a wall-mounted display, a developer must suddenly care about things like Power over Ethernet (PoE) injectors, heat dissipation in small enclosures, and the stability of a Linux-based OS running on an ARM processor. This is where the “common sense” of a generalist becomes more valuable than the syntax knowledge of a specialist. Understanding how to pull a JSON feed from a SharePoint calendar is one thing; ensuring that the hardware player can maintain a secure, persistent connection to that feed in a high-traffic enterprise network is quite another.

    This broader skill base acts as a force multiplier because it allows a developer to speak the languages of multiple departments simultaneously. When you understand why a printer is failing or how a server’s subnets are partitioned, you gain the ability to troubleshoot the entire stack rather than just pointing fingers at the infrastructure team. In the case of piSignage, the integration involves more than just a URL; it requires an understanding of how the Raspberry Pi interacts with HDMI-CEC to control screen power, how the local cache handles network outages, and how to scale a deployment across dozens of nodes without manual intervention. By mastering these “non-dev” skills, you transform from a person who writes code into a person who builds ecosystems. This is exactly what I mean by doing what others won’t; while the rest of the team is waiting for a ticket to be resolved by the networking group, the polymath developer has already diagnosed the latency issue and proposed a hardware-level fix that keeps the project moving forward.

    The refusal to be “just a developer” is what ultimately leads to the high-profile projects that define a career. When leadership sees that you can take a complex business need—like a synchronized, automated signage system—and handle every aspect from the API integration to the physical installation and networking, they stop seeing you as a line-item expense and start seeing you as a strategic asset. It is a path that requires a thick skin, as you will inevitably encounter pushback from those who prefer the safety of their silos. However, the long-term payoff is the ability to work on projects with actual physical impact, moving beyond the screen and into the environment. The “grief” received from colleagues is a small price to pay for the professional autonomy that comes from being the only person in the room who truly understands how the whole machine works, from the code in the cloud to the copper in the wall.

    Analyzing the piSignage Ecosystem as an Enterprise Solution

    When evaluating a platform like piSignage from the perspective of an integrated developer, one must look past the user interface and into the architectural stability of the underlying hardware-software stack. The choice of the Raspberry Pi as the primary node is not merely a cost-saving measure; it is a strategic decision that leverages a mature Linux ecosystem and a robust GPIO header for physical world interaction. In a professional environment, reliability is the only currency that matters, and piSignage capitalizes on the Pi’s ability to run for months without a reboot by utilizing a lean, specialized operating system image. This architecture allows the player to act as a persistent gateway for SharePoint calendar data, pulling updates via synchronized zones that can handle high-definition video, static imagery, and live web components simultaneously. By treating the signage player as a dedicated IoT endpoint rather than just a “browser on a stick,” the developer ensures that the system can recover gracefully from power cycles and network interruptions without requiring manual intervention from the IT staff.

    The true power of this ecosystem lies in its centralized management layer, which can be deployed either as a hosted cloud service or as a private on-premise server. For a developer who understands the intricacies of corporate security and data sovereignty, the ability to host the management server internally is a significant advantage over consumer-grade signage solutions. This configuration allows for the seamless synchronization of sensitive internal calendaring events without exposing those data streams to the public internet, satisfying the stringent requirements of NIST and ISO security frameworks. The piSignage API further extends this utility, enabling a SharePoint developer to write custom scripts that trigger specific content changes on the physical displays based on real-time triggers within the Microsoft 365 environment. This level of deep integration is only possible when the person designing the software also understands the capabilities of the hardware node, proving once again that specialized silos are the enemy of truly sophisticated technical solutions.

    Common Sense and Copper: The Technical Skills Coding Bootcamps Forget

    There is a profound disconnect in the modern tech industry between the ability to write functional code and the ability to understand the physical infrastructure that code inhabits. Many developers entering the field today are proficient in high-level abstractions but are functionally illiterate when it comes to the “copper” layer—the networking, electronics, and basic hardware troubleshooting that keeps a business operational. Understanding why a Raspberry Pi is failing to pull a DHCP lease or recognizing the symptoms of a failing power supply is just as critical as debugging a memory leak in a WebPart. When I speak about “common sense” in engineering, I am referring to the diagnostic intuition that allows a developer to look at a black box and systematically isolate whether the failure point is the software, the ethernet cable, or the monitor’s internal scaler. This is a skill set that cannot be taught in a 12-week coding bootcamp; it is forged by a willingness to take apart a printer, rewire a server rack, or troubleshoot an office-wide connectivity issue that “isn’t your job.”

    This foundational knowledge of electronics and networking actually makes you a significantly better software engineer because it informs how you handle error states and data persistence. A developer who understands the volatility of a Wi-Fi connection in a crowded office space will write much more resilient polling logic for their signage application than one who assumes the network is an infinite, unbreakable pipe. By embracing the “drudge work” of hardware—the very tasks that my eighteen colleagues in that compartmentalized IT department avoided—you gain a visceral understanding of system latency and resource constraints. This allows you to optimize your SharePoint integrations not just for the ideal desktop environment, but for the rugged, often unpredictable reality of edge computing. Whether it is adjusting the refresh rate of a calendar view to prevent screen burn-in or configuring a hardware watchdog timer to auto-recover a frozen player, these “low-level” insights are what separate a mere coder from a true systems architect.

    Navigating the Politics of High-Profile Generalism

    The inevitable consequence of adopting a “do what others won’t” mentality is that you will eventually collide with the rigid boundaries of corporate bureaucracy. In a department where eighteen people are incentivized to stay within their silos, a developer who successfully bridges the gap between SharePoint, networking, and hardware integration creates a visible disruption to the status quo. This friction often manifests as professional grief, where colleagues may perceive your cross-functional capability as an overstep or a critique of their own specialized limitations. However, the high-profile projects that define a career—such as deploying a global, automated signage network tied to live enterprise data—simply cannot be executed by committee members who refuse to touch a piece of hardware or troubleshoot a network switch. Navigating this political landscape requires a commitment to the objective success of the project over the comfort of the department’s departmentalization. By delivering a working solution like piSignage that flawlessly synchronizes calendar events, you provide a tangible proof of value that silences critics through pure technical efficacy.

    This transition from being a specialized “coder” to a comprehensive technical architect is fundamentally about ownership of the entire problem-solving lifecycle. While the specialists in my former department were waiting for documentation or permission to investigate a failure, my background in electronics and “common sense” troubleshooting allowed me to bypass those artificial bottlenecks. When a high-stakes project involving real-time data visualization on physical screens is on the line, the organization does not need someone who only understands the JavaScript layer; they need the person who can verify the PoE voltage, configure the VLAN, and debug the API response in the same hour. This level of versatility is what earns the trust of stakeholders and leads to the most challenging, rewarding assignments in the industry. It is a demanding path that requires constant learning and a willingness to handle the “dirty” work of IT, but it is the only way to ensure that your career is defined by what you can uniquely accomplish rather than by the limitations of a job title.

    Conclusion: Why the Integrated Generalist Always Wins the Long Game

    In the final analysis, the most successful developers are those who view their job titles as a baseline rather than a boundary. Moving beyond the SharePoint WebPart to master hardware integration tools like piSignage is a microcosm of a much larger professional truth: the physical and digital worlds are no longer separate. Whether you are building a personal Christmas display to communicate holiday hours or architecting a mission-critical enterprise calendar system, the principles of networking, hardware stability, and common-sense engineering remain the same. By refusing to be compartmentalized, you develop a resilience that makes you indispensable to any organization. The grief from colleagues and the intensity of high-profile projects are merely indicators that you are operating at a level that others cannot reach because they are unwilling to do the foundational work required to get there.

    The “Polymath Developer” is not a myth; it is a necessity in an era where software must live and breathe in a physical environment. As you move forward in your career, remember that every printer you fix, every server you rack, and every IoT node you configure is an investment in your future capability. Your willingness to do today what others won’t is exactly what will allow you to do tomorrow what others can’t. By embracing the complexity of the entire stack—from the code in the cloud to the copper in the walls—you transcend the role of a specialized laborer and become a true architect of solutions. The world has enough people who can write a line of code; it needs more people who can make that code matter in the real world.

    Call to Action


    If this post sparked your creativity, don’t just scroll past. Join the community of makers and tinkerers—people turning ideas into reality with 3D printing. Subscribe for more 3D printing guides and projects, drop a comment sharing what you’re printing, or reach out and tell me about your latest project. Let’s build together.

    D. Bryan King

    Sources

    Disclaimer:

    The views and opinions expressed in this post are solely those of the author. The information provided is based on personal research, experience, and understanding of the subject matter at the time of writing. Readers should consult relevant experts or authorities for specific guidance related to their unique situations.

    Related Posts

    Rate this:

    #APIIntegration #AutomatedSignage #CalendarSynchronization #CareerLimitations #CloudSignageManagement #ContentScheduling #CorporateCommunicationTech #CrossFunctionalDeveloper #DigitalSignageArchitecture #DigitalSignageSecurity #DigitalSignageSolutions #DIYEnterpriseSolutions #EdgeComputing #ElectronicsForCoders #EnterpriseITStrategy #FullStackEngineering #GPIOProgramming #HardwareGeneralist #HardwareTroubleshooting #HDMICECControl #HighProfileProjects #HTML5Signage #IoTIntegration #IoTSecurityStandards #ITCareerAdvice #ITCompartmentalization #ITInfrastructure #ITSilos #JSONDataFeeds #LinuxForDevelopers #LowPowerSignage #ManagementServerOnPremise #Microsoft365Integration #NetworkingForDevelopers #NISTIoTFramework #OfficeAutomation #OutlookCalendarSignage #piSignage #piSignageTutorial #PolymathDeveloper #PowerOverEthernet #ProfessionalDevelopment #ProfessionalManifesto #RaspberryPi4 #RaspberryPiDigitalSignage #RaspberryPiEnterprise #RaspberryPiServer #RealTimeDataVisualization #RemoteDeviceManagement #ScalableSignage #SharePointDeveloper #SharePointWebPartDevelopment #SoftwareHardwareIntegration #SystemsArchitect #SystemsEngineering #techCareerGrowth #TechGeneralism #technicalGhostwriting #WorkspaceInnovation
  5. @faraiwe

    Dear god, do you do anything but constantly bitch?! Why are you even on social media if you hate it so fucking much?!

    A little bit about me. I am a Computer Scientist and I have recently had contracts for developing apps for both the AT protocol and The Activitypub protocol. I am saying this to get ahead of the annoying nerd culture of the fediverse.

    I am going to be honest. I am tired of the bitching about Mastodon. You guys act as if you don’t have other options.

    In 2023-2024, Zuck decided he would pull a google and subsume the fediverse. So he “federated” (but not really) with fediverse, allowing Threads users to READ what mastodon.social (ugh) server would show. Can’t TALK to fediverse users, just see their posts AND CONTENT (must… feed… LLM…). That was followed by a bunch of idiots following Dorsey, and his VC techbro funded “BlueSky” twitter-reborn. Sod as “DeCentrAliZed aND fReE”, it is centralized as fuck, EVERYTHING passes through their ONE cluster of servers, controlled by their choices. Even if you pay them tubes (no, seriously), and run a “hard” PSD server, you are still controlled (account, permissions) by central BS server. That douchebaggery also tried to subsume the fediverse, by “bridging” it. Same deal as Threads.

    Now, the users of those are seeing the nazifying of both, and eyeballing the fediverse they can mostly read but not interact with, and getting buyer’s regret. BUT, they want to bring the bullshit they are used to along.

    So we see “Starter Packs” talk, basically a large file containing thousands of accounts that are either available for download OR THAT THE INSTANCE PUSHES TO YOUR ACCOUNT AUTOMATICALLY. TL;DR they control the start of what you see and who you can read from and talk to… exactly like xitter, threads, linkedin, facebook, bluesky… all the Big Corp controlled platforms.

    As an aside, I think it is duplicitous and disingenuous to post the above text I extracted as an image without a CW. First, it circumvents people’s filters. Second, it makes it harder to quote the text. So, I tacitly believe you’re operating in bad faith, and part of me thinks you are purposefully conflating Mastodon with the ActivityPub protocol in the same way it is common to conflate the Bluesky app view with ATmosphere. It kinda sounds like left-wing accelerationism to me, though I admit I might be reaching with that.

    But yeah, this is exactly why I am self-hosting. Since this is my site, I can choose to defederate or federate with any other instance, provided they don’t defederate from me first. In my opinion, Mastodon consumes way too much of the fediverse, so for anyone who doesn’t like starter packs, I would recommend just not using Mastodon. I have been developing stuff on the AT Protocol for the last year, so I am a bit rusty on what’s going on the Starter Packs for Mastodon, but to my knowledge, it is not going to be protocol-specific. I could be wrong, so if I am, correct me and cite the technical documentation.

    I am blunt because, like I said, I am tired of the constant bitching. If you don’t like starter packs, don’t use Mastodon. If you disagree with the federation decisions of an ActivityPub instance, find another one. And if you can’t find any run how you want, run your own. The issue is that you don’t want certain people here, so you can run your own instance and determine who you want there. I’m not the pot calling the kettle black because I own this, lol.

    For example, I am not posting from Mastodon, lol. Mastodon is to ActivityPub as Bluesky is to the AT Protocol. ActivityPub and the AT Protocol were made for more than just microblogging, but because people have a tacit expectation that everything should plug into microblogging, here we are. Your points are valid, which is why I don’t use Mastodon and have my own instance. You’re not chained to Mastodon. See all the cool formatting tricks I’m able to do in this post and my unlimited character length. Yeah—that’s not Mastodon.

    Edit:

    I just looked into it. The “Fedipacks” are conceptually a directory, not a record. See here:

    https://fedidevs.com/starter-packs

    When you create a Starter Pack on Bluesky, the system writes a new record into the app.bsky.graph.starterpack field of a user’s repo, which is the decentralized data layer Bluesky is built on. This record lives inside a user’s personal AT Proto repository, just like posts, likes, follows, and lists. app.bsky.graph.starterpack represents the metadata for that Starter Pack: its name, description, included accounts, feeds, and other configuration details. Once created, it is addressable via an at:// URI and identified by a CID (content identifier), just like other AT Proto records. Here is an example:

    The proposed “starter packs” for the fediverse and the starter packs for the AT Protocol would be implemented in totally different ways. From a very quick look at how Starter Packs in ActivityPub are supposed to work, the starter packs app is given permission to act as an actor on your behalf and follow accounts, which is entirely different from what happens with Bluesky. Y’all really need to cool it with the insane insular culture. All of that is besides the point: you just don’t want a particular group of people in the same networks as you. That’s fine. Spin up your own instance.

    I don’t care either way about starter packs, because they are just explicit models of the implicit social connections people already have. It is not the starter packs that you have an issue with; it is the relationships and the culture that you have an issue with. You do not want people with social connections to other platforms here. Just say that. Again, I’m not a fan of Mastodon, so I am not using it to speak to you.

    Your larger point is that you don’t want people of a particular type or culture over there, and you are not fond of Starter Packs because you believe they are a bridge. That is valid. So what you do is spin up your own instance, pick which servers you do or don’t federate with, and choose software that doesn’t implement those features. You’re essentially, tacitly telling administrators what to do in their own space when you can make your own space and invite or disinvite who you want.

    For example, the Bluesky bridge and Threads are blocked for my site, so it doesn’t matter if another instance is federated with them. I’m not disagreeing with your main point. I’m saying you keep expecting people to conform to your judgments instead of setting up a space that fits your values, which is just wild to me.

    ↬mstdn.social/@faraiwe/115973230331414299

  6. @faraiwe

    Dear god, do you do anything but constantly bitch?! Why are you even on social media if you hate it so fucking much?!

    A little bit about me. I am a Computer Scientist and I have recently had contracts for developing apps for both the AT protocol and The Activitypub protocol. I am saying this to get ahead of the annoying nerd culture of the fediverse.

    I am going to be honest. I am tired of the bitching about Mastodon. You guys act as if you don’t have other options.

    In 2023-2024, Zuck decided he would pull a google and subsume the fediverse. So he “federated” (but not really) with fediverse, allowing Threads users to READ what mastodon.social (ugh) server would show. Can’t TALK to fediverse users, just see their posts AND CONTENT (must… feed… LLM…). That was followed by a bunch of idiots following Dorsey, and his VC techbro funded “BlueSky” twitter-reborn. Sod as “DeCentrAliZed aND fReE”, it is centralized as fuck, EVERYTHING passes through their ONE cluster of servers, controlled by their choices. Even if you pay them tubes (no, seriously), and run a “hard” PSD server, you are still controlled (account, permissions) by central BS server. That douchebaggery also tried to subsume the fediverse, by “bridging” it. Same deal as Threads.

    Now, the users of those are seeing the nazifying of both, and eyeballing the fediverse they can mostly read but not interact with, and getting buyer’s regret. BUT, they want to bring the bullshit they are used to along.

    So we see “Starter Packs” talk, basically a large file containing thousands of accounts that are either available for download OR THAT THE INSTANCE PUSHES TO YOUR ACCOUNT AUTOMATICALLY. TL;DR they control the start of what you see and who you can read from and talk to… exactly like xitter, threads, linkedin, facebook, bluesky… all the Big Corp controlled platforms.

    As an aside, I think it is duplicitous and disingenuous to post the above text I extracted as an image without a CW. First, it circumvents people’s filters. Second, it makes it harder to quote the text. So, I tacitly believe you’re operating in bad faith, and part of me thinks you are purposefully conflating Mastodon with the ActivityPub protocol in the same way it is common to conflate the Bluesky app view with ATmosphere. It kinda sounds like left-wing accelerationism to me, though I admit I might be reaching with that.

    But yeah, this is exactly why I am self-hosting. Since this is my site, I can choose to defederate or federate with any other instance, provided they don’t defederate from me first. In my opinion, Mastodon consumes way too much of the fediverse, so for anyone who doesn’t like starter packs, I would recommend just not using Mastodon. I have been developing stuff on the AT Protocol for the last year, so I am a bit rusty on what’s going on the Starter Packs for Mastodon, but to my knowledge, it is not going to be protocol-specific. I could be wrong, so if I am, correct me and cite the technical documentation.

    I am blunt because, like I said, I am tired of the constant bitching. If you don’t like starter packs, don’t use Mastodon. If you disagree with the federation decisions of an ActivityPub instance, find another one. And if you can’t find any run how you want, run your own. The issue is that you don’t want certain people here, so you can run your own instance and determine who you want there. I’m not the pot calling the kettle black because I own this, lol.

    For example, I am not posting from Mastodon, lol. Mastodon is to ActivityPub as Bluesky is to the AT Protocol. ActivityPub and the AT Protocol were made for more than just microblogging, but because people have a tacit expectation that everything should plug into microblogging, here we are. Your points are valid, which is why I don’t use Mastodon and have my own instance. You’re not chained to Mastodon. See all the cool formatting tricks I’m able to do in this post and my unlimited character length. Yeah—that’s not Mastodon.

    Edit:

    I just looked into it. The “Fedipacks” are conceptually a directory, not a record. See here:

    https://fedidevs.com/starter-packs

    When you create a Starter Pack on Bluesky, the system writes a new record into the app.bsky.graph.starterpack field of a user’s repo, which is the decentralized data layer Bluesky is built on. This record lives inside a user’s personal AT Proto repository, just like posts, likes, follows, and lists. app.bsky.graph.starterpack represents the metadata for that Starter Pack: its name, description, included accounts, feeds, and other configuration details. Once created, it is addressable via an at:// URI and identified by a CID (content identifier), just like other AT Proto records. Here is an example:

    The proposed “starter packs” for the fediverse and the starter packs for the AT Protocol would be implemented in totally different ways. From a very quick look at how Starter Packs in ActivityPub are supposed to work, the starter packs app is given permission to act as an actor on your behalf and follow accounts, which is entirely different from what happens with Bluesky. Y’all really need to cool it with the insane insular culture. All of that is besides the point: you just don’t want a particular group of people in the same networks as you. That’s fine. Spin up your own instance.

    I don’t care either way about starter packs, because they are just explicit models of the implicit social connections people already have. It is not the starter packs that you have an issue with; it is the relationships and the culture that you have an issue with. You do not want people with social connections to other platforms here. Just say that. Again, I’m not a fan of Mastodon, so I am not using it to speak to you.

    Your larger point is that you don’t want people of a particular type or culture over there, and you are not fond of Starter Packs because you believe they are a bridge. That is valid. So what you do is spin up your own instance, pick which servers you do or don’t federate with, and choose software that doesn’t implement those features. You’re essentially, tacitly telling administrators what to do in their own space when you can make your own space and invite or disinvite who you want.

    For example, the Bluesky bridge and Threads are blocked for my site, so it doesn’t matter if another instance is federated with them. I’m not disagreeing with your main point. I’m saying you keep expecting people to conform to your judgments instead of setting up a space that fits your values, which is just wild to me.

    ↬mstdn.social/@faraiwe/115973230331414299

  7. Open source communications server with portable identity, managed conversations, and cloud storage.

    My name is Mike. I'm a retired software developer, amongst many other things. Back in the day, I was pretty active in the development of email protocols and associated projects/products. Did that for 25-30 years, with stints at Stanford, Netscape, AOL, and Sun Microsystems. Around 15 years ago, I tired of email spam and looked into alternative decentralised communication protocols to replace it (the decision to accept spam forever in E/SMTP was political, not technical). Anyway, I found OStatus. It had the flaw that everything, everywhere; was public to anybody and everybody. Big flaw. Not really suitable for sharing things with limited audiences such as family and friends. But it was otherwise a useful communications stack, so I created something that was more suitable for restricted/limited conversations and media. Then I federated this with every social network that would let us have API access or open protocols. We even "federated" with Facebook and Twitter briefly.

    That software became known later as Friendica.

    A wee bit more ancient history... I went on to do other things to explore the limits of decentralised protocols (there are very few) and a thing we call 'nomadic identity'. This work became Hubzilla. Then OStatus (the common language of the early fediverse) was subsumed by ActivityPub about 7-8 years ago, and a project called Mastodon adopted it. I had played with it briefly, but found I was literally the only person who had, and Mastodon's adoption gave me a reason to dust off ActivityPub and try again.

    There were many other things that happened between then and now, but the end result is that now there's this thing called 'forte'. It's something I spent a lot of time on to bring all the community and identity management and online safety and spam resistant features we developed over the years to the ActivityPub protocol. It took a few years, because like OStatus, the design of ActivityPub was pretty short-sighted and many decisions were made based on how well they aligned with (the former) Twitter's behaviour years ago. That's the situation and it took years to wrangle ActivityPub into compliance with the needs of our privacy-oriented communities, but that work is now reasonably complete.

    TL;DR This software does some pretty cool stuff. We're not copying anybody or trying to be 'something-something, but federated'. We came up with these tools and abilities because real people needed them today. And that was fifteen years ago. If people need something, and the protocol doesn't permit it, that doesn't mean people need it any less.

    People need these abilities more than ever now.

    There is very little interest in my work from the fediverse at large, for a variety of reasons. Mostly, that we're into other things besides Twitter and have an architecture that prevents dog-piling and spam. I personally use forte as a spam free (by design) modern replacement for email, built on open standards. Many other people have contributed their ideas over the last 15 years, and it also federates with the rest of the ActivityPub fediverse and looks/works like a social network if you want, or can be isolated to friends, family, and private communities -- if you don't. I've always built software for people who wish to control who they communicate with, and to make it difficult for total strangers to push themselves into your online face unless you consciously make the decision to permit it.

    As always, this repository is a gift to the universe with no strings attached. Have a great day.

    Mike Macgirvin



    #^https://codeberg.org/fortified/forte

    #Miki #Forte #Fediverse
  8. AI slop is coming for everything. Nothing special to see here. Just ranting about an egregious example.

    I casually wondered last night whether viewers had discussed an odd comment in the series #Ozark that #cranes (the #birds, #Gruidae) nest in trees. I used DDG to search and found nothing. But there was a link that had the weird title, "Top 15 Types of Cranes Birds in Michigan". I'm don't want to link directly but remove the extra letter in the protocol here and you should be able to see the page: hhttps://flyaviary.com/types-of-cranes-birds-in-michigan/. It is in fact currently the top non-ad link in DDG for "Michigan Cranes". The second link is a marginally less sloppy piece on "4 Types of Cranes in Michigan".

    So, the actual number of crane species in Michigan is 2 (more like 1.0001), with Whooping Cranes passing through in small numbers on top of the regular Sandhill cranes. There are 15 species worldwide.

    The Table of Contents (in the screenshot I share) shows a structure that doesn't understand how a real document would be organised (different subtopics in the title for each species, section 15 would naturally come after 16, etc.).

    The page references Common and Eurasian Cranes, which would be the same species.

    The images are all AI-generated. The birds have egret-like plumes. One bird has three legs, one has four. One of the "brolgas" is a hovering neck and pair of wings.

    The text includes these gems:

    "From the towering Whooping Crane to the dainty Demoiselle, discover Michigan's top 15 crane species and their stunning visuals—details inside!"

    "Often seen in pairs or small groups, they have rebounded greatly in Michigan, underscoring their important role in maintaining the ecological balance and biodiversity of the region." (Huh?)

    "Essential for establishing territory and warning of threats, the calls can be heard over several kilometers, helping the cranes see one another even when they are two feet apart in dense habitats." (My personal favourite factoid here.)

    (Of Grey Crowned Crane) "Unlike the two crane species seen in large flocks in Michigan, these cranes' predation pressures contribute greatly to their vulnerable status, exacerbated by human encroachment and poaching."

    Interestingly Google, unlike DDG, is not showing either of the top two DDG hits in the first pages of its search.

  9. @Marcus Rohrmoser 🌻 Not to my knowledge.

    First of all, nomadic identity won't be described in one single FEP that'll cover everything. It was not created on and for ActivityPub. In fact, the concept predates ActivityPub by some six years, and the first implementation predates ActivityPub by some five years.

    See, nomadic identity started as an idea. Then Mike built a brand-new protocol around that idea, Zot. Then, in 2012, Mike forked one of his own forks of his own software that is now known as Friendica, originally based on yet protocol designed by himself, and re-wrote the whole thing against Zot. That's how the software was born that's known as Hubzilla now.

    As for nomadic identity via ActivityPub, there is only one publicly available software implementation for that. And that's Mike's own Forte. Forte still does everything the Hubzilla/(streams) way which is very very different from how anything else in the Fediverse works, even including Friendica itself, and especially including Mastodon.

    Whereas Zot was designed around nomadic identity, ActivityPub isn't. It's having nomadic identity bolted on with a whole slew of FEPs authored by @silverpill who is working on converting Mitra (typical Fediverse software: built only against ActivityPub, non-nomadic, login/account equals identity) into something that's every bit as nomadic as Hubzilla, (streams) and Forte.

    Nomadic identity via ActivityPub was originally silverpill's idea, by the way. And that was in 2023. It turned out that this was actually doable, and so he and Mike started working on it, using experimental "nomadic" branches of Mitra and the streams repository respectively. Their approaches were naturally different: silverpill had to make something non-nomadic nomadic. Mike had to make something nomadic be nomadic using a protocol that wasn't made for nomadic identity.

    Not only is silverpill's approach much more difficult because Mitra wasn't made for nomadic identity either, but he also took it upon himself to put everything into FEPs by and by. He is still publishing FEP after FEP. Nomadic identity is quite a complex thing from a "Fediverse equals ActivityPub" point of view; it's just that the Hubzilla/(streams) bubble is so used to it whereas silverpill actually has to explore and research something that's natural to Mike.

    There's no common set of commands either. There can't be any. Forte, like everything else in the family all the way back to Friendica, is written in PHP. Mitra is written in Rust. Nobody has ever attempted to make something not written in PHP nomadic.

    In fact, code sharing would be next to impossible anyway: Forte, like Hubzilla and early Mistpark/Friendika, is published under the MIT license, (streams) is in the public domain, but Mitra is licensed under the GNU Affero GPL v3. Any code coming out of Mitra's conversion to nomadicity would be AGPL-licensed Rust code. And MIT-licensed PHP code that was created when turning Nomad-based (streams) into ActivityPub-based, Nomad-less Forte would be useless for non-nomadic-to-nomadic conversions anyway.

    So don't expect any how-to's or the like for converting non-nomadic, ActivityPub-only-by-original-design, login/account-equals-identity Fediverse server software to the same level of nomadicity as Hubzilla, (streams) and Forte until
    • the first stable release of Mitra with full support for that level of nomadicity is officially rolled out
    • silverpill declares that everything necessary for Hubzilla/(streams)/Forte-level nomadic identity via nothing but ActivityPub is cast into FEPs and finalised

    Seeing as this has been in the making for some two years now, and I don't even know if the experimental nomadic branch of Mitra even allows cloning right now, I guess this will be a long way to go. He may actually first have to change Mitra from the standard Fediverse model of the account and the login being the identity to Hubzilla's, (streams)' and Forte's model of the identity being a container inside your account and one account being able to host multiple such identities. That's because you can't clone logins.

    Oh, by the way, nomadic identity is not just about moving. It's not "moving-your-Mastodon-account-to-another-instance on coke". It's way more.

    The core feature is cloning. Imagine you have full, live, hot backups of your Mastodon account on one, two, three, four or more other Mastodon instances. Imagine they all have the same identity, based on which one of them is your main instance. Imagine whatever happens on one of them is sync'd to the others in near-real-time. Imagine you can log into either of them and use either of them all the same, regardless of how many and which of the servers are actually online, as long as at least one is.

    Moving is actually even more complex than cloning because it involves both cloning and changing the main instance of your identity.

    Allow me to illustrate by supposing Mastodon works like Hubzilla, (streams) and Forte:

    • Situation:
      • You have an account on digitalcourage.social with one channel, [email protected].
      • You want to move to troet.cafe.
    • Step 1: You create an account on troet.cafe.
    • Step 2: There can't be accounts with no channels. You have to add a channel.
      So you choose to move your channel [email protected] from digitalcourage.social to troet.cafe.
    • Step 3: Your channel [email protected] is cloned over to troet.cafe.
    • Situation now:
      • You have an account on digitalcourage.social with the main instance of your channel; its identity is [email protected].
      • You have an account on troet.cafe with a clone of your channel; its identity is still [email protected].
    • Step 4: All data on your channel is synchronised over from your main instance on digitalcourage.social to your clone on troet.cafe. Posts, images, other files, followers, followed, settings, lists, filters etc. etc. pp. Everything.
    • Now the main instance and the clone are identical.
      Up until here, the process of moving is the same as the process of cloning. What follow is exclusive to moving.
    • Step 5:
      • The clone on troet.cafe is promoted to main instance.
      • As there can be only one main instance for each channel, the former main instance on digitalcourage.social is demoted to clone.
    • Situation now:
      • You have an account on digitalcourage.social with a clone of your channel, formerly the main instance; its identity is [email protected].
      • You have an account on troet.cafe with the main instance of your channel, formerly a clone; its identity is [email protected].
    • Step 6: All your connections on servers of nomadic software are changed from [email protected] to [email protected], both locally on the servers that you are on and locally on the servers that they are on.
    • Step 7 (AFAIK, this only happens on (streams) and Forte in reality): All your outbound connections ("followed") on servers running non-nomadic software receive a follow request from [email protected] which, to them, is an all-new, independent identity.
    • The actually move is done. What follows is the clean-up that really makes the move a move, namely taking care that nothing is left behind in the old location.
    • Step 8: When these last steps are finalised, your clone on digitalcourage.social is deleted. After all, you wanted to move, not to clone.
    • Step 9: As your account on digitalcourage.social has no channel on it anymore, the whole account is deleted.
    #Long #LongPost #CWLong #CWLongPost #FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #Fediverse #Mitra #Hubzilla #Streams #(streams) #Forte #NomadicIdentity #ActivityPub #Zot #Zot6 #Nomad #FEP #MovingInstances #Clone #Clones
  10. @Marcus Rohrmoser 🌻 Not to my knowledge.

    First of all, nomadic identity won't be described in one single FEP that'll cover everything. It was not created on and for ActivityPub. In fact, the concept predates ActivityPub by some six years, and the first implementation predates ActivityPub by some five years.

    See, nomadic identity started as an idea. Then Mike built a brand-new protocol around that idea, Zot. Then, in 2012, Mike forked one of his own forks of his own software that is now known as Friendica, originally based on yet protocol designed by himself, and re-wrote the whole thing against Zot. That's how the software was born that's known as Hubzilla now.

    As for nomadic identity via ActivityPub, there is only one publicly available software implementation for that. And that's Mike's own Forte. Forte still does everything the Hubzilla/(streams) way which is very very different from how anything else in the Fediverse works, even including Friendica itself, and especially including Mastodon.

    Whereas Zot was designed around nomadic identity, ActivityPub isn't. It's having nomadic identity bolted on with a whole slew of FEPs authored by @silverpill who is working on converting Mitra (typical Fediverse software: built only against ActivityPub, non-nomadic, login/account equals identity) into something that's every bit as nomadic as Hubzilla, (streams) and Forte.

    Nomadic identity via ActivityPub was originally silverpill's idea, by the way. And that was in 2023. It turned out that this was actually doable, and so he and Mike started working on it, using experimental "nomadic" branches of Mitra and the streams repository respectively. Their approaches were naturally different: silverpill had to make something non-nomadic nomadic. Mike had to make something nomadic be nomadic using a protocol that wasn't made for nomadic identity.

    Not only is silverpill's approach much more difficult because Mitra wasn't made for nomadic identity either, but he also took it upon himself to put everything into FEPs by and by. He is still publishing FEP after FEP. Nomadic identity is quite a complex thing from a "Fediverse equals ActivityPub" point of view; it's just that the Hubzilla/(streams) bubble is so used to it whereas silverpill actually has to explore and research something that's natural to Mike.

    There's no common set of commands either. There can't be any. Forte, like everything else in the family all the way back to Friendica, is written in PHP. Mitra is written in Rust. Nobody has ever attempted to make something not written in PHP nomadic.

    In fact, code sharing would be next to impossible anyway: Forte, like Hubzilla and early Mistpark/Friendika, is published under the MIT license, (streams) is in the public domain, but Mitra is licensed under the GNU Affero GPL v3. Any code coming out of Mitra's conversion to nomadicity would be AGPL-licensed Rust code. And MIT-licensed PHP code that was created when turning Nomad-based (streams) into ActivityPub-based, Nomad-less Forte would be useless for non-nomadic-to-nomadic conversions anyway.

    So don't expect any how-to's or the like for converting non-nomadic, ActivityPub-only-by-original-design, login/account-equals-identity Fediverse server software to the same level of nomadicity as Hubzilla, (streams) and Forte until
    • the first stable release of Mitra with full support for that level of nomadicity is officially rolled out
    • silverpill declares that everything necessary for Hubzilla/(streams)/Forte-level nomadic identity via nothing but ActivityPub is cast into FEPs and finalised

    Seeing as this has been in the making for some two years now, and I don't even know if the experimental nomadic branch of Mitra even allows cloning right now, I guess this will be a long way to go. He may actually first have to change Mitra from the standard Fediverse model of the account and the login being the identity to Hubzilla's, (streams)' and Forte's model of the identity being a container inside your account and one account being able to host multiple such identities. That's because you can't clone logins.

    Oh, by the way, nomadic identity is not just about moving. It's not "moving-your-Mastodon-account-to-another-instance on coke". It's way more.

    The core feature is cloning. Imagine you have full, live, hot backups of your Mastodon account on one, two, three, four or more other Mastodon instances. Imagine they all have the same identity, based on which one of them is your main instance. Imagine whatever happens on one of them is sync'd to the others in near-real-time. Imagine you can log into either of them and use either of them all the same, regardless of how many and which of the servers are actually online, as long as at least one is.

    Moving is actually even more complex than cloning because it involves both cloning and changing the main instance of your identity.

    Allow me to illustrate by supposing Mastodon works like Hubzilla, (streams) and Forte:

    • Situation:
      • You have an account on digitalcourage.social with one channel, [email protected].
      • You want to move to troet.cafe.
    • Step 1: You create an account on troet.cafe.
    • Step 2: There can't be accounts with no channels. You have to add a channel.
      So you choose to move your channel [email protected] from digitalcourage.social to troet.cafe.
    • Step 3: Your channel [email protected] is cloned over to troet.cafe.
    • Situation now:
      • You have an account on digitalcourage.social with the main instance of your channel; its identity is [email protected].
      • You have an account on troet.cafe with a clone of your channel; its identity is still [email protected].
    • Step 4: All data on your channel is synchronised over from your main instance on digitalcourage.social to your clone on troet.cafe. Posts, images, other files, followers, followed, settings, lists, filters etc. etc. pp. Everything.
    • Now the main instance and the clone are identical.
      Up until here, the process of moving is the same as the process of cloning. What follow is exclusive to moving.
    • Step 5:
      • The clone on troet.cafe is promoted to main instance.
      • As there can be only one main instance for each channel, the former main instance on digitalcourage.social is demoted to clone.
    • Situation now:
      • You have an account on digitalcourage.social with a clone of your channel, formerly the main instance; its identity is [email protected].
      • You have an account on troet.cafe with the main instance of your channel, formerly a clone; its identity is [email protected].
    • Step 6: All your connections on servers of nomadic software are changed from [email protected] to [email protected], both locally on the servers that you are on and locally on the servers that they are on.
    • Step 7 (AFAIK, this only happens on (streams) and Forte in reality): All your outbound connections ("followed") on servers running non-nomadic software receive a follow request from [email protected] which, to them, is an all-new, independent identity.
    • The actually move is done. What follows is the clean-up that really makes the move a move, namely taking care that nothing is left behind in the old location.
    • Step 8: When these last steps are finalised, your clone on digitalcourage.social is deleted. After all, you wanted to move, not to clone.
    • Step 9: As your account on digitalcourage.social has no channel on it anymore, the whole account is deleted.
    #Long #LongPost #CWLong #CWLongPost #FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #Fediverse #Mitra #Hubzilla #Streams #(streams) #Forte #NomadicIdentity #ActivityPub #Zot #Zot6 #Nomad #FEP #MovingInstances #Clone #Clones
  11. @Marcus Rohrmoser 🌻 Not to my knowledge.

    First of all, nomadic identity won't be described in one single FEP that'll cover everything. It was not created on and for ActivityPub. In fact, the concept predates ActivityPub by some six years, and the first implementation predates ActivityPub by some five years.

    See, nomadic identity started as an idea. Then Mike built a brand-new protocol around that idea, Zot. Then, in 2012, Mike forked one of his own forks of his own software that is now known as Friendica, originally based on yet protocol designed by himself, and re-wrote the whole thing against Zot. That's how the software was born that's known as Hubzilla now.

    As for nomadic identity via ActivityPub, there is only one publicly available software implementation for that. And that's Mike's own Forte. Forte still does everything the Hubzilla/(streams) way which is very very different from how anything else in the Fediverse works, even including Friendica itself, and especially including Mastodon.

    Whereas Zot was designed around nomadic identity, ActivityPub isn't. It's having nomadic identity bolted on with a whole slew of FEPs authored by @silverpill who is working on converting Mitra (typical Fediverse software: built only against ActivityPub, non-nomadic, login/account equals identity) into something that's every bit as nomadic as Hubzilla, (streams) and Forte.

    Nomadic identity via ActivityPub was originally silverpill's idea, by the way. And that was in 2023. It turned out that this was actually doable, and so he and Mike started working on it, using experimental "nomadic" branches of Mitra and the streams repository respectively. Their approaches were naturally different: silverpill had to make something non-nomadic nomadic. Mike had to make something nomadic be nomadic using a protocol that wasn't made for nomadic identity.

    Not only is silverpill's approach much more difficult because Mitra wasn't made for nomadic identity either, but he also took it upon himself to put everything into FEPs by and by. He is still publishing FEP after FEP. Nomadic identity is quite a complex thing from a "Fediverse equals ActivityPub" point of view; it's just that the Hubzilla/(streams) bubble is so used to it whereas silverpill actually has to explore and research something that's natural to Mike.

    There's no common set of commands either. There can't be any. Forte, like everything else in the family all the way back to Friendica, is written in PHP. Mitra is written in Rust. Nobody has ever attempted to make something not written in PHP nomadic.

    In fact, code sharing would be next to impossible anyway: Forte, like Hubzilla and early Mistpark/Friendika, is published under the MIT license, (streams) is in the public domain, but Mitra is licensed under the GNU Affero GPL v3. Any code coming out of Mitra's conversion to nomadicity would be AGPL-licensed Rust code. And MIT-licensed PHP code that was created when turning Nomad-based (streams) into ActivityPub-based, Nomad-less Forte would be useless for non-nomadic-to-nomadic conversions anyway.

    So don't expect any how-to's or the like for converting non-nomadic, ActivityPub-only-by-original-design, login/account-equals-identity Fediverse server software to the same level of nomadicity as Hubzilla, (streams) and Forte until
    • the first stable release of Mitra with full support for that level of nomadicity is officially rolled out
    • silverpill declares that everything necessary for Hubzilla/(streams)/Forte-level nomadic identity via nothing but ActivityPub is cast into FEPs and finalised

    Seeing as this has been in the making for some two years now, and I don't even know if the experimental nomadic branch of Mitra even allows cloning right now, I guess this will be a long way to go. He may actually first have to change Mitra from the standard Fediverse model of the account and the login being the identity to Hubzilla's, (streams)' and Forte's model of the identity being a container inside your account and one account being able to host multiple such identities. That's because you can't clone logins.

    Oh, by the way, nomadic identity is not just about moving. It's not "moving-your-Mastodon-account-to-another-instance on coke". It's way more.

    The core feature is cloning. Imagine you have full, live, hot backups of your Mastodon account on one, two, three, four or more other Mastodon instances. Imagine they all have the same identity, based on which one of them is your main instance. Imagine whatever happens on one of them is sync'd to the others in near-real-time. Imagine you can log into either of them and use either of them all the same, regardless of how many and which of the servers are actually online, as long as at least one is.

    Moving is actually even more complex than cloning because it involves both cloning and changing the main instance of your identity.

    Allow me to illustrate by supposing Mastodon works like Hubzilla, (streams) and Forte:

    • Situation:
      • You have an account on digitalcourage.social with one channel, [email protected].
      • You want to move to troet.cafe.
    • Step 1: You create an account on troet.cafe.
    • Step 2: There can't be accounts with no channels. You have to add a channel.
      So you choose to move your channel [email protected] from digitalcourage.social to troet.cafe.
    • Step 3: Your channel [email protected] is cloned over to troet.cafe.
    • Situation now:
      • You have an account on digitalcourage.social with the main instance of your channel; its identity is [email protected].
      • You have an account on troet.cafe with a clone of your channel; its identity is still [email protected].
    • Step 4: All data on your channel is synchronised over from your main instance on digitalcourage.social to your clone on troet.cafe. Posts, images, other files, followers, followed, settings, lists, filters etc. etc. pp. Everything.
    • Now the main instance and the clone are identical.
      Up until here, the process of moving is the same as the process of cloning. What follow is exclusive to moving.
    • Step 5:
      • The clone on troet.cafe is promoted to main instance.
      • As there can be only one main instance for each channel, the former main instance on digitalcourage.social is demoted to clone.
    • Situation now:
      • You have an account on digitalcourage.social with a clone of your channel, formerly the main instance; its identity is [email protected].
      • You have an account on troet.cafe with the main instance of your channel, formerly a clone; its identity is [email protected].
    • Step 6: All your connections on servers of nomadic software are changed from [email protected] to [email protected], both locally on the servers that you are on and locally on the servers that they are on.
    • Step 7 (AFAIK, this only happens on (streams) and Forte in reality): All your outbound connections ("followed") on servers running non-nomadic software receive a follow request from [email protected] which, to them, is an all-new, independent identity.
    • The actually move is done. What follows is the clean-up that really makes the move a move, namely taking care that nothing is left behind in the old location.
    • Step 8: When these last steps are finalised, your clone on digitalcourage.social is deleted. After all, you wanted to move, not to clone.
    • Step 9: As your account on digitalcourage.social has no channel on it anymore, the whole account is deleted.
    #Long #LongPost #CWLong #CWLongPost #FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #Fediverse #Mitra #Hubzilla #Streams #(streams) #Forte #NomadicIdentity #ActivityPub #Zot #Zot6 #Nomad #FEP #MovingInstances #Clone #Clones
  12. @Marcus Rohrmoser 🌻 Not to my knowledge.

    First of all, nomadic identity won't be described in one single FEP that'll cover everything. It was not created on and for ActivityPub. In fact, the concept predates ActivityPub by some six years, and the first implementation predates ActivityPub by some five years.

    See, nomadic identity started as an idea. Then Mike built a brand-new protocol around that idea, Zot. Then, in 2012, Mike forked one of his own forks of his own software that is now known as Friendica, originally based on yet protocol designed by himself, and re-wrote the whole thing against Zot. That's how the software was born that's known as Hubzilla now.

    As for nomadic identity via ActivityPub, there is only one publicly available software implementation for that. And that's Mike's own Forte. Forte still does everything the Hubzilla/(streams) way which is very very different from how anything else in the Fediverse works, even including Friendica itself, and especially including Mastodon.

    Whereas Zot was designed around nomadic identity, ActivityPub isn't. It's having nomadic identity bolted on with a whole slew of FEPs authored by @silverpill who is working on converting Mitra (typical Fediverse software: built only against ActivityPub, non-nomadic, login/account equals identity) into something that's every bit as nomadic as Hubzilla, (streams) and Forte.

    Nomadic identity via ActivityPub was originally silverpill's idea, by the way. And that was in 2023. It turned out that this was actually doable, and so he and Mike started working on it, using experimental "nomadic" branches of Mitra and the streams repository respectively. Their approaches were naturally different: silverpill had to make something non-nomadic nomadic. Mike had to make something nomadic be nomadic using a protocol that wasn't made for nomadic identity.

    Not only is silverpill's approach much more difficult because Mitra wasn't made for nomadic identity either, but he also took it upon himself to put everything into FEPs by and by. He is still publishing FEP after FEP. Nomadic identity is quite a complex thing from a "Fediverse equals ActivityPub" point of view; it's just that the Hubzilla/(streams) bubble is so used to it whereas silverpill actually has to explore and research something that's natural to Mike.

    There's no common set of commands either. There can't be any. Forte, like everything else in the family all the way back to Friendica, is written in PHP. Mitra is written in Rust. Nobody has ever attempted to make something not written in PHP nomadic.

    In fact, code sharing would be next to impossible anyway: Forte, like Hubzilla and early Mistpark/Friendika, is published under the MIT license, (streams) is in the public domain, but Mitra is licensed under the GNU Affero GPL v3. Any code coming out of Mitra's conversion to nomadicity would be AGPL-licensed Rust code. And MIT-licensed PHP code that was created when turning Nomad-based (streams) into ActivityPub-based, Nomad-less Forte would be useless for non-nomadic-to-nomadic conversions anyway.

    So don't expect any how-to's or the like for converting non-nomadic, ActivityPub-only-by-original-design, login/account-equals-identity Fediverse server software to the same level of nomadicity as Hubzilla, (streams) and Forte until
    • the first stable release of Mitra with full support for that level of nomadicity is officially rolled out
    • silverpill declares that everything necessary for Hubzilla/(streams)/Forte-level nomadic identity via nothing but ActivityPub is cast into FEPs and finalised

    Seeing as this has been in the making for some two years now, and I don't even know if the experimental nomadic branch of Mitra even allows cloning right now, I guess this will be a long way to go. He may actually first have to change Mitra from the standard Fediverse model of the account and the login being the identity to Hubzilla's, (streams)' and Forte's model of the identity being a container inside your account and one account being able to host multiple such identities. That's because you can't clone logins.

    Oh, by the way, nomadic identity is not just about moving. It's not "moving-your-Mastodon-account-to-another-instance on coke". It's way more.

    The core feature is cloning. Imagine you have full, live, hot backups of your Mastodon account on one, two, three, four or more other Mastodon instances. Imagine they all have the same identity, based on which one of them is your main instance. Imagine whatever happens on one of them is sync'd to the others in near-real-time. Imagine you can log into either of them and use either of them all the same, regardless of how many and which of the servers are actually online, as long as at least one is.

    Moving is actually even more complex than cloning because it involves both cloning and changing the main instance of your identity.

    Allow me to illustrate by supposing Mastodon works like Hubzilla, (streams) and Forte:

    • Situation:
      • You have an account on digitalcourage.social with one channel, [email protected].
      • You want to move to troet.cafe.
    • Step 1: You create an account on troet.cafe.
    • Step 2: There can't be accounts with no channels. You have to add a channel.
      So you choose to move your channel [email protected] from digitalcourage.social to troet.cafe.
    • Step 3: Your channel [email protected] is cloned over to troet.cafe.
    • Situation now:
      • You have an account on digitalcourage.social with the main instance of your channel; its identity is [email protected].
      • You have an account on troet.cafe with a clone of your channel; its identity is still [email protected].
    • Step 4: All data on your channel is synchronised over from your main instance on digitalcourage.social to your clone on troet.cafe. Posts, images, other files, followers, followed, settings, lists, filters etc. etc. pp. Everything.
    • Now the main instance and the clone are identical.
      Up until here, the process of moving is the same as the process of cloning. What follow is exclusive to moving.
    • Step 5:
      • The clone on troet.cafe is promoted to main instance.
      • As there can be only one main instance for each channel, the former main instance on digitalcourage.social is demoted to clone.
    • Situation now:
      • You have an account on digitalcourage.social with a clone of your channel, formerly the main instance; its identity is [email protected].
      • You have an account on troet.cafe with the main instance of your channel, formerly a clone; its identity is [email protected].
    • Step 6: All your connections on servers of nomadic software are changed from [email protected] to [email protected], both locally on the servers that you are on and locally on the servers that they are on.
    • Step 7 (AFAIK, this only happens on (streams) and Forte in reality): All your outbound connections ("followed") on servers running non-nomadic software receive a follow request from [email protected] which, to them, is an all-new, independent identity.
    • The actually move is done. What follows is the clean-up that really makes the move a move, namely taking care that nothing is left behind in the old location.
    • Step 8: When these last steps are finalised, your clone on digitalcourage.social is deleted. After all, you wanted to move, not to clone.
    • Step 9: As your account on digitalcourage.social has no channel on it anymore, the whole account is deleted.
    #Long #LongPost #CWLong #CWLongPost #FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #Fediverse #Mitra #Hubzilla #Streams #(streams) #Forte #NomadicIdentity #ActivityPub #Zot #Zot6 #Nomad #FEP #MovingInstances #Clone #Clones
  13. @Marcus Rohrmoser 🌻 Not to my knowledge.

    First of all, nomadic identity won't be described in one single FEP that'll cover everything. It was not created on and for ActivityPub. In fact, the concept predates ActivityPub by some six years, and the first implementation predates ActivityPub by some five years.

    See, nomadic identity started as an idea. Then Mike built a brand-new protocol around that idea, Zot. Then, in 2012, Mike forked one of his own forks of his own software that is now known as Friendica, originally based on yet protocol designed by himself, and re-wrote the whole thing against Zot. That's how the software was born that's known as Hubzilla now.

    As for nomadic identity via ActivityPub, there is only one publicly available software implementation for that. And that's Mike's own Forte. Forte still does everything the Hubzilla/(streams) way which is very very different from how anything else in the Fediverse works, even including Friendica itself, and especially including Mastodon.

    Whereas Zot was designed around nomadic identity, ActivityPub isn't. It's having nomadic identity bolted on with a whole slew of FEPs authored by @silverpill who is working on converting Mitra (typical Fediverse software: built only against ActivityPub, non-nomadic, login/account equals identity) into something that's every bit as nomadic as Hubzilla, (streams) and Forte.

    Nomadic identity via ActivityPub was originally silverpill's idea, by the way. And that was in 2023. It turned out that this was actually doable, and so he and Mike started working on it, using experimental "nomadic" branches of Mitra and the streams repository respectively. Their approaches were naturally different: silverpill had to make something non-nomadic nomadic. Mike had to make something nomadic be nomadic using a protocol that wasn't made for nomadic identity.

    Not only is silverpill's approach much more difficult because Mitra wasn't made for nomadic identity either, but he also took it upon himself to put everything into FEPs by and by. He is still publishing FEP after FEP. Nomadic identity is quite a complex thing from a "Fediverse equals ActivityPub" point of view; it's just that the Hubzilla/(streams) bubble is so used to it whereas silverpill actually has to explore and research something that's natural to Mike.

    There's no common set of commands either. There can't be any. Forte, like everything else in the family all the way back to Friendica, is written in PHP. Mitra is written in Rust. Nobody has ever attempted to make something not written in PHP nomadic.

    In fact, code sharing would be next to impossible anyway: Forte, like Hubzilla and early Mistpark/Friendika, is published under the MIT license, (streams) is in the public domain, but Mitra is licensed under the GNU Affero GPL v3. Any code coming out of Mitra's conversion to nomadicity would be AGPL-licensed Rust code. And MIT-licensed PHP code that was created when turning Nomad-based (streams) into ActivityPub-based, Nomad-less Forte would be useless for non-nomadic-to-nomadic conversions anyway.

    So don't expect any how-to's or the like for converting non-nomadic, ActivityPub-only-by-original-design, login/account-equals-identity Fediverse server software to the same level of nomadicity as Hubzilla, (streams) and Forte until
    • the first stable release of Mitra with full support for that level of nomadicity is officially rolled out
    • silverpill declares that everything necessary for Hubzilla/(streams)/Forte-level nomadic identity via nothing but ActivityPub is cast into FEPs and finalised

    Seeing as this has been in the making for some two years now, and I don't even know if the experimental nomadic branch of Mitra even allows cloning right now, I guess this will be a long way to go. He may actually first have to change Mitra from the standard Fediverse model of the account and the login being the identity to Hubzilla's, (streams)' and Forte's model of the identity being a container inside your account and one account being able to host multiple such identities. That's because you can't clone logins.

    Oh, by the way, nomadic identity is not just about moving. It's not "moving-your-Mastodon-account-to-another-instance on coke". It's way more.

    The core feature is cloning. Imagine you have full, live, hot backups of your Mastodon account on one, two, three, four or more other Mastodon instances. Imagine they all have the same identity, based on which one of them is your main instance. Imagine whatever happens on one of them is sync'd to the others in near-real-time. Imagine you can log into either of them and use either of them all the same, regardless of how many and which of the servers are actually online, as long as at least one is.

    Moving is actually even more complex than cloning because it involves both cloning and changing the main instance of your identity.

    Allow me to illustrate by supposing Mastodon works like Hubzilla, (streams) and Forte:

    • Situation:
      • You have an account on digitalcourage.social with one channel, [email protected].
      • You want to move to troet.cafe.
    • Step 1: You create an account on troet.cafe.
    • Step 2: There can't be accounts with no channels. You have to add a channel.
      So you choose to move your channel [email protected] from digitalcourage.social to troet.cafe.
    • Step 3: Your channel [email protected] is cloned over to troet.cafe.
    • Situation now:
      • You have an account on digitalcourage.social with the main instance of your channel; its identity is [email protected].
      • You have an account on troet.cafe with a clone of your channel; its identity is still [email protected].
    • Step 4: All data on your channel is synchronised over from your main instance on digitalcourage.social to your clone on troet.cafe. Posts, images, other files, followers, followed, settings, lists, filters etc. etc. pp. Everything.
    • Now the main instance and the clone are identical.
      Up until here, the process of moving is the same as the process of cloning. What follow is exclusive to moving.
    • Step 5:
      • The clone on troet.cafe is promoted to main instance.
      • As there can be only one main instance for each channel, the former main instance on digitalcourage.social is demoted to clone.
    • Situation now:
      • You have an account on digitalcourage.social with a clone of your channel, formerly the main instance; its identity is [email protected].
      • You have an account on troet.cafe with the main instance of your channel, formerly a clone; its identity is [email protected].
    • Step 6: All your connections on servers of nomadic software are changed from [email protected] to [email protected], both locally on the servers that you are on and locally on the servers that they are on.
    • Step 7 (AFAIK, this only happens on (streams) and Forte in reality): All your outbound connections ("followed") on servers running non-nomadic software receive a follow request from [email protected] which, to them, is an all-new, independent identity.
    • The actually move is done. What follows is the clean-up that really makes the move a move, namely taking care that nothing is left behind in the old location.
    • Step 8: When these last steps are finalised, your clone on digitalcourage.social is deleted. After all, you wanted to move, not to clone.
    • Step 9: As your account on digitalcourage.social has no channel on it anymore, the whole account is deleted.
    #Long #LongPost #CWLong #CWLongPost #FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #Fediverse #Mitra #Hubzilla #Streams #(streams) #Forte #NomadicIdentity #ActivityPub #Zot #Zot6 #Nomad #FEP #MovingInstances #Clone #Clones
  14. @debacle @contrapunctus

    • no usable client outside of Android and iOS (which I don't use)

    They have clients for iOS, Android, Windows, macOS, Linux, and the Linux one is also ported to and packaged on FreeBSD. That covers basically 100% of people I want to talk to.

    • they still would want my phone number to register

    Yes. That's not ideal for privacy (the protocol now doesn't require it) but it's also good for usability because it means that a new Signal user will typically discover that a load of their contacts are already on Signal, which makes the transition easier. And they don't need to give these people new contact info. Anyone that could contact them by SMS or WhatsApp before can now immediately contact them. When I installed Signal, I immediately discovered ten of my contacts were already there.

    • worst: I can't select a server in my legislation (#EU #GDPR) or selfhost

    The Signal server complies with the GDPR. Read their privacy policy, but more importantly look at their responses to warrants. The PII that they record is almost zero. An XMPP server admin has orders of magnitude more information to disclose.

    Btw. isn't #inAppPayment already #enshittification in some way?

    Are you referring to the ability to donate to fund it or the cryptocurrency nonsense?

    For the former, no, it's very common for donation-supported things. If you don't want to donate, don't. Precisely one feature is locked behind the donation door: A little badge on your user logo that says that you've donated. A lot of F/OSS applications have a similar donation mechanism.

    For the crypto nonsense, it's just run-of-the-mill bad choices. The person behind it was kicked out of the Foundation as a result. Hopefully it will go away at some point. It's hidden away in preferences so deeply I had to check it was still there.

    You really need to read the definition of enshittification before you use the word. It is not just making poor choices, it is related to rent seeking and maximum revenue extraction at the expense of users.

  15. Strengthening primary health care in a changing climate

    A new article by Andy Haines, Elizabeth Wambui Kimani-Murage, and Anya Gopfert, “Strengthening primary health care in a changing climate,” outlines how climate change is already impacting health systems worldwide, with primary health care (PHC) workers bearing the immediate burden of response.

    Haines and colleagues make a compelling case for strengthening primary health care (PHC) as a cornerstone of climate-resilient health systems.

    First, they note that approximately 90% of essential universal health coverage interventions are delivered through PHC settings, making these facilities and workers the backbone of healthcare delivery.

    This is particularly significant because PHC systems address many of the health outcomes most affected by climate change, including non-communicable diseases, childhood undernutrition, and common infectious diseases like malaria, diarrheal diseases, and respiratory infections.

    Furthermore, PHC workers are often the first responders to extreme weather events such as floods, droughts, and heatwaves.

    They must manage both the immediate health impacts and the longer-term consequences of these events.

    This comprehensive view of PHC’s role in climate resilience represents a significant shift from viewing primary care merely as a service delivery mechanism to recognizing it as a crucial component of climate adaptation and health system strengthening.

    The authors argue that investing in PHC is not only essential for addressing immediate health needs but also for building long-term resilience to climate-related health threats.

    In examining workforce issues, Haines et al. specifically emphasize that “building the capacity of the PHC and public health workforce in emergency preparedness and response to climate-induced risks is crucial for enhancing the resilience of health systems.”

    They argue that “the health-care workforce, including multidisciplinary PHC teams, should be provided with training and education on the impacts of climate change on health and the implications for health-care delivery.”

    The article specifies that this training should focus on three key areas: “strengthening integrated disease surveillance and response systems,” “diagnosis and management of changing disease patterns (eg, outbreaks of vector-borne diseases in new locations),” and “interpretation and use of available climate, weather, and health data to support planning and management of adaptation and mitigation interventions.”

    They mention resources like those proposed by the “WONCA Global Family Doctor Planetary Health Working Party” as instructive for such training.

    Although the article emphasizes the role of PHC workers as being “often on the front line of responses to extreme events such as floods, droughts, and heatwaves,” it does not discuss mechanisms for capturing or leveraging their experiential knowledge.

    This is what they know because they are there every day.

    Recommendations follow a traditional institutional approach: strengthen health information systems, build workforce capacity, develop integrated service delivery models, increase funding, and enhance governance.

    While these recommendations are well-founded, they primarily envision a top-down flow of knowledge and resources, with health workers positioned as recipients of training and implementers of policies.

    The epistemological framework underlying their recommendations reflects what educational theorists would recognize as a transmission model of learning, where knowledge is conceived as flowing primarily from experts to practitioners in a hierarchical manner.

    This approach, while valuable for disseminating standardized protocols and evidence-based practices, implicitly positions health workers as passive recipients rather than active knowledge creators and agents of climate-health resilience.

    Such a framework potentially undervalues the situated knowledge and practical wisdom (what Aristotle called phronesis) that practitioners develop through direct experience with climate-health challenges in their communities.

    It also overlooks the potential for what complexity theorists describe as emergent learning – where new knowledge and practices arise from the dynamic interactions between practitioners facing similar challenges in different contexts.

    Our research has documented how health workers are already responding to climate-related health challenges.

    For example, observations from more than 1,200 health workers in 68 countries reveal a rich tapestry of local knowledge and insights that often go unrecognized in formal academic and policy discussions

    Health workers are already intimate witnesses to the impacts of climate change on the health of the communities they serve, possessing valuable knowledge that should inform both science and policy.

    Where Haines sees health workers primarily as implementers of climate-resilient healthcare strategies, we view them as leaders and innovators in climate adaptation.

    However, these perspectives need not be mutually exclusive.

    TGLF’s model offers a bridge between formal institutional approaches and ground-level experiential knowledge.

    New peer learning platforms like Teach to Reach enable rapid sharing of solutions across geographical and institutional boundaries.

    This platform enables health workers to be both learners and teachers, sharing successful adaptations while learning from colleagues facing similar challenges in different contexts.

    Such participatory approaches also help local knowledge inform global understanding – if global research institutions and funders are willing to listen and learn.

    When TGLF gathered observations about climate change impacts on health, we received detailed accounts of everything from disease transmission to healthcare access.

    A health worker from Cameroon described how flooding from Mount Cameroon led to deaths in their community.

    Another from Kenya shared how changing agricultural patterns forced them to develop new strategies for ensuring safe food access.

    Jones, I., Mbuh, C., Sadki, R., Eller, K., Rhoda, D., 2023. On the frontline of climate change and health: A health worker eyewitness report. The Geneva Learning Foundation. https://doi.org/10.5281/zenodo.10204660

    These granular insights complement the broader statistical evidence presented in academic literature, providing crucial context for how climate changes manifest in specific communities.

    TGLF’s model demonstrates how digital technologies can democratize knowledge sharing to strengthen scientific evidence and drive locally-led action.

    This creates a dynamic knowledge ecosystem that can respond more quickly to emerging challenges than traditional top-down approaches.

    Importantly, this model addresses a key gap in Haines’ recommendations: the need for rapid, scalable knowledge sharing among frontline workers.

    While formal research and policy development necessarily take time, climate impacts are already affecting communities.

    TGLF’s approach enables immediate peer learning while building an evidence base for longer-term policy development.

    The model also addresses the issue of trust.

    Health workers, as trusted community members, play a crucial role in helping communities make sense of and navigate the changes they are facing.

    Their understanding of local contexts and constraints are critical to develop strategies that can actually be implemented.

    By combining institutional support with health worker-led local action, we can strengthen health systems to be both technically robust and locally responsive.

    Our experience at the Geneva Learning Foundation suggests that new learning and leadership are needed to bridge these approaches, enabling the rapid sharing of both formal and experiential knowledge while building the collective capacity needed to survive the impacts of climate change on our health.

    References

    Haines, A., Kimani-Murage, E.W., Gopfert, A., 2024. Strengthening primary health care in a changing climate. The Lancet 404, 1620–1622. https://doi.org/10.1016/S0140-6736(24)02193-7

    Image: The Geneva Learning Foundation Collection © 2024

    Share this:

    #AndyHaines #AnyaGopfert #climateAndHealth #ElizabethWambuiKimaniMurage #epistemology #globalHealth #healthWorkforce #HumanResourcesForHealth #PHC #phronesis #primaryHealthCare #situatedKnowledge

  16. Strengthening primary health care in a changing climate

    A new article by Andy Haines, Elizabeth Wambui Kimani-Murage, and Anya Gopfert, “Strengthening primary health care in a changing climate,” outlines how climate change is already impacting health systems worldwide, with primary health care (PHC) workers bearing the immediate burden of response.

    Haines and colleagues make a compelling case for strengthening primary health care (PHC) as a cornerstone of climate-resilient health systems.

    First, they note that approximately 90% of essential universal health coverage interventions are delivered through PHC settings, making these facilities and workers the backbone of healthcare delivery.

    This is particularly significant because PHC systems address many of the health outcomes most affected by climate change, including non-communicable diseases, childhood undernutrition, and common infectious diseases like malaria, diarrheal diseases, and respiratory infections.

    Furthermore, PHC workers are often the first responders to extreme weather events such as floods, droughts, and heatwaves.

    They must manage both the immediate health impacts and the longer-term consequences of these events.

    This comprehensive view of PHC’s role in climate resilience represents a significant shift from viewing primary care merely as a service delivery mechanism to recognizing it as a crucial component of climate adaptation and health system strengthening.

    The authors argue that investing in PHC is not only essential for addressing immediate health needs but also for building long-term resilience to climate-related health threats.

    In examining workforce issues, Haines et al. specifically emphasize that “building the capacity of the PHC and public health workforce in emergency preparedness and response to climate-induced risks is crucial for enhancing the resilience of health systems.”

    They argue that “the health-care workforce, including multidisciplinary PHC teams, should be provided with training and education on the impacts of climate change on health and the implications for health-care delivery.”

    The article specifies that this training should focus on three key areas: “strengthening integrated disease surveillance and response systems,” “diagnosis and management of changing disease patterns (eg, outbreaks of vector-borne diseases in new locations),” and “interpretation and use of available climate, weather, and health data to support planning and management of adaptation and mitigation interventions.”

    They mention resources like those proposed by the “WONCA Global Family Doctor Planetary Health Working Party” as instructive for such training.

    Although the article emphasizes the role of PHC workers as being “often on the front line of responses to extreme events such as floods, droughts, and heatwaves,” it does not discuss mechanisms for capturing or leveraging their experiential knowledge.

    This is what they know because they are there every day.

    Recommendations follow a traditional institutional approach: strengthen health information systems, build workforce capacity, develop integrated service delivery models, increase funding, and enhance governance.

    While these recommendations are well-founded, they primarily envision a top-down flow of knowledge and resources, with health workers positioned as recipients of training and implementers of policies.

    The epistemological framework underlying their recommendations reflects what educational theorists would recognize as a transmission model of learning, where knowledge is conceived as flowing primarily from experts to practitioners in a hierarchical manner.

    This approach, while valuable for disseminating standardized protocols and evidence-based practices, implicitly positions health workers as passive recipients rather than active knowledge creators and agents of climate-health resilience.

    Such a framework potentially undervalues the situated knowledge and practical wisdom (what Aristotle called phronesis) that practitioners develop through direct experience with climate-health challenges in their communities.

    It also overlooks the potential for what complexity theorists describe as emergent learning – where new knowledge and practices arise from the dynamic interactions between practitioners facing similar challenges in different contexts.

    Our research has documented how health workers are already responding to climate-related health challenges.

    For example, observations from more than 1,200 health workers in 68 countries reveal a rich tapestry of local knowledge and insights that often go unrecognized in formal academic and policy discussions

    Health workers are already intimate witnesses to the impacts of climate change on the health of the communities they serve, possessing valuable knowledge that should inform both science and policy.

    Where Haines sees health workers primarily as implementers of climate-resilient healthcare strategies, we view them as leaders and innovators in climate adaptation.

    However, these perspectives need not be mutually exclusive.

    TGLF’s model offers a bridge between formal institutional approaches and ground-level experiential knowledge.

    New peer learning platforms like Teach to Reach enable rapid sharing of solutions across geographical and institutional boundaries.

    This platform enables health workers to be both learners and teachers, sharing successful adaptations while learning from colleagues facing similar challenges in different contexts.

    Such participatory approaches also help local knowledge inform global understanding – if global research institutions and funders are willing to listen and learn.

    When TGLF gathered observations about climate change impacts on health, we received detailed accounts of everything from disease transmission to healthcare access.

    A health worker from Cameroon described how flooding from Mount Cameroon led to deaths in their community.

    Another from Kenya shared how changing agricultural patterns forced them to develop new strategies for ensuring safe food access.

    Jones, I., Mbuh, C., Sadki, R., Eller, K., Rhoda, D., 2023. On the frontline of climate change and health: A health worker eyewitness report. The Geneva Learning Foundation. https://doi.org/10.5281/zenodo.10204660

    These granular insights complement the broader statistical evidence presented in academic literature, providing crucial context for how climate changes manifest in specific communities.

    TGLF’s model demonstrates how digital technologies can democratize knowledge sharing to strengthen scientific evidence and drive locally-led action.

    This creates a dynamic knowledge ecosystem that can respond more quickly to emerging challenges than traditional top-down approaches.

    Importantly, this model addresses a key gap in Haines’ recommendations: the need for rapid, scalable knowledge sharing among frontline workers.

    While formal research and policy development necessarily take time, climate impacts are already affecting communities.

    TGLF’s approach enables immediate peer learning while building an evidence base for longer-term policy development.

    The model also addresses the issue of trust.

    Health workers, as trusted community members, play a crucial role in helping communities make sense of and navigate the changes they are facing.

    Their understanding of local contexts and constraints are critical to develop strategies that can actually be implemented.

    By combining institutional support with health worker-led local action, we can strengthen health systems to be both technically robust and locally responsive.

    Our experience at the Geneva Learning Foundation suggests that new learning and leadership are needed to bridge these approaches, enabling the rapid sharing of both formal and experiential knowledge while building the collective capacity needed to survive the impacts of climate change on our health.

    References

    Haines, A., Kimani-Murage, E.W., Gopfert, A., 2024. Strengthening primary health care in a changing climate. The Lancet 404, 1620–1622. https://doi.org/10.1016/S0140-6736(24)02193-7

    Image: The Geneva Learning Foundation Collection © 2024

    Share this:

    #AndyHaines #AnyaGopfert #climateAndHealth #ElizabethWambuiKimaniMurage #epistemology #globalHealth #healthWorkforce #HumanResourcesForHealth #PHC #phronesis #primaryHealthCare #situatedKnowledge

  17. CW: Feedback request for a meme post with image description and explanation; CW: long (over 2,500 characters), Fediverse meta, alt-text meta, image description meta
    So I have this new meme post.

    I've tried a new format: Explanation of all I thought needs to be explained to a casual audience. Explanations are in the post. According to this poll, people prefer explanations in the same post as the image over external explanations linked into the post.

    This led to almost 25,000 characters of explanation, however, because I had to explain
    • the image itself
    • the "One Does Not Simply Walk Into Mordor" meme (in order for people to understand the image explanation)
    • snowclones (in oder for people to understand the "One Does Not Simply Walk Into Mordor" meme explanation)
    • image macros (in oder for people to understand the "One Does Not Simply Walk Into Mordor" meme explanation)
    • advice animals (in oder for people to understand the "One Does Not Simply Walk Into Mordor" meme explanation)
    • Something Awful (in order for people to understand the snowclones and image macros explanations)
    • 4chan and imageboards (in order for people to understand the image macros and advice animals explanations)
    • FEP-ef61 and nomadic identity (in order for people to understand the image explanation)
    • Hubzilla, the streams repository and the Zot and Nomad protocols (in order for people to understand the FEP-ef61 and nomadic identity explanation)

    Yes, nine explanations. And almost 25,000 characters. Yes, that's a lot. But yes, that's what people have voted for, so that's apparently what they prefer over linked external content.

    In fact, it could be even more, but I've decided that The Lord of the Rings is common enough knowledge for me not to have to explain that and its characters as well. I'm not sure if an explanation of the ActivityPub standard and how FEPs work would have been necessary.

    I've only described the image itself in the alt-text this time. The image is not so exotic that I need to describe every last detail. Still, the image description might be lacking because I haven't described what Boromir looks like (age, skin tone, hair colour, hair length, hairstyle, clothes). I thought it wouldn't matter within the context of a meme.

    I could really need some feedback before I assemble the next meme post. Maybe some of you can boost/repost/renote/repeat/"retoot" this to increase my reach.

    #Long #LongPost #CWLong #CWLongPost #FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #AltText #AltTextMeta #CWAltTextMeta #ImageDescription #ImageDescriptions #ImageDescriptionMeta #CWImageDescriptionMeta #Meme #Memes #A11y #Accessibility #FediHelp #AskFedi #FeedbackRequest
  18. Thank you for the optimistic PoV on the entrance of others to the #DeSoc of the Fediverse. It is an optimism that I share - especially with Matthias' announcement just an hour ago that his team behind the development of the #WordPress ActivityPub plugin has just released version 2.0.0 - considering the enormous footprint of WordPress installations across the entire Internet belonging to both common, everyday individuals and companies alike, of every shape and size, this is HUGE news.

    It instantly, overnight, positions common folks and businesses to leap into the freedoms afforded them by the existing, privacy respecting, #FOSS based Fediverse that hitherto was... well, a bit of a leap for them psychologically. But now they have a familiar platform with which to begin a journey through the minefields of the deprecated, privacy mining, monolithic silos; its proprietors programming their masses of #subjugated_chattel into livestock holding pens, where they are weighed, measured, packaged, placed into inventory, and sold.

    That does raise the issue of an error in your assertions however. You mentioned, "instances in Meta's fediverses and on Bluesky".

    The truth however, the reality, is that each are merely a single instance - One big monolithic silo, as described above, with the same incentives of monetization through privacy mining techniques that have made them the dreadnoughts that they are; at least in the case of #Meta (Threads).

    Bluesky is of that vertically scaling market as well, but much smaller than the #Faceplant and #InstaSPAM engines operated by Meta, and now their new spearhead into the DeSoc space occupied by ActivityPub and other decentralized or federated protocol based, horizontally scaling instances.

    #Bluesky hasn't actually shown their hand yet to the general public, but already, they've disenfranchised (fired) much of their talent; some, actually principal architects of their monolith who were frustrated and disillusioned with the direction Jay has been taking the company - moving further and further away from the disowned public community they spawned, organized, and abandoned following the initial trials and tests of the open source preview version of what became #ATP protocol (ATX).

    Even Jack has moved on and embraced yet another horizontally scaling protocol in the DeSoc space, #nostr, and it's already bridged and interoperating flawlessly with the ActivityPub powered portion of the Fediverse, which in turn interoperates with instances running other protocols such as #Nomad, #OStatus, #Streams, #Diaspora, and #ZOT... all of them part of the Fediverse.

    Many of the extant #ActivityPub powered instances in the Fediverse merely need to install these capabilities with a couple of clicks to enable this interoperability, while others bridge the divide through infrastructure developed and deployed over the past year or so.

    What will be Meta's use case here for their business product?

    That's the main question I think folks need to address - not punish the good people on the so-called evil side of the divide, the hitherto subjugated chattel that populate Marks so-called Metaverse or whatever he thinks he can compel people to adopt and endure. The point is, childish, domain level blocking by juvenile minds operating ActivityPub powered #Fediverse server instances only serves to paint themselves (and the users who have to date trusted those admins with being told what they can and cannot see and do) into a corner where they effectively cancel themselves, and find that their users have migrated to other spaces... maybe WordPress, where they truly control their own destiny in the DeSoc space and can now fully participate and engage with others - but on their own terms, not someone else's.

    And that, I believe, is what the whole thing has always been about, going back as far as #AngelFire and #GeoCities :)

    I do agree with you that we should indeed embrace these common, everyday individuals who, through their programmed ignorance, are mostly clueless as to exactly what the Fediverse is, and more importantly, has always promised for them. This is an opportunity, like Steve Austin, (the Six Million Dollar Man): "We can rebuild them, we have the technology, we can make them better, stronger, faster..."

    One more thing I should correct you on, the Fediverse is an internetwork of networks, on the Internet - there are no fediverses, Fediverse is itself a plurality, but your intent wasn't lost on me.

    Great article, I enjoyed the read and most of all, your optimistically tempered intent. Thanks for sharing and I hope to see much more from you in the future!

    #tallship

    .

  19. BGP, from theory to practice - THE BOOK

    #BGP process model explained in detail.

    "The best paths determined by the BGP selection process are not necessarily installed in the #IP routing table (#RIB, Routing Information Base) and then transferred to the #FIB (Forwarding Information Base) to be used in traffic forwarding. Indeed, if the same prefix is announced to the #router via BGP and also in other ways (dynamic routing protocol, static routing, directly connected prefix), the router chooses which advertisement to install in the RIB, based on a level of preference assigned by the router to each routing protocol. Please be aware that the level of preference (known in #Cisco documents as administrative distance, or in #Juniper documents as preference value), is a number assigned locally by the router to each routing protocol, and expressing a level of preference for the protocol. For instance, let’s assume that a prefix Pfx is announced to the router both by BGP and by #OSPF. Which of the two protocols does the router consider more reliable? In other words, what information <Pfx, Next-Hop> will be installed in the RIB, the one announced by OSPF or the one announced by BGP? The rule used by all manufacturers is preferring the advertisement of the protocol with the lowest preference level. Note that preference level values are assigned by manufacturers according to different logics, and so it is common to see completely different numbers, which can be varied through a configuration, if needed."

    The book will be available in the next weeks; I'll give a heads-up when ready.

    Meanwhile, download the Table of contents and the first chapter here:
    https://book.reissromoli.com/product/bgp-from-theory-to-practice/

    my co-authors:
    Tiziano Tofoni
    Flavio Luciani

    Many thanks to Simone Morandini for his precious help!
  20. BGP, from theory to practice - THE BOOK

    #BGP process model explained in detail.

    "The best paths determined by the BGP selection process are not necessarily installed in the #IP routing table (#RIB, Routing Information Base) and then transferred to the #FIB (Forwarding Information Base) to be used in traffic forwarding. Indeed, if the same prefix is announced to the #router via BGP and also in other ways (dynamic routing protocol, static routing, directly connected prefix), the router chooses which advertisement to install in the RIB, based on a level of preference assigned by the router to each routing protocol. Please be aware that the level of preference (known in #Cisco documents as administrative distance, or in #Juniper documents as preference value), is a number assigned locally by the router to each routing protocol, and expressing a level of preference for the protocol. For instance, let’s assume that a prefix Pfx is announced to the router both by BGP and by #OSPF. Which of the two protocols does the router consider more reliable? In other words, what information <Pfx, Next-Hop> will be installed in the RIB, the one announced by OSPF or the one announced by BGP? The rule used by all manufacturers is preferring the advertisement of the protocol with the lowest preference level. Note that preference level values are assigned by manufacturers according to different logics, and so it is common to see completely different numbers, which can be varied through a configuration, if needed."

    The book will be available in the next weeks; I'll give a heads-up when ready.

    Meanwhile, download the Table of contents and the first chapter here:
    https://book.reissromoli.com/product/bgp-from-theory-to-practice/

    my co-authors:
    Tiziano Tofoni
    Flavio Luciani

    Many thanks to Simone Morandini for his precious help!
  21. BGP, from theory to practice - THE BOOK

    #BGP process model explained in detail.

    "The best paths determined by the BGP selection process are not necessarily installed in the #IP routing table (#RIB, Routing Information Base) and then transferred to the #FIB (Forwarding Information Base) to be used in traffic forwarding. Indeed, if the same prefix is announced to the #router via BGP and also in other ways (dynamic routing protocol, static routing, directly connected prefix), the router chooses which advertisement to install in the RIB, based on a level of preference assigned by the router to each routing protocol. Please be aware that the level of preference (known in #Cisco documents as administrative distance, or in #Juniper documents as preference value), is a number assigned locally by the router to each routing protocol, and expressing a level of preference for the protocol. For instance, let’s assume that a prefix Pfx is announced to the router both by BGP and by #OSPF. Which of the two protocols does the router consider more reliable? In other words, what information <Pfx, Next-Hop> will be installed in the RIB, the one announced by OSPF or the one announced by BGP? The rule used by all manufacturers is preferring the advertisement of the protocol with the lowest preference level. Note that preference level values are assigned by manufacturers according to different logics, and so it is common to see completely different numbers, which can be varied through a configuration, if needed."

    The book will be available in the next weeks; I'll give a heads-up when ready.

    Meanwhile, download the Table of contents and the first chapter here:
    https://book.reissromoli.com/product/bgp-from-theory-to-practice/

    my co-authors:
    Tiziano Tofoni
    Flavio Luciani

    Many thanks to Simone Morandini for his precious help!
  22. BGP, from theory to practice - THE BOOK

    #BGP process model explained in detail.

    "The best paths determined by the BGP selection process are not necessarily installed in the #IP routing table (#RIB, Routing Information Base) and then transferred to the #FIB (Forwarding Information Base) to be used in traffic forwarding. Indeed, if the same prefix is announced to the #router via BGP and also in other ways (dynamic routing protocol, static routing, directly connected prefix), the router chooses which advertisement to install in the RIB, based on a level of preference assigned by the router to each routing protocol. Please be aware that the level of preference (known in #Cisco documents as administrative distance, or in #Juniper documents as preference value), is a number assigned locally by the router to each routing protocol, and expressing a level of preference for the protocol. For instance, let’s assume that a prefix Pfx is announced to the router both by BGP and by #OSPF. Which of the two protocols does the router consider more reliable? In other words, what information <Pfx, Next-Hop> will be installed in the RIB, the one announced by OSPF or the one announced by BGP? The rule used by all manufacturers is preferring the advertisement of the protocol with the lowest preference level. Note that preference level values are assigned by manufacturers according to different logics, and so it is common to see completely different numbers, which can be varied through a configuration, if needed."

    The book will be available in the next weeks; I'll give a heads-up when ready.

    Meanwhile, download the Table of contents and the first chapter here:
    https://book.reissromoli.com/product/bgp-from-theory-to-practice/

    my co-authors:
    Tiziano Tofoni
    Flavio Luciani

    Many thanks to Simone Morandini for his precious help!
  23. BGP, from theory to practice - THE BOOK

    #BGP process model explained in detail.

    "The best paths determined by the BGP selection process are not necessarily installed in the #IP routing table (#RIB, Routing Information Base) and then transferred to the #FIB (Forwarding Information Base) to be used in traffic forwarding. Indeed, if the same prefix is announced to the #router via BGP and also in other ways (dynamic routing protocol, static routing, directly connected prefix), the router chooses which advertisement to install in the RIB, based on a level of preference assigned by the router to each routing protocol. Please be aware that the level of preference (known in #Cisco documents as administrative distance, or in #Juniper documents as preference value), is a number assigned locally by the router to each routing protocol, and expressing a level of preference for the protocol. For instance, let’s assume that a prefix Pfx is announced to the router both by BGP and by #OSPF. Which of the two protocols does the router consider more reliable? In other words, what information <Pfx, Next-Hop> will be installed in the RIB, the one announced by OSPF or the one announced by BGP? The rule used by all manufacturers is preferring the advertisement of the protocol with the lowest preference level. Note that preference level values are assigned by manufacturers according to different logics, and so it is common to see completely different numbers, which can be varied through a configuration, if needed."

    The book will be available in the next weeks; I'll give a heads-up when ready.

    Meanwhile, download the Table of contents and the first chapter here:
    https://book.reissromoli.com/product/bgp-from-theory-to-practice/

    my co-authors:
    Tiziano Tofoni
    Flavio Luciani

    Many thanks to Simone Morandini for his precious help!
  24. CW: Long post - The Free Fediverse, Decentralization and Democracy - the mega-servers and the Kolektiva calamity - Part the Second

    *Democracy*

    Another worthy value to socially and technically encode in the ties that could consensually bind the Free Fediverse is direct democracy. Here too, smaller instances scale democracy better, and have proven themselves the trailblazers in giving their users a voice in the decision to protect themselves against Meta, while the mega-server admins have merely decreed unilateral pro-federate proclamations and gestured to the exits for those in their userbase who disagree.

    But even for those who affirm it, the cards are stacked against them because there is little in the way of technical aid built in to the apps or the protocol to assist in a democratic process. This again, is a failure of imagination, not of technical capacity. Sure, there are polls; but this function only provides a drive-by snapshot.

    A couple of baby steps in the right direction would be local-only posts, and the capacity for groups, including private groups. Both of these are available in certain of the forks or alternative microblogging services, but attempts to incorporate them into mainline Mastodon have been met with obstruction (although some movement toward group functionality was recently announced for the project).

    But these capabilities wouldn't directly address the democracy problem in and of themselves. The suggestion offered here is to bake "democracy as a protocol" into whatever replaces ActivityPub in the Free Fediverse. What follows is a speculative scenario. Consider it only a random brainstorm, and one not informed by a developer's knowledge.

    One day, a dismissible and retrievable pinned toot appears at the top of every user's feed, issued by that instance's admins. Attention, a proposal is offered to abolish Meta from the face of the Earth, launch Zuckerberg into the sun and turn all of humanity gay. There will be two general assemblies to discuss, one in the daytime on date A and one in the evening on date B. Click here to join the assembly group, or, to chime in as they occur, comment with local-hashtag xxx.

    The final proposal will be available to read at this link. The vote will activate for one week, from this to that date. To vote, click on the dancing queercat icon which appears at the top of your feed during that period.

    Perhaps this dashed-off exercise gets the gears turning? There would be many other good or better ideas on how to implement a prospect like this. In a Free Fediverse beyond the pathology of growth-at-all-costs, the only limit is the exercise of our collective imagination.

    *Decentralized Direct Democracy*

    So, decentralization and democracy can enable one another, and a deficit of one degrades the other's viability. As a final example for modeling these principles, let's turn again to the issue of Kolektiva.

    As an anti-corporate, online space for anarchists to hang out and shoot the shit, Kolektiva has been a smash. That said, so far it remains an incomplete opportunity for real prefiguration. The centralization of our kind on a single instance is not only ideologically contradictory, it has proven to be an error for the community, as proven by the database compromise.

    But there's still potential here, in response to the two crises, to reconstitute into a digital democratic-confederalism within the greater federation. A collective of instances, sharing knowledge and resources. A pooling of infrastructure, a common crowdfunding mechanism and open-source platform for administrative communication (which is not Discord).

    And a common charter by which to organize the admin and mod teams horizontally and distribute agency across to users who are inclined to get involved. All of this configured informally and accessible to fellow-travelling servers of any size, to reduce the costs and technical burden of even very small communities firing up and planting their own (black) flag.

    Now imagine further, a Free Fediverse comprised of numerous of these confederations, aligning efforts to render cooperation and mutual aid in the task of building and sustaining online community in safety and solidarity. We can nurture whatever kind of network we want to, by routing out of the dead-ends of "monetization" and the growth pathology.

    The corporate recuperation of the mega-servers is perhaps a blessing in disguise. With them will go not only the defacto hierarchy of influence which resulted in a small handful of admins and protocol specialists dragging the rest of the network along behind them, but the hierarchical thinking they imposed upon the spectrum of possibilities for what the fediverse could or should be. Towards a decentralized and democratic Free Fediverse beyond capitalist enclosure!

    2/2

    #FreeFediverse #FediPact #FediblockMeta #DefederateMeta #Meta #Facebook #Threads #FacebookFediverse #Democracy #Decentralization #Prefiguration #Kolektiva

  25. CW: research review

    R. Ma et al., "Towards Comprehensively Understanding the Run-time Security of Programmable Logic Controllers: A 3-year Empirical Study"¹

    Programmable Logic Controllers (PLCs) are the core control devices in Industrial Control Systems (ICSs), which control and monitor the underlying physical plants such as power grids. PLCs were initially designed to work in a trusted industrial network, which however can be brittle once deployed in an Internet-facing (or penetrated) network. Yet, there is a lack of systematic empirical analysis of the run-time security of modern real-world PLCs. To close this gap, we present the first large-scale measurement on 23 off-the-shelf PLCs across 13 leading vendors. We find many common security issues and unexplored implications that should be more carefully addressed in the design and implementation. To sum up, the unsupervised logic applications can cause system resource/privilege abuse, which gives adversaries new means to hijack the control flow of a runtime system remotely (without exploiting memory vulnerabilities); 2) the improper access control mechanisms bring many unauthorized access implications; 3) the proprietary or semi-proprietary protocols are fragile regarding confidentiality and integrity protection of run-time data. We empirically evaluated the corresponding attack vectors on multiple PLCs, which demonstrates that the security implications are severe and broad. Our findings were reported to the related parties responsibly, and 20 bugs have been confirmed with 7 assigned CVEs.

    #ResearchPapers #arXiv #SCADA #ICS #PLCs

    __
    ¹ arxiv.org/abs/2212.14296

  26. CW: research review

    R. Ma et al., "Towards Comprehensively Understanding the Run-time Security of Programmable Logic Controllers: A 3-year Empirical Study"¹

    Programmable Logic Controllers (PLCs) are the core control devices in Industrial Control Systems (ICSs), which control and monitor the underlying physical plants such as power grids. PLCs were initially designed to work in a trusted industrial network, which however can be brittle once deployed in an Internet-facing (or penetrated) network. Yet, there is a lack of systematic empirical analysis of the run-time security of modern real-world PLCs. To close this gap, we present the first large-scale measurement on 23 off-the-shelf PLCs across 13 leading vendors. We find many common security issues and unexplored implications that should be more carefully addressed in the design and implementation. To sum up, the unsupervised logic applications can cause system resource/privilege abuse, which gives adversaries new means to hijack the control flow of a runtime system remotely (without exploiting memory vulnerabilities); 2) the improper access control mechanisms bring many unauthorized access implications; 3) the proprietary or semi-proprietary protocols are fragile regarding confidentiality and integrity protection of run-time data. We empirically evaluated the corresponding attack vectors on multiple PLCs, which demonstrates that the security implications are severe and broad. Our findings were reported to the related parties responsibly, and 20 bugs have been confirmed with 7 assigned CVEs.

    #ResearchPapers #arXiv #SCADA #ICS #PLCs

    __
    ¹ arxiv.org/abs/2212.14296

  27. CW: research review

    R. Ma et al., "Towards Comprehensively Understanding the Run-time Security of Programmable Logic Controllers: A 3-year Empirical Study"¹

    Programmable Logic Controllers (PLCs) are the core control devices in Industrial Control Systems (ICSs), which control and monitor the underlying physical plants such as power grids. PLCs were initially designed to work in a trusted industrial network, which however can be brittle once deployed in an Internet-facing (or penetrated) network. Yet, there is a lack of systematic empirical analysis of the run-time security of modern real-world PLCs. To close this gap, we present the first large-scale measurement on 23 off-the-shelf PLCs across 13 leading vendors. We find many common security issues and unexplored implications that should be more carefully addressed in the design and implementation. To sum up, the unsupervised logic applications can cause system resource/privilege abuse, which gives adversaries new means to hijack the control flow of a runtime system remotely (without exploiting memory vulnerabilities); 2) the improper access control mechanisms bring many unauthorized access implications; 3) the proprietary or semi-proprietary protocols are fragile regarding confidentiality and integrity protection of run-time data. We empirically evaluated the corresponding attack vectors on multiple PLCs, which demonstrates that the security implications are severe and broad. Our findings were reported to the related parties responsibly, and 20 bugs have been confirmed with 7 assigned CVEs.

    #ResearchPapers #arXiv #SCADA #ICS #PLCs

    __
    ¹ arxiv.org/abs/2212.14296

  28. CW: research review

    R. Ma et al., "Towards Comprehensively Understanding the Run-time Security of Programmable Logic Controllers: A 3-year Empirical Study"¹

    Programmable Logic Controllers (PLCs) are the core control devices in Industrial Control Systems (ICSs), which control and monitor the underlying physical plants such as power grids. PLCs were initially designed to work in a trusted industrial network, which however can be brittle once deployed in an Internet-facing (or penetrated) network. Yet, there is a lack of systematic empirical analysis of the run-time security of modern real-world PLCs. To close this gap, we present the first large-scale measurement on 23 off-the-shelf PLCs across 13 leading vendors. We find many common security issues and unexplored implications that should be more carefully addressed in the design and implementation. To sum up, the unsupervised logic applications can cause system resource/privilege abuse, which gives adversaries new means to hijack the control flow of a runtime system remotely (without exploiting memory vulnerabilities); 2) the improper access control mechanisms bring many unauthorized access implications; 3) the proprietary or semi-proprietary protocols are fragile regarding confidentiality and integrity protection of run-time data. We empirically evaluated the corresponding attack vectors on multiple PLCs, which demonstrates that the security implications are severe and broad. Our findings were reported to the related parties responsibly, and 20 bugs have been confirmed with 7 assigned CVEs.

    #ResearchPapers #arXiv #SCADA #ICS #PLCs

    __
    ¹ arxiv.org/abs/2212.14296

  29. CW: research review

    R. Ma et al., "Towards Comprehensively Understanding the Run-time Security of Programmable Logic Controllers: A 3-year Empirical Study"¹

    Programmable Logic Controllers (PLCs) are the core control devices in Industrial Control Systems (ICSs), which control and monitor the underlying physical plants such as power grids. PLCs were initially designed to work in a trusted industrial network, which however can be brittle once deployed in an Internet-facing (or penetrated) network. Yet, there is a lack of systematic empirical analysis of the run-time security of modern real-world PLCs. To close this gap, we present the first large-scale measurement on 23 off-the-shelf PLCs across 13 leading vendors. We find many common security issues and unexplored implications that should be more carefully addressed in the design and implementation. To sum up, the unsupervised logic applications can cause system resource/privilege abuse, which gives adversaries new means to hijack the control flow of a runtime system remotely (without exploiting memory vulnerabilities); 2) the improper access control mechanisms bring many unauthorized access implications; 3) the proprietary or semi-proprietary protocols are fragile regarding confidentiality and integrity protection of run-time data. We empirically evaluated the corresponding attack vectors on multiple PLCs, which demonstrates that the security implications are severe and broad. Our findings were reported to the related parties responsibly, and 20 bugs have been confirmed with 7 assigned CVEs.

    #ResearchPapers #arXiv #SCADA #ICS #PLCs

    __
    ¹ arxiv.org/abs/2212.14296

  30. This month, I’m going to wrap up discussion of network troubleshooting tools. So far, I’ve covered netstat, tcpdump, and ngrep and sniff. This month, I’ll discuss Ethereal, a tool for browsing network traffic interactively and analyzing network traffic. To put it more emphatically, Ethereal is the all-singing, all-dancing, packet-inspecting tool that all admins should have in their software toolboxes. Ethereal is capable of capturing packets for analysis or reading saved packet captures in a number of common formats. Ethereal support libpcap/tcpdump, Sun’s snoop/atmsnoop, LanAlyzer, MS Network Monitor, HPUX nettl, AIX iptrace, Cisco Secure IDS, and a number of others. (The full list can be found in the FAQ.) Ethereal supports more than 530 network protocols. You can also see supported protocols by selecting “Supported Protocols” from Ethereals Help menu. The Ethereal Interface I’ll start off by taking a look at Ethereal’s interface. Ethereal has a 3-pane interface that shows the user a great deal of information in an easy-to-use interface. The first pane shown gives a summary of captured packets (see Figure 1), displaying the packet number, its source and destination, protocol, and information about the packet. The middle pane gives detailed information about a selected packet, and the bottom pane displays the packet itself in a hexdump style. Note that you can edit the columns in the second pane using Ethereal’s Preferences dialog, found under the Edit menu. A particularly spiffy feature of Ethereal is that it will highlight each part of the packet when you click on the information in the middle pane. For example, let’s say you capture some traffic between your desktop and a Web site, as you’re requesting a Web page. In the first pane, you click on the packet containing a GET request. This displays that packet in the second and third panes. Then, you can click on a particular bit of information contained in that packet in the second window — like the packet’s source — and it will highlight the section of the packet that contains that information in the third window. Of course, you need some captured packet data to display. The Ethereal Web site features some interesting sample captures. They also have several capture formats so users can test Ethereal’s multi-format capabilities. Even if you don’t have much in the way of interesting traffic, it’s a good idea to familiarize yourself with Ethereal’s packet-capturing capabilities. The CTRL+k hotkey will bring […]

    https://dissociatedpress.net/2004/08/24/the-open-road-ethereal/