Category: Uncategorized

  • Configuring Mailbox.org and Addy.io

    I previously used addy.io (used to be called AnonAddy) with my Proton Mail account with no issue and no additional configuration. However, when I moved to Mailbox.org recently, I kept getting bounce-backs with unconfigured (misconfigured?) DKIM, DMARC, and SPF policies, despite having configured them in NameCheap (my host). Ugh. Issue appears to be the policies for my custom domain.

    After trying several things, one thing that works is linking Addy not to my custom domain on Mailbox.org, but the default Mailbox.org (xyz@mailbox.org) email that comes with any account. Those DKIM, DMARC, and SPF policies, which are set by Mailbox.org automatically, are intact, and Addy works seamlessly. Just remember to change the sender from xyz@customdomain.com to xyz@mailbox.org when sending an Addy-facilitated reply.

  • “Please add a picture to your student profile”

    This is a fairly innocuous request by one of my PhD advisors: please add a profile picture to your student profile so the rest of the faculty can recognize you during student review. The student review is a time when my graduate program’s faculty gather and each PhD student’s profile is discussed to make sure students are achieving satisfactory progress and/or provide opportunities for other faculty members to offer advice and support. (It is not as scary as it may sound.)

    My instinctual answer was “no! Why do the faculty need to know what I look like to assess my progress?“. My advisor points out that despite our small program size (40 students or so), research groups are spread across three buildings and faculty might know us by sight but not name. Perfectly reasonable.

    How is passing me in the hallway, or knowing that I prefer to start work early (and then leave early, to be clear) going to help them assess my competencies as a student? Sure, having exchanged pleasantries while heating up our lunches might give an idea of my general personality or lack of cooking skills, but these, again, aren’t concepts on which I’m being assessed. But, it bothered people that I was visually anonymous when it was time to discuss my progress.

    A colleague, overhearing the conversation, makes the fair point that it would be to my benefit to “personalize” myself by having a photo in my student profile. We then get into a discussion of what personalization (or de-anonymization) means and who benefits—mostly along the classical social lines of things that may or may not be conveyed (but are often assumed) through a photo (inc. race, class, and gender). Some of these values may or may not be conveyed by my name, but it’s somewhat impossible to be a grad student without a name. I’ve had versions of this conversation with a family for years in an ongoing argument over LinkedIn profiles (and profile pictures).

    What I find interesting about this entire exchange is that I have some degree of freedom to make a choice about whether or not I’ll distribute these identity markers. In this case, my advisor certainly isn’t going to punish me (though they would certainly be entitled to some annoyance regarding my stubbornness over such a seemingly trivial topic).

    I can’t help but compare this to something like the identity markers of an Amazon Mechanical Turk worker (or, “Turker”), who is prevented from sharing such information, by platform design. In some cases, I am led to understand this does benefit a worker who might be from social group(s) that have been historically marginalized or even discriminated against. On the other hand, the de-personalization has been argued to effectively de-humanize the Turker in the eyes of requesters.

    I truly don’t know what the balance is. In my case, I might just be making my life slightly harder for no good reason. At the same time, this very tiny quasi-ethnographic snapshot of anonymous data worker (what is a grad student if not a data worker?) makes me wonder about MTurk requesters. Platform requesters of data work are often white-collar professionals in research or industry for whom their professional identity is their professional value (or “personal brand” in corporate-speak).

  • Configuring Hetzner turn-key (“Storage”) Nextcloud with OnlyOffice

    *** Sad update as of 30 April 2025: due to incompatibility between the latest version of CDS and NextCloud, there has been a major bug (https://github.com/ONLYOFFICE/onlyoffice-nextcloud/issues/1066). Via email, Hetzner announced (https://status.hetzner.com/incident/e9878d8c-9875-49bb-ba10-3aa263957db2) they are discontinuing the built-in document server. Ugh. ***

    I recently switched to Hetzner’s Storage solution (from self-hosting via YunoHost on a raspberry pi), in preparation for a move, during which I wouldn’t be able to run my home server. After a fair amount of trial and error really just error, thanks to some help from r/Hetzner I figured out how to integrate OnlyOffice with Hetzner’s turn-key (“Storage”) server.

    1. Get OnlyOffice app: <HOST>/settings/apps/office/onlyoffice where HOST is your Hetzner Storage domain
    2. Go to the OnlyOffice admin page: <HOST>/settings/admin/onlyoffice and add your community document server location (<HOST>/apps/documentserver_community/). This also requires downloading the “Community document server” app, which weirdly I had trouble locating until using the search bar after several reboots.
    3. Save!
  • The problem with proxies

    AIES – 258: “The Problems with Proxies: Making Data Work Visible through Requester Practices”

    Link to qualification activity

    Link: https://gatech.co1.qualtrics.com/jfe/form/SV_e9Blg7h1sCWISHQ

    Link to paper

    Link: https://filedn.eu/lldOHjCIRMjfewo3JirFYqh/website-documents/Website/AIES-24-253.pdf

  • Zotero 7 and ZotFile

    I suspect know I’m not the only person out there that used ZotFile to manage their slightly-overflowing Zotero libraries. Turns out, ZotFile is incompatible with Zotero 7. After paging through a series of Zotero forum posts, I came across ZotMoov which functions more or less the same. I was pleasantly surprised to have no compatibility issues once I switched and could access all old files stored with ZotFile schema from ZotMoov.

    One major shortcoming of ZotMoov (while I do not use it, forum-goers appear displeased) is that the “send to tablet” option doesn’t have a clear equivalence, though there appear to be some workarounds available.

    My ZotMoov config was pleasantly simple; from the Zotero preferences or settings pane, a new tab for ZotMoov appeared post-install, and then I linked my cloud storage directories (blurred out for partial privacy) as I would with ZotFile. Voila!

  • Fedora 40 and the case of the missing wifi

    I’ve out-of-the-box transformed enough machines from Windows and MacOS to Linux that missing wifi is no great surprise. What is, however, an extremely unpleasant surprise is when functional wifi goes missing, as it has during the transition to Fedora 40. As it turns out, this is not such a big problem to fix, but isolating the issue itself was difficult. For the record, I had stable wifi on two 2015 Macs (one MacBook pro, one Air) both with Broadcom network chips, which are known to be finicky.

    Turns out in Fedora 40, MAC addresses are now stable. Good for privacy, but bad for my immediate wifi setup.

    Turns out the fix is not so bad. First, check chipset details to make sure chip is discoverable:

    lspci | grep Network

    output should reference chipset (e.g., 03:00.0 Network controller: Broadcom Inc. and subsidiaries BCM43602 802.11ac Wireless LAN SoC (rev 01))

    And wpa_supplicant is not yet matched with stable paradigm for MAC addresses, so downgrade it:

    sudo dnf downgrade wpa_supplicant

    Then reboot except as a hard reboot — aka, power off machine and then power back on, without continuous reboot.

    More information / original source: https://discussion.fedoraproject.org/t/wifi-networks-not-showing-up-in-setting-panel/127924/3

  • Operating a Kindle without Amazon (sort of)

    I suppose the title gives it away. After the untimely (only 13 years of use!) death of my 2011 Kindle Touch, I’d been in the market for a replacement. I’ve been trying to buy most (re- or non-programmable) tech products used, that I either feel confident I can fully wipe or don’t have to worry about wiping. Part “slightly less tech waste” and part “can’t shell out $200 at the moment”. To avoid Amazon, I wanted to buy a Kobo, but all versions I could find on U.S. sites (eBay, BackMarket) were pricey, which is how I ended up with yet another Kindle ($40 for a scratched up Kindle 7th gen that works fine). In a weak protest, I decided that this version would stay entirely (as much as possible) outside Amazon’s reach. In other words, I’m trying to use it without activating an Amazon account…I’ve connected wifi but try to use it in airplane mode in the general case.

    So far I’ve found a semi-decent workflow:

    1 – setting up the device. The setup sequence required signing in with an Amazon account once at some point; to escape it, I actually had to reset the entire device (apparently there’s “I changed my mind / misclicked” button). Annoying.

    2 – I’m loading my books from Calibre straight to the Kindle, with a data-capacity micro-USB cord. As far as getting my books…I’m not sure how well Calibre does with things like library books. I’m downloading files from books I’ve got access too online, DRM free.

    3 – for the dictionary, since I can’t use the Kindle store, I’ve found an original Kindle dictionary (specifically, Merriam Webster’s Advanced Learner’s English Dictionary, which is the most recent edition I can find). I found it on one of ~those~ sites which I would likely regret linking to. The Kindle can handle “.mobi” dictionaries as native ones, it seems, regardless of origin; once I went into settings –> dictionary, and chose it, it’s been working as my default dictionary.

    4 – general experience is fairly painless, once committed to the Calibre workflow. The one extremely annoying thing is a popup every time I click to and from a book back to the main library, where I get a message from Amazon that “cloud not available, since you must register”. Which is rather the point of not being registered, smh.

  • SEA/SAW 2024

    Curious about DataWorks? Here’s an article and a podcast about the organization. And the critical data literacy curriculum is available here.

    Poster: “Calculating the cost of data refusal”

    Abstract:

    How does data refusal fit into the economic structure of a pro-social data work enterprise? If data is seen as “the new oil,” how can we argue for the value of refusal to engage in potentially harmful data work, in contestation of prevailing conceptions of data as a commodity? In this presentation, I will explore the implications of data workers’ refusal to continue working on a project that capitalized on their identity with concerning social implications. Reporting from DataWorks, a combined work training program and data services provider, I will share an ethnography of data refusal, stemming from a worker-centered training on critical data literacy.  

    Pulling from the larger theory of feminist refusal, I will employ the feminist data manifest-no to understand the tensions between economic productivity and socially just data creation and curation practices. Namely, as a small social enterprise with a limited budget, how do we, at DataWorks, weigh a given act of data refusal, and its implications, against a larger mission? 

    As a critical data scientist, my concern is both with the implications for data workers, as individuals, and the resulting dataset itself. In critical data studies, we know that pro-social and just treatment, including right to refusal, of data workers results in datasets that of higher quality (in terms of requester specifications), but this often runs counter to the expectations of ML and AI dataset requesters. In this presentation, I will share my work translating concerns of data workers as domain experts to machine learning practitioners.  

  • Datasets are eggs

    This excerpt is premised on the differences between eggs at American and European grocery stores. Eggs in the US are pasteurized (cleaned) before they can be sold, resulting in a bleached shell that must be refrigerated. Eggs sold in Europe (and some US farm-to-table situations) are more commonly unpasteurized and therefore maintain the dirt and debris of the hen house, a sight that commonly surprises Americans abroad.

    As Bowker reminds us, “data is never raw,” [1] but when it arrives in a spreadsheet, not yet cleaned or standardized, it can give the appearance of an unpasteurized egg purchased from a commercial supermarket; on the surface, its aura of distinct origin (feathers, bits of debris clinging to its shell) can mask the complex sociotechnical process by which that given egg arrived on the grocery store shelf. Recall here the vast and potentially even global transportation networks, trade agreements between store and farm, and the hundreds of years of transformation from subsistence to commercial farming that made possible this egg’s residence—if debris coated—on the grocery store shelf. This example parallels an uncleaned or standardized dataset, where the presence of uncleanliness allows us to know something about the object’s origins while simultaneously leading up to think we know more about those origins than we actually do, until we examine further the sociotechnical process that made possible that object’s proximity to us (within arm’s reach on grocery store shelf, or arrival in our email inbox).

    [1] Geoffrey C. Bowker. 2005. Memory practices in the sciences. MIT Press, Cambridge, Mass.

    From my thesis proposal (in progress).