Category: Reflections

  • Week 13 Reflections

    I did correctly represent the times I had available in which to attend the Artifact presentation. And yet, we ended up with the presentation taking place on Friday afternoon anyway! This was an excellent, excellent way for everything to turn out for me, as it gave me a little bit of extra time to get everything ready(ish) for the presentation.

    Originally, I planned to have a “proper” presentation, by which I mean a Powerpoint with slides and bullet points and everything else… but in all honesty, it just wasn’t happening. Rather than trying to make it “official” and business-like, I chose to simply tell a story–I know the community I was building for, I know the background, I have a relatively good understanding of the people involved and the various conditions influencing the course of events… telling the story and demonstrating the Artifact I created just felt more natural and more honest to the material.

    And I think the presentation itself went relatively well. I talked too much and ran into the time I had planned to allow for questions, but at least I did manage to finish under 20 minutes and had a few minutes for questions at all. I classify that as a success, overall.

    This was the working setup of TediCross, using two test bots, a test group on Telegram, and a test server on Discord. I also showed my configuration file during the presentation, but I won’t replicate it here–it’s largely default, and I don’t really need to share bot tokens and channel IDs with the wider Internet!

    These ended up being my notes for the presentation. Yeah… far, far from a Powerpoint presentation, I just wrote down my reminder points and spoke from the heart, as it were.

    The other Artifact presentations were also interesting. Chi presented a website offering e-portfolios, and Damian presented a vibe-coded social networking website for gardeners. I even made a post about “salting the earth” on Damian’s site while he was presenting, just to see how it worked. (I wanted so badly to suggest a little badging system to designate longevity of membership… everything from “bud” to “new leaf” to “shoot”, etc… but mostly so that the system administrator could be designated “root.” I didn’t want it to be all about me cracking jokes, though.)

    And so I’m now at the end of COMP650: Social Computing. As I sit and reflect back on the entire term… while it’s a relatively small sample space so far, I feel like I’ve done the most learning in this course. It’s not the sheer amount of reading (though that has been very high!), but the reading has been… less targeted, if that makes sense? Like, COMP695 has also had a substantial amount of reading, but it’s been very tightly focused on extracting bits and pieces of techniques and methods from the readings. In contrast, the readings here have been much wider and not targeted on specific points. Rather, they’ve been based on entire topics. That means that what I’ve read, I’ve read out of pure interest, which means a lot more time spent and detail ingested from the readings that I have done.

    The course isn’t what I thought it would be originally, or even on the second glance. It’s weird to think about it, but it wasn’t even on my short list for potential electives originally. Even once I identified this as “Actually, this should be one of my primary goals, if I get the chance,” it turns out I didn’t understand the course at all. We definitely examined some of the topics I had in mind, but… in a very, very different way than I had thought. It wasn’t “Here’s the points that you should learn,” but “Here’s the field… here’s some things to ponder, maybe… otherwise, go nuts!”

    Honestly, I still like Brightspace as a system (about as much as I liked Moodle), but I do recognize that it’s… mismatched, is probably a good way to put it, against the content and format of this course. Whatever else it might be, Brightspace is not any sort of social networking platform, and the format for this course really kind of seems to work best with a relatively tight set of social interactions. If everybody is reporting on their thoughts and reflections, and everybody else can absorb that and emanate their own thoughts and reflections in return… a bit like a nuclear reaction, you need all of those thoughts emitted in an environment where they will collide with other course participants in order to spark new reactions. If everybody goes off to their own corner, then even if they reflect in private, you won’t get the same critical reaction.

    The Landing might be much more optimized for this. I think you could replicate it to an extent, even without necessarily using the Landing, but… you need that relatively cohesive, tight environment in order to sustain the (social) reaction. Rather than every participant setting up their own kind of learning diary in a location and format of their choice, selecting a platform and instructing people to use it to create their learning diary would offer the advantage of being able to ensure all the participants are working in (relatively) close (social) proximity to each other. If the platform offers an easy “friends list” (or the Landing’s circles, I think?), so much the better for ensuring everybody has fast access to everybody else’s output. That would, essentially, produce more optimal conditions to sustain an increased reaction rate. But Brightspace alone is simply not going to be able to produce the conditions needed for this.

    I won’t be taking two courses concurrently again if I can help it at all. I didn’t want to be taking two concurrently, but that’s how it worked out with the course offerings. And that, combined with still working full-time, made it exceedingly difficult to juggle both course loads and get my posts made on time. That didn’t help things at all, I’m sure. But, if I look on the bright(ish?) side, I can also take that as confirmation that I definitely cannot sustain that in future.

    And now… to compile the portfolio and map the learning objectives. (I was rather pleased to be able to link back to the previous unit where I had remarked on creating a map, because that’s really exactly what we’re doing here… creating a map for marking the prodigious amounts of output I have verbosely blathered on to create.)

    This has been a most rewarding segment of my journey. I look forward to unlocking still more in the future.

  • Week 12 Reflections

    Continuing work on the Artifact.

    Well, I did get a Discord bot stood up, along with my Telegram bot… and once I created a Telegram group and a Discord server and added the bots to their respective groups, I was also able to finish the setup of TediCross and cross-post between the two services. That’s a success!

    Dr. Dron had some office hours this week. I’m glad I decided to attend the first one–I had fully intended to visit the last one as well, but I had overlooked a time collision there. If I hadn’t gone to the first office hour, I would have missed out entirely.

    And that turned out to be really important. We’ve heard the phrase several times this term, “We shape our buildings and afterwards our buildings shape us.” (Churchill, 1943). I don’t recall whether it was this exact quote or a derivative that sparked a new thought for me this time… but the thought occurred to me that this is notably true for the community that I have in mind while building the Artifact.

    Specifically, the community left another service, Slack, because certain individuals felt it was too ordered. The community was closely divided at the time, and I had originally managed to convince them of the benefits of remaining within an ordered environment while I was “managing” the community directly, but it was still a very narrow thing between the people who wanted to use the tool to collaborate and the people who disliked the tool because they wanted to keep all their socializing in one service (Telegram, in this particular locale).

    Of course, once I was no longer “managing” that community, things changed. More to the point, I was replaced by the person who was leading the push to dump Slack (and all the “old ways” and “outsiders”) from the community. This they accomplished.

    Anyways, it struck me that what happened was essentially a reshaping of the community to suit that particular person. Said person is no longer “managing” the community, but the legacy lives on. And while I have identified the current problems, confirmed via research that my instincts about a more effective team communication structure seem to be heading in the right direction, and even built out a theoretical, proposed solution to help the community transition into that better direction… I never stopped to delve deeply into precisely why they moved away from structured communication in the first place–or, even more importantly, why so many members of the community followed without complaint. Because there’s no point building something better if the community, as a whole, will not choose something better.

    So. What did people gain by leaving a structured communication environment and going to a service where the communication was more opaque and confusing to deal with? What was the attraction? In fairness, there were probably several. I don’t deny that, for a lot of people, there’s a lot of convenience in being able to keep business and socialization in the same place. I don’t think it’s great, but so what? One of the biggest complaints about Slack was that it felt too “business-like.” And… that’s also where the complaints–from the community, at least–ended.

    But what about the main person who was pushing to move things to Telegram? They happen to be a recognized narcissist, going so far as to refer to themselves as the emperor (!) of the entire city. And they take special pride in always being involved in everything they feel is even remotely important, taking any changes that might affect their access at any point in the future entirely personally. To this person, moving everything to Telegram is a huge benefit–if they are the only person in all the groups, that gives them greater information control and greater leverage in the group. (You could argue that would have the potential to increase their social capital as well, but everybody also knows the person cannot be trusted. With the one exception that they will always reliably do whatever benefits their ego the most, regardless of cost to anybody else.) The chaos personally benefits them, to the detriment of the community as a whole.

    I did a bit of research on this, hunting down articles about narcissism and chaos. That was not entirely useful–I did find an article describing a “network model” of how narcissistic personalities may respond to social media conversations, but judged it ill-related to the current question. I also found Mazella’s essay about narcissistic personalities and chaos. While useful from a psychology standpoint, it didn’t tell me anything specific about how this might influence the community, or why the community might choose to follow them into a less productive, less resilient style of communication.

    Eventually, however, I also came across Gruda et al.’s work on leader narcissism and follower engagement. This looks to be a solid, in-depth assessment of what traits in followers might predict greater engagement with narcissistic leaders, and that’s pretty nearly exactly what I’m hunting for. Specifically, they’ve shown that follower agreeableness and neuroticism are positively correlated with narcissistic leader interaction, while follower conscientiousness was negatively correlated and extroversion did not seem to be correlated. There’s also an effect of popularity (or perceived popularity), where the correlations are all stronger for more “popular” narcissistic leaders.

    This, then, is a key that I was missing. Many people in this community are highly agreeable and want to avoid conflict. There’s also a relatively high degree of neuroticism (and also, a relatively low to moderate degree of conscientiousness–many people seem to only do things when it’s personally convenient for them). These are all attributes which correlate with greater engagement with a narcissistic leader! Far from being incomprehensible or somehow a mere error in judgement, the members of this community were already primed to follow the narcissistic leader into a more chaotic environment that personally benefited him and him alone. And that’s not something I had identified before.

    So how does this change the Artifact, if at all? I’m not entirely sure that it changes anything, per se. But my perspective on it has certainly shifted. Absent “managerial direction” from a leader in the community, many people are likely to stay in the existing system, with or without a TediCross bot. But… hmm, how do I put this?

    I identified a major drawback to people trying to enter Discord–without managerial input, everything of value stays in Telegram. By nullifying this drawback, I hoped that the “better system” of structured communication present in Discord would essentially be able to assert itself over time and become the preference of the community. But perhaps that was misguided of me. It is necessary to nullify that drawback, but not sufficient. Yes, people could then use Discord and enjoy the benefits… but the majority of the community’s members will clearly choose chaos willingly, if it means following a “strong” or “popular” leader. A technological measure cannot solve that conundrum alone.

    And this, then, takes me back to an idea I had in Week 4, that of a “senior cadre.” At the time, I was thinking of it in terms of normalizing different viewpoints within a community in a non-threatening, even encouraging manner. If I borrow from my own idea, I now think that fostering such a group of respected “senior” members of the community, openly encouraging people to use whatever tool is most comfortable, might provide the missing component. Even absent a clear signal from the leader in any given situation, creating and reinforcing a norm of “use what you like, there’s no judgement about what’s ‘right’ or ‘allowed’, even us senior folks use a mix–some of us use Discord, others use Telegram, and we all work together in harmony anyway” may, through example, encourage some people to stick with whatever tool they feel is best. For some, that might be the chaotic-but-convenient option of Telegram. For some, that might be the more-organized option of Discord. But it will take social, person-to-person normalization to make that freedom of choice acceptable to the community as a whole.

    At least, that’s what I think now.

    References:

    Gruda, D., Karanatsiou, D., Hanges, P., Golbeck, J., & Vakali, A. (2022). Don’t go chasing narcissists: A relational-based and multiverse perspective on leader narcissism and follower engagement using a machine learning approach. Personality and Social Psychology Bulletin, 49(7), 1130-1147. https://doi.org/10.1177/01461672221094976

    Mazella, A. (n.d.). The need for conflict: The psychology behind chaos and conflict. DRMAZELLA.COM. https://www.drmazzella.com/the-need-for-conflict-the-psychology-behind-chaos-and-conflict/

  • Week 11 Reflections

    Continuing work on the Artifact.

    I read more through Order from Chaos. The idea of architectural control appeals to me in its elegance, but I can’t help but feel like I would be losing out on the ability to communicate norms and standards directly. To some extent, I realize, that’s the whole point–let the architecture of the system serve as the means to create boundaries for group member participation, rather than working on normative control or managerial control.

    Regardless, as a practical matter, I don’t think architectural control is going to be present in this Artifact. First, I don’t think this is a good fit for the community I have in mind! We’re tied to a physical event, where people need to know how to behave as hosts and how to perform their tasks effectively. Constraining behavior through the architecture of a digital environment is not going to be sufficient. Second, if it can be used effectively, it would need a lot more time and thought to puzzle out. Particularly since I’m not 100% on how I would even begin to translate that structure into something that also works in meatspace. Third, there’s the simple fact that this particular community does remain (by necessity!) attached to an actual non-profit corporation. It would take quite a bit of… creative restructuring for the corporation to run events through a community that officially has no leadership at all. For the non-profit, there needs to be somebody officially in charge to whom authority can be delegated!

    More of my time has been spent pursuing the idea of bridging Telegram and Discord. Both Telegram and Discord have bots, but I don’t have a solid understanding of the “plumbing” of either service, frankly. That said, after doing some digging and investigation, I was able to find a bot that’s intended to do exactly this–bridging Telegram and Discord. Perhaps fittingly, it’s named TediCross. (Cross-posting between “Te”legram and “Di”scord. Honestly, it’s the kind of name I would come up with, too!)

    Now… it uses Nodejs. Because of course it does. I dislike Nodejs mostly because it has its own package manager. (The same way and reasons I dislike Python, for that matter.) This is a bit of a detour, but I dislike having multiple package managers doing things all on their own in a system. In Ubuntu, if you want to update pip… how do you do that? You can have one version installed by the system package manager… you’re prompted to update it, though. Okay, how? Do you have to be root? Does that do the system-level pip, or the user-level pip? Does that overwrite or break the system package? Or does it just leave it a mess? Now repeat that for most of your other packages, and I can confirm that yes, it is a mess. Any time I do anything with Nodejs or Python, I essentially have to configure a virtual machine just for that one task, to make sure it can’t contaminate anything else, and then bury it when that task is done. Contrast this with PHP, where I can just fetch the modules I want using the system package manager, or otherwise do the install myself, and there’s no messing around with separate package managers or supply-chain attacks. (Yes, I am opinionated.)

    ANYWAY, I thought I’d give TediCross a try. I mean, I like the name, and it looks like it should do what I’m aiming for. I decided to run Nodejs on my Windows desktop, and I started with the standalone ZIP file. I also downloaded the TediCross stable release as a ZIP file. Then I tried to run them.

    Hoo boy. Well, there’s a bunch of errors. Some of it honestly looks like the commands for NPM or other Node programs just weren’t being interpreted correctly. Right, well… fine then. I downloaded the proper installer for Nodejs and ran that. The install is relatively smooth, but then it also needs to install Chocolatey and a bunch of other stuff because some of Node’s libraries actually have to be compiled natively. Doubtless this is what was making such a hash of things before? So I do that, including waiting for Visual Studio and all the other components to come down. Even reboot my desktop.

    Aaaaaand… nope. Still have a pile of errors, though the errors have changed now that the libraries can actually be compiled. I fiddled with that for a while, before deciding that maybe I should try the dev version instead of the actual stable release. This got me a LOT further, and I now have a version of TediCross that I can run on my Windows desktop. Might be a little rough around the edges, but as a proof of concept for the Artifact, I think we’re getting somewhere.

    I’ve created a Telegram bot before (not successfully, but hey), so I’m at least somewhat familiar with the @BotFather. But I’ve never created a bot with Discord, so I feel like I’ll probably take that side of it a little slower, just to make sure I understand what’s being created and what needs to be set in order for this to work…

    References:

    Massa, F. G., & O’Mahony, S. (2021). Order from chaos: How networked activists self-organize by creating a participation architecture. Administrative Science Quarterly, 66(4), 1037-1083. https://doi.org/10.1177/00018392211008880

    Sabathil, L. (n.d.). TediCross. GitHub. Retrieved July 13, 2025, from https://github.com/TediCross/TediCross

  • Week 10 Reflections

    Field Trip #3: I suggested Wizard101, but I was almost expecting one of my fellow students to shoot it down. To my surprise, they did not, and we wound up there this week!

    One of the biggest things I wanted to show people in Wiz was the chat systems. It’s somewhat restrictive for new users to learn, but it’s clear (to me) that a lot of time and effort went into the design and refinement, with one goal in mind–making it safe for children to use.

    For those under 13, Menu Chat offers pre-selected canned phrases and commands. Some of these can be quite complex, and there’s a lot of alternate expressions that can be used for different “flavor” in communication.

    Text Chat is available for users 13 and up. This is more flexible, but even then, it’s not as simple as you might expect. There’s a filter, but it’s not a blacklist. It’s a contextual whitelist. The whitelist part is easy enough–it understands “neighborhood” (the American spelling), but not “neighbourhood” (the Canadian spelling). So it allows one, but preemptively filters the other. The contextual part is more interesting to me–individually, the words “in,” “your,” and “pants” are all allowed. But string them together, and “in your pants” is immediately blocked. KingsIsle figured out quickly that it wasn’t sufficient to only block particular words; compound phrases composed of innocuous words could quickly become problematic as well. So the whitelist must also have a human-coded understanding of context.

    We couldn’t test this during the field trip, because it requires actually putting money into the game, but from experience I know that Open Chat is also available for users verified 18+. That uses a standard blacklist to filter profanities, rather than the contextual whitelist. It’s therefore the most open and freest chat experience available, given it’s intended for adult users. Users can only see chat from other players at their level. So as an Open Chat user, I can say many things that will appear censored to Text Chat users. And both of those will be completely invisible to Menu Chat users. So there are indicators in the text balloons and user nameplates to show what each person is capable of seeing, in order to allow users to calibrate their outbound communications appropriately.

    No, there’s no voice chat in the game, but the chat systems have had a lot of thought and design put into them, and I’ve always thought that was worthy of respect and technical appreciation.

    On a more administrative level, I sort of wish we had created a channel for voice communication, rather than just text chat outside of the game. Juggling two different forms of text chat in two different applications is a little more challenging than one text chat in game and voice in the background to relay things like “And here’s how it appears when I type…” Ah well. It was still a good learning adventure, I would say.


    Artifact: So. This starts with reviewing the background of what exists, why it exists, and how it’s not working.

    I assist with a non-profit. It runs several community events, staffed entirely with volunteers. By design, the non-profit doesn’t want to get involved in the day-to-day of the individual events, but does provide infrastructure that is intended to last through multiple years. (Volunteers come and go, but the infrastructure needs to stick around and be maintained.) Volunteers are always a resource we could use more of. Some of our existing volunteers work for more than one event, and any event will often call for assistance from their “sister” events.

    One style of event coordination is to have a series of separated groups in Telegram. Nobody sees anything except for the groups they are already in, and there’s no way for people from other events to be able to offer advice or support, unless they’re first invited into a specific group… which they may not even know exists. It’s therefore difficult to coordinate people effectively, because people in one group may be discussing one plan while the main group is discussing a different plan for the same task, and neither of them realize this until the two plans collide.

    My considered solution to this was a single, centralized Discord server for the non-profit. Each event could have a “folder” of channels dedicated to them, with a single “general” catch-all for cross-event chatter. Within each event “folder,” multiple channels could be created, whether for departments or even specific events within the main event… that would be up to each individual event to determine for themselves, and they could also manage their own permissions, to determine who can post in what sections (for example, a main “announcements” channel might have posting permissions limited to specific people). Volunteers at different events could then “drop in” and get excited about what’s happening, be encouraged to assist with their sister event, and freely offer suggestions or support as needed. And since people can see what groups already exist, there’s less chance of accidentally losing track of people or having particular departments grow too isolated.

    That was my thinking, at least. There’s just one slight problem–people aren’t using it. Volunteers have been “allowed” to join the Discord server, but without buy-in from the main planners in the event’s community, there’s no actual usage and therefore no momentum or critical mass which would allow the benefits to become visible.

    Some of this is due to the particular event’s unwillingness to listen or be guided by those they do not judge to be part of their community. Some of it is also due to their insistence that they continue to use Telegram regardless of its less-than-optimal group interaction, even when volunteers ask for a better alternative.

    This leads me to research. This is very much a problem of a social network, without having anything to do with platforms or specific services (at least as I see it). Yet I wasn’t entirely sure how to phrase what I was looking for, and my search ended up being somewhat general to groups, social networks, and chaos. (This was mostly because I wanted to determine what about a group might pull it towards a chaotic system of hidden subgroups rather than an ordered approach of group-visible subgroups.)

    Two research papers caught my attention, and I’m reading through them now. The first, Order from Chaos, is an interesting read (and a long one, which is why I’m still digging through it!) about how collectives might try to avoid “managerial control” and still deal with the challenges of coordinating collective action for a common purpose. It caught my eye largely because that’s exactly the struggle I can see in this particular group–they don’t want to be “managed” or controlled in any way, and especially by any “outsiders” to their community. (Which still frustrates me–their definition of “community” is geographically-bound and takes no account of other commonalities.) So possibly I might glean some alternate thoughts on structure from this. But, this group does exhibit a desire for some managerial control; they’re just choosy about whom they allow in that role. So I’m not entirely sure that this entirely fits the bill. I’m not trying to rewrite their entire internal structure, just trying to figure out what they might be seeking by avoiding an ordered, open approach to their internal communications and coordination.

    (I did find it particularly funny when I read the line: “Despite the shared motives of individuals devoted to direct, inclusive participation, their intentions for social change often dissolved into an ‘endless meeting’ in which they struggled to make decisions.” That is 100% what happens, every single damn time! Everybody’s frustrated when no decisions are made and there’s so much time spent, but everybody’s frustrated when somebody else makes a decision or says “we’re out of time to spend on this one topic.”)

    Team Social Network Structure and Resilience was a shorter read, and was a fascinating simulation of team performance using either random or scale-free-like patterns of interaction. The analysis confirms what I would expect, namely that a higher-degree of interaction among everybody on a team leads to a greater degree of resilience and higher performance. The even distribution of a random pattern provides this. In real terms, it never hurts to hear ideas from people outside your department as well as inside of it. If you only listen to people in your specific department, there is a much higher risk of groupthink, tunnel vision, and other social conditions. Plus, as a volunteer organization, it’s really quite difficult to get up any sort of excitement and motivation if nobody knows what you’re doing, and you don’t know (and can’t find out) what anybody else is doing.

    The alternative that was examined, scale-free-like pattern, is somewhat similar to the existing setup, but not completely. There are indeed only a few hubs–people who are in multiple subgroups–but I expect there’s more interaction within the subgroups among those members present. This seems like it would be more like what is identified as a block-diagonal pattern, which is more modular. But for my purposes, I think it’s reasonable to say the open-access (randomized) pattern seems to be a better option to shoot for.

    So… how to do it. To some extent, I think the biggest problem so far has been that, absent a managerial decision to push towards Discord, there’s really no benefit for anybody to be in Discord. There’s no conversations happening there, and you have to be in Telegram in order to see anything or get anything done. But what if those two were bridged, such that people in Discord could be heard in Telegram, and people in Telegram could be heard in Discord? This is what I think I want to experiment with, at least right now.

    References:

    Massa, F. G., & O’Mahony, S. (2021). Order from chaos: How networked activists self-organize by creating a participation architecture. Administrative Science Quarterly, 66(4), 1037-1083. https://doi.org/10.1177/00018392211008880

    Massari, G. F., Giannoccaro, I., & Carbone, G. (2023). Team social network structure and resilience: A complex system approach. IEEE Transactions on Engineering Management, 70(1), 209-219. https://doi.org/10.1109/TEM.2021.3058237

  • Week 9 Reflections

    I like teaching people who want to learn. Functionally, it’s just talking, but I like to put the material in a context and framework that (ideally) helps it make sense. I also like to make sure people understand the “why” and not just the “is.”

    With that said, I think I started by approaching this incorrectly. Mm… perhaps not “incorrectly,” so much as incompletely. I wasn’t focused so much on making sure that the topic had references and additional information, so much as I was thinking about explaining something I had already been digging into. But adding the references 100% made it stronger and added more robustness to what I was writing. And as a definite bonus, I got to read up on Stick, and now I’m looking forward to seeing more potential social applications implementing that (or something like it).

    Normally, I shoot videos pretty off-the-cuff. I’ve tried writing out a “script” before, and it wound up feeling incredibly artificial and a little forced. (Plus, technical issues with pacing.) But in this case, I think my second attempt at the explanation (when I wrote it out underneath the video in the post) was stronger and more cohesive. It also gave me the chance to re-think and re-order some of my thoughts, or to go “You know, this doesn’t really work as a cohesive part of the entire discussion, how can I rephrase and refocus it?” If I was going to do this again, I might consider writing out the explanation first–not so much as a “script” of any sort, but just for the exercise of collecting and sequencing my thoughts appropriately. Then I can still shoot the video part spontaneously, but with a more refined idea of how to approach what I want to share.

    The concept map was a bit of a challenge. From where I sit right now, I can certainly identify some concepts, but not as many as I would have thought. I feel like a lot of my exploration during this course has been less about learning entirely new concepts, and more about the exploration of existing concepts. Plus a bit of the usual (for me) gluing together of thoughts and insights across various areas. (And honestly, I think the thing I learned that excites me the most is the section on self-determination theory! That little section alone is going to be something I’m digging into for years, honestly!)

  • Week 8 Reflections

    The reading this week was less structured than usual, if only by virtue of the fact that there are many possible protocols to read up on, and not all of the documentation for them is… especially readable, let’s say.

    Still, it was good. It was good to refresh myself on OpenID and Signal. ActivityPub and AT Protocol are newer, and I hadn’t read up on them at all. I was slightly familiar with Mastodon and Bluesky, but I honestly had a lot of misconceptions about the limitations of Bluesky–AT Protocol is much, much my decentralized and flexible than I had understood it to be. I actually have a lot more respect for AT now. (And somewhat less for ActivityPub, if I’m honest? Why do all actors have to have a record of what they’ve liked? It’s a design choice, I grant you, and clearly the protocol is working, but… well, I guess I just disagree with the wisdom of that design decision.)

    Designing my own protocol, on the other hand, was a lot of fun! I feel like I got too deep into the weeds, working out lots of little details and losing sight of some of the big-picture stuff… I tried to avoid that by writing out the top-level goals first, but I still feel like my mind wandered. It’s very much a first draft, not a finished product–there would be a lot of refinement needed, complete with streamlining and reorganizing the “document” (such as it is) to make sure everything was logically structured. Still fun, though. It was an opportunity to let the geek out a bit.

    I do feel like the protocol I came up with is very strongly based on AT Protocol. That’s a sign of how impressed I was with it, I suppose. But I also wanted to get a little bit of the flavor of the old LiveJournal access controls in there, and Signal’s use of multicast encryption for group chats was also a solid idea. I’m not as strongly versed in the details of multicast encryption as I am normal public/private key encryption, but if it’s in Signal, it’s been vetted and is cryptographically sound. May as well use it where it will be of benefit! (I’m not entirely convinced I’m using it correctly in my spec, but that would be something to be re-addressed in later revisions.)

    I might actually dig more into AT Protocol and join that network. The fact that I can use my own domain and my own PDS is a strong plus. Even without access controls, there’s some limited utility in having a short-form broadcast point available that isn’t ExTwitter. (Which I was never happy with and only signed up on because, if I didn’t, somebody else was going to create the account for me.) Mastodon was interesting to research, but I don’t think it’s the right network for me.

    Never thought I’d come out of this course all fired up on the technical details underpinning Bluesky, but there you go: we never know where the learning journey will take us. That’s why we have to keep an open mind along the way!

  • Week 7 Reflections

    Not as much reading this week, largely because I had already read several of the suggested resources for this unit in previous weeks! Which probably says something about how I approach social technology, all in all. The phrase “eyes wide open” comes to mind.

    Honestly, I’ve been navigating the issue of privacy for a long time, including the moral and ethical issues involved. I know that “privacy” can be a double-edged sword. I run a Tor relay node, and I’ve taken a stab at running exit nodes in the past. Some would ask “Why??? Isn’t that the dark web, where all the criminals and drug lords are?” Except, as with so many things, it’s more than that. The Tor network is also the largest (and one of the most durable) censorship-resistant networks on the planet. When users in China or Iran want to bypass the content restrictions placed upon their network access, Tor is one of the ways they can reach the outside world.

    The tradeoff for allowing people more freedom is that more harms will result. On balance, I believe that allowing people to bypass content controls is the greater benefit, because the alternate path of allowing governments and corporations to dictate what we are “permitted” to see and learn would eventually extinguish all free thought. Further, controls affect the honest people first–it’s not criminals and ne’er-do-wells who are immediately curtailed. And for those who say they have nothing to hide: that’s good to hear; now may I please have your name, social insurance number, date of birth, and mother’s maiden name? The truth of the matter is, we all have some information that we fully expect to keep private, hidden from those who we judge have no need to know.

    So in some ways, this unit was easier to navigate for me, if only because I’ve been actively working in and thinking about this material for easily 15+ years. But revisiting highly negative experiences is never easy.

    A lot of my thinking is that all the ethical questions end up coming down to individual decisions. Whom do you trust? You may never know what their decision would be… but can you at least trust that they will think deeply about it and have an informed moral framework that they will try to employ while balancing the various goods and harms for those affected?

    The most difficult thing for me is finding the people whom I would trust to have those conditions in operation. I’m a big believer in the idea that those who demand your trust are not worthy of it. I can offer myself for service; I can’t demand it. Further, if I am to be worthy of trust, I cannot demand that I be the only person holding the keys. There has to be more than one person who can intervene, because that’s just good system design. A single “trusted” person is a single point of failure at higher risk of attack or subversion.

    As an admin, I also believe strongly in a modified version of the phrase “Power corrupts; and absolute power corrupts absolutely.” My modification is that it’s not the possession of power that corrupts, but the usage of power. If I hold all the keys but never permit myself to use them, then I am not corrupted. But every time that power must be used, no matter how good the usage was, it corrupts the soul a little bit. The taste of power employed is, for many people, an extremely addicting feeling. I am not immune to this. My goal in any sort of admin situation is to avoid having to use the tools of power, because if ever I start to view power as a right or an entitlement, then I am no longer fit to be an admin.

    If more people held to such an approach, informed themselves about the ethical dilemmas involved, and committed to getting involved and sharing the load (in any community!)… would the outcome not be a greater use of ethical principles in society? Greater understanding of each other’s struggles in determining the best course of action, and therefore more tolerance towards honest leadership? Would that not be an overall benefit?

  • Week 7: Legal and Ethical Issues (part 2)

    At one point, I was coordinating a group of about 20 people playing a geospatial game, using a private group on a Slack instance. We had recently removed a very problematic member from the Slack (he openly admitted to stalking and threatening female players on both teams because he believed they “deserved it”) and he was very upset by being ejected from the community. As I was an admin for the Slack, he also blamed me for executing the community’s decision and terminating his account.

    So at this point, the person was not in the Slack instance at all, let alone in the private group.

    While I was coordinating everybody, this problematic (former) member opened a message to me through Google Chat. I observed in Slack that he was messaging me, and I immediately received a physical threat in Google Chat to stop talking about him, or he would find and assault me offline. I observed in Slack that he was now threatening me as well, and he immediately responded in Google Chat by increasing his threats.

    Clearly, there was a breach in security here. It disturbed me on multiple levels. Not only was this person clearly privy to general conversations on the server, but also in this ostensibly private group. We had removed him because of his behaviors, and yet clearly he felt safe and anonymous enough to issue threats to stalk and then physically assault me, while revealing that he had still had access to the community in some fashion or another. It would have been one thing to say maybe a new account had been created that slipped through vetting… but in this private group of roughly 20 people, all were accounted for and known players. That left either service compromise, account compromise, or some player’s active collaboration with somebody who was known to be actively trying to do harm to the community’s members. And receiving threats of physical harm in an attempt to intimidate me was also distasteful, to say the least.

    What disturbed me about this? The violation of trust, for one–this was supposed to be a team-only server, and then a private group within that team, with people who were all known and trusted to keep their accounts secured. The service itself was not known to be compromised, and the problem person was not technically accomplished enough to a point where I believed him capable of creating a new compromise. That left active collaboration… but that should have been almost unthinkable.

    Further, we had evicted the person from the team because his actions were a threat to player physical safety. He also continually referred to himself in Messianic terms, and that created additional concern for people–there was real possibility that he might decide somebody “deserved” to be assaulted, and he would then follow through on that because he, as the main character, was inevitably correct and justified in everything he did. He literally could do no wrong in his own eyes. While we had contacted law enforcement, we had been told that they could not do anything unless a law was actually broken. That’s understandable, but the community needed to protect itself before somebody was seriously hurt or killed by this aggressor.

    However, there were some people in the team who felt that the person was just playing a persona and was cool to hang out with. They were against removing this person from the community, but had acquiesced to majority opinion when the person wouldn’t apologize or moderate his behavior.

    I don’t (and never will) know why this person thought he was a Messianic figure, or why he felt this justified stalking, harassing, and threatening physical harm against people who didn’t give him the adulation he thought he deserved. Perhaps the most logical explanation I can construct is that he was mentally disturbed and needed expert attention or medication. Most of the alternate hypotheses I can see essentially boil down to the supposition that he is, simply, an evil person.


    In this particular case, we have some information on how this was able to happen. One of the players in the private group was in a relationship with the problematic person, and had left herself logged into Slack. He simply used her access. Now, accounts differ as to whether she had “accidentally” left herself logged in (and he used her access without her active participation), or whether she had deliberately left herself logged in as a way of partially assuaging his fury at having been evicted from the community. Either way, it was not service compromise, nor was it strictly speaking an account compromise… merely a misuse.

    There are a host of solutions that could be proposed for this situation. Perhaps the first one that deserves examination is the response of offline authorities: while the RCMP were not in a position to deal with someone who had not yet committed a crime (and I agree that they had no basis on which to intervene, much as we may have wanted them to), the behavior exhibited and admitted was still very problematic. So, perhaps a different sort of intervention, something similar to calling upon child protection services where, if multiple reports were submitted, somebody might be required to go for assessment. Optimally, I would like their online behavior and offline movements to also be tracked, to ensure they do not lash out at people, but this I believe would cross a line–we are still, after all, talking about somebody who has not necessarily taken any unlawful actions. If the goal is to get them help, then actions which feel overly punitive are likely to be counterproductive.

    On the technical side of things, there are ways that services can allow users to expire all their user sessions at once. Admins can also trigger this for specific users, sometimes. But here lies a problem with that course of action: we did not know, at the time the threats were being made, whose access was being used to allow the problem person to snoop on a community from which he had been evicted. It might be handy to have a method to “instant re-lock” a private group, immediately suspending everybody’s access and forcing them to reauthenticate on the spot… but that will not prevent other players from intentionally reauthenticating and then allowing the problem person to maintain access under their credentials. It’s also an incredibly blunt tool–you would essentially penalize 19 “good” players by forcing reauthentication on all their devices, for the sake of rooting out the 1 “bad” player whose access was being misused (when they might just bypass it again anyway). And as group sizes go up, the number of people inconvenienced for the sake of attempting to block out the one problem account would increase as well.

    It’s also important to consider possible DoS attacks, for both of these proposed “solutions”. That is, if sufficient people submit reports, could somebody be unwillingly pushed to go for assessment? Yes, clearly! Similarly, assume some scallywag decides to keep hitting the “instant re-lock” button for funsies. That would also cause no end of troubles for everybody in the group, and could functionally lock them out of the community for longer periods of time. (I find that the flip-side of security is often outright denial of service, whether that is voluntarily, involuntarily, or self inflicted.)

  • Week 6 Reflections

    I had expected the readings to be somewhat difficult for me this week. They largely weren’t, which surprised me. Even “A Rape in Cyberspace,” which you might expect to be at least a bit of an uncomfortable read, wasn’t. Not so much.

    You know what it was, though? Familiar. The group dynamics afterward, as various members of the group tried to sort out where they stood… I’ve been there, in the role of an admin (or the wizard, in that scenario). I’ve seen the people advocating for lenience after lenience, even after the most heinous stunts. I’ve seen the offenders, casual and flippant as they declare that nothing really matters anyway and nobody can stop them. And I’ve seen people wrestle with reconciling a laissez-faire outlook against the moral clarity that wrong has been done and demands a response of some sort.

    Reading about the viewpoint of the trolls was incredibly difficult. I wasn’t surprised by how much it wound me up, but I was surprised that I still wasn’t able to set that aside and examine it objectively from a purely academic standpoint. Even when I was trying to do so. Maybe that’s a strength, or maybe that’s a weakness… but it is, if nothing else, a fact.

    I’m not sure that my thoughts on modifying group conversations are useful. I’m 100% sure that the functionality can be implemented, and in a privacy-respecting fashion, but I’m not as confident on whether any of it is a good idea in practice. I’m wary of building systems that will cause groups to fracture as the networks present rapidly become disjoint. At what point does the cure become worse than the disease? But even as unsure as I am about the wisdom of those changes, they are what I might currently propose as an effort to help curtail known problems in that environment.

    I wish I didn’t have to reflect on the problem of evil. There’s too much of that in the world as it is, and I want to explore the good things that can be built. I’m already aware of many of the problems. But it’s always going to be useful to revisit and reflect and ensure that nothing has been overlooked as knowledge and experience increase. So it may be uncomfortable, but I don’t believe that it’s without merit. It just leaves me feeling rather hopeless about the entire thing, is all.


    Field Trip #2: This time we met up in Gather! I haven’t ever seen or touched Gather before, so this was a fascinating experience. I honestly found the 8-bit style of interface to be really nostalgic. Like, this is right back to Furcadia and the pixelated MUDs / MOOs of old, but right in the browser and much more responsive. Less command-heavy, too.

    (Actually, I started off by installing the client software, but couldn’t figure out how to connect to the target world. Worked a lot better once in the browser.)

    I ran around for a while looking at the general way the public and private areas work, the desks, and everything else. And at first, I was really quite excited by this. I could immediately see how amazing this could be to replicate an office environment. Even if you were working from home, you could “be” in the office and walk around to have conversations with people.

    But the more I thought about it… the more I wondered why we would want to do that. Typically, if we’re working from home, we’re busy. I mean, helpdesk will be answering phone calls and working on customer systems. “Walking around” is more something the senior techs or project folks or managers do. What I was really thinking of was COVID! During COVID, none of us could see or interact with each other for weeks on end, and I imagine we would have welcomed some virtual socialization in a virtual office… but thankfully, we’re not dealing with a pandemic all the time. And absent that kind of external blockade on all socialization, I think the appeal of having a “virtual office” would quickly wear off and not be worth it.

    And then everybody else arrived and we could start experimenting. 🙂

    I liked how the video and audio faded in as you approached people. That’s a great feature. The games were adequate, but nothing to write home about. In a pandemic, that might suffice for a “staff outing” for half an hour or something (before people moved on to real games outside of Gather). The “follow me” feature was a good idea, and I can see that being especially useful in a larger virtual environment. I also liked the variety in sizes of private space. You could have a few people around a desk, or a one-on-one in a couple of chairs across a coffee table, or a solo “quiet” working environment, or a meeting room that bypassed the distance-based faders of public space–in the meeting room, everybody could see and hear everybody else, regardless of distance. That amount of variety seemed like it was well-considered.

    I think this is going to go into my bag of tech-tricks. Probably not something I’m going to suggest outside of another pandemic, but I like it and want to keep an eye on it.

  • Week 6: The Problem of Evil (part 2)

    Is it necessary, in order to truly combat evil, to become evil yourself?

    Let’s start by noting that I am usually very, very forgiving by nature. I like to help people. If somebody understands that they messed something up, I’m all about moving past the error, offering education or suggestions for next time, and encouraging them along the way.

    What I have much, much more difficulty with is the people who don’t care to improve, or are actively seeking to cause harm. Trolls, for example–they’re not just trying to wind people up. They’re actively causing harm, and they glory in it, believing that they are somehow above it all, or that the person they persecute “deserves” to suffer for having something as archaic as emotions.

    I would gladly rid the world of all of them. But I have the damndest time trying to reconcile this emotive response with the logical understanding that people do change and evolve over time. A troll that I would erase from existence today may be a changed person tomorrow. “May be”… but not especially likely to be. And the longer they are left to infect a community, or society in general, the greater the damage that can result.

    I imagine that most people would say that anybody who would wave a magic wand to instantly vaporize hundreds or thousands of people would be, by definition, evil. And therein lies my struggle: I know that change is possible. I believe that change is unlikely. I believe that the harm caused is grievous. I believe that preventing harm is a good thing. But erasing people from existence is… not. And the ends do not justify the means.

    I have certainly suffered. I’ve suffered the people who torment because they can get a reaction out of you. I’ve also been the admin, trying to police a community according to its own posted standards, granting a troll a second chance. And been taunted for it, taunted for being weak! And when the community had something like a 55/45 split of people wanting to see the troll removed for justification, I removed the troll–with the other 45% baying for all the admins’ heads for being so intolerant and exclusionary and unaccountable! Stirred up by the troll who cried those crocodile tears, while turning around and taunting and threatening others. Like, issuing physical threats against others, including myself. Nothing provable or actionable, of course, but enough to make people afraid.

    There are others who will offer a pleasant, sociable smile in public, but stir up trouble behind your back. Who delight in fomenting a mob to “cancel” whoever they decide to throw an unfounded accusation against. If you fight them, you become the aggressor. If you stand by, you let them poison the community and teach others to do the same. If you try to remove them, they will fight tooth and nail to stay, delighting in being wherever they are told they cannot be.

    And my experiences are not the worst. There are so many others who have suffered far, far worse. But even that taste has set me implacably against all the trolls, forever.