• Activity
  • Votes
  • Comments
  • New
  • All activity
    1. Switching to Linux, looking for distro recommendations

      Overview When I swapped the motherboard on my computer, I lost my Windows license and Microsoft support was useless. So I am switching my desktop over to Linux. I am planning on setting up dual...

      Overview

      When I swapped the motherboard on my computer, I lost my Windows license and Microsoft support was useless. So I am switching my desktop over to Linux. I am planning on setting up dual boot, so that I still have Windows 10 with the watermark for certain use cases, but hoping I can run primarily Linux.

      Previous Linux Experience

      I have swapped an old laptop to Linux (elementaryOS) before and was able to have it do the simple tasks I required of that computer. I also have an old desktop running proxmox, with various VMs, primarily a NAS running openmediavault. Also, I took a college class on Linux system admin, which focused on various tasks on ubuntu. So overall, I am pretty familiar with Debian-based Linux and doing stuff in the terminal, but I would prefer to not have to use the terminal often.

      Workload

      So I use my computer for fairly normal use cases that should not be too problematic for Linux. Things I plan to do are:

      • Non-competitive gaming (Minecraft, Civilization V and VI, occassionally single player FPS games)
      • Video editing via DaVinci Resolve
      • General web browsing
      • Libre Office is what I plan to switch to from MS Office

      Plans for testing

      I am going to setup a VM on my hypervisor to try out the basic interface of each distro, and try basic tasks. Testing will probably not involve running the heavier applications such as DaVinci Resolve or games. However, I will look into the install process of some of these. For games, I am just going to rely on the work Steam has done for Linux gaming recently.

      Things I am looking for in a distro

      The things I want in a distro are:

      • Debian based preferable, but am considering others
      • Simple tasks can be done graphically, instead of via terminal
      • Upgrade in place is preferable (I believe similar to how ubuntu now allows for upgrades to the next LTS does not require a reinstall)
      • Similar UI to Windows 10 is preferable

      Planned distros to test

      Distros I wanted to try before posting

      • popOS
      • Mint

      Distros I am considering testing after being recommended them:

      • Arch
      • Fedora (I am strongly leaning towards this one, but want to do more testing)
      48 votes
    2. Struggling with first dev job - seeking advice

      This is my cry for help. I'm a newer programmer who just got hired for my first actual programming job a few months ago. Before now the only things I really made were simple python scripts that...

      This is my cry for help.

      I'm a newer programmer who just got hired for my first actual programming job a few months ago. Before now the only things I really made were simple python scripts that handled database operations at my last job. I live in an area with no opportunities, and so this new job I got is my saving grace at this point. For the first time in my life I can have actual savings and can actually work on moving to an area with opportunities. However...

      Everything is falling apart. I have no idea how this place has survived this long. There is no senior dev for me to go to. There are no code reviews. There is no QA. There is a spiderweb of pipelines with zero error handling or data-checking. Bugs are frequent and go undetected. The database has no keys or constraints, and was designed by a madman (so it's definitely not normalized whatsoever). I already have made a bunch of little scripts handling data-parsing tasks that are used in prod, and I've had to learn proper logging and notifications on errors along the way, and have still yet to learn how to do real tests (I ordered a book on pytest that I plan on going through). I am so paranoid that at any moment something I made does something unexpected and destroys things (which... kinda actually happened already).

      We're in the long and arduous process of moving away from this terrible system to a newer, better-designed one but I'm already just so lost and... lonely? There's a few separate dev "teams" but one is outsourced and the other is infamously unapproachable and works on a completely different domain. There's no one there to catch me if/when I make mistakes except myself. The paranoia I have over my programs is really getting to me and already affecting my health.

      I guess I just want advice on what I should do in this situation. Is this a normal first experience? I care deeply about making sure the things I make are good and functional but I also don't have the experience to forsee potential issues that may come up due to how I'm designing things. And how can I cope with the paranoia I'm feeling?

      EDIT: It takes me a while to write responses, but I want everyone to know that I really appreciate all your advice and kind words. It does mean a lot to me! I'm doing my best to take in what everyone has said and am working on making the best of an atypical situation. I'm chronically hard on myself, but I'm gonna try to give myself a bit more grace here. Again, thanks so much for all the thoughtful replies from everyone. :)

      34 votes
    3. What are some great time savers on CLI that you would recommend?

      I use these right now on Debian: ncdu ncdu (NCurses Disk Usage): A disk usage analyzer with an ncurses interface, providing a fast and easy-to-use overview of disk space utilization. Ideal for...

      I use these right now on Debian:

      ncdu

      ncdu (NCurses Disk Usage): A disk usage analyzer with an ncurses interface, providing a fast and easy-to-use overview of disk space utilization. Ideal for identifying large directories and files in a user-friendly terminal interface.

      duf

      duf (Disk Usage/Free): A modern disk usage/free utility with a beautiful interface written in Go. It provides a quick and easy way to check disk usage across various file systems with color-coded output.

      tldr

      tldr (Too Long; Didn't Read): Simplified and community-driven man pages. Provides practical examples for commands, making it easier to understand and use without wading through lengthy and detailed man pages.

      nala

      nala (Next-Generation APT Frontend): A modern frontend for the APT package manager, designed to provide a more readable and user-friendly output for package management tasks.

      Speedtest-cli

      Speedtest-cli: A command-line interface for testing internet bandwidth using speedtest.net. Allows you to quickly check your upload and download speeds directly from the terminal.

      htop

      htop: An interactive process viewer for Unix systems. It provides a real-time, color-coded display of system processes, making it easier to monitor and manage system resources.

      powertop

      powertop: A tool for diagnosing issues with power consumption and power management on Linux systems. It provides detailed information on power usage by various system components and applications.

      thinkfan

      thinkfan: A simple fan control program for ThinkPads. It helps manage the system's fan speed to balance cooling and noise levels based on the temperature sensors.

      tlp

      tlp (Linux Advanced Power Management): A power management tool for Linux. It provides various configurations and options to optimize battery life on laptops without requiring manual tweaks.

      flatpak

      Flatpak: A system for building, distributing, and running sandboxed desktop applications on Linux. It provides a universal app distribution system that works across various Linux distributions.

      neofetch

      Neofetch: A command-line system information tool written in bash. It displays an aesthetically pleasing summary of system information alongside your terminal prompt.

      iftop

      iftop: A real-time console-based network bandwidth monitoring tool. It shows a list of network connections from/to your system and the bandwidth usage for each connection.

      nano

      nano: A simple, user-friendly text editor for the command line. Known for its straightforward and easy-to-use interface, making it a go-to for quick text editing tasks.

      Edit
      Oh wow! Thank you all for your suggestions!

      I was looking around and found cheat; it's defined as a cheat that allows you to create and view interactive cheatsheets on the command line. Hopefully, someone else might find it helpful as well.

      38 votes
    4. Update #2 - "Reopening", Advertising, and so on

      I picked ~misc and don't really have an idea of what tags would be appropriate. If there's stuff I can include in future posts like this I'll be glad to make sure they're there, just let me know....

      I picked ~misc and don't really have an idea of what tags would be appropriate. If there's stuff I can include in future posts like this I'll be glad to make sure they're there, just let me know. There probably won't be one for a long while but I'll remember. Technically I am advertising myself a bit, but I think I've framed it well enough that ya'll will see it's not really the point of the post. I'll never be bothering ya'll with offers and ads and shit.

      This is a continuation from a post I made a while back about how it's going with the endeavor I've set in front of myself. In some ways, things proceed as I'd hoped, while in others there's been need for flexibility/adjustment. I wanted to give an update because a few big steps happened this past week which hopefully mean moving into a busier phase of the whole thing, and to add to the corpus, create the proof of what this all was as it begins if that makes sense.

      The biggest thing has been an article published in our local paper. Two, actually, which were combined together into a front page spread I did not expect. Yes, there's a photo of us and our contact info in there, and yes, you're welcome to reach us if you've an idea for something you'd like to do. You'll be talking to me, and I'll be happy to go over details and land on pricing that actually does work for both of us. Primarily we are offering the space, with some ability to accommodate large groups and connections with folks who can provide stuff. It depends on what you want, how things will be priced. The less you need us to do, the less we need to charge. We don't want to regularly be a place where folks stay overnight, but I can probably swing that from time to time for someone coming from far away. If you aim to do something in the near term, do be aware it is hot as shit down here and very humid. The house is a-ok staying cool, but you'll want to be prepared for Mississippi in the summer. I have a dog too, so if you've got allergies you'll need to prep accordingly. She's gonna be 16 this year, she's nothing but friendly to people and sleeps a lot. Pets are welcome, provided they are house-trained and well behaved.

      I am intentionally avoiding the internet on the whole for reasons I'll get into, but I do want to extend an offer to this forum in particular, as thanks for allowing me the space for expressing my thoughts as they took shape. I'm aware the site is public facing - what I'm going to share here is public already. I have to bite the bullet on sacrificing some anonymity and just try to control how that anonymity goes away, is how I've come to see it. You won't find me on social media, and what exists for the house/my grandmother is wildly out of date/largely inaccessible - it's gonna stay that way if all remains up to me, so this is just about the only way for someone outside of Brookhaven to know of us at this time. I'd like for at least a few people to know what we were up to, in a form that serves as proof of my intent from its actual beginnings. While the plan took shape before I ever wrote about it, it was in writing about it that I was able to make it clear to myself, what I aim to be doing, so I feel like it's part of completing things to share this stuff here.

      The paper is very much a local thing, they got a few details wrong and you'll probably pick out how the quotes don't quite sound like me if you've read a lot of what I've posted. It's fine, the details in need of correction aren't critical. There isn't a lot in there about the more high-minded stuff I like to write about, because I'm not there yet. For now, it's simply building a business out of something, I have to make the something from which that business will spring. I'll think more about where it goes when I've got it moving. The article was free, which was pretty awesome. The paper is in a slow time, and it's mostly one guy doing a lot of the writing, they were just happy to have something to include. I think he did great.

      The articles worked, too. I got calls the day the print version went out, and am expecting some followups soon to set dates and square away payment. I go walking downtown every day in the afternoon, and got some extra attention. While it's possible, while the pressure is light, I've been taking advantage by trying to advertise almost solely through word of mouth and face-to-face interactions, fully aware it will take a while for that to have an effect and that I may need to branch out fast if pressures change. Thus far, it's been the local paper, a print ad in a different paper that goes out primarily to local businesses, and a radio ad. There's a couple of reasons I've stuck to stuff like that.

      The first is that I think it will provide a good foundation for sustaining the enterprise. If it's possible to have enough business to stay around purely from what exists around me, that means I can capitalize maximally if/when we do extend advertising outside our area, and it means security if for whatever reason those means can't be utilized. I don't want to be dependent on the internet for a livelihood if I can possibly manage it. It's not so principled a position that I'd refuse to do it at any point, rather it's like a back-pocket option, something to be engaged with strategically at what I determine to be either the proper time or because the needs have grown past what I can sustain without it, if that makes sense. My aim is to be a part of this town, to be of it, so I want to keep what we're doing as local and simple as possible. I have to be ready to constrain everything and take care of my grandmother too. I won't let that priority slip and will endure whatever hardship is necessary to fulfill it. It's easier to do that the smaller things are, a bit of a balancing act.

      The second reason is much more practical and kind of silly. My grandmother's computer is the biggest security risk I think I've ever encountered in person. I refuse to introduce new online components when such a risk exists, if that makes sense, and I will endure whatever hit to efficiency/development it means until I can get it corrected. Her usage habits are minimal which is a lucky thing - she sticks to old fashioned stuff for almost everything. But, a priority of mine is that she can see and understand everything I'm doing, so I need this machine to be in a better state before I can take some of the steps with that. The challenge of it isn't technical at all, I could get the thing in good working order in a day, probably.

      To give you an idea of what's difficult here, imagine for a moment you just ignored the internet as a whole since it began. You used it, you know how to do some stuff on it, but only by way of memorizing actions, the steps necessary to do a thing you wanted, a setup someone made for you. You never really engaged with what the stuff you use is designed for, you didn't follow how any of it developed, you're (blissfully, I'd say) unaware of pretty much that whole end of things. It's very difficult to explain the danger of something like an AI phishing scam, to someone who for all intents and purposes, never learned what phishing is, and further doesn't tend to believe in the shittiness of other people. That last part is one of the reasons I love my grandmother as much as I do, but it does make this task harder, and delays further action on my part.

      I've gotten the machine to as secure a state as I can, and have gotten the data backed up, so hopefully movement really gets going on this and I can feel better about spreading out our net, so to speak. I think what frustrates me about it is having been there across years of time - a lot of why this machine is the way it is, is because other people took it upon themselves to "fix it" and almost none of them knew what the hell they were doing. They didn't explain anything to my grandmother either. Their interactions mean misunderstandings on my grandmother's part, and the lack of a foundation of knowledge means it's starting from zero in a way I have never actually encountered before doing this kind of work. I've gotten close, seen some pretty absurd things, but the lack here is just of a different kind, more complex than it seems. I've been writing about it separately/on my own because I think the experience stands as a sort of ultimate test of a lot of the stuff I did before I got here.

      There is also health to think about. The priority, for now, is to set things up in a way which is compatible with what my grandmother can do. I'm trying to set up situations that let her do the things that make her happiest, and do all of the nitty-gritty shitty stuff myself. That means house maintenance, yard work, grocery shopping, cooking, arranging for stuff like an electrician when something breaks, learning how to do some of the fixing myself. I've only ever rented. I've never been in a position to maintain a house before, and as I'm sure plenty of you know far better than me, that's a good bit to learn all on its own. Especially with a home as old and complicated as this one with an owner who hasn't done a lot of that herself. Can't exactly tell me what needs doing when someone else was being paid to come do it for years. I feel good about it though, I like to learn and I like to fix things, and there's lots of opportunity. I've been able to eliminate a lot of costs and reduce regular expenses by taking on a lot of what others were doing and applying effective fixes to longstanding issues. It's very fulfilling, like getting to do the type of work I always hit a wall with in all my other workplaces, improve and optimize. That it's for my family brings together a lot of what matters the most to me, keeps me constantly motivated.

      The town is nice too. It's been a few months so I've gotten more acclimated, the slower pace of things and friendlier atmosphere really does a lot for me. Here are a bunch of images of downtown I took on some of my walks. Because of the slower pace, I can be measured, precise, take the proper time to consider things and work out problems without feeling like I'm in some inner state of siege/under the gun all the time. At first I missed a lot of what was available to me elsewhere, but as time went on I came to realize a lot of that just didn't matter as much as I thought it did. As much as I love a good Indian restaurant and a computer store, not having them is not the detriment my mind used to pretend it was. Along with that has come an explosion of creativity, I've done a ridiculous amount of writing and reading, and am slowly getting myself up to snuff drawing things. The house exists on an art school campus, and from what I've gathered reading local magazines the presence of that school has done a ton to really give this place character and variety. My hope is to really lean into that, support it and see if we can have our space be a place for folks to work their creativity. Connections are taking shape and that's made me real happy to see. I cannot tell you how heartwarming it is, for example, to talk about this stuff with the guy who does a radio show and then hear him on the radio a day later saying "this place is really good you should go see it!" Folks are really beginning to grasp my aims when it comes to the scale and type of stuff we want to do, and I haven't really encountered much suspicion/doubt/etc. Folks tend to just trust the simple motives. I can't ask for more than that, the sense of gratitude I wake up with every day is beyond my ability to capture here.

      So, there you go. Another step taken, one more further toward whatever comes, as precisely as I can manage to get to the goals. I wanted to post the followup because I said I'd do that and as part of the effort itself, share the vision and the way it plays out in the hope others spot what my eyes miss, and/or that they might take something useful for themselves from it. I'd love to read it if you have thoughts, opinions, advice, experience. Or if you just want to talk about the high minded stuff, I do like doing that. Helps me stay consistent. Anyway, i've said plenty, so off I go to walk around downtown again. I've got that phone on me all the time, call/text whenever (text if it's after 5pm CST, is my only request with that). As always, I very much appreciate you taking the time and giving me your attention.

      16 votes
    5. Immersive Labs "Haunted Halloween" Challenges 2023

      Hey everyone! Just wanted to share that Immersive Labs has rolled out their "Haunted Halloween" challenges for 2023. For those unfamiliar, Immersive Labs offers a platform for interactive,...

      Hey everyone! Just wanted to share that Immersive Labs has rolled out their "Haunted Halloween" challenges for 2023. For those unfamiliar, Immersive Labs offers a platform for interactive, gamified learning in the realm of cybersecurity. They've been known to host challenges that test and enhance cyber skills.

      You can sign up for free using code HAUNTEDHOLLOW to try it out hubs.ly/Q026LTZV0.

      Now, I'm not posting this solely out of altruism. I could use some help on the 'Mirrored Mayhem' task.

      Spoiler Alert: Details about the challenge below I've managed to get the RCE. I've crafted a PNG and successfully executed remote code. However, I'm only able to find the 'webapp-token'. I'm at a loss when it comes to the 'user-token' or 'root-token'. The 'whats in the mirror?' file isn't giving me any leads either. I've also got a username/password from it but can't figure out where to use them.

      Would appreciate any pointers or hints from anyone who's tackled this challenge. Thanks in advance!

      4 votes
    6. Experimental-community thought experiment: constitution

      ** I wrote this a few years ago using 'wiki-how to write a constitution' as my basic outline. As you can see, I never finished. I realized that this is not something that can or should be written...

      ** I wrote this a few years ago using 'wiki-how to write a constitution' as my basic outline. As you can see, I never finished. I realized that this is not something that can or should be written as a singular person, and due to a lack of access to those who might find such a project interesting, albiet wholly theoretical, I never finsihed it. What you see at the bottom is the copy paste from the wiki how where I left off.

      I don't know if any of y'all will find this interesting or worth editing and expanding with me, but I thought this would be an interesting place to put this and test the waters.

      I tried really hard to figure out how to format this in tildes but I may have failed. Hopefully it's clear enough.

      Here is the beginnings of a constitution I wrote for a hypothetical expeirmental community: **

      We, the citizens of this community, in order to enact the willful abandonment of all other governing bodies and establish an independent mode of community-organization and self-rule, do ordain and establish this constitution for the government of our association.

      Article I:

      Section 1:

      The name of this community shall be {}, hereafter referred to as ‘the community.’

      Section 2:

      The Heads of the community shall make up the ruling body of {}, hereafter referred to as ‘Those Responsible.’

      Article II:

      Section 1:

      the purpose of this community is to establish and maintain a self-sustaining and self-perpetuating place and manner in which to live and live well, outside and beyond the current social paradigms subject to political, military, monetary, or any and all other coercive forms of power and control, including but not limited to all other authoritative bodies either public or private. This community intends to act as a sustaining reservoir and dispensary for human knowledge and creative culture. This community aims to secure a manner of human cohabitation and relation founded upon unconditional love and mutual respect for self, others, and the land.

      Section 2:

      Those Responsible shall ratify, guide, lead, and organize all actions of the community towards the aims of self-sustainability, cohabitation, co-creation, and social evolution, foremost and always with a prime consideration for all the offspring of the community in mind, whether of direct biological relation or otherwise. Those Responsible are tasked with representing and upholding the example and execution of communion and action under the fundamental philosophy of unconditional love and mutual respect for self, others, and the land. Those Responsible are beholden to the task of observing and evaluating the exact realities faced by the community at any given point in time, and in view of that Those Responsible are required to coordinate all community efforts in appropriate response to the imminent needs of the citizenry and the land.

      Article III:

      Section 1:

      The general body of the community will be comprised of Citizen Families of no less than two adults and no more than ten adults, and all of their accompanying children and creature companions. In order to gain membership into the community a Citizen Family must be endorsed by a Family Head already a part of the community, and voted in unanimously by all Those Responsible. Appeals can be made and cases reassessed as depends on the situation, but finalization of familial citizenship requires the unanimous consent of all and every current Citizen Family through representative vote.

      Section 2:

      the privileges and responsibilities of every individual citizen, those granted to the Citizen Family, and those allowed to the community as a whole include but are not limited to:

      Individual rights:

      The right to appropriate understanding and care from family and community in times of physiological, psychological, and/or theological need due to age, injury, mental or bodily transition, trauma, or illness.
      The right to formally express grievance, great or small, to all grievous parties with the option of third party witness with previously established all party agreement on third party power of decision-input and sway.

      The right to request and expect communion with specific individuals, the family whole, or the community at large for a specified time within the confines of the boundaries and privacy requested.

      The right to request and expect celebration with specific individuals, the family whole, or the community at large for a specified time within the confines of the boundaries and privacy requested.

      The right to give and receive without incurring debt.

      Sufficient and sustainable food, shelter, and water, tailored to the individual needs of each citizen, with consideration insofar as possible to individual ability, desire, and proclivity.

      Free access to all available community physical, psychological, and theological health resources and programs without bias to reason or cause.

      Free access to all available community infrastructure, resources, and technologies insofar as it does not impede the well being of any other, the land, or the community at large.

      Freedom of thought and expression and access to public outlet insofar as no permanent physical or psychological damage incurs.

      Free access to all available information and means to education. Freedom of inquiry into all intellectual matters and free permission to explore all avenues of discovery not leading to permanent physical or psychological damage.

      Full liberty of movement without untoward monitoring, self-delegation of personal time and energies beyond regulated family and community requirements and tasks, and a right to mental, physical, and spiritual regulation and privacy.

      The right to call for a family or community hearing and action for whatever reason, and to expect due diligence in response to such a call.

      The right to dictate placement, care and use of any personal property of which one is responsible for maintenance, re-purposing, and proper disposal.

      The right to anonymity in all voting processes.

      The right to vote on family leadership through unanimous consensus of all eligible family members.

      The right to vote on family projects and endeavors through unanimous consensus of all eligible family members.

      The right to decide the vote for the Heads on community projects through unanimous consensus of all eligible family members.

      The right to decide the vote for the Family Head on the delegation of communal resources through unanimous consensus of all eligible family members.

      The right to decide the vote for the Heads on all constitutional amendments through unanimous consensus of all eligible family members.

      The right to request personal advocacy and counsel from outside the immediate family grouping in regards to internal family affairs.

      The right to third-party mediation and safe sanctuary in times of unresolved conflict.

      The right to propose projects for personal or community benefit, and to solicit the needed resources and work from the community at large.

      The right to apply for membership in a different Citizen Family from their own, or to apply for the establishment of a new Citizen Family, without untoward consequences despite affirmation or denial of said application, and with the understanding that individual membership is restricted to a single Citizen Family.

      The right to personal emancipation from the community in full for whatever reason, and the grant of sufficient supply of basic needs from the community, per the requirements of the current social paradigms, for the most benevolent and efficient plan and execution of exit.

      Citizen family rights:

      the right to family residence sufficient to the exact needs of the individual family and its members, with consideration to ability, preference and proclivity insofar as possible, and full dominion over space, design, and utility of family residence.

      The right to equal representation in the community by an internally elected Family Head, Auxiliary Head, and Junior Head (a.k.a. The Heads).

      The right to represented vote on all community affairs including but not limited to adoption of new Citizen Families, allocation of community resources, constitutional amendment, foreign affairs, military action and defense, and the introduction and use of new technologies and materials.

      The right to volunteer or withhold labor from any non-essential community effort.

      The right through the unanimous vote of all eligible family members to excommunicate individual members due to permanent physical or psychological damages to the family.

      The right to handle internal family affairs as seen fit insofar as no permanent physical or psychological damages incur, and without rebuke so long as such affairs have no significant impact on community production or well being.

      The right to confidentiality and privacy in personal family matters despite possible recruitment by one or more individual for external representation.

      Community rights:

      The right to excommunicate whole Citizen Families per Family Head and Auxiliary Head’s unanimous vote, excluding the family in question, in the event of permanent physical or psychological damages to the community.

      The right to enact emergency measures in times of crisis per Family Head’s unanimous vote, including but not limited to the overrule of individual or familial privacy and individual or familial propriety over labor and resources.

      The right to purchase or acquire additional lands and resources from outside the community per Family Head and Auxiliary Head’s unanimous vote.

      The right of the Arbiters to oversee and mediate conflict between Citizen Families.

      The right of the Heads to demand, organize and enforce labor and resources from all citizen families for the sake of community sustainability and well-being.

      Individual responsibilities:

      Primary responsibility for self care, self direction, self advocacy, and self representation in all matters related to personal development and involvement.

      Responsibility to family wants, needs and concerns, insofar as they do not impede the well being of self, others, the land, or the community at large.

      Responsibility to community wants, needs and concerns, insofar as they do not impede the well being of self, others, the land, or the Citizen Family.

      Responsibility to fulfill all necessary labor requirements of family and community as per the changing requirements of sustainability and growth.

      Responsibility to the land and its well being.

      Responsibility to teach, care for and nurture all children and creature companions of the community whether or not blood related, insofar as it does not impede the well being of self, others, and the land.

      Responsibility, insofar as it does not impede personal well being or privacy, to share all knowledge and resources within one’s possession and ability with any other citizen upon their request.

      Responsibility to critically seek out knowledge and understanding of the current affairs and concerns of the Citizen Family and the community at large, and thereby cast vote based upon study and reason rather than selfish motive or emotional appeal.

      Citizen Family responsibilities:

      Prime responsibility for the care, representation and advocacy of the Citizen Family in all matters related to familial development and involvement.

      Responsibility to individual wants, needs and concerns, insofar as they do not impede the well being of the family, individual citizens, others, the land, or the community.

      Responsibility to community wants, needs and concerns, insofar as they do not impede the well being of the family, individual citizens, others, the land, or the community.

      Responsibility to organize and deploy all labor requirements of the family as per the changing requirements of sustainability and growth.

      Responsibility to fulfill all necessary labor requirements of the community as per the changing requirements of sustainability and growth.

      Responsibility to the land and its well being.

      Responsibility to teach, care for, and nurture all children and creature companions of the community whether or not blood related, insofar as it does not impede the well being of the family, individual citizens, others, and the land.

      Responsibility, insofar as it does not impede familial well being or privacy, to share all knowledge and resources within the family’s possession and ability with any other citizen or Citizen Family upon request.

      Responsibility to critically seek out knowledge and understanding of the current affairs and the concerns of individual members and the community at large, and thereby cast vote based upon study and reason rather than selfish motive or emotional appeal.

      Responsibility to gather weekly all citizens of the family to report, evaluate, vote upon, and organize action for all family interests and concerns.

      Community responsibilities:

      Prime responsibility for the care, representation and advocacy of the community in all matters related to community development and involvement.

      Responsibility to individual wants, needs and concerns, insofar as they do not impede the well being of the community, individual citizens, Citizen Families, others, or the land.

      Responsibility to Citizen Families’ wants, needs and concerns, insofar as they do not impede the well being of the community, individual citizens, other Citizen Families, others, or the land.

      Responsibility to organize and deploy all labor requirements of the community as per the changing requirements of sustainability and growth.

      Responsibility to the land and its well being.

      Responsibility to acquire, establish, organize, and maintain resources, infrastructure, and continuing education for the benefit of all citizens and Citizen Families.

      Responsibility, insofar as it does not impede the community’s well being or privacy, to share all knowledge and resources within the community’s possession and ability with any citizen or Citizen Family upon their request.

      Responsibility to critically seek out knowledge and understanding of the current affairs and concerns of individual members and all Citizen Families, and thereby organize all community efforts based upon study and reason rather than selfish motive or emotional appeal.

      Responsibility to establish and maintain a means for citizens and Citizen Families to continuously participate and vote in all community endeavors and affairs through representation by the Heads or directly through survey and ballot.

      Responsibility to organize and execute community outreach and relations with outside governments and organizations insofar as it does not impede the well being of citizens, Citizen Families, the community at large, or the land.

      Responsibility to gather and allocate shared resources for the procurement and establishment of a new community on tenable land any time that the current community reaches maximum capacity.

      Responsibility to establish and maintain co-beneficial relations and exchange, including relief efforts in times of crisis, with all extended communities whether or not directly derivative from the immediate community insofar as possible.

      Responsibility to organize resources and efforts for the defense and rebuilding of the community when faced with internal or external aggression or biological or climate catastrophe.

      Responsibility to procure and dispense all technological, medical, or otherwise necessary resources not internally available but required by a citizen or Citizen Family for their continued well being.

      Responsibility to provide requested transportation and the means to initial basic survival, per the requirements of the current social paradigms, for any citizen looking to emancipate from the community and reenter the world at large.

      Responsibility to provide and organize opportunities for travel to all citizens, upon request yet within community ability and reason.

      Responsibility to gather weekly all Those Responsible to report, evaluate, and organize action for all voted upon community interests and concerns.

      Responsibility to organize and coordinate weekly community celebration insofar as it does not impede the immediate needs of the community.

      Responsibility to establish and maintain a central garden sanctuary for silent meditation, worship and reflection, open to all citizens at any time.

      Responsibility, insofar as the community is able, to take in, protect, and provide for the basic necessities of any individual seeking asylum from the outside world, insofar as they adhere to the laws, customs, and requirements of the community, and within the agreed amount of time voted upon by Those Responsible in a case by case basis.

      Section 3:

      Membership may be revoked via a unanimous vote by the Family and Auxiliary Heads due to irrevocable physical or psychological harm to an individual, Citizen Family, the community at large, or the land. Membership shall be open to all those vetted and unanimously voted in by the Family and Auxiliary Heads regardless of age, creed, race, color, sex, sexual orientation, gender identity, socioeconomic status, disability, national origin, or status as a veteran. This list is not exhaustive.

      Article IV:

      Section 1:

      Family meetings run by the Family Head will be held weekly, or as otherwise decided upon by majority vote within the family in order to discuss any general family business, upcoming and continuing family and community projects, and any other pressing comments or concerns of its members.

      All Heads within a family shall weekly meet with each other to gather, discuss and organize all current concerns to be addressed in the next family meeting.

      Community meetings composed of all Heads and run by the current Arbiters selected quarterly from the Heads by all Those Responsible will be held weekly in order to evaluate and coordinate all community efforts past, continuing, or new.

      Each separate group of Heads from every family shall meet weekly in order to gather, discuss and organize all current concerns of their constituents to be addressed in the next community meeting.

      Any individual can call for an auxiliary family or community meeting run by the Head of their choice or one of the current Arbiters at any time and for any reason and will be granted such a meeting within 72 hours of the request.

      Section 2:

      All policy decisions within the Citizen Family shall be voted upon by all family members of any age or identification who capably understands and willingly ratifies via signature the constitution of the community. Each voting citizen is allowed one vote. For sanctioned approval, all Citizen Family policy decisions require a unanimous vote. Family voting shall be counted and tallied by the Family Head.

      All policy decisions for the community at large shall be voted upon by all Heads inline with the vote of their constituents. Each Head is allowed one vote. For sanctioned approval all community policy decisions require a unanimous vote by all Heads. Community voting shall be counted and tallied by the current Arbiter.

      All voting shall be done anonymously, and no decision can be ratified without a submitted ballot from all voting parties.

      Article V:

      Section 1:

      The community shall have the following officials:

      One Family Head per Citizen Family. Any family member aged fifteen or older who has already ratified the constitution is eligible for election. Whereas campaigning is prohibited, any eligible family member can be nominated by any other family member. Selection must be voted upon annually and requires a unanimous vote by all eligible voters within the Citizen Family.

      One Auxiliary Head per Citizen Family. Any family member aged fifteen or older who has already ratified the constitution is eligible for election. Whereas campaigning is prohibited, any eligible family member can be nominated by any other family member. Selection must be voted upon annually and requires a unanimous vote by all eligible voters within the Citizen Family.

      One Junior Head per Citizen Family. Any family member below the age of fifteen who has already ratified the constitution is eligible for election. Whereas campaigning is prohibited any eligible family member can be nominated by any other family member. Selection must be voted upon annually and requires a unanimous vote by all eligible voters within the Citizen Family.

      One Arbiter of the community. All Family Heads are eligible for election. Whereas campaigning is prohibited any Family Head can be nominated by any other Head. Selection must be voted upon quarterly and requires a unanimous vote by all Heads within the community.

      One Auxiliary Arbiter of the community. All Auxiliary Heads are eligible for election. Whereas campaigning is prohibited any Auxiliary Head can be nominated by any other Head. Selection must be voted upon quarterly and requires a unanimous vote by all Heads within the community.

      One Junior Arbiter of the community. All Junior Heads are eligible for election. Whereas campaigning is prohibited any Junior Head can be nominated by any other Head. Selection must be voted upon quarterly and requires a unanimous vote by all Heads within the community.

      Section 2:

      The duties of these officials are as follows:

      Family Heads:

      Responsible for tallying family vote taken during family meetings.

      Responsible during all community meetings for representing fairly and impartially their own Citizen Family’s needs and affairs expressed through an internally decided vote.

      Responsible during all family meetings for representing community needs and affairs fairly and impartially.

      Responsible for community representation and outreach in the world at large.

      Responsible for leading the community in its continued sustainability and growth through the organization of community projects and the establishment of new communities when need arises.

      Auxiliary Heads:

      Responsible during all community meetings for representing fairly and impartially family land and resource needs and affairs expressed through an internally decided vote.

      Responsible during all family meetings for representing community land and resource needs and affairs fairly and impartially.

      Responsible for advising the Family Head, and taking on the duties of the Family Head in times of their temporary absence, and organizing the vote for instating a new Family Head upon the current Family Head’s inability to continue in their duties.

      Responsible for leading the community in its continued sustainability and growth through the organization of community projects and the establishment of new communities when need arises.

      Junior Heads:

      Responsible during all community meetings for representing fairly and impartially the community youth and creature companion’s needs and affairs expressed through an internally decided vote.

      Responsible during all family meetings for representing fairly and impartially their family youth and creature companion’s needs and affairs expressed through an internally decided vote.

      Responsible for advising both the Family and Auxiliary Heads, and studying the methods, tasks and duties, undertaken by the Heads and Arbiters.

      Arbiter:

      Responsible for tallying community vote during all community meetings.

      Responsible for mediating upon request.

      Responsible for running Family Head meetings and co-running community meetings.

      Auxiliary Arbiter:

      Responsible for mediating upon request.

      Responsible for running Auxiliary Head meetings and co-running community meetings.

      Responsible for taking on the duties of Arbiter in the current Arbiter’s temporary absence, and organizing the vote for instating a new Arbiter upon the current Arbiters inability to continue in their duties.

      Junior Arbiter:

      Responsible for mediating upon request.

      Responsible for running Junior Head meetings and co-running community meetings.

      Section 3:

      Family Heads can hold office for up to a year until reelections are held. Family Heads can hold office indefinitely insofar as their family members continue to unanimously elect them annually.

      Auxiliary Heads can hold office for up to a year until reelections are held. Auxiliary Heads can hold office indefinitely insofar as their family members continue to unanimously elect them annually.

      Junior Heads can hold office for up to a year until reelections are held. Junior Heads can hold office until surpassing the age of fifteen insofar as their family members continue to unanimously elect them annually.

      Arbiters can hold office for up to three months until reelections are held. Arbiters can hold office for up to a year insofar as the Heads continue to unanimously elect them quarterly.

      Auxiliary Arbiters can hold office for up to three months until reelections are held. Auxiliary Arbiters can hold office for up to a year insofar as the Heads continue to unanimously elect them quarterly.

      Junior Arbiters can hold office for up to three months until reelections are held. Junior Arbiters can hold office for up to a year insofar as they are under the age of fifteen and the Heads continue to unanimously elect them quarterly.

      Article VI:

      Section 1:

      Elections of The Heads must take place at least once per year. Elections of the Arbiters must take place at least quarterly. The winners of the elections for Those Responsible shall be determined by unanimous vote. No individual, however, shall be elected as a Head or Arbiter unless having already ratified the constitution.

      Section 2:

      Before Heads can be instated for a new term each family must meet to nominate individuals for the roles of Family Head, Auxiliary Head, and Junior Head. In the case that more than one individual is nominated for one appointment, elections must be held within the week to determine through unanimous vote who shall fill the role in question. Voting in order to reach a unanimous decision will be held for consecutive days until such a consensus is reached by all family members eligible to vote. Similarly, appointment of the Arbiters shall follow quarterly the same route as Head appointments in the context of the meeting of Heads. Any individual nominated and unanimously voted into an official role must perform their duties as laid out in this consititution to the best of their abilities despite any explicit desire, or lack thereof, on the part of the nominated to hold office of any kind. Elected officials may only abdicate their possision in the case of severe physical or psychological disablilities which impede the ability to perform the required duties of the role.

      Section 3:

      An offical can be impeached and removed from office through an unanimous vote called for due to their failure to perform the neccessessary duties of their appointed role, or due to their neglect or outright affront of the constition and its tenets. In the case of the latter, a character hearing shall be called to evaluate the reasons for consititional neglect and/or affront and decide upon what, if any, diciplinary actions need take place to ammend the infraction.

      Section 4:

      In the event of a mid-term vacancy of a Family Head the Auxiliary Head of the family will take on the duties and responsibilities of Family Head in addition to their own duties, until an early election can be held to fill the vacancey with an interim offical upinto the time of the normal election cycle where a permanent official can be once again instated .

      In the event of a mid-term vacancy of an Auxiliary Head the Family Head will take on the duties and responsibilities of Auxiliary Head in addition ot their own duties, until an early election can be held to fill the vacancey with an interim official upinto the time of the normal election cycle where a permanent official can be once again instated.

      In the event of a mid-term vacancy of a Junior Head the post shall be appointed to the youngest family member eligible for the possition until an early election can be held to fill the vacancey with an interim official upinto the time of the normal election cycle where a permanent official can be once again instated.

      In the event of a mid-term vacancy of an Arbiter, Auxiliary Arbiter, or Junior Arbiter early elections are to be held immediately to fill the vacancey with an interim official upinto the time of the normal election cycle where a permanent official can be once again instated.

      • Write the rules on elections, appointments, and removal of officers. Article 6 of your constitution should provide the rules on elections, appointment procedures, and removal of members. This article should also provide the rules on interim appointments or elections in the case of a mid-term vacancy.[19]
        • Section 1 of Article 6 can say, for example: “Organizational elections must take place at least once per year.”[20] This section should also provide the general rules on elections, whereas more specific election rules can be written in the organization’s bylaws.[21] The general rules on elections may include, for example, rules on voting procedure. You can write, for example: "The winners of the elections for representatives shall be determined by plurality vote. No student, however, shall be elected as class representative unless he or she receives the vote of ten percent (10%) of the class from which he or she was elected."[22]
        • Section 2 of Article 6 should provide the general appointment procedures for appointing officers, whereas more specific appointment procedures can be written in the bylaws.[23]
        • Section 3 of Article 6 can say, for example: “The members of the Board may be impeached and removed (enter grounds for impeachment and removal and enter impeachment and removal procedures).”[24]
        • Section 4 of Article 6 can say, for example: “In the event of a mid-term vacancy of an elected officer…” followed by the procedure for electing an interim or permanent replacement officer.[25]

      Write the rules on committees. Article 7 of your constitution should provide the names of committees, the duties of each committee, the rules on selection and removal of committee members, and the procedures for formation and dissolution of committees.[26]
      • Section 1 of Article 7 can say, for example: “The standing committees of this organization shall be…” followed by a list of all standing committees.[27] Note: a standing committee is a permanent committee whose purpose is to consider all matters that relate to a particular subject.[28]
      • Section 2 of Article 7 can say, for example: “The duties of each of these standing committees shall be…” followed by a list of the duties.[29]
      • Section 3 of Article 7 should provide the rules on how committee members will be selected and removed.[30]
      • Section 4 of Article 7 can say, for example: “Additional committees may be formed and dissolved by the organization…” followed by the procedures for adding and removing committees.[31]
      Provide for the creation of bylaws. Article 8 of your constitution should provide the rules on how the organization’s and executive board’s bylaws will be created and amended and who has the power to do so.[32] Note: Bylaws are rules that an organization adopts to govern its internal operations and its dealings with others.[33] These rules are intended to complement the constitution. Bylaws can be detailed rules that cannot be covered in detail in the constitution itself.
      • Section 1 of Article 8 can say, for example: “Bylaws of the organization shall be established and amended by…” followed by the procedures for creating and amending the organization’s bylaws.[34]
      • Section 2 of Article 8 can say, for example: “Bylaws of the Board shall be established and amended by…” followed by the procedures for amending and creating bylaws of the executive board.[35]
      • Bylaws should not contradict anything in the Constitution. Generally, bylaws contain detailed provisions on such topics as membership, dues, duties of officers, the Board, committees, order of business, amendment procedures, and other specific policies and procedures necessary for the organization or its operation.

      Write how the constitution can be amended. Article 9 of your constitution should provide the rules on amendments to the constitution. This article should state how and by whom amendments can be proposed and what percentage of vote is required for the amendment to be adopted. A common example is two-thirds of the voting membership.[36] This article may state, for example, "Amendments to the Constitution may be proposed by two-thirds (2⁄3) vote of the Student Council or a petition signed by fifty (50) currently enrolled students."[37]
      Write how the proposed constitution shall be ratified. Article 10 of your constitution should provide for how the constitution you are proposing shall be ratified. This article can say, for example: “This constitution shall be established by a vote of a (insert fraction) majority of the membership of the organization.”[38] A recommended fraction for ratification is a 3/4ths majority.[39]
      Write how questions concerning the interpretation of the constitution shall be decided. You can write, in Article 11, for example: "Questions concerning the interpretation of this document shall be decided by the Board."[40] *

      11 votes
    7. Anyone have experiences with GP27U and 27M2V MiniLED monitors?

      I'm looking for a desktop monitor for mixed usage (work, gaming, etc.): MiniLED 4k 144Hz 27" Built-in KVM switch There are 2 well-rated monitors that fit this criteria: Cooler Master GP27U INNOCN...

      I'm looking for a desktop monitor for mixed usage (work, gaming, etc.):

      • MiniLED
      • 4k
      • 144Hz
      • 27"
      • Built-in KVM switch

      There are 2 well-rated monitors that fit this criteria:

      • Cooler Master GP27U
      • INNOCN 27M2V

      I'm in a bit of an analysis paralysis between these monitors. It's very hard to gauge anything without buying both and comparing in-person (I might actually do this).

      Going by the numbers alone, the 27M2V has x2 dimming zones making it "better". This monitor received a lot of praise for picture quality. Not so much for the rest (e.g. build quality, support, etc.). But I'm willing to sacrifice some of the picture quality, unless it's very noticeable, if it means better build quality and support from the manufacturer.

      I hear blooming occurs (even with the x2 dimming zones) during normal usage. Which is fine because, as I understand it, this feature makes sense when you're consuming media (movies, games, etc.). Not so much for everyday tasks. I don't really care about the blacks when developing or browsing the web. I haven't seen anyone do a comparison without going into graphs, charts, and checkerboards. Lab tests and numbers are one thing, but are the differences drastically noticeable to the eye when compared side-by-side?

      I currently have an LG 27GL850-B which has been going strong for ~2 years. I'm sure either choice will be a significant improvement, but I'd like to know if anyone here has any first-hand experience with either monitor before I make the jump.

      7 votes
    8. Tildes is still in alpha-testing. It’s an unfinished product. Set your expectations accordingly.

      Someone mentioned elsewhere that they signed up for Tildes “years ago during the beta”. That reminded me: Tildes hasn’t reached beta-testing yet. Officially, Tildes is still in alpha-testing...

      Someone mentioned elsewhere that they signed up for Tildes “years ago during the beta”. That reminded me: Tildes hasn’t reached beta-testing yet.

      Officially, Tildes is still in alpha-testing phase.

      The login page says “Tildes is currently in invite-only alpha...” And the Contact page says “To request an invite to the Tildes alpha...”

      We’re still in alpha-testing. Alpha-testing of software usually happens on an incomplete product before it is released to the customer.

      This is a very important point. Tildes is not feature-complete yet: there are literally hundreds of feature requests yet to work on before Tildes will be what people want it to be – and even that list is far from complete. In Agile software development terms, Tildes is a minimum viable product, or, in other words, “a version of a product with just enough features to be usable by early customers who can then provide feedback for future product development”.

      Tildes works as it is, but it’s a bare-bones forum: you can post, and comment… and that’s about it. It’s a proof of concept. There are a few minor tweaks here and there, which give the impression that Tildes is more complex than it is, but they’re misleading. There are plans to make Tildes a more complex website but, right now, most of that complexity of Tildes exists only in people’s imaginations (and there have been some very imaginative people contributing to that list of future features!).

      Most questions about “Why doesn’t Tildes do X?” or “Can Tildes do X?” can be answered simply by saying “Tildes is incomplete and X hasn’t been built yet.” There are some questions about missing features which can be answered by saying “Tildes was never intended to do X”, but those are far and away in the minority. Most flaws, drawbacks, and problems with Tildes exist because Tildes is still a proof of concept, rather than a finished product.

      It’s also worth noting that Tildes’ current feature set is absolutely not up to the task if the user base and site activity increase too quickly. There’s too much manual tinkering required at the moment to make things work properly: for one thing, there are no significant moderation tools on Tildes (that’s almost all done manually at the moment). There are still a lot of features yet to be built - and we don’t even know what some of those features are yet!

      To pre-empt the people who will rightly point out that Tildes is 5 years old: Tildes’ feature set was intended to grow gradually over time, in line with a gradual growth in users, activity, and the need for those features to exist. However, Tildes has not undergone much growth over the past few years, so the existing features were sufficient to manage the existing activity. Basically, the site didn’t need a lot of fancy features to handle the low traffic here.

      This sudden surge of new users might change that. But it will take time to build more features. That was always the intention, and it hasn’t changed now.

      Until then: Tildes is still in alpha-testing. It’s an unfinished product. Set your expectations accordingly.


      EDIT:

      If you're one of the many people who seem to be replying to this topic, saying "it's okay, I like this simple bare-bones site as it is"... then you're probably not part of my original intended audience for this topic. This topic was aimed at all the people who are arriving here, being taken aback at how simple Tildes is, and wondering where the advanced features are.

      However, we can still take the "set your expectations accordingly" message and apply it to you: "Tildes is an unfinished product, so you can expect it to change in the future. It won't be like this forever."

      Either way, "set your expectations accordingly" is the message here, whether you're expecting more features and not finding them, or whether you're expecting simplicity and enjoying what you see. Either way, you should know that things will change around here. Maybe slowly. Maybe quickly. Maybe they'll get better from your point of view. Maybe they'll get worse from your point of view. But, change they will.

      151 votes
    9. Tildes Pop-Up Game Event: Ludonostalgia!

      Pop-Up Event: Ludonostalgia! Task: Replay an old, favorite game that you haven't played in a long, long time. Tell us about how your playthrough now compares to your memories of the game. Time...

      Pop-Up Event: Ludonostalgia!

      Task: Replay an old, favorite game that you haven't played in a long, long time. Tell us about how your playthrough now compares to your memories of the game.

      Time Period: This weekend! (November 10-14)
      Update: Ludonostalgia is extending its hours through November 21st!

      Uh, what is this exactly?

      Its me, kfwyre, trying out yet another post type on Tildes and seeing how it goes.

      In the past I've done a "Backlog Burner" event that was a full month. It was a lot to commit to, and it ended up feeling like it lost steam -- too long for its own good.

      I still like the root of that idea though -- people playing games with a specific purpose or focus. Something like a "Book Club" for games, but with a common theme instead of a common title, so people are free to choose what they personally like.

      Thus, a "Pop-Up": a quick, short event that identifies a common focus that people can participate in together and doesn't require too much commitment. Basically, something unexpectedly fun to do for a week or a weekend.

      If this kind of thing takes, I'd love to see it happen in other communities: ~movies, ~anime, ~music, etc. I'd also love it if other people did their own "pop-ups" on a whim, rather than it being seen as something that's "mine" to post.

      That's jumping the gun a bit though -- this one is a sort of test to see if this sort of thing even has any legs in the first place.

      Oh, and "Ludonostalgia" is a made up pretentious word -- because every good Pop-Up needs an iconic name.

      14 votes
    10. Help needed: slow external hard drive

      I've got a 2TB Toshiba drive (formatted as NTFS) that has become very slow and I was wondering if anyone here as any ideas what the problem could be and how I could fix it. All the data I'd need...

      I've got a 2TB Toshiba drive (formatted as NTFS) that has become very slow and I was wondering if anyone here as any ideas what the problem could be and how I could fix it. All the data I'd need off the drive is backed up, but I would at least like a drive to put it back on to!

      In short, it became slow after I had to force power-off the system it was connected to (Pop OS installed on another external drive which I unplugged by mistake) and I haven't bothered to try to fix it in the six months since.

      I've tested it on Pop and it takes about 10-20 minutes to mount, and 2 minutes to unmount and safely remove. The data itself seems fine but performance is slow, accessing a 20MB image takes several seconds and selecting the drive in GNOME Disks caused it to freeze.

      The drive sounded louder than normal, especially after plugging in.

      On Windows, the drive was recognised and browsable immediately, but browsing through folders was very slow - opening some folders causes Windows Explorer to freeze for a while. Some of my double-clicks were mis-recognised as click-to-rename, which took several seconds to activate and during which time Task Manager reported the average response time between 5000 and 11000 ms.

      Attempting to load an audio file resulted in lots of buffering. Task Manager reports an active time of 100% (even when not loading files or folders) and the activity never exceeded 100 KB/s (and doesn't sustain it for more than a second). Ejecting the drive takes forever - after ejecting it using the tray icon, the tray icon is not removed (even though there are no other drives connected or listed) and the active time is still 100% with the indicator LED blinking non-stop. The system did not enter sleep right away after me asking it to either.

      All of that to say, does anyone know what the issue could be, or how I could find and fix it? Thanks!


      Edit: fixed and normal functionality restored (at least so I can check the drive a bit easier) using Scan & Repair in Windows (see my comment).

      4 votes
    11. What Guantánamo made out of them

      By Bastian Berbner and John Goetz, published 1 September, 2021 The man who called himself "Mister X" in Guantánamo wore a balaclava and mirrored sunglasses when he tortured. The person he was...

      By Bastian Berbner and John Goetz, published 1 September, 2021

      The man who called himself "Mister X" in Guantánamo wore a balaclava and mirrored sunglasses when he tortured. The person he was torturing was not supposed to see his face. Now, 17 years later, Mister X is standing at a potter's wheel in his garage in Somewhere, America. A bald man with a greying beard, tattooed on the back of his neck. His hands, big and strong, mould a grey-brown lump of clay. The pot won't turn out very nice, you can already tell. He says that's the way it is with his art, he's more attracted to ugliness.

      Mister X thought long and hard about whether he wanted to receive journalists and talk about what happened back then. It would be the first time that a Guantánamo torturer has spoken publicly about what he did. The meeting on this day in October 2020 was preceded by numerous emails. Now, finally, we are with him. An interview of several hours is already behind us, in which Mister X told us about his cruel work. We told him that the man he maltreated at that time would also like to talk to him. Mister X replied that on the one hand he had longed for such a conversation for 17 years - on the other hand he had dreaded it for 17 years. He asked for half an hour to think it over. He said he could think well while making pottery.

      The man who would like to talk to him is called Mohamedou Ould Slahi. In the summer of 2003, he was considered the most important prisoner in the Guantánamo Bay camp. Of the almost 800 prisoners there, according to all that is known, no one was tortured as severely as he was.

      There are events that determine a biography. Even if they do not last that long in terms of lifespan, in this case barely eight weeks, they unfold a power that makes everything before fade into oblivion and captivates everything after.

      Back then, in the summer of 2003, Mister X was in his mid-thirties and an interrogator in the American army. He was part of the so-called Special Projects Team whose task was to break Slahi. The detainee had so far remained stubbornly silent, but the intelligence services were convinced that he possessed important information. Perhaps even information that could prevent the next major attack or lead to Osama bin Laden, who was then the world's most wanted terrorist: the leader of Al-Qaeda, the main perpetrator of the attacks of 11 September 2001.

      The team's mission was to defeat evil. To achieve this, it opposed him with another evil.

      Mister X always tortured at night. With each night that Slahi's silence lasted, he tried a new cruelty. He says torture is ultimately a creative process. Listening to Mister X describe what he did can leave you breathless, and sometimes Mister X seems to feel that way himself as he tells the story. Then he shakes his head. Pauses. Runs his hand through his beard. Fights back tears. He says, "Man, I can't believe this myself."

      The way he speaks, you don't get the impression that it was all so long ago. In fact, it's not over at all. Mister X says there is hardly a day when he does not think about Slahi or when he does not haunt his dreams. Slahi was the case of his life, in the worst sense of the word.

      There was a moment back then that not only burned itself into his memory, it also poisoned his soul, Mister X says. That night he went into the interrogation room where Slahi, small and emaciated, sat in his orange jumpsuit on a chair, chained to an eyelet in the floor. Mister X, tall and muscular, had thought of something new again. This time he pretended to go berserk. He screamed wildly, hurled chairs across the room, slammed his fist against the wall and threw papers in Slahi's face. Slahi was shaking all over.

      Mister X says the reason he never got rid of that moment was not that he saw fear in Slahi's eyes, but that he, Mister X, enjoyed seeing that fear. Seeing the trembling Slahi, he says, felt like an orgasm.

      Mohamedou Slahi is 50 years old today. In December 2020, two months after our visit to Mister X, he is standing on the Atlantic beach. In front of him the waves break on the Mauritanian coast, not far behind him begins the endless expanse of the Sahara. Slahi wears a Mauritanian robe and a turban, both in the bright blue of the sky above him. With narrowed eyes, he looks out to sea and says that if he were to sail off here on a steady westerly course, he would arrive where he was held for 14 years, at the south-eastern tip of Cuba.

      Slahi has been free again for five years. But like Mister X, he too cannot shake off his time in Guantánamo. He now lives again in Nouakchott, the capital of Mauritania, on the edge of the desert, the place where the USA had him kidnapped a few weeks after 11 September 2001. Unlike then, he is now a celebrity. He is approached on the street, he zooms out of his house into universities and onto podiums around the world to denounce human rights abuses by the United States. He says that when he closes his eyes at night and sleep comes, sometimes the masked man comes again.

      When one of the authors of this article first visited him in 2017, Slahi expressed a wish - he would like to find his torturers. At the time, he had already written a book about his time in Guantánamo. In the last sentence, he had invited the people who had tortured him to have tea with him: "My house is open."

      The trauma of 11 September 2001

      At that first meeting and again now, in December 2020, he says that during the torture period in Guantánamo he felt one thing above all: Hate. Again and again, he imagined the cruel way in which he would kill Mister X. He said that he had to kill him, his family and everyone else. Him, his family and everyone who meant something to him. But then, in the solitude of his cell, while thinking, praying and writing, he realised that revenge was not the answer. So he decided to try something else: Forgiveness.

      In the silence of his cell, he forced himself to think that this big, strong man, Mister X, was in fact a small, weak child. A child to whom he, Mohamedou Slahi, patted his head and said: What you did is bad, but I forgive you. The process of re-educating himself took several years. But at some point, still sitting in his cell in Guantánamo, he had managed to convince himself so much of the sincerity of this thought that he really felt the need to want to forgive.

      When Slahi expressed a desire to speak to Mister X, he said he hoped it would bring peace to his still troubled soul. In the best case scenario, he could replace the old, painful memories of that time with new, good memories.

      Thus began our search for Mister X.

      How must one imagine a man torturing another? In American files, for example in a Senate investigation report, there is a list of what Mister X did. They are descriptions of the crudest psychological and sometimes physical violence.

      When you meet him, something strange happens: you don't connect the image that all the reports have created in your head with the man sitting in front of you. We know for sure that he is Mister X. Former colleagues of his have confirmed his identity to us. But the Mister X we meet is: a subtle art lover. An educated man interested in history. All in all, a pretty nice guy. After spending several days with him, one cannot escape the impression that he is apparently also a very empathetic person.

      Mister X tells us that he occasionally invites homeless people to the restaurant, also that it happens that he cries in front of the TV when he sees reports from disaster areas. It is precisely because he can empathise so well that he has been so good as an interrogator, as a torturer. You have to put yourself in the other person's shoes. What causes him even greater pain? What could make him feel even more insecure? Where is his weak point? But precisely because of empathy, he says, he was also broken by what he had done at the time.

      Shortly after he left Guantánamo in the winter of 2003, Mister X began to drink. It was not unusual for him to drink three bottles of red wine a night. He spent more and more time in bed and spoke less and less with his wife and children. He hardly found any sleep any more. He toyed with the idea of killing himself, he says. A doctor diagnosed him with severe post-traumatic stress disorder. The torturer, of all people, had suffered the kind of trauma one would expect to find in his victim.

      There are many studies on the psychological suffering of torture victims. War refugees from Syria, refugees who were mistreated in Libyan camps, Uighur prisoners from China - in such people, depression, addictions, concentration problems, sleeping problems and suicidal thoughts are increasingly observed.

      Mister X also suffered from all these symptoms.

      One could see the distraught Mister X as the personification of the trauma that has gripped the entire United States since 11 September 2001. After that primal experience, the country that wanted to defend the values of the West in the fight against terror betrayed precisely those values. Rule of law. Justice. Democracy. And since that primordial experience, the country has been ravaged more than ever by an omnipresent violence perpetrated by broken people. Spree killings, assassinations, hate crimes. Maybe the whole US has some kind of post-traumatic stress syndrome?

      For 17 years, Mister X says, he has been working through the guilt he has brought upon himself. He has taken medication, undergone therapy and looked for a new job. For 17 years he has been trying to make up for his mistake. A few things have helped him. A little. But not really. Maybe also because he had secretly known all these years that in order to really come clean with himself, he would have to do one thing urgently. "The decent thing to do would be to tell Slahi to his face that I regret what I did to him. That it was wrong."

      In that sense, Slahi's offer to talk to us reporters is a gift. An opportunity to draw a line under the matter. But there's a thought that's been troubling Mister X and making it difficult for him to accept the offer.

      Mister X still thinks Mohamedou Slahi is a terrorist. And for one of the most brilliant in recent history. A charismatic. A manipulator. A gifted communicator who already spoke four languages, Arabic, French, German and English, and taught himself a fifth, Spanish, in Guantánamo.

      Slahi was probably the smartest person he had ever met, Mister X says. So smart that Slahi managed to fool his interrogators, just as he now manages to make millions of people around the world believe he is innocent. Mister X says he knows this person's psyche better than that of his own wife. For weeks he did nothing but put himself in this man's shoes and one thing was clear: Slahi was a brilliant liar.

      He looks his tormentor in the face

      In 2010, a US federal judge ruled that Slahi must be released because the US government's alleged evidence against him was just that, not evidence: Evidence. The government appeals.

      In 2015, the book Slahi wrote in prison is published: Guantánamo Diary. It is extensively redacted, but the message is clear: the US tortured an innocent man. The book becomes a bestseller.

      In 2016, Slahi is released, after 14 years without charges. In Mauritania, he is received like a hero.

      In 2019, it is announced that Guantánamo Diary will be made into a film. Jodie Foster and Benedict Cumberbatch will star, and Oscar-winner Kevin Macdonald will direct.

      In 2020, the Guardian's website will publish the trailer for a documentary in which one of Slahi's guards travels to Mauritania and former enemies become friends.

      Apparent friends, says Mister X. He doesn't buy any of this "forgiveness stuff" from Slahi. The film scenes - the walk in the Sahara sand, Slahi laughing and helping his guard into a Mauritanian robe - , Slahi has really staged all that masterfully. Slahi who generously forgives, the decent David who rises above the corrupt Goliath - the narrative of a hero.

      That is what makes Mister X hesitate for so long: Slahi, he fears, could also use him for his production. He could show the whole world: Look, now not only an insignificant guard apologises, but also my torturer, and I forgive him too! Slahi would become an even greater hero.

      Is Mister X's urge to face his victim stronger than his fear of being instrumentalised?

      Mister X has made a small, ugly potty. It must now dry. He puts it aside, wipes his hands on a towel and looks serious. He is silent for a long time and then says, "I'm going through with this now. Oh God."

      The picture jerks, the sound wobbles, and for a brief moment hope is written on Mister X's face that technology will save him from his courage. Then the face he knows so well appears before him on the computer screen - narrow as ever, but aged. The man on the screen, unlike Slahi in 2003, has hardly any hair left. And Slahi now wears glasses, with black rims.

      It is late in Mauritania, almost midnight, but Mohamedou Slahi has stayed awake. He also has a visit from a member of our team. By phone, we have been keeping Slahi updated from the US for the past few hours: There is a delay; Mister X needs a little more time.

      Now a picture is also building up on the monitor in Mauritania. The greying beard, the bald head, the tattoos on the back of his neck.

      Mohamedou Slahi looks his tormentor in the face. No mask, no sunglasses.

      Mister X: Mister Slahi. How are you doing?

      Mohamedou Slahi: How are you, sir?

      Mister X: Not bad, and you?

      Mohamedou Slahi: I am very well.

      Mister X: That's good.

      Mohamedou Slahi: Thank you for asking.

      Mister X: Yes, sir. I was extremely hesitant to make this call. But let me explain a few things to you.

      The first time Mister X saw him was on 22 May 2003. Mister X was standing in an observation room in Guantánamo, looking through a pane of glass that was a mirror from the other side. There, in the interrogation room, Slahi was being questioned by two FBI agents. For half a year they had spoken to him almost every day - without the slightest success. In a few days, it had already been decided, the military would take over, Mister X and his colleagues.

      There was a table in the middle of the room, on one side the agents, on the other Slahi. The FBI had brought cakes. One of them, blond and tall, obviously the boss, was leafing through a Koran and saying something about a passage. Then Slahi stood up. He wore no handcuffs, no chains. He walked around the table, took the Koran from the agent's hand and said, no, no, he got it wrong, he had to see it this way and that way. In the end, Mister X watched as the agents hugged Slahi like a friend. "I couldn't believe it," he says.

      The FBI agent who leafed through the Koran is Rob Zydlow. We spoke to him as well. He lives in California, he retired a few months ago. He thinks failure is a harsh word. But, yes, in Slahi's case, his plan didn't work. He tried the nice way, but no matter whether he brought home-made cakes, as he did that day, or burgers from McDonald's, whether he watched animal documentaries with Slahi or let him teach him Arabic, Slahi just didn't talk. He would always just say, "I'm innocent."

      Slahi, on the other hand, says today that the FBI cake tasted good, that he liked the documentary about the Australian desert best, and that Rob Zydlow's attempt to learn Arabic was simply ridiculous. It was true that the FBI people had been reasonably nice to him for months, but he did not owe those agents any answers. On the other hand, they owed him answers. Why had the US had him kidnapped?

      Slahi did not know that on that day, behind the glass, the man he would meet a little later as Mister X was watching. He did not know that in the Pentagon a document was just being passed from one office to the next, signature by signature, all the way to Secretary of Defence Donald Rumsfeld, giving examples of what methods this man could use to get the prisoner Mohamedou Slahi to talk. It was a paper that provided a framework, but still left the torture team plenty of room to come up with their own ideas.

      Rob Zydlow says he sensed a real hunting fever in the army people who took over.

      Mister X says he went to the army shop and bought a bluesuit. Slahi was a man-catcher, as his dealings with the FBI agents proved. So, that was the logic, Slahi would now not be dealing with a human being, but with a figure from a horror film.

      "What we did to you was wrong".

      In high school, Mister X was in the drama club. Even today he plays Dungeons & Dragons, a board game with elves, orcs and dragons, he reads comics and loves science fiction. While some of his colleagues were boring in their interrogation methods back then - question, question, question - he really immersed himself in the roles.

      On the evening of 8 July 2003, Mister X put on his overalls, black military boots, black gloves and a black balaclava, along with mirrored sunglasses. He had Slahi brought into the interrogation room and hooked to the eyelet in the floor, but the chain was so short that Slahi could only stand bent over. Then Mister X switched on a CD player and heavy metal music filled the room, deafeningly loud.

      Let the bodies hit the floor
      Let the bodies hit the floor
      Let the bodies hit the floor
      Let the bodies hit the floor

      Mister X put the song on continuous loop, turned off the lights, turned on a strobe light that emitted bright white flashes, and left the room. For a while, he says, he watched from the next room. But the music was so loud that he couldn't think. So he went outside for a smoke.

      Slahi says he tried to pray, to take refuge in his own thoughts. He did not talk.

      Mister X was trying out new songs. The American national anthem. A commercial for cat food that consisted only of the word "meow". Mister X turned up the air conditioning until Slahi was shaking all over. Mister X turned up the heating until Slahi had sweated through his clothes. Mister X put his feet up on the table in front of Slahi and told him that he had had a dream. In it, a pine coffin had been lowered into the ground in Guantánamo. There had been a number on the coffin. 760, Slahi's prisoner number. Then there was his outburst, which he could not get rid of later.

      No matter what he did, Slahi remained silent.

      Mister X: It is difficult for me to have this conversation because I am not convinced of your innocence. I still believe that you are an enemy of the United States. But what we did to you was wrong, no question about it. Nobody deserves something like that.

      Mohamedou Slahi: I can assure you that I have never been an enemy of your country. I have never harmed any American. In fact, I have never harmed anyone at all. Never.

      Whether Mohamedou Slahi was a terrorist, as Mister X thinks, or completely innocent, as Slahi himself claims, will probably never be clarified. Perhaps he was something in between, a sympathiser. In the search for concrete criminal acts, for terrorist actions by Mohamedou Slahi, we have spoken to many people who were close to him or who know his case well. There were constitutional protectors in Germany, where Slahi lived for eleven years, intelligence officers in Mauritania and the USA, investigators and several members of the Special Projects Team. We read German and American files. After years of research, we found - nothing.

      Mohamedou Slahi grew up two hours' drive from Nouakchott, in the sandy foothills of the Sahara. His father tended the camels, his mother the twelve children. He was an exceptionally good student - just like his cousin Mahfouz, who was the same age. As teenagers, in the mid-eighties, the cousins shared a room. Late into the night, they read books about Islam and longed to join the thousands of young men from all over the Islamic world and travel to Afghanistan to fight the infidel Soviet occupiers. But they were too poor to make such a journey. Then Slahi got a scholarship to study in Germany.

      In 1990, at the age of 19, he enrolled in electrical engineering in Duisburg. Five years later, now a graduate engineer, he started a job at the Fraunhofer Institute for Microelectronics. He now built microchips for the renowned German research institution, earning 4000 marks a month.

      That was one life of Mohamedou Slahi. The other had begun during his studies.

      1990: Stay in an Al-Qaida training camp in Afghanistan. Weapons training, oath of allegiance to Emir Osama bin Laden.

      1992: second trip to Afghanistan, where the Islamists were on the verge of overthrowing the Afghan government. Slahi was deployed in an artillery unit. After two months, he returned to Germany, allegedly, as he would later say, because the Islamists had disappointed him with their fighting among themselves - it was not at all the paradisiacal reign of God on earth that he had imagined.

      At that time, there was still a kind of community of interest between Al-Qaida and the West; after all, Bin Laden's people had helped to drive the Soviet occupiers out of Afghanistan.

      If you ask Slahi what his relationship with Al-Qaeda was like in 1992 after his return to Germany, he says: "That chapter of my life was closed. I cut all ties. I stopped reading the magazines, stopped informing myself about Al-Qaeda's activities, had no more friends in the organisation, no more contacts, with anyone, no phone calls, nothing."

      If this were true, Slahi would have turned her back on the organisation before turning against the US.

      But it isn't true. Slahi kept in touch: with his cousin, with whom he used to share a room and who had since become a confidant of Osama bin Laden under the name Abu Hafs al-Mauritani - once the cousin even called him on bin Laden's satellite phone; with a friend in Duisburg who was involved in the attack on the synagogue on Djerba in April 2002; with another friend who was later convicted of planning an attack on La Réunion. And Slahi, in Duisburg in October 1999, had three overnight guests, one of whom was Ramzi Binalshibh, who would later become one of the key planners of 9/11. Binalshibh later told his American interrogators that the other two visitors were two of the hijackers. At the meeting in Duisburg, Slahi advised them to travel to Afghanistan.

      Slahi's involvement with Al-Qaeda

      Slahi did not break off all contacts. On the contrary, the list of his friends and acquaintances reads like an extract from Al-Qaeda's Who's Who.

      If you ask Slahi about these contacts, he confirms everything, but acts as if it is an insult that you bring up these little things at all. These were his friends, and what his friends believed or did had nothing to do with him.

      All those contacts and friendships - it is not hard to imagine that hunting fever broke out among Mister X and his colleagues. It's hard to imagine what Slahi might know. Even if he himself was perhaps hardly involved.

      Perhaps he would lead the investigators to his cousin, bin Laden's confidant. It was suspected that the cousin and Bin Laden were on the run together.

      I wonder how many lives could be saved if only he finally came clean?

      Mister X says that as a team they felt they were fighting on the front line of the war on terror. He says he was aware that if he got anything of significance out of Slahi, President George W. Bush would be informed personally.

      For weeks, Mister X worked his way around Slahi. To no avail. Then he got a new boss, a man called Richard Zuley, known as Dick.

      Mister X says of him today, "Dick is a diabolical motherfucker."

      Richard Zuley himself says, "All Mister X got out of Slahi was petty stuff. Slahi had everything under control, we had to change that."

      Zuley now lives in a row house on Chicago's north side. For years he worked here as a police officer; now, in retirement, he spends a lot of time at the airfield where his small plane is parked. When Zuley talks about how he took over Slahi's interrogations, he smiles. "There was then no question about who was in charge."

      Zuley suggested to Slahi that the latter's mother could be raped if he didn't talk. And under Zuley's command, Slahi was beaten half to death. That was one day in late August 2003. When Mister X saw Slahi's bloody and swollen face, he says, he was shocked. For him, this raw physical violence went far beyond the limits of what was permissible and was also not compatible with Rumsfeld's list. Mister X confronted his boss - and was taken off the case the same day.

      When asked why, Zuley replies, "I used people who were effective." One senses no sense of injustice, only pride that he managed to break Slahi.

      Slahi was moved to a new cell that evening. "There was nothing in the cell," Slahi remembers, "no window. No clock. Nothing on the wall that I could look at. It was pure loneliness. I don't know how long it lasted, I didn't even know when it was day and night, but eventually I knocked and said I was ready to talk."

      After months of silence, Slahi was now talking so much that Zuley had paper and pens brought to him, and later a computer. Slahi wrote that he had planned an attack on the CN Tower in Toronto. He listed accomplices. He drew organigrams of terror cells in Europe. Slahi says it was all made up.

      In fact, intelligence agencies soon raised doubts about the veracity of the information Zuley's team passed on to them. In November 2003, Zuley ordered a lie detector test on Mohamedou Slahi. The latter recanted his confession and the machine failed.

      Mohamedou Slahi: You know so little about me. Obviously your government has given you very little information ...

      Mister X: Let me make something clear.

      Mohamedou Slahi: May I please finish my sentence?

      Mister X: Excuse me, please continue.

      Mohamedou Slahi: The military prosecutor who was going to charge me, Stuart Couch, was going to ask for the death penalty at the beginning, but then he realised that I am innocent.

      Stuart Couch is now 56 years old and a judge. An accurately dressed man with a military short haircut and a fierce southern accent. On a Sunday morning in January 2021, we have an appointment at a hotel in Charlottesville, Virginia. Couch talks about his Christian family and his time as a soldier in the Marines, which shaped him. He paints a picture of himself as a man who was shaped by a strong belief in values and rules. Rules that demanded a lot of him when he had to make the most difficult decision of his career in spring 2004.

      The US government had given him, the military prosecutor, the task of indicting the most important prisoner in Guantánamo Bay, Mohamedou Ould Slahi. Of course, this was a potential death penalty case, says Couch. After all, it had to be assumed that Slahi had recruited the later hijackers for al-Qaida - at the meeting in the Duisburg flat.

      There was a lot of circumstantial evidence for Slahi's involvement with Al-Qaeda, namely the many friendships and contacts. Couch assumed that with all the smoke, it was a matter of time before the fire was encountered. "My grandfather used to say, 'If you lie down with the dogs, you'll get fleas.' And man, Slahi must have lain with a lot of dogs."

      But Couch found no fire - not a shred of evidence. Instead, he found something else. On a site visit to Guantánamo, he heard loud music blaring from an interrogation room in a hallway. Let the Bodies hit the floor. Through the crack in the door he saw bright flashes of light. Inside, a detainee was chained to the floor in front of two speakers.

      "What I did was torture. No doubt about it"

      The scene repelled him as a human being and as a Christian, he says. As a prosecutor, he immediately understood: if they did the same to Slahi, he had a huge problem. What he had said or would still say would have no relevance in court. "Under torture, people tell everything, whether it is true or not, the main thing is that the torture stops," says Couch.

      He began investigating what was going on at Guantánamo. Shortly after Slahi's confession reached him, he had certainty: it was worth nothing.

      Stuart Couch says he wrestled with himself for days. Not pressing charges would mean possibly letting a terrorist get away with it. He consulted with his priest. Then he told his superior that he was withdrawing from the case.

      The case never went to trial. Nevertheless, Slahi remained in prison for another twelve years. Only in October 2016 was he released, one of the last decisions of the Obama administration.

      Asked today if Stuart Couch believes Slahi was a terrorist then, he replies, "I don't know."

      Mister X says he is sure. All you have to do is look at the way Slahi communicates. He plays games - no innocent man does that.

      In fact, watching Slahi talk to Mister X, one sometimes gets the impression of watching a shrewd politician. Mister X says a total of six times that the torture should not have happened. Slahi never responds to this. Instead, he talks about other things - his innocence, criticism of America. Once he starts talking about Chalid Sheikh Mohammed, the chief planner of 9/11, who is still in Guantánamo. Another time about the US war in Afghanistan.

      Mister X: I won't say anything about Khalid Sheikh Mohammed, nor about politics. I can only talk about the techniques I used. That they were wrong and I should never have done it. They should never have been abused. They should never have been beaten. That's not who we are. That's not who I am.

      Mister X tells Slahi that he painted him, six years after that August day in 2003. Bleeding Slahi in oil with a busted lip and a swollen eye. Now, during the conversation, he asks us reporters to send a photo of the painting to Mauritania via WhatsApp.

      Mohamedou Slahi: Ah, wow. This prisoner in the picture looks much better than the real prisoner back then. (Slahi laughs)

      Mister X: You actually didn't look very good that day. And this painting is not meant to ... it's to reflect what happened to you that day.

      Mister X painted the picture when he had just resigned from the army. His post-traumatic stress disorder had become so bad that he could no longer work. The alcohol had stopped helping, the medication was no longer working either. So now painting. He says he had hoped that the artistic confrontation would trigger a catharsis. But it only brought pain. So he destroyed the painting again. Only the photo is still there.

      Mister X: I have to live with this shame. Maybe this is a small victory for you, that I have to live with my behaviour.

      Mohamedou Slahi: Um, I don't know ... I always had the impression that you were an intelligent person. And it was hard for me to understand how you could do such a thing to me.

      Slahi asks exactly the question that determines Mister X's life. After art failed to give him an answer, he tried science. He enrolled in Creative Studies at university. He studied how creativity is used for evil purposes, for cigarette advertising, weapons of mass destruction, torture. He read study after study in search of an explanation for why he was capable of so much cruelty. From all that reading, he took away: The tendency to cruelty is in all human beings. It asserts itself when the circumstances allow it. The circumstances in his case were: a country that craved revenge. A president who demanded success. A superior who spurred on the interrogators.

      "My country made me do some pretty shitty things, and I did them," says Mister X. "I hate myself for it. And I hate my country for making me this monster." He speaks out, "What I did was torture. One hundred percent. No doubt about it."

      The few studies that exist on people who have tortured suggest that there are two types of torturers. The ones who live on afterwards as if nothing had happened. And the others who break. Scientists suspect that it is the worldview of the torturer that determines which category he or she will fall into.

      For example, if a person tortures, like Richard Zuley, in the belief that it is morally right to torture one individual in order to possibly save thousands, then he is more likely to escape unscathed.

      If, like Mister X, he tortures in contradiction to his own humanism, then shame and guilt are more likely to trigger trauma. The symptoms then often resemble those of torture victims, only one thing is sometimes added: a deep mistrust in institutions. Those who have been forced to do abysmal things in the name of a system, an ideology, a country, their trust in this system, this ideology, this country is sometimes shaken by this.

      Can there ever be reconciliation?

      Mohamedou Slahi, the victim, on the other hand, has managed something that therapists very rarely see. Victims are often stuck in a situation of helplessness and hopelessness. Slahi has broken out of this helplessness. He has made himself an actor.

      You can watch numerous videos of Slahi's performances on the net. The audience is often visibly moved when he talks about how he received his guard in Mauritania. Actress Jodie Foster, who won a Golden Globe for her role as Slahi's lawyer in the film The Mauritanian, said of him in a statement at the awards ceremony: "You taught us so much: what it means to be human. Joyful of life. Loving. Forgiving. We love you, Mohamedou Ould Slahi!"

      It is always this one thing that touches people, what they admire him for: that he is willing and able to forgive.

      In a way, Slahi says in one of our interviews in Mauritania, forgiveness is also a form of revenge for him. He is taking revenge on his tormentors and all the people who fought the American war on terror for 20 years: before the eyes of the world public, he exposes the actions of those who thought they were the good guys as evil. And he stylises himself, the supposedly so evil, as the good guy.

      Mohamedou Slahi: I want to tell you: I forgive you, just as I forgive all those who have caused me pain. I forgive the Americans ...

      Mister X: Yeah ...

      Mohamedou Slahi: ... With all my heart. I want to live in peace with you.

      Mister X: It is important for me to clarify that I did not ask for your forgiveness. I have to forgive myself.

      It doesn't work for Mister X, he rebuffs Slahi. The two do not find each other. One last try: Slahi tries another subject.

      Mohamedou Slahi: How are you today? Are you married? Do you have children?

      Mister X: I'm not going to talk about my family or where I live, what I do or don't do. That's how it is, mate.

      The conversation lasts 18 minutes and 46 seconds and ends with frustration on both sides.

      Mohamedou Slahi: Anyway, I wish you all the best.
      Mister X: You too.
      Mohamedou Slahi: I think you are what you do. I forgive you with all my heart, even if you don't ask me to.
      Mister X: It's okay. I have nothing more to say. Goodbye, Mister Slahi.
      Mohamedou Slahi: Bye.
      When the video link ends, the two are left unreconciled, the weak, self-doubting perpetrator, and the strong victim.
      When one person tortures another, it's quite intimate. Tears. Screams. Pain. Fear. Nudity. A torturer sees things that otherwise only the partner sees, if at all. Mister X and Mohamedou Slahi are familiar with each other and strangers at the same time. They know everything about each other - and nothing. In this conversation, in which there seems to be nothing in common, it becomes clear that there is one thing they do share: Eight weeks in Guantánamo in the summer of 2003 have made them who they are today.
      Mohamedou Slahi lives largely from his story, from what was done to him. His suffering has brought him not only pain and nightmares, but also wealth and prestige. He married a human rights lawyer who worked in Guantánamo and had a child with her. He has turned his destiny around.
      In Mister X's life, almost everything has turned into its opposite. He no longer votes for the Republicans, as he used to, but for the Democrats. He is no longer for the death penalty, but against it. He is no longer sure he wants to continue living in the USA, but is thinking of emigrating.

      For several years, Mister X has been teaching young soldiers and FBI agents interrogation techniques. At the beginning of the course, there are always people who say: torture should be allowed. He then says, no, absolutely not. Torture exacts a high price. Not only of the person who suffers it. But also on the one who commits it. Sometimes he talks about himself.

      Source: https://www.zeit.de/2021/36/folter-guantanamo-mohamedou-ould-slahi-gefangener-folterer-gespraech-terrorismus/komplettansicht

      Translated with DeepL: https://www.deepl.com/

      10 votes
    12. A brief look at programming paradigms

      Overview If you've spent any significant amount of time programming, then you've probably heard discussions about imperative, functional, and declarative programming. These discussions are often...

      Overview

      If you've spent any significant amount of time programming, then you've probably heard discussions about imperative, functional, and declarative programming. These discussions are often mired in technical knowledge and require a fair amount of intuition when trying to grasp the differences between the examples placed in front of us. These different programming styles, usually called programming "paradigms", are discussed as if they exist within a vacuum with complete and total isolation from one another. This only furthers the confusion and frustration among newer programmers especially, which runs counter to the goal of instructing them.

      In this post I'll be taking a look at the oft-neglected intersections where these paradigms meet with the hope that the differences between them will be better understood by reframing our existing knowledge of programming basics.

      Note: I'll be using PHP for my code examples and will try to provide comments when necessary to point out language quirks.


      Understanding Fundamentals is Imperative

      Let's start by first reviewing the most basic, fundamental programming paradigm: imperative programming. The term is a bit strange, but the important thing to understand about it is that imperative programming refers to writing software as a series of instructions where you tell the computer how to solve a specific task. For example, if we need to add together a bunch of numbers inside of an array, we might write code that looks like this:

      $numbers = [ 8, 31, 5, 4, 20, 78, 52, 18, 96, 27 ];
      $sum = 0;
      foreach($numbers as $number) {
          $sum += $number;
      }
      

      This is a pretty typical example that you've probably encountered in some form or another at some point in your programming studies or career--iterate over an array one element at a time from the first element to the last and add the current element to some accumulating variable that starts at 0. The kind of loop you use may differ, but the general format of the solution looks the same. This is very similar to the way the computer itself performs the task, so the code here is just a relatively human-friendly version of the actual steps the computer performs. This is the essence of imperative programming, the basic building blocks of everything you learn early on.


      Abstract Concepts

      As the software we write gets larger and more complex, we then tend to rely on "abstractions" to simplify our code and make it easier to understand, reuse, and maintain. For example, if we've written a program that adds arrays of numbers together, then we probably aren't doing that in only one place. Maybe we've written a tool that generates reports on large data sets, such as calculating the total number of sales for a particular quarter, gross profit, net profit, remaining inventory, and any number of other important business-related metrics. Summing numbers could be so common that you use it in 30 different places, so to avoid having to maintain 30 separate instances of our number adding code from above, we define a function:

      function sum($numbers) {
          $sum = 0;
          foreach($numbers as $number) {
              $sum += $number;
          }
      
          return $sum;
      }
      

      We do this so frequently in our code that it becomes second nature. We attach so many names and terms to it, too: DRY, abstraction layers, code reuse, separation of concerns, etc. But one thing experienced programmers learn is to write their functions and object and interface methods in such a way that anyone who uses them doesn't need to care about the underlying implementation details, and instead only need to worry about the method name, expected arguments (if any), expected return type (if any), and expected behavior. In other words, they don't need to understand how the function or method completes the intended action, they only need to declare what action they want performed.


      A Declaration of Understanding

      Anyone who has looked into the concept of the declarative programming paradigm should find those last words familiar: "they don't need to understand how the function or method completes the intended action, they only need to declare what action they want performed". This is the oft-touted explanation of what declarative programming is, the difference between detailing "how" and declaring "what", and I believe that it's this great similarity that causes imperative and declarative programming to become heavily entwined in a programmer's mind and makes it difficult to understand. Take this common example that authors tend to use to try to detail the difference between declarative and imperative programming:

      // imperative
      function sum($numbers) {
          $sum = 0;
          foreach($numbers as $number) {
              $sum += 0;
          }
      
          return $sum;
      }
      
      // declarative
      function sum($numbers) {
          return array_reduce($numbers, fn($x, $y) => $x + $y, 0);
      }
      

      The authors will go on to state that in the imperative example, you tell the computer how to sum the numbers, whereas in the declarative example you don't tell the computer how to do it since you don't know anything about the reduce implementation, but intuitively it still feels as if you're telling the computer how to perform its task--you're still defining a function and deciding what its underlying implementation details are, i.e. the steps it needs to take to perform the task, even if its details are abstracted away behind function or method calls that could have varying implementation details of their own. So how the hell is this any different from defining functions like we do in imperative programming?

      The answer is simple: it isn't. We've used so many names and terms to describe functions and methods in our ordinary imperative programming, but the truth is that a well-defined function or method serves as a declarative interface to an imperative implementation. Put differently, declarative programming is defining and utilizing simple interfaces that describe what you want accomplished while the underlying implementation details are inevitably written using imperative code.


      Functional Differences

      Now we can finally tackle one of the biggest trends in programming right now: the functional programming paradigm. But to understand this paradigm, it's important to understand what a "function" is... from a mathematical perspective.

      Yes, I know, math tends to be a enthusiasm sink for many, but don't worry, we're not actually going to be doing math. We only need to understand how math treats functions. Specifically, math functions usually look something like f(x) = {insert expression here}, which is loosely equivalent to the following code:

      function f($x) {
          return {insert expression here};
      }
      

      The important thing to note about functions in math is that you can run them a theoretically infinite number of times on the same input x and still get the same return result. Unlike in a lot of the programs we can write, math functions don't produce side effects. Files aren't written to or destroyed, database entries aren't deleted, some global counter somewhere isn't incremented, and your x doesn't suddenly change. The idea behind functional programming is to embody some of that nature of mathematical functions because they're predictable and always reproducible, and therefore simple to test as well. For example, take the following:

      // not functional
      function increment(&$x) { // pass by reference--$x will be modified outside of this function!
          $x++;
      }
      
      $x = 1;
      increment($x);
      increment($x);
      increment($x);
      
      // functional
      function increment($x) { // pass by value--$x will NOT be modified outside of this function!
          return $x + 1;
      }
      
      $x = 1;
      $y = increment($x);
      $y = increment($x);
      $y = increment($x);
      

      Note that the first example will change the value of $x on each call, meaning each subsequent call of increment($x) produces a different result. Meanwhile the second example doesn't change $x and so the return value of increment($x) is always the same. This may seem like a silly example, but in larger, more complex software this can be significant. So now that we have an understanding of functions from a mathematical perspective, we have everything we need to actually understand what functional programming is.

      Functional programming is a subset of declarative programming. Just like in declarative programming, you use simple interfaces to tell the program what you want to do rather than how to do it. But unlike declarative programming as a whole, functional programming imposes some additional restrictions on what you should and shouldn't do:

      • You should encapsulate behavior in pure functions, which always give a consistent output for a given input and don't have side effects.

      • You should write functions in such a way that you can compose them together, allowing you to combine and chain behavior to produce new functions or use the output of one as the input for another.

      • You should avoid side effects as much as possible.

      • You should avoid mutable state (e.g. changing the values in a variable).

      • You should avoid sharing state between components.

      These restrictions would require an entirely separate post on their own to properly cover and have been covered so many times in so many ways by others elsewhere that it would be superfluous for me to try to add anything more. It's important to note, however, that these restrictions are imposed because they provide some key benefits. By avoiding side effects and by avoiding mutable and shared states, the code you write becomes more predictable and tracing the behavior of an algorithm becomes far simpler. By writing pure, composable functions, you create reusable building blocks that can be strung together in virtually any configuration with predictable results. This makes writing, reading, maintaining, and debugging code easier and less error-prone.

      That said, I feel that it's important to note that in the real world when writing practical software that users can interact with, it's simply not possible to completely avoid side effects or mutable state. The very act of creating and updating database entries is itself an act of mutating state, which runs contrary to functional programming principles and is essential for many important software projects. But even if you can't adhere strictly to functional programming principles, it's possible to benefit significantly from being aware of them and integrating them into your own software development strategies.

      Let's consider a more practical example to illustrate this. Imagine that you've built a social media website and you're trying to test a push notification system that will be triggered when your user receives a new message. Now imagine your code and unit tests look something like this:

      function sendNotification(&$message) { // pass by reference--$message will be modified outside of this function!
          $notification_system = new NotificationSystem();
          if(!$message['sent_push_notification']) {
              $notification_system->sendPushNotification($message);
              $message['sent_push_notification'] = true;
          }
      }
      
      function testSendNotification() {
          $message = [
              'user_id'=>'{some_id}',
              'contents'=>'Hi!',
              'sent_push_notification'=>false
          ];
      
          sendNotification($message);
          sendNotification($message);
      }
      

      At a quick glance you probably wouldn't be aware of why the second message didn't send, but the fact that our sendNotification() function mutates the state of the data provided to it is the culprit. This is code that doesn't adhere to functional programming principles since the data provided to it is mutated. As a result, running the function multiple times on the same variable doesn't result in the same behavior as the first call. If we wanted to work around this without adhering to functional programming principles then we would need to manually set $message['sent_push_notification'] = false; between function calls, which makes our unit tests potentially more error-prone. Alternatively we can make a simple change to adhere better to those functional principles:

      function sendNotification($message) { // pass by value--$message will NOT be modified outside of this function!
          $notification_system = new NotificationSystem();
          if(!$message['sent_push_notification']) {
              $notification_system->sendPushNotification($message);
              $message['sent_push_notification'] = true;
          }
      
          return $message;
      }
      
      function testSendNotification() {
          $message = [
              'user_id'=>'{some_id}',
              'contents'=>'Hi!',
              'sent_push_notification'=>false
          ];
      
          sendNotification($message);
          sendNotification($message);
      }
      

      Now both notifications will be sent out, which is what we would intuitively expect. You should also notice that the above is also a blend of imperative, declarative, and functional programming. Our function definitions have imperative code, our sendNotification() function adheres to the functional programming principle of avoiding mutable state (well, mostly), and our NotificationSystem object provides a declarative interface for sending a push notification for a message.


      Final Thoughts

      By viewing these three paradigms not as completely separate concepts but as layers on top of one another, where functional programming is a type of declarative programming which is implemented using imperative programming, we can stop being confused by their similarities and instead find clarification in them. By understanding that imperative programming is the backbone of everything, that declarative programming is just simplifying that backbone with simple interfaces, and that functional programming is simply adding some additional guidelines and restrictions to the way you write code to make it more consistent, reusable, and predictable, we can start to see that we're not choosing one programming paradigm over another, but instead choosing how much consideration we place on the design of the programs we write. Except in purely functional languages, functional programming isn't some alien concept distinct from imperative or declarative programming, but is instead a natural evolution of the two.

      There are a lot of details I've glossed over here. Each of these programming paradigms is far too detailed to include a proper analysis in an already lengthy post that tries to separate them from each other and clarify their differences. Blog articles exist in a thousand different places that can do each one far more justice than I can, and programming languages exist that completely cut imperative programming out of the picture. But for your average programmer slinging JavaScript, C, Rust, PHP, or what have you, I hope that this serves as a crucial starting pointing to understanding just what in the hell these functional programming enthusiasts are on about.

      25 votes
    13. I'm stuck in an endless loop

      For several years now (4-5-ish, but hard to pin down when it started), I have been stuck in a cycle of enervation/depression. I don't really like to use the word 'depression' to describe this,...

      For several years now (4-5-ish, but hard to pin down when it started), I have been stuck in a cycle of enervation/depression. I don't really like to use the word 'depression' to describe this, because in my youth (I'm in my early 50s now), I suffered from serious bouts of extreme depression, and by comparison, this is a walk in the park ... so I've gotten into the habit of colloquially referring to is as "ennui".

      The duration varies (a lot), but the cycle is most often roughly 7-14 days long, where 60-70% of the time, my energy, motivation, my ability to focus on and accomplish tasks ... all goes into the toilet, and I spend most of my day reading news, surfing the 'Net, playing video games, watching re-runs, walking about town with my dog, or even just sleeping. The other 30-40% of my time, I feel good -- clear-headed, focused, motivated and energized -- and I spend most of this time catching up on all the stuff I neglected during the ennui phase, and making Grand Plans for the future.

      It is hard to tell, objectively, whether I am getting better, worse, or just treading water ... in part, because the cycle varies enough that it's hard to see any clear trends over anything less than 6-8 month time frame ... but more so because my ability to objectively assess my status is so colored by the cycle itself ... when I am in one of my ennui phases, it feels like I am getting worse or, at best, maintaining. When I am in the manic-ish phase, I feel like I will never feel unmotivated again, and I must often remind myself that it is temporary, and in another day or 3, I will be back in a funk. As objectively as I can be, however, I think I am actually treading water or, possibly, getting gradually worse at a very glacial pace.

      I know the "up" phase of my cycle sounds a lot like the manic- part of a manic-depressive bipolar thing. Maybe it is; as I said, it is hard to be objective. That said, though, I am really, really confident that, prior to the beginning of this, ~5-ish years ago ... that "manic" phase was my normal state of mind. I used to be a very focused, productive individual.

      So ... I've tried many different things to address this. Assorted doctor visits have mostly concluded that either they don't know what the problem is, and/or, I'm exaggerating/imagining it (no doctor has explicitly said this -- it is my interpretation of "we can't find anything wrong with you"). I've tried increased exercise, more time outdoors, more sleep, less sleep, meditation, a wide variety of changes in diet, vitamins/minerals/supplements, etc. I've lost over 40 lbs. I'm currently trying (for a 2nd time) large daily doses of turmeric, and contemplating trying (also for a 2nd time) a round of tDCS self-treatment.

      For context, I am right now on an upswing, coming out of my latest "ennui" phase and feeling optimistic and productive.


      I should also add that I have another issue ... one that I believe is unrelated, but sounds similar when I describe it. This dates back to about 15-16 years ago, and is another thing I have seen many doctors for, and tried various things to remedy. In a nutshell, about 15 years ago, I got dumber. Prior to that, my ability to learn and remember, my executive functions, my ability to deduce, my ability to focus and prioritize and plan ... were all much better.

      Over the course of 12-18 months, I lost a lot of my mental functions. For anyone who has read it, it felt a lot like the tail-end of the book "Flowers For Algernon". The simplest quantifiable example I can give of this is the notion of ... how many things are on your mental shopping list (stuff you need to get at the grocery store) before you realize you better write it down? For me, prior to this loss, my magic "I'm gonna forget stuff if I don't write it down" number was around 12-13 items, that I could fairly confidently remember. Afterwards, that number dropped to around 3.

      At that time, my doctor found a (benign) lump in my throat (a goiter), and ultimately, they removed half of my thyroid. After they removed it, over the course of 6-12 months, my mental faculties improved again, but I feel to this day, that they never returned to anything close to what they were before. My mental "shopping list" number today is around 5.

      Multiple tests since then have repeatedly confirmed that my half-of-a-thyroid is fully getting the job done, and I do not need any kind of supplemental hormone treatment -- with the possible exception of testosterone (ps: I'm a guy), which I tried for a little while -- and dammit, it helped, too -- but then I freaked out and quit once I started reading about side-effects.


      I am writing this explicitly looking for suggestions and advice. Keep in mind, though, that (I'm guessing here), 80-90% of my responses will be "already tried it, didn't help".

      In advance, danke y gracias.

      16 votes
    14. I made my first knife

      A while ago I mentioned I was going to attempt making a knife for the first time. Well, I did. Apologies in advance for there not being many photos of the process - steel is really messy to work...

      A while ago I mentioned I was going to attempt making a knife for the first time. Well, I did.

      Apologies in advance for there not being many photos of the process - steel is really messy to work with so I mostly kept my phone safely out of the way. I'll try to get more pictures next time, although there are plenty of videos and picture tutorials around if people are super interested in the process. I shall endeavour to describe what I did in text, however.

      I started out with a bar of 01 tool steel (wiki) which I cut into a rough knife blank. This I then hit with a ball hammer a load of times to get some texture. Then I used a belt grinder to put a bevel on the edge side, although only enough to thin the knife down to roughly the right shape, not actually sharp. Once that and a few other minor shaping tasks were done, it was time to heat treat it.

      Heat treating changes the structure of the metal to make it harder. Hard steel will hold an edge longer, but it does make it much more difficult to work, hence doing most of the shaping before heat treating. To harden steel you need to heat it to a particular temperature, which depends on the exact alloy being used but 'bright orange' is close enough. Fun fact - when steel gets to it's 'critical' temperature, it stops being magnetic, so that's another way you can test it. The steel is then quenched, this one in oil, which makes it hard.

      Hardened steel is very brittle so it's usually tempered after hardening. For 01 steel that means putting it in an oven at 160-200C for a couple of hours. You lose some hardness but you gain back some toughness and flexibility.

      After tempering, cleaning, polishing, polishing and so much polishing. Steel is so dirty and difficult to work with compared to the silver, gold and copper I'm more used to. But eventually, and after glueing and bolting a sycamore wood handle on, then giving it a final sharpen on my wetstone, I had a knife.

      It is a Japanese-style Nakiri knife. Usually used for cutting vegetables, it's really nice to use. Lightweight and agile, the balance is nice and it's comfortable in my hand. It's not perfect and there are a few things I'd do differently but I can see myself using this on a daily basis. More pictures

      I have already laid out and started shaping my next knife, which will be a slightly more complicated bunka knife

      Any questions, please just ask and I'll do my best to answer.

      20 votes
    15. What are all the different ways in which we can appreciate games?

      I know my question isn't worded great! If anyone has a better edit after reading all of this, let me know! I have a half-formed idea in my head and I want to brainstorm a bit. Here's the idea:...

      I know my question isn't worded great! If anyone has a better edit after reading all of this, let me know!


      I have a half-formed idea in my head and I want to brainstorm a bit.

      Here's the idea: games as a whole have a ton of different aspects/lenses through which we can enjoy and appreciate them, and I want to know what they all are. Here are some examples to show what I mean:

      Aspect Description Examples
      Narrative We can appreciate a game with a good story To the Moon, The Walking Dead
      Exploration We can appreciate a game that lets us explore a digital world The Legend of Zelda: Breath of the Wild, Minecraft
      Movement We can appreciate a game that lets us move in compelling ways Forza Horizon 3, Mirror's Edge

      I feel like there are dozens of these we could come up with if we get really specific. The diversity of gaming experiences and genres really lends itself to a broad swath of these aspects. After all, the appreciation someone gets from playing something like Katamari Damacy is very different from that which someone gets from, say, ARMA 2.

      I think later it might be interesting to try to apply some sort of analysis or taxonomy to this, but right now I just want to brainstorm. What are all of the different reasons we can like games? Be as specific as you can, try to cover lots of different titles and genres so that all of gaming is represented, and feel free to critique or edit my examples as well (e.g. I think it might be worth breaking up "Narrative" into "Plot" and "Characters", for example).


      Aggregated List So Far

      I'll keep updating this as we go. For entries that didn't follow the table format (which I didn't intend to be prescriptive but it looks like it caught on!), I've tried to incorporate them as best as I can, but if you feel I've misrepresented something let me know! Again, I'm mostly just interested in brainstorming at the moment, and then I think we can have a secondary thread later for analysis/synthesis.

      Aspect Description Examples
      Narrative We can appreciate a game with a good story To the Moon, The Walking Dead
      Exploration We can appreciate a game that lets us explore a digital world The Legend of Zelda: Breath of the Wild, Minecraft
      Movement We can appreciate a game that lets us move in compelling ways Forza Horizon 3, Mirror's Edge
      Empathy We can appreciate a game for who / what it positions us as, and the degree to which it gives insight into that position. Benefits for the player range from novel emotional experiences to genuine moments of learning. Diaries of a Spaceport Janitor, The Beginner's Guide
      Escapism Sometimes you simply need a break from real life and to escape into a fantasy world for a bit. Videogames are a highly effective way to do this IMO, since you are actually granted agency as an actor in them, which you don't get in most traditional escapist mediums like novels, movies and shows. Almost every game with a story, to varying degrees
      Catharsis When you manage to deeply emotionally connect with any story (regardless of medium) and it reaches its climax or denouement, it can often help you break through the emotional barriers you have set up over time, which then allows you to safely release your pent up emotions. Surprisingly, I find games to be somewhat less effective at this than novels, but it still happens with them often enough to be a major component of my enjoyment of them. Gris
      Emotional Challenge Sometimes the opposite of catharsis is great too. Getting to experience emotionally challenging things, like a truly mind-bending or depressing story, in the relatively safe environment of a game can be incredibly fulfilling. Although, those sorts of games often require me to be in the right frame of mind to experience, so that I don't have a breakdown afterwards, and as a result I don't seek them out all that often... I can only handle so many existential crises per month. ;) Disco Elysium
      Intellectual Challenge Whether it be from difficult puzzle elements or strategy mechanics, intellectual challenges presented in games can be incredibly gratifying to solve and overcome. Europa Universalis, puzzle games by Zachtronics
      Eureka Moments This goes hand in hand with the above two, but also applies to most games. Those moments when you finally figure something out that you were struggling with beforehand, or a major plot twist is revealed, can be truly glorious in games, and IMO they tend to occur more often in them than most other entertainment mediums. Portal, Portal 2, The Talos Principle, The Witness
      System We can appreciate a game that lets us explore a well crafted system of interacting logical parts. The player can learn the rules of the system by observation and experimentation, and apply critical thinking and problem-solving skills to achieve goals. Stephens Sausage Roll, Factorio, The Witness, Antichamber
      Competition We can appreciate a game for fostering a competitive spirit among peers, to test themselves against each other as teams or individuals Dota 2, Rocket League
      Cooperation We can appreciate a game that allows and encourages two or more people to work together towards a common goal A Way Out, ibb and obb, Portal 2
      Audio experience We can appreciate games that use music or sound in interesting or resonant ways Bastion,Metal Gear Solid III
      Visual experience We can appreciate games that use visuals in interesting or resonant ways Tetris Effect,Super Hexagon
      Effort We can appreciate games that adequately convey the effort required for the task happening on-screen Don't Look Back, The Witcher 3, Dishonored
      21 votes
    16. Do you use Github Actions for continuous integration?

      I recently came across an article about setting up automated builds (installation, code quality check, running tests) using Github Actions. I've since found a few more articles excitedly promoting...

      I recently came across an article about setting up automated builds (installation, code quality check, running tests) using Github Actions. I've since found a few more articles excitedly promoting the feature and, from my personal testing, it seems to work quite well.

      I was wondering if others had begun using this feature for their own projects, or had tried it and disliked it and used something else. Is there any broader community consensus towards which tasks it's best-suited for and when to use something more robust?

      10 votes
    17. What are your mental health upkeep habits/lifestyle?

      I've seen a few posts about sharing issues, but I don't think anything about habits. I'm former "quantitative-self" hobbyist (if you want to call it that), keener and have a side interest in...

      I've seen a few posts about sharing issues, but I don't think anything about habits. I'm former "quantitative-self" hobbyist (if you want to call it that), keener and have a side interest in psychiatry. So in my personal life I'm very active and serious about my own short and long-term mental health. I'm wondering if anyone shares my habits or has others I have not considered. I wont link any literature because there is a lot out there to support most of these habits and I can't make this exhaustive (but I'm happy to help find specific resources).

      Morning quiet time. I wake up early and spend about an hour drinking tea, looking outside and reading. The major benefit here is it gives me a buffer before the start of the day. I used to get up and rush out of the door - I would be stressed from the start and wouldn't have an idea of how to go about my day effectively.

      Reading fiction. I used to read a lot more non-fiction (pop sci and "self-help") but I found with fiction (and also biographies) not only is it generally easier content to process, but the narratives can be therapeutic. There is something about getting exposed to other peoples thought processes (real or not) and overcoming of challenges that can be comforting or inspiring when facing your own.

      Aerobic exercise. And also anything exhaustive - as in you gave it all of your energy. The general health benefits are obviously well established at this point. But, a subjective (AFAIK) experience of mine is the feeling of self-actualization - a sense of victory and fulfillment you can get almost anytime anywhere, and fairly frequently.

      Regular social contact. Specifically AFK/face-to-face. This seems banal but it's really not. I make a serious active effort here - I think about who I haven't seen in a while, who I might feel like would complement or share my vibes right now or near future and make plans ASAP. This among the most important of my habits, or at least has the most therapeutic effect. Something about social interactions, even if they're just about talking shit, can be therapeutic and energizing. And this is coming from someone who is generally an introvert and would usually prefer to stay home.

      Restrict social media. I probably don't need to explain this one. But I'll also add that, after following the advice of someone on Tildes (sorry I can't find the post!) limiting my news source to only the Current Events of Wikipedia has done wonders for me! I've stayed informed and have avoided the anxiety-inducing clusterfucks of newstainment. I group this with social media because they're so close nowadays (gossip?).

      Meditation. Big one right here. I've been practicing for ~7 years now, and it's very noticeable when I skip a 20 min session a few days in a row - I become more agitated, short tempered and anxious (is depressed, but mainly just too focused on myself either way). Specifically "mindfulness" (loose term) or Vipassanā style (I use and highly recommend Waking Up). Style here is important because they all exercise different neural pathways. The product of this practice 1) being much more aware of what has emotionally triggered me and 2) being more able to let go/resolve of negative states of mind. E.g. instead of grinding my teeth with a negative thought train the past 3 hours I notice it's all petty within a moment or two and am able to move on and focus on my task at hand and later sleep soundly.

      Psychedelics. Namely the tried-and-true classics. This one is finally getting the attention it deserves in the public domain. As opposed to the others which I do on a near-daily basis (aim for daily), psychedelic experiences I limit to only a handful of times per year because 1) it's work, it requires planning and a day or two off; 2) the positive/resolving effects last for months/years/lifetime; and 3) it requires integration with you baseline reality life to really be effective.
      This one hands down has provided me the most benefit out of all and has inspired me to actively pursue everything above, especially meditation and social life. Specifically, it's the perspective you can get from a psychedelic experience that can be like years of therapy because it's all internally-motivated - you can get an objective perspective on you own life that no one else can offer and one you normally would not accept, especially if it's self-critical.
      For best results I do this with close friends, at home and/or in nature - taking long walks by the river or woods. Sometimes quiet time at some point as well, to allow self-reflection, taking a moment for an honest review and check in.

      Safety disclaimer Psychedelics, and also exhaustive workouts and meditation, can have serious adverse effects if done in excess or without proper planning. Always practice harm reduction: do your research (e.g. Erowid for substance info) test your drugs, carry Naloxone and *always* have a friend, at leas to check in with. Start small - you can always take more but not less.
      32 votes
    18. This Week In Election Night, 2020 (Week 18)

      good morning, tildes--this is not a test. we are 468 days and dropping away from possibly the biggest election day in recent american history. the coverage is more spread out this week, with...

      good morning, tildes--this is not a test. we are 468 days and dropping away from possibly the biggest election day in recent american history. the coverage is more spread out this week, with candidates that normally don't catch the media's attention getting some; there are, alas, no opinion pieces this week. we do have a very important poll, however, which i elaborate on in detail.

      the usual note: common sense should be able to generally dictate what does and does not get posted in this thread. if it's big news or feels like big news, probably make it its own post instead of lobbing it in here. like the other weekly threads, this one is going to try to focus on things that are still discussion worthy, but wouldn't necessarily make good/unique/non-repetitive discussion starters as their own posts.

      Week 15Week 16Week 17


      News

      Polling

      from CBS News: Early contests by the numbers: Democratic delegate race tightens — CBS News Battleground Tracker. CBS News is out with an update to its important poll that is based on delegate allocation rather than voter preferences. as some of you may or may not know, primary contests are not purely FPTP affairs when it comes to delegate allocation, but instead based on rules of proportional allocation at district and statewide levels. complicating matters, the DNC has a rule which states a candidate must win 15% or more of the vote in a state to be eligible for any delegates. this means that national/state polling does not inherently jive with the projected results of the primaries, and this poll actually is an example of that:

      the order is Biden (581 delegates of 1494 possible in the 18 "early contests"), Warren (430 of 1494), Sanders (249 of 1494), Harris (173 of 1494), O'Rourke (48 of 1494), and Klobuchar (13 of 1494). no other candidates would currently receive delegates. obviously, this does not jive with the polling completely: biden, warren, and sanders all punch above their polling; harris, buttigieg, o'rourke, and klobuchar do not. buttigieg, who generally polls better than klobuchar and o'rourke by a mile, also doesn't benefit from his homestate and doesn't appeal enough elsewhere to win delegates with his polling. harris, meanwhile, is really only tethered by california in her delegate count despite polling similarly to sanders. basically, it's a bit of a shitshow.

      as far as shifts: biden has eaten a loss of 150 delegates since june; warren is up 75; sanders is down 68; harris is up 97; o'rourke is down 25; klobuchar is down 8; buttigieg is down 2.

      General News

      • from Pacific Standard: There Are Many Democratic Candidates. Party Insiders View a Bunch as the Same.. among the more interesting trends that exist within the democratic primary so far is the fact that the activist base of the democratic party and the broader public are somewhat at odds with each other currently. while biden, warren, sanders, harris, and buttigieg round out the five major candidates with more than token public support, party insiders back a much broader set of candidates which expands to booker, klobuchar, castro, and gillibrand. sanders, naturally, is mostly absent from insider support--this is partly because most insiders don't support him to begin with, but also because the ones that do are generally not considering other candidates.
      • from NBC News: Democrats duel over health care in new campaign dust-up. healthcare is shaping up to be a big part of the democratic stategy to win back the white house, and naturally that's the first big faultline in the primary since it's one of the things which most divides candidates into ideological quadrants. biden, who is mostly pushing for improved obamacare, disputes the idea of medicare for all as too expensive and "starting over", which sanders has of course derided as misinformation and basically jacking conservative talking points. while they won't be sharing the debate stage in july, don't be surprised to see similar issues litigated by more moderate candidates against sanders and warren, and don't be surprised if biden has similar disputes with his more progressive leaning debate stage.
      • from Buzfeed: The Best Day Of Joe Biden's Presidential Campaign Was The First One (and other things you can learn from new data on how many donors contributed to Democratic presidential campaigns each day this year). with fundraising now in, analysis of that fundraising begins, and to say the least it looks pretty bad for most candidates outside of the front six or so as far as keeping donors interested. most candidates barely register donors above the $200 threshold set here by Buzzfeed, even as they raise what might be respectable amounts of money; meanwhile, even frontrunning candidates are having difficulties creating an upward trajectory in their donor bases.

      Joe Biden

      • from NPR: Why Progressives Think Joe Biden Is Not 'Electable'. the progressive argument against joe biden is relatively straightforward: he has a bad track record and is effectively on the right-wing of the party right now in a time where voters seem to be clamoring for some answer to the increasingly radical rhetoric of the republican party. in a time where change seems to be necessary or we're fucked, biden wants to keep the status quo almost exactly as it is, but "better" in some unknown sense. more moderate elements of the party argue that this approach is necessary to win the house, senate, and presidency, but for somewhat obvious reasons progressives don't buy that argument very much either.
      • from Jacobin: Bidencare Is a Scam. biden's healthcare plan, by extension, isn't particularly fondly regarded either by people left-of-center. billed mostly as an extension of obamacare, jacobin notes that biden's plan doesn't do a whole lot to address places where obamacare has been unhelpful or to fix things which obamacare hasn't addressed. it more or less has the same failings as obamacare, just for less people--while also most likely setting back the fight for equitable healthcare.

      Kamala Harris

      • from CBS News: Kamala Harris introduces plan to lower prescription drug prices. kamala harris has some policy out this week which seeks to regulate how the government would handle drug prices. per CBS here, "The senator's plan would task the Department of Health and Human Services with setting "fair" prescription drug prices ... determined in part by looking at the prices for the drug in other industrialized countries such as the United Kingdom and Canada." should companies try to sell higher than that price set by HHS, "the government [would] tax their profits from the drug at 100%, with the money reallocated to consumers in the form of rebates." in the event congress doesn't advance this within the first 100 days of her presidency, she would use executive orders to investigate price gouging (along with the attorney general) and HHS would, after a 30-day warning period, be allowed to import drugs from countries where they are cheaper. further failure to comply with reducing drug prices would also lead harris to award patents for drugs produced in part with federal funding to companies which produce the drug cheaper.
      • from CBS News: Kamala Harris to propose decriminalizing marijuana at the federal level. harris is also looking to legalize marijuana, and in doing so not just promote minority business but expunge the records of people convicted on marijuana charges. her plan would also make it illegal to deny federal benefits on the basis of marijuana possession or use, and prevent immigrants from being deported or denied citizenship purely because of marijuana infractions.

      Beto O'Rourke

      • from Texas Monthly: Should Beto O’Rourke Drop Out?. the question posed most to the beto campaign is this. o'rourke severely undershot his fundraising in Q2 and has been consistently dropping in the polls basically since he entered the race because what worked for him in texas is not what works nationally. but at the same time, there's a question of where he has to go if he drops out: the senate seat cornyn currently occupies is already subject to a pretty big primary on the democratic side, and o'rourke might be spoiled goods if he becomes a presidential failson. it's a fun dynamic, one which will probably ruin him and send him packing back down to a more reasonable role in the future, provided it doesn't kill his political aspirations completely.
      • from NBC News: O'Rourke's campaign is cratering. But he's got a plan to bring back 'Betomania.' nonetheless, the beto campaign remains optimistic. o'rourke after all was a dark horse candidate for the majority of his senate race and certainly not a stranger to adversity. o'rourke also has the benefit of it still being like, 7 months before any votes are cast at all, which is plenty of time to turn things around. still, not the best situation to be in.
      • from CBS News: Despite a tumble in polls and fundraising O'Rourke campaign betting it all on Beto. the campaign, in the mean time, is also setting up new infrastructure with what it has, having continued its shift from a person-first strategy to one which involves much more media limelight. (i also assume they're getting better debate prep.)

      Everyone Else

      • from CBS News: On the road with Cory Booker in New Hampshire. this is a small profile of cory booker that CBS did a few days ago. booker, who has struggled to get out of the logjam of lower candidates now that buttigieg has risen, has yet to have a true breakout moment in his campaign. additionally, although he has constituencies he appeals to, many of those constituencies are also occupied by one or more candidates currently doing better than he is. nonetheless, booker has an extensive ground game in new hampshire and a pretty experienced campaign team coordinating his movements on the campaign trail. if he fails in his endeavors, it certainly won't be for lack of a network or experienced advisers.
      • from the Atlantic: Elizabeth Warren Has Momentum. Can She Build a Movement?. one of the more underrated aspects of the rise of warren's campaign is that, in many ways, it mirrors the coalition that bernie sanders built in 2016 and has serious potential to turn into a political movement of its own--although probably at the expense of the political machinery which has enabled sanders to be a frontrunner. warren's campaign is also noteworthy in that it's managed this feat so far without any particularly splash-worthy moments. warren hasn't especially dominated the soundbyte market, nor is she the frontrunner most media scrambles to cover; yet, she is polling just behind biden, just ahead of sanders and harris, and seems only capable of climbing further from there. there's still time for some gaffe to derail her or for her rise to be blunted, but at least in the present, it seems pretty likely that her campaign is on track to be the next popular political movement.
      • from CBS News: Buttigieg says white Americans "can't be defensive" when talking about race. pete buttigieg meanwhile continues to navigate the question of race, something that could be a great boon to his campaign if he is able to effectively harness it--but which currently is burdening him pretty badly both politically and polling-wise. of note in buttigieg's remarks:

      "When somebody is saying that we are benefitting from living in a system that creates privileges associated with systemic racism, we can't kind of retreat into this idea that, 'We're being personally attacked, so we're not going to want to talk about that.' Or that, 'Hey these were distant historic problems, we can't be held accountable for dealing with that,'" he said. "No."
      ...
      "I am worried that in different ways we may not be able to imagine, in the 21st century, if these inequalities keep getting worse, then that could once again threaten to unravel the American project."

      • from New Hampshire Public Radio: Klobuchar in N.H.: To Beat Trump, Dems Need Positive Message and Some Humor. amy klobuchar, who hasn't made much news recently, continues to pitch herself as a moderate who can win in red, rural america and takes the line of thinking that any democratic candidate wanting to unseat trump will have to come at it from a message of positivity--and probably also have some wit. in her words: "I think sort of making fun of [Donald Trump], the absurdity of him. And I know that every day we think to ourselves this isn’t a laughing matter. We know that right? But you also know one of the cardinal rules of politics is you take your work seriously but you can’t always take yourself seriously."
      • from Colorado Public Radio: After Crickets Following The First Debate, Hickenlooper Campaign Goes All In On Iowa. despite some frankly awful fundraising and being nowhere near the frontrunners, the john hickenlooper campaign is pushing the pedal to the floor and investing heavily in iowa. hickenlooper intends to spend much more time in the state than he has previously--he had previously been darting across the country--with the hopes of garnering some sort of traction. however, it's going to be quite an uphill climb for him, given that he polls worse than 1%, and it seems reasonable to assume that if he fails to gain traction in the next few months he'll cut his losses early (perhaps in favor of the colorado senate race? who knows).
      • from CBS News: Delaney disputes reports he's dropping out of 2020 presidential race. y'all remember john delaney? he still exists, and he's fighting rumors he's dropping out, which is always a sign of a healthy campaign. delaney has mostly self funded and is the longest candidate in the race, having announced all the way back in 2017, but has pretty much entirely failed to take off with the electorate. he does not show signs of taking off, either.

      anyways, feel free to as always contribute other interesting articles you stumble across, or comment on some of the ones up there.

      13 votes
    19. This Week in Election Night, 2020 (Week 17)

      good morning, tildes--this is not a test. we are 475 days and dropping away from possibly the biggest election day in recent american history. this week saw a return to normal: we not only have...

      good morning, tildes--this is not a test. we are 475 days and dropping away from possibly the biggest election day in recent american history. this week saw a return to normal: we not only have opinion pieces this week, but we also have fundraising and polling numbers, and quite a bit of news both in policy and in punditry.

      the usual note: common sense should be able to generally dictate what does and does not get posted in this thread. if it's big news or feels like big news, probably make it its own post instead of lobbing it in here. like the other weekly threads, this one is going to try to focus on things that are still discussion worthy, but wouldn't necessarily make good/unique/non-repetitive discussion starters as their own posts.

      Week 15Week 16

      News

      Polling

      From Saint Anselm College (MoE +/- 5.2 percent) New Hampshire state poll [PDF warning]:

      Biden 21%
      Harris 18%
      Warren 17%
      Buttigieg 12%
      Sanders 10%
      All others below 5%

      Fundraising (Q2, 2019)

      (h/t Shane Goldmacher):

      Buttigieg $24.8 million
      Biden 21.5
      Warren 19.1
      Sanders 18
      Harris 12
      ...
      Booker 4.5
      Klobuchar 3.9
      O'Rourke 3.6
      Inslee 3
      Castro 2.8
      Bennet 2.8
      Yang 2.8
      Gillibrand 2.3
      Bullock 2
      Moulton 1.9
      Gabbard 1.5
      Hickenlooper 1.1
      de Blasio 1.1
      Ryan .9

      General News

      • from POLITICO: Third Democratic primary debate will be in Houston. the third democratic debate series will be held in Houston on Sept. 12 and (potentially) 13. this is a change from the end-of-month dates they've used for june and the coming july debates; note also they will not be having debates in august. the qualifications for this one are being bumped up such that candidates need to receive at least 2 percent in four approved polls and have 130,000 unique donors including at least 400 individual donors in at least 20 states, which makes it pretty likely that there will not be 20 candidates on the stage in september. only 5 people qualify currently.
      • from USA Today: Penalizing candidates who interrupt, and other changes coming to the Democratic debates. a welcome change for some of you, USA Today reports that "[...]candidates who interrupt "consistently" will be penalized and have time taken away from them" for the july debates which CNN will be hosting, although they note that "CNN did not specify how it defines the level of interruption that would trigger the penalty nor how much time would be deducted." CNN will also be allowing an opening statement for candidates.
      • from FiveThirtyEight: It Won’t Be Easy For Many Democrats To Make The September Debate. as i mentioned above, it's looking pretty unlikely that 20 democrats will meet the qualifications for the september debates. aside from the five frontrunners (sanders, biden, warren, harris, buttigieg) who have all qualified already, only castro, o'rourke, and yang have hit the donor criteria and only booker has hit the polling criteria. the donor criteria will probably be met by at least 15 candidates, but the polling criteria is going to be a big hurdle for most of the remaining candidates.
      • from FiveThirtyEight: A Midsummer Overview Of The Democratic Field. FiveThirtyEight puts things a bit more technically: while there are clearly five frontrunners and the rest of the pack, there's reason to believe even the frontrunners are more two clusters of biden, warren, harris and then sanders, buttigieg as of current. everybody else after them of course still has a shot, but it's going to require some agenda setting and, currently, that doesn't look very likely to happen.
      • from CNN: Kamala Harris soars in our latest 2020 rankings. CNN's rankings by chris cillizza and FiveThirtyEight alum harry enten not surprisingly look basically identical among the frontrunners. for the most part, it seems as though the popular consensus among the punditry has coalesced for the time being--for good reason, to be clear. it will take quite an act or performance to dislodge the front five from their positions.

      Joe Biden

      • from POLITICO: Embattled Biden ditches Rose Garden strategy. biden's whole strategy of playing it safe and avoiding gaffes is now out the window, and with it has gone biden's reluctance to draw strong contrasts between himself and other people running. biden has also been increasingly confrontational on his ideas to other candidates, particularly with healthcare which he's recently sparred with bernie sanders over. will the pivot to actually addressing other people work out? who the fuck knows, this is joe biden.
      • from the Atlantic: Biden Stops Playing It Safe. in the same vein, the Atlantic has a piece here on how biden's best chance is most likely to continue to exploit the healthcare issue, since it's one where he isn't a spectacular fuckup or one where he's open to consistent attack from all sides. biden's record on healthcare is actually moderate, too, which allows him to play to centrist voters without having to explain votes, for the most part.
      • from POLITICO: Biden unveils health care plan: Affordable Care Act 2.0. oh, he also has a health care plan now which is more of the same and predominantly builds on the existing infrastructure of the PPACA. his issues page on it can be found o'er yonder.

      Bernie Sanders

      • from NBC News: Sanders skips Netroots as Warren strengthens her hold on progressives. bernie sanders was notably absent from the progressive forum and gathering netroots nation this week, primarily because he had other comittments (although there was this whole stupid ordeal about how he wasn't going because markos moulitsas, founder of the daily kos, doesn't like him). sanders, who has been sliding in the polls recently to warren, probably missed out on an opportunity to make his case to the wing of the party he actually needs to win over on some level by not showing up. his base, while significant, remains entirely insufficient to win the nomination of its own.
      • from Jacobin: Bernie Sanders’s Campaign Is Different. jacobin meanwhile focuses on an underrated aspect of the sanders campaign which has not been focused on very much by the media, this being the campaign's elevation of labor issues. sanders has made the bully pulpit for labor issues one part of his campaign and, incidentally tying into why he didn't show up at netroots nation this week, has often spent time campaiging and organizing at labor disputes like the one trying to prevent the closing of philadelphia's hahnemann university hospital.

      Kamala Harris

      • from the Atlantic: Harris Gains Momentum With Democrats’ Most Important Voter Base. kamala harris is in a decent position to win the nomination, and it's mostly on the back of her well-covered recent surge after the first debates. a lot of this comes from the fact that she's improved her standing with black women, who are a constituency that at this point cannot be overlooked by any democrat wanting to seriously win the presidential nomination. harris would be relatively formidable if she manages to win over even a significant plurality of black women, especially given her homestate advantage in early, delegate rich california. she still has a ways to go before that comes to fruition, but she is on the right path.
      • from the Guardian: With her back against the wall, Kamala Harris surged. Will it last?. this sorta-profile of harris so far in the race and the history which has gotten us here is an interesting look into how the more things change, the more things stay the same for harris's political strategy. the somewhat cautious, reserved approach which had previously gotten harris somewhat mixed reviews from the punditry and people at large did a pretty big turnaround after the debates. she still has things to reckon for, of course, but on the whole those things seem less likely to derail her campaign now than they did before.

      Pete Buttigieg

      • from CNN: Pete Buttigieg unveils new details of racial justice plan in bid for black voters. pete buttigieg has new policy this week aimed at black voters in what he's calling the douglass plan. the plan, among other things, entails "increasing federal funding for historically black colleges and universities, increasing investments in minority-held depositories and mandating 25% of government contracts go to minority owned businesses." CNN also notes that "The plan would also seek to reduce incarceration by 50% at the state and federal level and abolish private federal prisons." buttigieg also hopes to address racial inequality in the healthcare system with the plan.
      • From Vox: Pete Buttigieg says Americans should have the right to hide personal details from the internet. buttigieg is also, interestingly, in support of importing the right to be forgotten from the european union. we don't hear very much internet related policy from candidates even as the internet looms larger and larger in both politics and the broader culture wars that are being waged by people, so this is a welcome addition to the vast list of policies that people are going to be parsing through for the inevitable nominee to consider putting in their agenda.

      Everybody else

      The proposal would decriminalize crossing the border into the United States without authorization and separate law enforcement from immigration enforcement [...] designate a Justice Department task force to investigate accusations of serious violations -- including medical neglect and physical and sexual assaults of detained immigrants." It would be granted "independent authority to pursue any substantiated criminal allegations." [...] end privately-contracted detention facilities and promises that, if Warren is elected, she would "issue guidance ensuring that detention is only used where it is actually necessary because an individual poses a flight or safety risk." [and] expand legal immigration, raising the refugee cap, and making "it easier for those eligible for citizenship to naturalize." She would also reduce "the family reunification backlog" and provide "a fair and achievable pathway to citizenship."

      • from CBS News: Amy Klobuchar unveils plan to address medical needs of America's aging population. amy klobuchar has a plan to "provide a cure and treatment options for some of the most aggressive chronic conditions facing the country's elderly population, including Alzheimer's disease, by 2025" and to "strengthen Medicare and Social Security, reduc[e] drug prices, creat[e] personal savings accounts to help Americans save for retirement and ensure paid family leave for all." as part of helping to reduce the strain of an increasingly old population of america. i assume we'll see a few more people with plans of some sort like this, since it's a growing issue and will only continue to be in the future as the boomers begin to die off.
      • from POLITICO: Inslee knocks Sanders, 2020 rivals over filibuster support. jay inslee wants to nuke the filibuster and does not like people who do not want to nuke the filibuster. this is something a bunch of democrats, not just inslee, want to do because it's probably the only way anything will ever pass the senate again. godspeed, inslee, godspeed.

      Opinions

      As New York’s Rebecca Traister aptly pointed out in a recent essay, the pundits aren’t keeping up with the politicians: “In all of their hand-wringing,” she writes, “they seem not to have noticed that … assumptions about a safe center are crumbling in the hands of a new generation of political leaders willing to make a stirring case for radical ideas,” like the Green New Deal and Medicare for All.
      Is Bernie Sanders down for the count? Probably not. But you definitely shouldn’t take the mainstream media’s word for it.

      Some political evolutions are genuine, and Harris’s “law-and-order” past wasn’t out of place in the Democratic party at the time. But that old wisdom is now being called into question. It’s hard to imagine that a party tacking to the left in an increasingly polarized country is about to elect a criminal prosecutor as its nominee.
      [...] Kamala Harris isn’t just not leftwing enough to be the Democratic party’s nominee, she’s also not bold enough to win a presidential election and bring about the change we desperately need

      16 votes
    20. Genetic Algorithms

      Introduction to Genetic Algorithms Genetic algorithms can be used to solve problems that are difficult, or impossible to solve with traditional algorithms. Much like neural networks, they provide...

      Introduction to Genetic Algorithms

      Genetic algorithms can be used to solve problems that are difficult, or impossible to solve with traditional algorithms. Much like neural networks, they provide good-enough solution in short amount of time, but rarely find the best one. While they're not as popular as neural networks nor as widely used, they still have their place, as we can use them to solve complicated problems very fast, without expensive training rigs and with no knowledge of math.

      Genetic algorithms can be used for variety of tasks, for example for determining the best radio antenna shape, aerodynamic shapes of cars and planes, wind mill shapes, or various queing problems. We'll use it to print "Hello, World!".

      How does it work?

      Genetic algorithm works in three steps.

      1. Generate random solutions
      2. Test how good they are
      3. Pick the best ones, breed and mutate them, go to step 2

      It works just like evolution in nature. First, we generate randomised solutions to our problem (in this case: random strings of letters).

      Then, we test each solution and give it points, where better solutions gain more points. In our problem, we would give one point for each correct letter in the string.

      Afterwards, we pick the best solutions and breed it together (just combine the strings). It's not bad idea to mutate (or randomize) the string a bit.

      We collect the offsprings, and repeat the process until we find good enough solution.

      Generate random solutions

      First of all, we need to decide in which form we will encode our solutions. In this case, it will be simply string. If we wanted to build race cars, we would encode each solution (each car) as array of numbers, where first number would be size of the first wheel, the second number would be size of the second wheel, etc. If we wanted to build animals that try to find food, fight and survive, we would choose a decision tree (something like this).

      So let's start and make few solutions, or entities. One hundred should be enough.

      from random import randint
      
      goal = "Hello, World!"
      allowed_characters = list("qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM ,!")
      
      def get_random_entity(n, string_length):
          entities = []
          for _ in range(0, n):
              entity = ""
              for _ in range(0, string_length):
                  entity += allowed_characters[randint(0, len(allowed_characters)-1)]
              entities.append(entity)
          return entities
      
      print(get_random_entity(100, 13))
      

      Test how good they are

      This is called a "fitness function". Fitness function determines how good a solution is, be it a car (travel distance), animal (food gathered), or a string (number of correct letters).

      The most simple function we can use right now will simply count correct letters. If we wanted, we could make something like Levenshtein distance instead.

      def get_fitness(entity):
          points = 0
          for i in range(0, len(entity)):
              if goal[i] == entity[i]:
                  points += 1
          return points
      

      Crossover and mutation

      Now it's time to select the best ones and throw away the less fortunate entities. Let's order entities by their fitness.

      Crossover is a process, when we take two entities (strings) and breed them to create new one. For example, we could just give the offspring one part from one parent and another part from second parent.

      There are many ways how to do this, and I encourage you to try multiple approaches when you will be doing something like this.

      P:  AAAABBB|BCCCC
      P:  DDDDEEE|FGGGG
      
      F1: AAAABBB|FGGGG
      

      Or we can just choose at random which letter will go from which parent, which works the best here. After we have the offsprint (F1), we should mutate it. What if we were unfortunate, and H (which we need for our Hello, World!) was not in any of the 100 entities? So we take the string and for each character of the string, there is a small chance to mutate it - change it at random.

      F1:  ADDDEBEFGCGG
      F1`: ADHDEBEFGCGG
      

      And it's done. Now kill certain part of old population. I don't know which percentage is best, but I usually kill about 90% of old population. The 90% that we killed will be replaced by new offsprings.

      There is just one more thing: which entities do we select for crossover? It isn't bad idea - and it generally works just fine - to just give better entities higher chance to breed.

      def get_offspring(first_parent, second_parent, mutation_chance):
          new_entity = ""
          for i in range(0, len(first_parent)):
              if randint(0, 100) < mutation_chance:
                  new_entity += allowed_characters[randint(0, len(allowed_characters)-1)]
              else:
                  if randint(0, 1) == 0:
                      new_entity += first_parent[i]
                  else:
                      new_entity += second_parent[i]
          return new_entity
      

      When we add everything together, we get this output:

      Generation 1, best score: 2 ::: QxZPjoptHfNgX
      Generation 2, best score: 3 ::: XeNlTOQuAZjuZ
      Generation 3, best score: 4 ::: weolTSQuoZjuK
      Generation 4, best score: 5 ::: weTgnC uobNdJ
      Generation 5, best score: 6 ::: weTvny uobldb
      Generation 6, best score: 6 ::: HellSy mYbZdC
      Generation 7, best score: 7 ::: selOoXBWoAKn!
      Generation 8, best score: 8 ::: HeTloSoWYZlh!
      Generation 9, best score: 8 ::: sellpX WobKd!
      Generation 10, best score: 9 ::: welloq WobSdb
      Generation 11, best score: 9 ::: selloc WoZjd!
      Generation 12, best score: 10 ::: wellxX WoVld!
      Generation 13, best score: 10 ::: welltX World!
      Generation 14, best score: 10 ::: welltX World!
      Generation 15, best score: 10 ::: welltX World!
      Generation 16, best score: 11 ::: zellov Wobld!
      Generation 17, best score: 11 ::: Hellty World!
      Generation 18, best score: 11 ::: welloX World!
      Generation 19, best score: 11 ::: welloX World!
      Generation 20, best score: 11 ::: welloX World!
      Generation 21, best score: 12 ::: welloX World!
      Generation 22, best score: 12 ::: Helloy World!
      Generation 23, best score: 12 ::: Helloy World!
      Generation 24, best score: 12 ::: Helloy World!
      Generation 25, best score: 12 ::: Helloy World!
      Generation 26, best score: 12 ::: Helloy World!
      Generation 27, best score: 12 ::: Helloy World!
      Generation 28, best score: 12 ::: Helloy World!
      Generation 29, best score: 12 ::: Helloy World!
      Generation 30, best score: 12 ::: Helloy World!
      Generation 31, best score: 12 ::: Helloy World!
      Generation 32, best score: 12 ::: Helloy World!
      Generation 33, best score: 12 ::: Helloy World!
      Generation 34, best score: 13 ::: Helloy World!
      Generation 35, best score: 13 ::: Hello, World!
      

      As we can see, we find pretty good solution very fast, but it takes very long to find perfect solution. The complete code is here.

      Maintaining diversity

      When we solve difficult problems, it starts to be increasingly important to maintain diversity. When all your entities are basically the same (which happened in this example), it's difficult to find other solutions than those that are almost the same as the currently best one. There might be a much better solution, but we didn't find it, because all solutions that are different to currently best one are discarded. Solving this is the real challenge of genetic algorithms. One of the ideas is to boost diverse solutions in fitness function. So for every solution, we compute distance to the current best solutions and add bonus points for distance from it.

      20 votes
    21. A journey through love with Richard Brautigan

      so i've just recently learned about this guy, and his work is quickly becoming a favorite of mine. i'm admittedly crazy poorly-read (is that the antonym to well-read?) when it comes to... well,...

      so i've just recently learned about this guy, and his work is quickly becoming a favorite of mine.

      i'm admittedly crazy poorly-read (is that the antonym to well-read?) when it comes to...

      well, anything besides self-help books released up to "The Subtle Art of Not Giving a Fuck" by Mark Manson.

      and his work has been concise and just fucking accurate enough for me to enjoy.

      so i present you all,

      a journey through love, with Richard Brautigan.


      -2

      Everybody wants to go to bed

      with everybody else, they're

      lined up for blocks, so I'll

      go to bed with you. They won't

      miss us.

      in this first stage, we see that little Richie's met himself someone special, and off they go arm in arm to live happily ever after.


      Romeo and Juliet

      If you will die for me,

      I will die for you

      and our graves will be like two lovers washing

      their clothes together

      in a laundromat

      If you will bring the soap

      I will bring the bleach.

      and here we see something that, personally, i found surprising from a poet who got his start in the 50s.

      this piece emulates the incendiary, passionate, limitless love that some of us have been lucky enough to experience in the early years of our lives. the love where it's the both of you against the world. the love where the most mundane tasks seem incredulous solely because they're done together. the love that i have only seemed to find in life, through trauma bonding.

      their love is powerful. their love is radiant.


      I Feel Horrible, She Doesn't

      I feel horrible. She doesn't

      love me and I wander around

      like a sewing machine

      that's just finished sewing

      a turd to a garbage can lid.

      their love is over.

      the crass yet poignant imagery somehow simultaneously flashing feelings of uselessness, self-loathing, and loss.

      you are here.


      Haiku Ambulance

      A piece of green pepper

      fell

      off the wooden salad bowl:

      so what?

      the sheer stoicism here is inspiring to me.

      this is the mindset that i want - and don't have the emotional energy to cultivate.

      were Brautigan still around and kickin' today, i'd buy the man a shot of the best whiskey i could get with $7 and thank him for emulating the exact mindset i want, need, and desire

      in four lines.

      it's simple - the green paper is a fraud, illusory. from afar or even from near with a quick glance - the green paper is another leafy green of the salad. a leaf of lettuce, a bit of cabbage. even if you press your face into the bowl and smell, the paper will smell of salad and nothing but.

      it falls onto the floor, you pick it up to throw it away. you notice the texture inapropos with more roughness, and frailty than a leaf of a vegetable. you test it - you tear it.

      it was paper.

      it was not the spinach you'd desired.

      it was not real.

      it was not what you wanted.

      regardless of the time you've spent preparing the salad, chopping your veg, blending your dressing, tossing it all, and fixing it for presentation,

      if you throw this paper out - it will be no loss, and your salad will only be better for it.

      a green piece of paper fell off the wooden salad bowl.

      so what?


      Love Poem

      the piece that brought Brautigan in to my attention in the first place.

      It's so nice

      to wake up in the morning

      all alone

      and not have to tell somebody

      you love them

      when you don't love them

      any more.

      resolve.

      clarity.

      peace.

      the earlier bleach has gone unsipped. she has come, she has gone. he has suffered, he has grown.

      and now, he is at peace.

      his world back to...

      normal.


      this has been a journey through love with Richard Brautigan.

      4 votes
    22. Do you use a todo manager or something like a bullet journal? [My story of trying different planners for four months]

      [LONG POST - 4 months of trying different planners) I always wanted to use one but I never thought of analog (paper) planners and tried a lot of digital ones - link to a post. About 4 months ago I...

      [LONG POST - 4 months of trying different planners)

      I always wanted to use one but I never thought of analog (paper) planners and tried a lot of digital ones - link to a post.

      About 4 months ago I saw my friend at school using a pocket diary - similar to this image, he was writing down his tasks on it (he didn't use it again). That day I bought a good pocket diary of around 200 pages, till date I've not used more than 10 pages and its still lying around.

      I realised that I was not going to use it because it was very thick and I couldn't carry it in my pocket. I bought this pocket diary. This was thin and simple, perfect for me. I've used it the longest before switching.

      Initially I used to dump all the tasks and cross it after completion, later I introduced a date system and it was one date for one page. I wrote down tasks for the day and crossed after completion if something was incomplete I migrated it to next day. This worked well but I needed a place to dump tasks that I had to do in future so I made a future section from backside and added tasks to it. This was the final tweak and I used it for like a month. I used it for daily tasks, future tasks, some notes and contacts (I used to make contact.txt before this).

      Later IIRC I wanted to change because it was already half full and a mess because I was trying to do a lot with it. Next I mindlessly bought a notebook - something like this but with 5 sections, I didn't know what to do with it. I also don't remember why I bought it so I used it to write down stuff that I learned online and wanted to remember. It replaced my reddit save and I wrote what I wanted to remember, it is still with me and has been changed a lot (usecase).

      I made a calendar on a single page of that notebook and tracked down basic stuff on it, I started using small square sticky notes to write down tasks and that's how I left my pocket diary. Not long after I lost interest in that notebook thing and updating calendar daily was not interesting. I left that and searched a lot online. Again tried a lot of digital options but I know it will never work for me so I left it and didn't use anything for like a day before I stumbled across Strikethru.

      Strikethru is something like Bullet Journal. If you want to look at strikethru then see this video & this for Bullet Journal.

      I took that notebook and turned it into a bullet journal, I used it for ~a week before trying strikethru and then again switching to bullet journal after a week. That was testing period and I chosed bulletjournal (bujo) over strikethru. That book was also thick so not long after I made a new bujo notebook (normal 200 pages). Again it felt like a big task that I had to do daily and I lost interest, I again restarted it with a new design. In this month I switched to different notebooks/design a lot and was never satisfied. I also tried Nextcloud tasks for 3 days before again trying out bujo.

      Last year in december around a week before christmas I wanted to change it all so I went to a store and bought a new grid notebook (we used it for doing math in 1st grade). I used it for 10 days and everything broke during the last week of december, I was not at home and we went on a vacation. I took it with me but didn't update it because it was boring. It has been 5 days I was busy organising everything else again and now I've settled on what I started with (slightly better idea).

      During that time I read a lot on nosurf, pornfree, internet addiction, sleep cycles, polyphasic society, tulpas, made new friends, tried a lot of todo managers, used different journaling apps and this is what I've decided to stay with.

      I went to the store today to buy the same pocket diary that I've used the longest (1 month one). Its cheap, for 15 INR and works well for me. Over there I saw a box that said monthly planner, I took it and it had 13 small pocket diaries (similar to what I've used the longest but more thin) and with that a small case that would hold a notebook. There was one contacts pocket diary (perfect) and 12 pocket diaries one for each month. It was for this year and costed 170 INR, I didn't had money so I asked the storeman (idk what we call them, here we call them uncle) did he have cheaper option. He showed me the same piece that costed 140 INR but was for 2016, he said he would give it to me for 70 INR because he would have to throw it anyways.

      I thought that was a great deal and bought it. So now I have 12 mini diaries for each month and one contacts diary that has my big list of 10 friends contacts. After trying a lot of different options I came back to what I used for the first time. Its simple and stupid & fits in my pocket.

      It has one page for one day and I just have to cross 2016 and the day (mon, tue, etc.) thing and update it with 2019 days. In the middle it has a big two page calendar for current month, page before it has previous months small one page date list to write down events and on page after it has next months small one page date list. The last page is for notes and the cover has 2017 calender that I won't use and ignore.

      Theres little patch work todo but for that price I think I bought a good set and if I actually use this for full year then I would buy a new one next one (for 2020 & not 2017 :|)

      I've spent around 300 INR for all these (~ 4.5 USD)

      Tl;dr -> Used a lot of systems and in the end switched to what I used for the first time which is simple and fits in my pocket.

      # What do you use for managing your tasks? Do you use it daily?

      16 votes
    23. Code Quality Tip: Wrapping external libraries.

      Preface Occasionally I feel the need to touch on the subject of code quality, particularly because of the importance of its impact on technical debt, especially as I continue to encounter the...

      Preface

      Occasionally I feel the need to touch on the subject of code quality, particularly because of the importance of its impact on technical debt, especially as I continue to encounter the effects of technical debt in my own work and do my best to manage it. It's a subject that is unfortunately not emphasized nearly enough in academia.


      Background

      As a refresher, technical debt is the long-term cost of the design decisions in your code. These costs can manifest in different ways, such as greater difficulty in understanding what your code is doing or making non-breaking changes to it. More generally, these costs manifest as additional time and resources being spent to make some kind of change.

      Sometimes these costs aren't things you think to consider. One such consideration is how difficult it might be to upgrade a specific technology in your stack. For example, what if you've built a back-end system that integrates with AWS and you suddenly need to upgrade your SDK? In a small project this might be easy, but what if you've built a system that you've been maintaining for years and it relies heavily on AWS integrations? If the method names, namespaces, argument orders, or anything else has changed between versions, then suddenly you'll need to update every single reference to an AWS-related tool in your code to reflect those changes. In larger software projects, this could be a daunting and incredibly expensive task, spanning potentially weeks or even months of work and testing.

      That is, unless you keep those references to a minimum.


      A Toy Example

      This is where "wrapping" your external libraries comes into play. The concept of "wrapping" basically means to create some other function or object that takes care of operating the functions or object methods that you really want to target. One example might look like this:

      <?php
      
      class ImportedClass {
          public function methodThatMightBecomeModified($arg1, $arg2) {
              // Do something.
          }
      }
      
      class ImportedClassWrapper {
          private $class_instance = null;
      
          private function getInstance() {
              if(is_null($this->class_instance)) {
                  $this->class_instance = new ImportedClass();
              }
      
              return $this->class_instance;
          }
      
          public function wrappedMethod($arg1, $arg2) {
              return $this->getInstance()->methodThatMightBecomeModified($arg1, $arg2);
          }
      }
      
      ?>
      

      Updating Tools Doesn't Have to Suck

      Imagine that our ImportedClass has some important new features that we need to make use of that are only available in the most recent version, and we're several versions behind. The problem, of course, is that there were a lot of changes that ended up being made between our current version and the new version. For example, ImportedClass is now called NewImportedClass. On top of that, methodThatMightBecomeModified is now called methodThatWasModified, and the argument order ended up getting switched around!

      Now imagine that we were directly calling new ImportedClass() in many different places in our code, as well as directly invoking methodThatMightBecomeModified:

      <?php
      
      $imported_class_instance = new ImportedClass();
      $imported_class_instance->methodThatMightBeModified($val1, $val2);
      
      ?>
      

      For every single instance in our code, we need to perform a replacement. There is a linear or--in terms of Big-O notation--a complexity of O(n) to make these replacements. If we assume that we only ever used this one method, and we used it 100 times, then there are 100 instances of new ImportClass() to update and another 100 instances of the method invocation, equaling 200 lines of code to change. Furthermore, we need to remember each of the replacements that need to be made and carefully avoid making any errors in the process. This is clearly non-ideal.

      Now imagine that we chose instead to use the wrapper object:

      <?php
      
      $imported_class_wrapper = new ImportedClassWrapper();
      $imported_class_wrapper->wrappedMethod($val1, $val2);
      
      ?>
      

      Our updates are now limited only to the wrapper class:

      <?php
      
      class ImportedClassWrapper {
          private $class_instance = null;
      
          private function getInstance() {
              if(is_null($this->class_instance)) {
                  $this->class_instance = new NewImportedClass();
              }
      
              return $this->class_instance;
          }
      
          public function wrappedMethod($arg1, $arg2) {
              return $this->getInstance()->methodThatWasModified($arg2, $arg1);
          }
      }
      
      ?>
      

      Rather than making changes to 200 lines of code, we've now made changes to only 2. What was once an O(n) complexity change has now turned into an O(1) complexity change to make this upgrade. Not bad for a few extra lines of code!


      A Practical Example

      Toy problems are all well and good, but how does this translate to reality?

      Well, I ran into such a problem myself once. Running MongoDB with PHP requires the use of an external driver, and this driver provides an object representing a MongoDB ObjectId. I needed to perform a migration from one hosting provider over to a new cloud hosting provider, with the application and database services, which were originally hosted on the same physical machine, hosted on separate servers. For security reasons, this required an upgrade to a newer version of MongoDB, which in turn required an upgrade to a newer version of the driver.

      This upgrade resulted in many of the calls to new MongoId() failing, because the old version of the driver would accept empty strings and other invalid ID strings and default to generating a new ObjectId, whereas the new version of the driver treated invalid ID strings as failing errors. And there were many, many cases where invalid strings were being passed into the constructor.

      Even after spending hours replacing the (literally) several dozen instances of the constructor calls, there were still some places in the code where invalid strings managed to get passed in. This made for a very costly upgrade.

      The bugs were easy to fix after the initial replacements, though. After wrapping new MongoId() inside of a wrapper function, a few additional conditional statements inside of the new function resolved the bugs without having to dig around the rest of the code base.


      Final Thoughts

      This is one of those lessons that you don't fully appreciate until you've experienced the technical debt of an unwrapped external library first-hand. Code quality is an active effort, but a worthwhile one. It requires you to be willing to throw away potentially hours or even days of work when you realize that something needs to change, because you're thinking about how to keep yourself from banging your head against a wall later down the line instead of thinking only about how to finish up your current task.

      "Work smarter, not harder" means putting in some hard work upfront to keep your technical debt under control.

      That's all for now, and remember: don't be fools, wrap your external tools.

      23 votes
    24. Total noob looking for (hopefully) simple greasemonkey script

      I have knowledge of the basic concepts of programming in general and html and some very basic knowledge of javascript, but this specific task is proving a little beyond me. I'm actually using...

      I have knowledge of the basic concepts of programming in general and html and some very basic knowledge of javascript, but this specific task is proving a little beyond me. I'm actually using tampermonkey, in case that matters.

      www.bricklink.com is a site to buy Lego from private sellers. By default, when looking at a shop's listing of items, it shows 25 per page. I would like to automatically switch to 100 per page every time.

      Here's a randomly selected store page (no affiliation) at the default 25 per page:

      https://store.bricklink.com/TheBricky#/shop?o={"itemType":"P","catID":"18","showHomeItems":0}

      Now, same page set to display 100 per page. Note how "pgSize" is added to the url but doesn't appear by default:

      https://store.bricklink.com/TheBricky#/shop?o={"pgSize":100,"itemType":"P","catID":"18","showHomeItems":0}

      What I would like is for pgSize to be set to 100 only IF

      "shop" appears in the url

      AND

      "pgSize" does not appear in the url OR "pgSize" does appear in the url but does not equal 100.

      Since Bricklink remembers pgSize per shop page per session, once pgSize is set to 100 for a particular shop greasemonkey doesn't need to do anything. Intercepting the url before the page loads would be nice but unnecessary since loading is fast and I'm not worried about bandwidth.

      I tried making this but wasn't sure how to input what I'm trying to test for in the url. Of course now that I've thought about it some more it seems the task is more probably difficult than I thought it would be at first. Any help would be appreciated.

      EDIT: This comment below seems to be working, although the way Bricklink makes their urls feels funky at times.

      10 votes
    25. Tildes maxing out cpu use on pageload

      This is a bit odd. Recently I've thought typing into tildes input boxes sometimes felt laggy but today I noticed my fan spinning up when I loaded the site (until today it's been so hot my fan was...

      This is a bit odd. Recently I've thought typing into tildes input boxes sometimes felt laggy but today I noticed my fan spinning up when I loaded the site (until today it's been so hot my fan was spinning all day). I checked Chrome's task manager and yes, tildes.net is using 100% cpu. If I wait 2-3 minutes, usage will drop back down to the expected 0-1% and remain there. This happens every pageload. If I load a page, wait for the cpu use to drop, then either reload that page or click an in-site link, the cpu ramps up again for 2-3 minutes.

      Chrome Version 68.0.3440.106 (Official Build) (64-bit) on Debian testing, which is up to date as of midnight GMT 10/08/18. I even rebooted my machine just to be extra sure. Happens on all tildes pages. No other site that I regularly visit seems to do this.

      Posted here rather than to the issue tracker for visibility, to see if this is affecting anyone else before raising an issue about it.

      3 votes
    26. Would you want to work for a company that uses a coding test to select workers, even for non-coding positions?

      I'm in the midst of an interview process with an employer that insists on an "Introduction to Algorithms"-type test for all of its white-collar workers. Their claim is that it selects for "smart"...

      I'm in the midst of an interview process with an employer that insists on an "Introduction to Algorithms"-type test for all of its white-collar workers. Their claim is that it selects for "smart" people. [I'm anxious because my relevant coursework was many years ago, and there's no way I'll have time to master it again before the scheduled test - there's some age bias, noted below.]

      Based on review of Glassdoor's comments about this company's interview process and demographics, what they really want is recent college graduates with fresh CIS degrees that they can abuse and use up quickly, giving them no market-relevant skills in the process. The product relies on an obscure, specialized database architecture and elderly front-end code.

      However, the company is a market leader in my industry, and I'm interested in working there in a customer-facing technical liaison/project management role because the product is better fitted for task, has better support and customization, and better interoperability than anything else. There's huge R&D reinvestment as well, and the company is just that little bit more ethical in the marketplace than its competitors.

      Do you believe that the ability to do sorts and permutations in code genuinely selects for general intelligence, and would you want to work with a population of people who all mastered this subject matter, regardless of their actual job title?

      14 votes
    27. Daily book - Sleeping Giants by Sylvain Neuvel

      Sleeping Giants is a science fiction novel by Sylvain Neuvel in which an unknown interviewer and scientist Rose Franklin attempt to decipher the alien origins and purpose of a giant robotic...

      Sleeping Giants is a science fiction novel by Sylvain Neuvel in which an unknown interviewer and scientist Rose Franklin attempt to decipher the alien origins and purpose of a giant robotic weapon. Told by way of case files – transcripts, diary entries, and other documents – the novel spans the course of four years, beginning with a prologue set when Rose is 11 years old.

      When the novel begins, Rose takes out the bike she has received for her birthday, only to fall into a massive hole near Deadwood, South Dakota, in which is a giant hand. Seventeen years later, Rose now spearheads the effort to determine what the hand is, and to crack the code of the symbols featured on it. At the same time, two American pilots, Kara Resnik and Ryan Mitchell, testing Syrian airspace for radiation, return over Turkey when another body part appears beneath them, activated by the radiation they trail. Because of this, Kara and Ryan are tasked to be a part of Rose’s team. A French-Canadian linguist, Vincent Couture, is brought on board to help decipher the symbols. Scouring the globe, the team completes the robot.

      The team is watched over, protected by, and instigated by an unknown interviewer (to whom the files belong and who appears in most of the files speaking to the members of the team). The interviewer has immense power that spans presidential administrations, and indeed he only has two equals: the sitting president and an unidentified subject whom he meets in Washington D.C. The unidentified subject turns out to be the descendant of alien soldiers who came to Earth as the most far-flung colony of their alien empire, to guard it against the threat of invasion using giant war machines. When the danger had passed, they left one robot behind in pieces so that when humanity advanced enough technologically, it could operate the robot on its own and prove worthy of alien contact – or destruction. The ability to master the atom for war is the sign of humanity’s advancement, and progress by the 2010s has allowed the robot to be found, reassembled, and activated, for it uses radioactive material as fuel. The aliens are now watching to see what becomes of the robot they left behind.

      Kara and Ryan become pilots for the robot, but they are unable to make much progress because the robot only responds to Kara. When Vincent attempts to operate the robot, he is successful, meaning he and Kara are both descendants of the aliens – the only ones who can operate alien machinery because of their genetics. As a result, Greek geneticist Alyssa Papantoniou is brought on board to study Vincent and Kara. But a testing accident on the robot destroys part of Denver International Airport, kills hundreds (seemingly including Rose), and exposes the top secret project to the world. The United States then goes public with the truth about the robot, and sinks it in the Puerto Rico Trench so no country may harness its destructive power. Secretly, the interviewer oversees a consortium of nations other than America which buy into a project to recover the robot.

      The new secret project is overseen by Alyssa. But when the project is exposed because of Alyssa’s incompetence, the United States must intervene – now holding the moral high ground – to take custody of the robot – with everything happening at the workings of the interviewer. The United States then gifts the robot to the UN to form the Earth Defense Corps, a multinational effort to prepare for potential alien invasion. As the novel ends, in an epilogue, Rose wakes up on the side of a road in Ireland, with no memory of the project and no memory of the past four years – though she does remember everything before.

      6 votes