• Activity
  • Votes
  • Comments
  • New
  • All activity
    1. Day 11: Dumbo Octopus

      Today's problem description: https://adventofcode.com/2021/day/11 Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it...

      Today's problem description: https://adventofcode.com/2021/day/11

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      13 votes
    2. Day 10: Syntax Scoring

      Today's problem description: https://adventofcode.com/2021/day/10 Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it...

      Today's problem description: https://adventofcode.com/2021/day/10

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      15 votes
    3. Day 9: Smoke Basin

      Today's problem description: https://adventofcode.com/2021/day/9 Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it...

      Today's problem description: https://adventofcode.com/2021/day/9

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      12 votes
    4. Day 8: Seven Segment Search

      Today's problem description: https://adventofcode.com/2021/day/8 Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it...

      Today's problem description: https://adventofcode.com/2021/day/8

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      11 votes
    5. Day 7: The Treachery of Whales

      Today's problem description: https://adventofcode.com/2021/day/7 Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it...

      Today's problem description: https://adventofcode.com/2021/day/7

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      14 votes
    6. Day 6: Lanternfish

      Today's problem description: https://adventofcode.com/2021/day/6 Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it...

      Today's problem description: https://adventofcode.com/2021/day/6

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      14 votes
    7. Day 5: Hydrothermal Venture

      Today's problem description: https://adventofcode.com/2021/day/5 Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it...

      Today's problem description: https://adventofcode.com/2021/day/5

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      16 votes
    8. Day 4: Giant Squid

      Today's problem description: https://adventofcode.com/2021/day/4 Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it...

      Today's problem description: https://adventofcode.com/2021/day/4

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      13 votes
    9. Day 3: Binary Diagnostic

      Today's problem description: https://adventofcode.com/2021/day/3 Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it...

      Today's problem description: https://adventofcode.com/2021/day/3

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      13 votes
    10. Day 2: Dive!

      Today's problem description: https://adventofcode.com/2021/day/2 Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it...

      Today's problem description: https://adventofcode.com/2021/day/2

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      16 votes
    11. The temporary sub-group for Advent of Code is back - subscribe if you're interested!

      As we did for the last two years, I've set up a temporary sub-group that we can use for this year's Advent of Code at ~comp.advent_of_code I moved all the Day 1 solutions that were posted in the...

      As we did for the last two years, I've set up a temporary sub-group that we can use for this year's Advent of Code at ~comp.advent_of_code

      I moved all the Day 1 solutions that were posted in the thread that @JRandomHacker posted into a dedicated post for the Day 1 problem, and I've set up scheduled posts to happen automatically as each day's puzzle unlocks.

      I also automatically subscribed everyone that voted on that original topic, as well as everyone that posted a comment in any of the previous years' topics, but nobody else. So if you're interested in participating in Advent of Code or discussing it, please subscribe to the sub-group. Posts from the sub-group won't be shown to logged-out users by default either, so any logged-out users that want to observe will need to visit the sub-group directly (or you're welcome to email me and request an invite so you can register and subscribe).

      24 votes
    12. Day 1: Sonar Sweep

      Today's problem description: https://adventofcode.com/2021/day/1 Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it...

      Today's problem description: https://adventofcode.com/2021/day/1

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      15 votes
    13. Paywalls, and the difficulty of accurately tagging them

      The distinction between Hard and Soft paywalls used to be clear: Hard paywall sites only allowed paying subscribers to view their contents; Soft paywall sites typically used a metered approach...

      The distinction between Hard and Soft paywalls used to be clear:

      Hard paywall sites only allowed paying subscribers to view their contents;
      Soft paywall sites typically used a metered approach that limited non-subscribers to a certain number of free article views per month.

      This made tagging paywalled submission here on Tildes, as either paywall.hard or paywall.soft, pretty easy to do, and doing so provided tangible benefits. They let submitters know when to consider providing a summary of the article, or even mirror/alternative links, so non-subscribers weren't left out. It allowed users to easily avoid or filter-out hard paywall submissions entirely, if they so chose. And also indicated when a paywall was soft, and easier to get around (e.g. by clearing browser cache, or viewing in private-browsing mode), so the article could still be read.

      However in recent years the distinction between Hard and Soft paywalls has become increasingly blurry. And with all the new, constantly evolving, often opaque, paywall mechanics now in play, it has become more difficult to identify and keep track of what type of paywall a site has. E.g.

      Some sites have begun adding article sharing mechanics as a perk for their subscribers (NYT). Some with hard paywalls now allow certain articles of "public interest" to be viewed by everyone (Financial Times). Some still hard paywall their print articles but allow the rest to be viewed for free (Forbes). Some have hard paywalls for recent articles but older ones are free (Boston Globe). Some decide on a case-by-case basis whether or not to paywall each individual article, based on editorial board decisions and other unspecified metrics (Business Insider). And apparently some now even switch from Soft to Hard paywalls depending on where in the world the traffic is coming from (WaPo?).

      And as a result of all this, accurately tagging paywalled articles here has become increasingly difficult too, especially since there is no easy way to update all previously applied tags on older articles when a site's paywall type changes.

      So, the question is, what should we do about this?
      Should we simply stop trying to distinguish between hard/soft paywalls in the tags?
      Should we add another "hybrid" category?
      Should we just do away with the paywall tag entirely?
      Or is there a better solution to this problem?

      p.s. I started a "Hard vs Soft Paywalls" wiki entry to try to keep track of all the paywall types, as well as the various new mechanics I have been able to identify, for the sites commonly submitted to Tildes.

      17 votes
    14. Recommend me a version control system for design assets (primarily Photoshop & Illustrator)

      I'm a software developer working with a small team, and our Google Drive folder tree of UI assets/illustrations/app icons/etc. is becoming increasingly difficult to deal with. Aside from proper...

      I'm a software developer working with a small team, and our Google Drive folder tree of UI assets/illustrations/app icons/etc. is becoming increasingly difficult to deal with. Aside from proper versioning, symlinks would be a major plus. Both are kinda-sorta possible with GDrive, but not in a reliable way.

      I'm happy to take on a reasonable amount of management myself, although the easier it is for the designers themselves to work with the software, the better. Paid solutions are fine, although open source would be preferable (even as a hosted service) to avoid vendor lock-in down the line.

      My instinct is to go with git/GitHub on the basis that we're already deeply familiar with it from the dev side, the GitHub desktop app isn't too onerous for non-techies, and we're already paying for it. That said, I'd be very interested in anyone's real-world experience of git for multiple gigs of 10-200MB binary files. I've heard that it's not especially well suited, although that might be out of date knowledge?

      Beyond that, I'm open to almost anything. I'm kind of surprised that I haven't been able to find a single "gold standard" piece of software here, in the way that git is for developers, but maybe I haven't been searching well enough? Any pointers in the right direction or stories of what has/hasn't worked for your teams would be a huge help!

      17 votes
    15. Open source alternatives to Slack, Google Drive and Google Docs

      So I recently started working at a company that uses Slack (free tier), Google Drive and Google Docs. Being a privacy conscious person I decided to do some research to see if we could transition...

      So I recently started working at a company that uses Slack (free tier), Google Drive and Google Docs. Being a privacy conscious person I decided to do some research to see if we could transition out of at least 1 of these tools.

      For Slack I thought about Element. However I have a question: is it possible to create a closed channel (meaning no unauthorized person has access to or can discover the company chat) on Element with only the free tier (it's easier to convince my boss to transition if it doesn't add to the cost structure)?

      For Google Drive I don't think there are other free options that offer the 15GB of storage we have. 10GB would probably be enough. But I am also open to paid solutions.
      I found out about CryptPad. They offer cloud storage but one has to pay to be at the same level of Google (which is totally understandable). They also have productivity tools integrated with the storage solution which is great.
      Maybe there is some cloud storage solution that doesn't have integrated productivity tools and offers more storage. I would like to know.

      I'm open to suggestions and thoughts. My functions at the company have little to do with all this, I am just interested in open source and privacy. EDIT: I am not interested in self-hosting.

      26 votes
    16. Any tips for dealing with games that make you too uncomfortable?

      I mentioned in this weeks "What are you playing" thread that I'm starting Fallout: New Vegas. I'm really digging the game, but I'm also having a hard time playing it, mentally. I've got something...

      I mentioned in this weeks "What are you playing" thread that I'm starting Fallout: New Vegas. I'm really digging the game, but I'm also having a hard time playing it, mentally.

      I've got something of a phobia when it comes to nuclear radiation, specifically in the context of, say, a nuclear apocalypse or meltdown. The issue is that any amount of knowledge about nuclear safety doesn't help, the very topic causes anxiety. I use the term "phobia" because I haven't got any rational reason to respond this strongly to this concept, especially since like most people I'll never actually be exposed to dangerous amounts of ionizing radiation. Surprisingly, I have no problems getting x-rays.

      The specific issue I'm having is with the entire setting of Fallout: New Vegas, and the rest of the series, being in a post nuclear apocalypse setting. I get extremely anxious when my Geiger counter goes off, even if it isn't affecting my RAD levels in-game. I flinch when I do something that increases my RAD level like eating or drinking new items, and am paralyzed when it comes to consuming anything that boosts the RAD level, even after reading about the system and how it works. I was wound so tight tonight I blacked out for a short moment when a robot came around a corner and surprised me. I'm not screaming or anything, and it's not giving me nightmares or anything, I'm just panicking even just walking peacefully around the world dealing with minor enemy encounters.

      My current solution is short frequent exposure to the game at appropriate times of the day/night. I want to play this series and at least finish the main stories of the games.

      Does anybody have any similar experiences, and any advice on dealing with this fear and anxiety? I don't see not playing as an option simply because I'm enjoying the hell out of the game, so I'm trying to find a healthy way forward with this.

      EDIT: More for posterity if somebody stumbles into this.

      Radiophobia was a part of it, but the other part was a sensitivity to sound. The sound design of the game messes with me, and causes me to have a panic attack. It does not happen in FO4, but does in FO3, which uses similar techniques. It doesn't happen with TES4: Oblivion, which is on the same engine from a similar era, but the sounds are different. I don't know what it is, but it did result in me ultimately abandoning the early Fallout series. I can't do it, the joy doesn't outcompete the dread and panic.

      17 votes
    17. Thinking about the societal problem "stack"

      This past year and a half I've been in a strange sort of depression over the dysfunction of human society, especially in how nations around the world have collectively dealt (or failed to deal)...

      This past year and a half I've been in a strange sort of depression over the dysfunction of human society, especially in how nations around the world have collectively dealt (or failed to deal) with the coronavirus.

      I'm trying to get myself out of this funk. I'm normally a doer, not a sit-on-my-butt-er. I'm trying to think about the nature of human problems, see the problem space along different dimensions, and find high-leverage points for solutions. Trying to outline the problem "stack" so to speak.

      This is a lot of paper napkin thinking from me. There are going to be a lot of naive thoughts here. But I'd like to have an open conversation, so we can stumble on some new interesting insights, rediscover what others already have, and not get too bogged down in "well, ackchyually..." nitty-gritty details.


      The pandemic is a relatively 'easy' problem — at least if you compare it to the threat of an incoming extinction-level asteroid, a wandering black hole, or a dying sun, which would require technical solutions impossibly beyond our current capabilities. In those scenarios, we can only pray and party. But for the pandemic, we had the political tools: Taiwan showed us how a combined approach of strict border controls with hotel quarantining (no kindly asking people to maybe please quarantine — travelers will quarantine), wearing masks everywhere, extensive contact tracing, and cross-governmental data-sharing, can successful contain the virus. Now we have technological tools: a myriad of vaccines.

      Yet...

      • It's been nearly a year and a half. A concerted global effort could have ended the crisis within a month or two early on, right? Granted, this would entail giving up our human rights for a short while — but that seems way better than dragging it for so long. Instead we watched as we tried to carry on as normal as possible and the virus spread like wildfire.
      • A third of U.S. adults are unvaccinated despite being eligible and there being plenty of vaccines to go around (in the US at least).
      • Significant numbers of people believe wacky stuff: COVID isn't real, masks don't do anything, and so on.

      From what I observe: nearly all human problems are policy problems. The human race has sufficient material and technological resources to solve most problems. Underlying those policy problems are coordination problems — coordinating people on the facts, solutions, and implementations.

      1. Human problems
      2. ... are policy problems
      3. ... are coordination problems

      So the human race has a bunch of solutions, institutions, and tools to help with the coordination problem:

      • the UN and other intergovernmental bodies like the WHO to coordinate at the international level
      • National institutions to coordinate
      • Newspapers to spread information and generate consensus

      But as we well know, these coordination solutions have problems. Now I'm thinking what are the coordination sub-problems.

      • Incentive problems / The Game: Broadly in game theory speak, some players are incentivized to not cooperate, even if at the detriment of everyone. This seems to me to be the crux of the coordination problem.
      • Culture problems: This is a whole nest of problems.
        • Cultural norms around equity. I think that this is a big one. It's been shown that different societies have different norms and ideas about what's fair and equal. The norms often develop around economic realities. Forager societies favor egalitarian distribution over meritocratic distribution as high cooperation is required between members: unequal distribution threatens relationships and cooperation. Perhaps our merit-based norms may need to shift from a pre-industrial era where people more or less produced what they consumed — to a new era of automation and robotics, where a relative few produce most everything.
        • Cultural norms around consumption and transmission of information. This stems from our education culture. Media consumption in our societies — western and non-western alike — is passive. Socratic seminars are rare in schools: pupils receive lessons passively from their teachers. Most people aren't educated or trained on how to have open discussions or on how to avoid rhetorical fallacies.
      • Education problems: there is only so much information can do if people don't know how to process information.
        • Mentioned above cultural norms around how we consume and transmit information.
        • Statistical thinking. The abuse and misuse of stats in popular discourse.

      Among others.

      7 votes
    18. Emulate a CRT screen with ReShade for your pixel-based games

      Why? In recent years, there has been a bit of a nostalgia boom for older CRT displays, sort of in the same vein as vinyls over CDs and digital music, and people have been rediscovering the...

      Why?

      In recent years, there has been a bit of a nostalgia boom for older CRT displays, sort of in the same vein as vinyls over CDs and digital music, and people have been rediscovering the technology.

      But something else that people have been rediscovering is that many older titles, from the NES all the way up to the PS2 era, were designed for CRT screens specifically. So much so that the graphical artistry can change entirely! A Twitter account called CRT Pixels has been documenting the difference across many games and the differences can be dramatic. Where LCD screens show each pixel exactly, the nature of CRT displays meant colours shifted and blended into each other and game artists of the time knew, tested for, and took advantage of this to create some amazing visuals.

      Sometimes you get the proper colours.

      Sometimes you get proper texture detail out of the image.

      Sometimes the background details come together and you see what it really was supposed to look like.

      Sometimes you'll see the characters actually have expressions on their faces.

      Sometimes you get the proper image entirely.

      Even in early 3D games, you'll see some pretty significant differences.

      Of course, it's not always good but such is the tradeoff. CRTs were blurry by nature and smaller objects will always look less crisp and clear than clean pixel representation. Ultimately it's all a matter of preference. But that doesn't mean trying it out to see if you like it or not should be difficult.

      Many emulators come with CRT emulating shaders built-in and support additional ones. But what about native PC games? We've seen a plethora of 2D indie games over the last decade, many going after the older nostalgic styles. Why not try them through a CRT filter and see if they hit that nostalgia button even harder?

      I've noticed that a lot of pixel-like or "low-res" indie games look pretty sharp. Too sharp. I wondered what it would be like if they were displayed on CRTs and, through this emulation method, I've come to really prefer it for the majority of pixel graphic games out there. Even games that are going after this new trend of PS1/N64 era graphics like DUSK seem to benefit some from it!

      Tools

      There are only two things you need to get started on Windows:

      Linux

      Unfortunately I'm not able to offer much by way of help to Linux users but from what I gathered this is also possible. It will take a little more elbow grease to get Linux's equivalent of ReShade going.

      If you're on Linux, you can use vkBasalt instead of Reshade. It's a ground-up post-processing solution like Reshade made for Linux that is mostly compatible with Reshade shaders. I'm not able to test this myself so I can't offer any guidance on setting it up with this particular CRT filter directly. There are some guides involving this, MangoHUD, and GOverlay on reddit's r/linux_gaming that go into more detail on installing this solution.

      Setting it up

      It's pretty easy! The basic gist is that you will be adding a few files and folders to your game installation folder. I've gone into a lot of detail in these steps but once you go through them, you'll see it's pretty simple. You'll be able to apply it to a new game in less than a minute!

      ReShade is not a program you install on your computer! Instead that .exe file is an automated tool that will place the necessary .dll, .ini, and shader files into your game installation.

      1. Open ReShade and click on the big button that says "Click here to select a game and manage its Reshade installation"
      2. You will see a list of applications installed on your computer. Select your desired game and click "Use selected application", or use "Browse" and manually navigate to the game's .exe file. I recommend going for Browse immediately, this list can take forever to finish loading.
      3. On the next screen, it will ask you what rendering API the game uses between DirectX 9, 10/11/12, OpenGL, or Vulkan. Select the proper one. If you are unsure, check PCGamingWiki, you will find it near the end of any game's page under "Other information".
      4. The final screen will ask you which effect packages you'd like to install. ReShade supports all kinds of postprocessing effects but we won't worry about any of them. Install only the Standard effects so that we get some basic support. Once you hit OK, you're all done with ReShade.
      5. Navigate to your game's folder and you will see that ReShade has added a few files (dxgi.dll, dxgi.log, ReShade.ini) and a new folder (reshade-shaders).
      6. Open the .zip you downloaded from the CRT Royale GitHub page and drag the reshade-shaders folder inside that archive into your game installation folder. The files will move and nothing should be overwritten.
      7. When you launch the game, you should see a notice at the top that Reshade is running. Press Home to bring up the ReShade menu. You'll see a prompt to view a Tutorial to using it. Try it if you like! Otherwise, we can skip it for now. You will then see a list of installed effects (.fx files). Enable CRT_Royale, and it will load immediately.

      You're basically done now! The filter will load with its stock settings. Of course, depending on your hardware and personal preferences, you may need to adjust the settings that pop up in the lower portion of the ReShade panel there.

      One thing that you may need to address immediately is a severe shake to the screen. This is caused by the Interlacing setting running on a high resolution input on a modern LCD screen. Interlacing is a key part of what gives CRT screens the look they have so disabling it is not my recommendation. Instead, we offset the shake with its options. To stop the shake, increase the Scanline Blend Strength. On my monitor, the shake is quite severe so I set this to a maximum 1.0, and then adjust the Scanline Blend Gamma up to 0.95 to counter the slight darkening this introduces.

      Configuring the CRT filter

      These instructions are specific to CRT Royale. I chose to use CRT Royale as it is perhaps the most feature-filled CRT emulating shader out there, and is generally the most flexible. There are many other CRT shaders out there that may serve your particular purposes or desires better, especially if you want to recreate certain artifacts from NTSC or PAL signals.

      In that last screenshot, you'll see all of the main factors to configure.

      Generally, the stock configuration is pretty good! The vast majority of changes you can make are to your own personal preference or even memory of what CRTs were like. You can hover almost all the settings bars to get a good description of what part of the CRT technology the setting emulates.

      Here's a selection of the options that you may want to consider playing around with:

      • Mask Sample Mode: Choose between Lanczos or Point. This is entirely preferential and can change game by game!
      • Mask Size Param: This is effectively the resolution of the CRT display. You can choose between Triad Width or Number of Triads Across, corresponding to the following two settings. If you want a higher resolution screen, or are going after a specific look, try adjusting these settings.
      • CRT Gamma or LCD Gamma: Feel free to adjust these if you find the CRT filter makes the game too dark for your liking.
      • Halation: This adjusts the emulation how inaccurate the phosphors of a CRT could be! Trying to go after a cheap, busted display from your youth where colours were unsaturated as all heck? Here's the option to get that effect!
      • Diffusion: The refraction effect of the glass on CRT displays. Having none basically means you can see all the triads of the CRT technology, the refraction is part of what gives CRTs there "warm" look.
      • Geom mode: The screen shape! Was your CRT curved? Flat? Maybe you had the Trinitron cylinder style? This will adjust the display to emulate the effect of playing on differently shaped CRT screens. The next few options under it give you the ability to tweak this further, if desired.
      • Border size: The size of the black borders around the screen. I turn this off, this was always my least favourite thing about CRT screens but if you're trying to introduce and adjust that CRT style screen border, use this and the next few settings.

      That's it

      And that's all you need to try it out, really! I recommend giving it a shot to see if it works for you. It can take a few minutes but if you're like me and find some 2D games look a bit too sharp, the colours don't transition very well, or that the foreground objects stick out a little too obviously then the CRT filter might help it out.

      I made a quick album using another 2D pixel graphics game called Blasphemous using the CRT filter. It was the game that finally inspired me to try this out and I think it fits the aesthetic of the game so much better. Things look that much gloomier and contrasted, and the softness added to characters and environments help them seem a bit less "video gamey" to me. Keep in mind that the CRT emulation effect looks a bit odd in still images as it's an effect that is in a constant state of flux.

      16 votes
    19. A few easy linux commands, and a real-world example on how to use them in a pinch

      This below is a summary of some real-world performance investigation I recently went through. The tools I used are installed on all linux systems, but I know some people don't know them and would...

      This below is a summary of some real-world performance investigation I recently went through. The tools I used are installed on all linux systems, but I know some people don't know them and would straight up jump to heavyweight log analysis services and what not, or writing their own solution.

      Let's say you have request log sampling in a bunch of log files that contain lines like these:

      127.0.0.1 [2021-05-27 23:28:34.460] "GET /static/images/flags/2/54@3x.webp HTTP/2" 200 1806 TLSv1.3 HIT-CLUSTER SessionID:(null) Cache:max-age=31536000
      127.0.0.1 [2021-05-27 23:51:22.019] "GET /pl/player/123456/changelog/ HTTP/1.1" 200 16524 TLSv1.2 MISS-CLUSTER SessionID:(null) Cache:

      You might recognize Fastly logs there (IP anonymized). Now, there's a lot you might care about in this log file, but in my case, I wanted to get a breakdown of hits vs misses by URL.

      So, first step, let's concatenate all the log files with cat *.log > all.txt, so we can work off a single file.

      Then, let's split the file in two: hits and misses. There are a few different values for them, the majority are covered by either HIT-CLUSTER or MISS-CLUSTER. We can do this by just grepping for them like so:

      grep HIT-CLUSTER all.txt > hits.txt; grep MISS-CLUSTER all.txt > misses.txt
      

      However, we only care about url and whether it's a hit or a miss. So let's clean up those hits and misses with cut. The way cut works, it takes a delimiter (-d) and cuts the input based on that; you then give it a range of "fields" (-f) that you want.

      In our case, if we cut based on spaces, we end up with for example: 127.0.0.1 [2021-05-27 23:28:34.460] "GET /static/images/flags/2/54@3x.webp HTTP/2" 200 1806 TLSv1.3 HIT-CLUSTER SessionID:(null) Cache:max-age=31536000.

      We care about the 5th value only. So let's do: cut -d" " -f5 to get that. We will also sort the result, because future operations will require us to work on a sorted list of values.

      cut -d" " -f5 hits.txt | sort > hits-sorted.txt; cut -d" " -f5 misses.txt | sort > misses-sorted.txt
      

      Now we can start doing some neat stuff. wc (wordcount) is an awesome utility, it lets you count characters, words or lines very easily. wc -l counts lines in an input, since we're operating with one value per line we can easily count our hits and misses already:

      $ wc -l hits-sorted.txt misses-sorted.txt
        132523 hits-sorted.txt
        220779 misses-sorted.txt
        353302 total
      

      220779 / 132523 is a 1:1.66 ratio of hits to misses. That's not great…

      Alright, now I'm also interested in how many unique URLs are hit versus missed. uniq tool deduplicates immediate sequences, so the input has to be sorted in order to deduplicate our entire file. We already did that. We can now count our urls with uniq < hits-sorted.txt | wc -l; uniq < misses-sorted.txt | wc -l. We get 49778 and 201178, respectively. It's to be expected that most of our cache misses would be in "rarer" urls; this gives us a 1:4 ratio of cached to uncached URL.

      Let's say we want to dig down further into which URLs are most often hitting the cache, specifically. We can add -c to uniq in order to get a duplicate count in front of our URLs. To get the top ones at the top, we can then use sort, in reverse sort mode (-r), and it also needs to be numeric sort, not alphabetic (-n). head lets us get the top 10.

      $ uniq -c < hits-sorted.txt | sort -nr | head
          815 /static/app/webfonts/fa-solid-900.woff2?d720146f1999
          793 /static/app/images/1.png
          786 /static/app/fonts/nunito-v9-latin-ext_latin-regular.woff2?d720146f1999
          760 /static/CACHE/js/output.cee5c4089626.js
          758 /static/images/crest/3/light/notfound.png
          757 /static/CACHE/css/output.4f2b59394c83.css
          756 /static/app/webfonts/fa-regular-400.woff2?d720146f1999
          754 /static/app/css/images/loading.gif?d720146f1999
          750 /static/app/css/images/prev.png?d720146f1999
          745 /static/app/css/images/next.png?d720146f1999
      

      And same for misses:

      $ uniq -c < misses-sorted.txt | sort -nr | head
           56 /
           14 /player/237678/
           13 /players/
           12 /teams/
           11 /players/top/
      <snip>
      

      So far this tells us static files are most often hit, and for misses it also tells us… something, but we can't quite track it down yet (and we won't, not in this post). We're not adjusting for how often the page is hit as a whole, this is still just high-level analysis.

      One last thing I want to show you! Let's take everything we learned and analyze those URLs by prefix instead. We can cut our URLs again by slash with cut -d"/". If we want the first prefix, we can do -f1-2, or -f1-3 for the first two prefixes. Let's look!

      cut -d'/' -f1-2 < hits-sorted.txt | uniq -c | sort -nr | head
       100189 /static
         5948 /es
         3069 /player
         2480 /fr
         2476 /es-mx
         2295 /pt-br
         2094 /tr
         1939 /it
         1692 /ru
         1626 /de
      
      cut -d'/' -f1-2 < misses-sorted.txt | uniq -c | sort -nr | head
        66132 /static
        18578 /es
        17448 /player
        17064 /tr
        11379 /fr
         9624 /pt-br
         8730 /es-mx
         7993 /ru
         7689 /zh-hant
         7441 /it
      

      This gives us hit-miss ratios by prefix. Neat, huh?

      13 votes
    20. Best way to consume YouTube without the algorithmic results?

      I'd love to get a passable alternative interface to YouTube that just shows me what I'm subscribed to, a search bar, and nothing else. Does this exist as a userscript or alternate site? Edit: My...

      I'd love to get a passable alternative interface to YouTube that just shows me what I'm subscribed to, a search bar, and nothing else. Does this exist as a userscript or alternate site?

      Edit:

      My current solution is to have my YouTube bookmark go directly to my subscriptions listing. I also have my ad blocker cut out the recommendations feed on the side. It works okay but maybe there's a better solution out there.

      This is the ad block rule:

      www.youtube.com##.ytd-watch-next-secondary-results-renderer
      www.youtube.com##.ytd-guide-entry-renderer[title=Explore]
      www.youtube.com##.ytd-guide-entry-renderer[title=Home]
      
      18 votes
    21. What unified login to use?

      I'm setting up a server with nextcloud, plex, matrix and some other things I don't yet know, for some friends and family, (about 20 people if I get lucky) and now I heard of a thing called single...

      I'm setting up a server with nextcloud, plex, matrix and some other things I don't yet know, for some friends and family, (about 20 people if I get lucky)
      and now I heard of a thing called single sign on/unified login. (Login to different services with the same user/pw and/or login once, access to all services)

      so far I found out about Keycloak https://en.wikipedia.org/wiki/Keycloak

      is this what I'm looking for? does anybody have experience in this? Are there other/better/simpler solutions for this?

      12 votes
    22. Your fellow citizen, the oppressor

      Hey everyone! Last time I translated an article, it generated all sorts of interesting discussion. so I thought I'd do it again and I think I found an interesting one that gives plenty of good...

      Hey everyone! Last time I translated an article, it generated all sorts of interesting discussion. so I thought I'd do it again and I think I found an interesting one that gives plenty of good ground for discussion.

      Your fellow citizen, the oppressor

      A new ideology is spreading in Germany. It divides society artificially in hostile camps. This madness must be stopped.

      An essay by Jochen Bittner

      Published 2021-03-10, 16:54, edited 2021-03-11, 10:27, DIE ZEIT № 11/2021, 2021-03-11.

      They are two seemingly completely divorced events, but they are part of one and the same questionable ideological trend, which is currently spreading at universities, editorials and party headquarters.

      In the summer of 2018, a black student at the college of Massachusetts accuses a janitor of racist intimidation. The janitor had asked her, what she was doing there. “Everything I did, was being black.” Said the student. That was enough to question not just her existence at the college, but her entire existence. Outrage broke out at the elite women’s university (yearly fee 78,000 USD). The university president apologized profusely, accused the janitor of racism and suspended him. Only now, a few days ago, the New York Times continued the story: After an investigation by a law firm ended, their report concluded that the space the student was occupying had been reserved and closed off for an event. That is what the janitor was referring to. Signs of racist behaviour were not found.

      The second event was a shitstorm centred around the pop radio station Bayern 3 [Bavaria 3] in the last week of February. A moderator known for his polemics had talked himself into a rage including insults about a South Korean boy group; in the end he equated said boy group with a virus, for which we would hopefully soon find a vaccine. In a couple of hours, a global quake of protests arose under the hashtag #BR3Racist, and it did not take long for Bayern 3 to publicly apologize with the words “If a statement is deemed inflammatory and racist by many people, then that statement is.”

      300 years of enlightenment, and only the feelings of many angry people are enough to count as truth? So, we burned the witches in medieval times rightly?

      Fact is, that what comes out in such events is the result of a powerful academic movement that has found entry in all humanities, social sciences including law. It is a kind of thinking, where categories like skin colour, gender and other bodily characteristics do not play a vanishing, but a very important role, with more weight placed into it every day. Not what someone says, but if they are an “old white man” or a “privileged cis-woman” – cis means shortened: not transsexual1 – says, is significant. And less the intent of the speaker is relevant than the impression of said words. That leads to a form of “Social Justice” where not individual circumstances are important, but alone the perspective of the real or fictive victim. If that sounds dangerous, then because it is.

      The origin of this cultural step back is the combination of two models of explaining the world: the “Critical Theory” and “Intersectionality”. Both cannot be avoided in todays university seminars. Who wants to understand the swelling culture fight climate, which is also spreading in Germany, must learn to understand.

      Looked at each in isolation, both models of Intersectionality and Critical Theory are useful. The term Intersectionality comes from the American law professor Kimberlé Crenshaw. She found an important flaw in anti-discriminatory law in 1989. The car manufacturer General Motors had, in the 1970s, let go a wave of black women because they were part of the employees, who had only been hired recently. The women sued, without success. According to the court, the women were not discriminated as women, because there were still women in the offices of the company, who had not been let go. They had also not been discriminated as black people, because the company employed them in its factories. What the judges were not keeping in mind: black women only recently began to be hired in offices by GM – which was the reason why they were let go first.

      The plaintiffs had been exposed to a special form of injustice, their characteristic as women and as black people. Crenshaw compared this to an intersection on which the women were standing and had subsequently been caught in two streams of discriminations at once.

      Are injustices nothing else but products of structures?

      The answer of classical liberalism to this question would be: Here there were two instances, where the universal right to equality of the individual were violated. It was racist that GM did not hire black women for so long. And it was sexist, that the women were only employed in offices. Every reasonable person must recognize this and want to remove these circumstances.

      A different answer comes from Critical Theory, or better, the 21st century reprint of it. According to it, society is full of power structures, which are permanently connected to group characteristics like skin colour, gender and sexual orientation. Depending on which characteristics people fulfil, they belong into a “privileged” group or a “oppressed” group. Men oppress women. White people oppress black people. Heterosexuals oppress homosexuals. Cis people oppress trans people. Fully abled people oppress disabled people. If there are injustices between two such groups, they are nothing but the product of these structures. Herbert Marcuse, a member of the Frankfurt school, claimed in the 1960s that because of these power inequalities people that supported these structures (according to Marcuse; the political right) should not be able to talk with the same tolerance as oppressed groups.

      In the times of the student revolts postmodernism of the French philosopher Michel Foucault became more popular. Many of his followers understood it that way that there was no objective reality, but that the perception of truth depended on the particular position of power in society. Colonialism and relationship of the genders were examples how power influenced knowledge. Systems are still oppressive, even if the individuals are not aware of oppressive behaviour.

      Again liberalism, optimistic to clarify would answer: Correct, as colonialism was based on the thought of superiority of white people against “inferior races”, and the discrimination of women results from the patriarchal misfire that different bodies should result in different social values. But haven’t the western, free societies on the last seven decades not detected theses chauvinisms and have made leaps forward? Racism remains a dangerous problem, but it is socially and juristically despised, women are by law made equal and are partially even supported by quotas. Gay people become heads of state and public officials, and the right to asylum grants oppressed people from the global south protection. Of course, there is more to be done, the liberal society is never finished, but the direction is right.
      Sadly no, says Critical Theory in its newest reprint. Liberalism is not the solution, but part of the problem. It does not recognize the problems in the system, because it itself is an intellectual product of white men, therefore, a power structure. In her in the USA very successful book Critical Race Theory (2012) the lawyer couple Richard Delgado and Jean Stefancic write, that liberalism does not offer the correct frame to solve problems of racism: “Different from traditional civil rights conversation, that (…) focus on step-by-step advancements, Critical Race Theory questions the fundaments of the liberal order itself, including the equality theory, the judicial arguments, the enlightened rationalism and the neutral principal of constitutional law.” You have to read that sentence aloud to yourself sometimes.

      An in America also recognized author is Robin DiAngelo, who landed a New York Times bestseller with White Fragility – Why It’s So Hard for White People to Talk About Racism in 2018. The book states that “Individualism” is an “Ideology” and white people had to, to reflect on omnipresent racism, always look at themselves as part of their race. DiAngelo also offers “Antiracism” trainings. In one of them for the employees of Coca-Cola, she demands to appear “less white” which also meant: “Be less oppressive, arrogant and ignorant.” Sounds racist? It is of course, except if one thinks such generalizations are legitimate to remove “White supremacy”.

      Political Poison

      Exactly here the political poison lies dormant, a concoction of Critical Theory and Intersectionality. It lets society appear as layers of opposing hostile groups – and every injustice is a consequence of those structures. That is the hot core of so-called identity politics. That is why it suddenly is a problem, if a white Dutch woman translates the book of the black US poet Amanda Gorman, even though when Gorman herself thinks that the translator is a good choice. That is why the peak officials of the SPD2 are “extremely ashamed”, when Wolfgang Thierse (a not that young white man) warns, that identity debates could lead to new trench warfare which destroys the public spirit.

      Skin colour, age, gender, are the basis of the presumption of guilt – from too little sensibility to racism. The clou, with which this kind of thinking is made waterproof is the mentioned idea of white fragility. It says: If white people fight the accusation of being racist, they are simply denying the reality of racism – and thus keeping it alive.

      These already dividing teachings are often directly applied from the USA to Germany, despite the historic, economic and institutional differences. They are taught in seminars, spread in books and shared in editorials. The Critical Race Theory, writes lawyer Cengiz Barskanmaz on the online platform Verfassungsblog [Constitutional blog], can be used to “propagate a racially aware perspective for the German law”. “The interest of law students in Critical Race Theory is definitely high, with rising tendencies.”

      Black people can be missing the right racial awareness, mind you. The German-British sociologist Natasha A. Kelly said in a recent discussion round about a black man from Kiel, who called his restaurant “To the Mohr’s head”3 simply hadn’t been through his “political awareness process” yet. The name of the restaurant remains racist, independent of the viewpoint of the man who named it, because: “It is not an individual thing, that you or me can influence, it’s something in the structures.”

      The structures. They are everywhere, and they are more powerful than the individual and their arguments. It is a to political theory heightened deeply pessimistic, even in parts paranoid, world view. Of course, racism exists, and it makes murderers out of people. After the NSU terrorism, the murders of Hanau and the success of the AfD4 at the voting booth it is only understandable that the fear of the (luckily growing louder) migrant community in Germany is increasing. But who thinks that crime and extremism arise from the “structures” of this country, even from and especially from their immediate surroundings, accuses and alienates their main ally in the fight against racism. Such a rough interpretation of the truth is wrong in the same ways as the right-wing populist projection, Islamist terror comes from the middle of the Muslim community.

      Pauli Murray, a civil rights activist at the side of Martin Luther King, once wrote: “When my brothers draw a circle around me to exclude me, I’ll draw a larger one, to include them. When they talk about the privileges of a weakening group, I’ll talk about the rights of all people.” From this inclusive philosophy this new, dangerous teaching of hostility does not only step back – it draws ever-shrinking circles with thicker and thicker brushes and divides society into more and more groups, which are supposed to oppose each other with more and more hostility. It is time to realize this madness – and stop it.


      Footnotes:

      1 The term transsexual was used here verbatim. I think the term is outdated, but as I am not a professional translator, I was unsure if I should "update" it, as I think a translation should always be as close to the source as possible.

      2 The SPD is the major center-left party in Germany. They have formed the government together with the center right party, the CDU/CSU for decades now, but are fairly unpopular right now.

      3 The word Mohr is a German discriminatory term to refer to black people. I would not put it on the same "pedestal" as the n-word as it is missing the historical weight, but nevertheless it should not be used any more. It still remains in use under the population in some historic remnants like a classic dessert called Mohr im Hemd (Mohr in a shirt) which is a chocolate sponge cake in chocolate sauce served with vanilla ice cream.

      4 The populist rightwing party of Germany. Have gotten enough votes due to the refugee crisis to enter some local state governments and the German federal, but no other party cooperates with them as they are very obviously racist, islamophobic and have in some cases, ties to actual neo nazis.


      Original article: https://www.zeit.de/2021/11/identitaetspolitik-rassismus-soziale-gerechtigkeit-intersektionalitaet/komplettansicht (paywalled, and in German, if we have German people here who'd like to verify my translation, I can give you a copy).

      That marks the end! I hope you liked it and I hope we can have a good discussion about it. I've spend some time translating this so I'll take a break, go shopping and come back to this a bit later to form my own opinion in a separate comment. Be kind to each other!

      28 votes
    23. Thoughts on moving out

      So recently I've been kind of hating big parts of where I am in life, most of all where I live. I am still living with my family, and while they are all good people, our place isn't the biggest so...

      So recently I've been kind of hating big parts of where I am in life, most of all where I live. I am still living with my family, and while they are all good people, our place isn't the biggest so there isn't too much privacy most of the day. So over the years I have basically started to quietly resent everyone in this house, which got exacerbated over the quarantine (and even much more when we were all stuck at home for 14 days when we got the corona and were in isolation).

      I've been thinking that basically the only way to make sure I don't go fully insane is to finally move out. Also, I don't really want to admit it to myself, but I am not very independent, and I feel like I really need to change that. This year I will be finishing my Bachelor's degree, so that seems like the perfect time I would like to aim for. The problem is that after I am done with the degree I want to continue by doing a Masters in the same place. The obvious easy solution is to just rent some place with roommates I'd have to find, which is probably what I'll try to do.

      But I have also been engaging in a lot of fantasizing - escapist thoughts involving doing my Masters in a different country. I was already thinking about this a bit before starting my Bachelor's degree, but I ultimately decided not to, which might have been a good call as I was definitely even more of a baby back then. But now, as I have another opportunity I have again been thinking about this a lot.

      I am from the EU, so I could study in any other EU country for free. Mostly I've been thinking about Finland, or other Scandinavian countries (maybe kind of cliche?). It would definitely be really hard though, and I am not sure am I strong enough to do this. As I said I am kind of a not very independent wuss, so I am kind of scared if I could survive by myself in a different country with basically no one I could fall back on. Finding a place to live would also probably be quite hard and I would very likely need to find a part time job there, because even though I spent almost 2 years saving up money at a part time job, the countries I am looking at are more expensive than mine so my savings wouldn't most likely be enough. Hopefully there would be some student dormitories available that would be quite cheap? I don't really care too much about how prestigious my university is, but it could also be nice that I could choose a better rated one somewhere.

      I hope I wouldn't lose my current best friends. I probably have some very overblown expectations about this though. I always dream how I would meet some new cool friends, maybe even find a relationship. I am quite an anxious person, especially socially anxious which I'd also hope I would have to overcome a bit. But I probably wouldn't magically become more extroverted, and less anxious. I might even just be unable to make any friends there, but I'd hope that I would be kind of forced to make some and get out of my shell so to speak. Suddenly having to do everything by myself, while having a job, in a foreign country might be too much though.

      Also another random thing that I would like about this is I would kind of like to change my name at the same time and I am fantasizing that it would work out nicely. I don't dislike my name too much, but I feel like I would like a different one much more, and that it would kind of help me become myself more or something? I don't really want to change my name legally, I am more thinking that I would just start telling people that my name is <name I like more>, so it would kind of be more like a nickname. Yeah, writing that out I should probably try telling some friends to just start calling me by the name, even though I feel like they would just be like why and cringe a bit.

      I know I am probably fantasizing about studying abroad too much, and that it wouldn't be that great, studying abroad most likely wouldn't help me find a relationship or anything, but I'd think it would definitely force me to become more independent. I feel like I am once again coming up on quite a big decision in my life and I am still not really sure how to proceed. Did anyone here study abroad, for the whole degree, or even as an exchange student - Erasmus or similar stuff? Any other thoughts would be appreciated too. Thank you for reading, I hope my writing isn't too much of a messy stream of thoughts.

      Edit: Thanks to everyone for your responses, you are all so nice, uplifting and motivating <3. I will definitely be seriously researching much more about studying abroad, and while I can't guarantee I'll go forward with this plan, I'll try working towards it for now. I still have almost 2 months to decide, and if I decide to go ahead with it, it would still be at least a year away. But I promise to you guys, that I will at least move out of my parents house for my sanity, one way or another.

      21 votes
    24. Thinking about death

      Up until recently my girlfriend’s grandmother had a relatively good life. She’s taken care of, had some interesting allucinations, slept most of the day and had funny interactions with her...

      Up until recently my girlfriend’s grandmother had a relatively good life. She’s taken care of, had some interesting allucinations, slept most of the day and had funny interactions with her grandaughter, some of which ended up on Instagram.

      In recent weeks, she started refusing food and spent days at the hospital. The sudden lost in autonomy made her hostile. It’s a struggle to change her diapers. The situation was made worse by the feeding tube up her nose, which she attempts to remove non-stop, and can only be replaced at the hospital. We had to restrain her arm. That is no way to live.

      She's made it very clear she does not want to be in this world any longer. Today I heard a hundred year old lady scream, multiple times: "just let me die!".

      I don't know what to make of it.

      Edit: I'd like to thank everyone's answers. I wasn't really looking for a solution since the legal situation in my country does not allow for any wiggle room. But it is always nice to read the smart people of Tildes passionately explore their ideas, sharing knowledge with compassion. Sometimes it is enough to feel less alone. Thank you and good night.

      15 votes
    25. Does anyone else struggle with existential thoughts?

      I've had derealization since august 2019, and about 1-2 months after that I started having uncomfortable existential thoughts. It all started with super reductionist thinking which made me aware...

      I've had derealization since august 2019, and about 1-2 months after that I started having uncomfortable existential thoughts. It all started with super reductionist thinking which made me aware of nihilism and had me struggle with that for a while before I finally stumbled upon existentialism which basically rendered nihilism void.

      However, after that I read about Sam Harris and got into the whole free will rabbit hole, but nowadays I take solace in knowing that most philosophers believe in free will and think Sam Harris is a goof.

      After that they kinda subsided for a while... but nowadays I freak out over the whole "self is an illusion" thing that's super prevalent in buddhist/drugs users/science circles, and it's by far the hardest to overcome. Like, with nihilism the solution is existentialism, with free will, well, there's compatibilism, but this? It seems like everything skews toward it being true and it deeply scares me. In fact, if it is true indeed, doesn't that automatically render existentialism and free will impossible as well? I mean, existentialism relies on the self and free will to create meaning, so if those aren't real, then the meaning crumbles apart as well. And free will also seems dependent on a self to exist.

      Most people seem to not really care either way when I talk about it with them but for me it's nearly an obsession and I feel like I've discovered some sort of dark secret truth that I wasn't meant to see.

      Does anyone else have this issue?

      26 votes
    26. How would you improve advertising on Reddit?

      Let me preface that I'm well aware that if given the choice between frequent, untargeted ads or fewer targeted ads, the average Tilderino's response would be "Neither." However, given that social...

      Let me preface that I'm well aware that if given the choice between frequent, untargeted ads or fewer targeted ads, the average Tilderino's response would be "Neither."

      However, given that social media at scale has yet to establish a sustainable business model that doesn't rely on advertising (people like free content, after all), it seems advertising has become a necessary evil (and has pervaded nearly all forms of media for the past century regardless).

      With that in mind, I think coming up with creative solutions to deliver relevant advertising while preserving user privacy and avoiding destructive feedback loops (i.e. where the search for ad revenue compromises the user base and content generation) is an interesting thought exercise. This is one of social media's largest problems, imho, but it might be easier to analyze just Reddit as a platform due to its similarities (and notable differences) to Tildes.

      A couple thoughts of my own:

      • Whitelist "safe" subreddits - A massive problem for Reddit is identifying content that brands want to avoid association with (e.g. porn, violence, drugs). While new subreddits crop up every day, the large ones do not change so fast and could be classified as safe content spaces (e.g. /r/aww)
      • User subreddit subscriptions - Rather than target ads based on the subreddit currently being viewed, why not use the subs people have voluntarily indicated they are interested in?
      • Allow users to tag content - While people can report content to the mods today, there is no ability to tag content (like Tildes has) from a user level. Content that's inappropriate for advertising may not necessarily be a reportable offense. By allowing users to classify content, better models for determining "good" content vs. "bad" could be developed using ML.
      • Use Mods to determine content appropriateness - User supplied data may introduce too much noise into any given dataset, and perhaps mods are a better subjective filter to rely on. Certain subreddits can have biased mods for sure, but without trying to overhaul content moderation entirely, could mod bans/flair be used to indicate suitable content for ads?
      • Use computer vision to classify content - While this wouldn't work at scale, an up-and-coming post could have a nebulous title and difficult-to-decipher sarcastic comments. The post itself could be an image macro or annotated video that could be used to determine the subject matter much more effectively.

      To be clear, the spirit of my initial prompt isn't "how can Reddit make more money?" per se, but how can it find a sustainable business model without destroying itself/impacting society at large. Facebook and Twitter seem to have optimized for "engagement" metrics which leads to prioritization of outrage porn and political divisiveness. Snapchat and Instagram seem to have succumb to being mostly an ad delivery engine with some overly-filtered content of "real life" influencers (read: marketers) strewn in between. None of these seem like a net-good for society.

      What are all your thoughts? Perhaps Big Tech social media is irredeemable at this point, but I'm trying not to take such a defeatist attitude and instead explore any positive solutions.

      9 votes
    27. How do you manage data backups?

      Hi Tildes. Hopefully this thread will be both a good discussion and helpful to some of you, and hopefully me. As I'm guessing most of you know, data backups are quite important and it is best to...

      Hi Tildes. Hopefully this thread will be both a good discussion and helpful to some of you, and hopefully me.

      As I'm guessing most of you know, data backups are quite important and it is best to have at least one copy locally and another copy somewhere else. At the moment, I store photos on an external hard drive and Google Drive, photos from my phone on Google Photos with copies of important original quality files saved locally, and everything else on drives in my PC and a network drive on my Raspberry Pi. It's far from ideal, I've only got one copy of some files and three or four of some others so I've been looking for something better to keep everything organised, safe and in one place.

      I've tried the free trial of Backblaze, which seemed the obvious choice, but it had a few problems. I couldn't backup my Pi's network share, and in general it's a bit clunky and difficult to use. It is marketed as an easy solution to backing up data, but in doing this it just makes everything more difficult, at least for me - I know what I want backed up, and I would prefer to select it manually, but by opting in everything for backup by default you have to spend ages excluding the folders you don't want saved, one-by-one, in a UI that is difficult to use and often unclear. Sometimes the exclusions list just doesn't work - the Program Files folders are meant to be excluded by default and they were listed under exclusions but were backing up anyway. For me it found over 200,000 files, and because they were all so small it barely managed to backup 100MB in three hours. (Not that I know where the files come from because they aren't listed in the Windows app in any vaguely comprehensible way.)

      So I need to find something else, and I was hoping someone here would have some recommendations. Personally I need it to:

      • Be affordable and easy to setup and use
      • Backup external and network drives to the cloud (physically keeping another drive somewhere else isn't an option for me)
      • Be trustworthy and have strong commitments to security and privacy
      • Work well for my use case: preferably automatic from Windows

      Looking forward to any comments or recommendations. Thanks!

      23 votes
    28. What is a modem+router good enough for online gaming?

      I recently got an Ethernet cable in the hopes of making my online gaming more responsive, but to my dismay it made little difference in latency measure on the Xbox Series S. It merely dropped from...

      I recently got an Ethernet cable in the hopes of making my online gaming more responsive, but to my dismay it made little difference in latency measure on the Xbox Series S. It merely dropped from 146ms to 143ms.

      I use the modem+router provided by the ISP, a Sagemcom Fast 5655v2. According to preliminary research, the ISP blocks any alterations so I would have to jailbreak the device to explore other solutions. I’m open for suggestions in that regard too! I’d like to know if I can determine if the problem is on the router or the ISP.

      On your suggestions please consider that my country’s currency is worth less than one fifth of the US dollar, so I’m not looking for anything even remotely close to the best setup possible, but merely a significant improvement. Anything above 50 US dollars is already too much for me.

      So, with that in mind, what do you recommend?

      8 votes
    29. Many people here believe that social media can't be both large and have good discussion because the human brain isn't made to interact with large numbers of people. What do you think of this?

      p.s the difference between this post and this post is that I want to ask questions and get people's opinions and answers in this one more. Here's a few examples, last one being an argument between...

      p.s the difference between this post and this post is that I want to ask questions and get people's opinions and answers in this one more.

      Here's a few examples, last one being an argument between a few people where most people, including Deimos agreed with this idea.

      Personally, I find this idea almost terrifying because it implies social media in it's current form cannot be fixed by changing or expanding human or automoderation, nor fact checking, because moderation can't reasonably occur at scale at all.

      However, I have 2 questions:

      1: If large social media platforms can't really be moderated what should we do to them? The implied solution is balkanizing social media until the 'platforms' are extended social circles which can be moderated and have good discussion (or more practically, integrate them to a federated service like mastodon which is made to be split like this or something like discord.) An alternative I've heard is to redo the early 2000s and have fanforums for everything to avoid context collapse and have something gluing the site's users together (something I am far more supportive of) or a reason for invite systems and stricter control of who enters your site but doesn't explain the idea that once your site hits a certain usercount, it will inevitably worsen and that is something that stems from human nature (Dunbar's number aka the max amount of friends you could theoretically have) and so is inevitable, almost natural.

      2: Why is moderation impossible to do well at large scales? While I think moderation, which I think is analogous to law enforcement or legal systems (though the many reddit mods here can definitely give their opinions on that) definitely likely isn't the kind of thing that can be done at a profit, I'm not entirely sure why would it be wholly impossible. A reason I've heard is that moderators need to understand the communities they're moderating, but I'm not sure why wouldn't that be a requirement, or why would adding more mods make that worse (mods disagreeing with eachother while moderating seems quite likely but unrelated to this.)

      20 votes
    30. Saturday Security Brief

      Saturday Security Brief Topics: Attack Surface Management, Active iMessage exploit targetting journalists, Academic research on unique EM attack vectors for air-gapped systems. Any feedback or...

      Saturday Security Brief

      Topics: Attack Surface Management, Active iMessage exploit targetting journalists, Academic research on unique EM attack vectors for air-gapped systems.

      Any feedback or thoughts on the experience of receiving and discussing news through this brief or in general are welcome. I'm curious about this form of staying informed so I want to experiment. (Thanks again for the suggestion to post the topics as comments.)


      Attack Surface Management

      This concept is about ensuring that your network is equipped to handle the many issues that arise from accommodating various "Servers, IoT devices, old VPSs, forgotten environments, misconfigured services and unknown exposed assets" with an enterprise environment. Some of the wisdom here can be applied better think about protecting our personal networks as well. Outdated phones, computers, wifi extenders, and more can be a foothold for outside attackers to retain persistant access. Consider taking steps to migigate and avoid potential harm from untamed devices.

      Consider putting certain devices on the guest network if your router supports doing so and has extra rules for devices on that network so they can't cause damage to your other devices directly.

      "A report from 2016 predicted that 30% of all data breaches by 2020 will be the result of shadow IT resources: systems, devices, software, apps and services that aren’t approved, and in use without the organization’s security team’s knowledge. But shadow IT isn’t the only area where security and IT teams face issues with tracking and visibility."

      Attack Surface Management: You Can’t Secure What You Can’t See ~ Security Trails


      Multiple Journalists Hacked with ‘Zero-Click’ iMessage Exploit

      Mobile spyware is continuing to evolve and tend towards professional solutions. Recently this technology has been abused to conduct espionage on journalists of major networks. Where once these exploits typically required some mistaken click from the user, new developments are allowing their activities without any trace or requiring interaction from the target.

      "NSO Group’s Pegasus spyware is a mobile phone surveillance solution that enables customers to remotely exploit and monitor devices. The company is a prolific seller of surveillance technology to governments around the world, and its products have been regularly linked to surveillance abuses."

      "In July and August 2020, government operatives used NSO Group’s Pegasus spyware to hack 36 personal phones belonging to journalists, producers, anchors, and executives at Al Jazeera. The personal phone of a journalist at London-based Al Araby TV was also hacked."

      "The journalists were hacked by four Pegasus operators, including one operator MONARCHY that we attribute to Saudi Arabia, and one operator SNEAKY KESTREL that we attribute to the United Arab Emirates."

      "More recently, NSO Group is shifting towards zero-click exploits and network-based attacks that allow its government clients to break into phones without any interaction from the target, and without leaving any visible traces."

      The Great iPwn Journalists Hacked with Suspected NSO Group iMessage ‘Zero-Click’ Exploit ~ Citizen Lab


      Security researchers exfiltrate data from air-gapped systems by measuring the vibrations made by PC fans.

      Besides this potential exploit the article mentions past research done by Guri and his team which is worth checking out, like:

      • LED-it-Go - exfiltrate data from air-gapped systems via an HDD's activity LED

      • AirHopper - use the local GPU card to emit electromagnetic signals to a nearby mobile phone, also used to steal data

      • MAGNETO & ODINI - steal data from Faraday cage-protected systems

      • PowerHammer - steal data from air-gapped systems using power lines

      • BRIGHTNESS - steal data from air-gapped systems using screen brightness variations

      "Academics from an Israeli university have proven the feasibility of using fans installed inside a computer to create controlled vibrations that can be used to steal data from air-gapped systems."

      Academics steal data from air-gapped systems using PC fan vibrations ~ Zdnet


      Good Practices

      "Hundreds of popular websites now offer some form of multi-factor authentication (MFA), which can help users safeguard access to accounts when their password is breached or stolen. But people who don’t take advantage of these added safeguards may find it far more difficult to regain access when their account gets hacked, because increasingly thieves will enable multi-factor options and tie the account to a device they control. Here’s the story of one such incident."

      Turn on MFA Before Crooks Do It For You ~ Krebs on Security

      16 votes
    31. Day 25: Combo Breaker

      Today's problem description: https://adventofcode.com/2020/day/25 Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c. Please post your...

      Today's problem description: https://adventofcode.com/2020/day/25


      Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c.

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      8 votes
    32. Day 24: Lobby Layout

      Today's problem description: https://adventofcode.com/2020/day/24 Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c. Please post your...

      Today's problem description: https://adventofcode.com/2020/day/24


      Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c.

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      8 votes
    33. Day 23: Crab Cups

      Today's problem description: https://adventofcode.com/2020/day/23 Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c. Please post your...

      Today's problem description: https://adventofcode.com/2020/day/23


      Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c.

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      8 votes
    34. Day 22: Crab Combat

      Today's problem description: https://adventofcode.com/2020/day/22 Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c. Please post your...

      Today's problem description: https://adventofcode.com/2020/day/22


      Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c.

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      8 votes
    35. Day 21: Allergen Assessment

      Today's problem description: https://adventofcode.com/2020/day/21 Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c. Please post your...

      Today's problem description: https://adventofcode.com/2020/day/21


      Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c.

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      10 votes
    36. Day 20: Jurassic Jigsaw

      Today's problem description: https://adventofcode.com/2020/day/20 Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c. Please post your...

      Today's problem description: https://adventofcode.com/2020/day/20


      Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c.

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      10 votes
    37. Day 19: Monster Messages

      Today's problem description: https://adventofcode.com/2020/day/19 Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c. Please post your...

      Today's problem description: https://adventofcode.com/2020/day/19


      Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c.

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      10 votes
    38. Day 18: Operation Order

      Today's problem description: https://adventofcode.com/2020/day/18 Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c. Please post your...

      Today's problem description: https://adventofcode.com/2020/day/18


      Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c.

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      11 votes
    39. Day 17: Conway Cubes

      Today's problem description: https://adventofcode.com/2020/day/17 Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c. Please post your...

      Today's problem description: https://adventofcode.com/2020/day/17


      Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c.

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      9 votes
    40. Day 16: Ticket Translation

      Today's problem description: https://adventofcode.com/2020/day/16 Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c. Please post your...

      Today's problem description: https://adventofcode.com/2020/day/16


      Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c.

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      11 votes
    41. Day 15: Rambunctious Recitation

      Today's problem description: https://adventofcode.com/2020/day/15 Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c. Please post your...

      Today's problem description: https://adventofcode.com/2020/day/15


      Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c.

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      11 votes
    42. Day 14: Docking Data

      Today's problem description: https://adventofcode.com/2020/day/14 Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c. Please post your...

      Today's problem description: https://adventofcode.com/2020/day/14


      Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c.

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      9 votes
    43. Day 13: Shuttle Search

      Today's problem description: https://adventofcode.com/2020/day/13 Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c. Please post your...

      Today's problem description: https://adventofcode.com/2020/day/13


      Join the Tildes private leaderboard! You can do that on this page, by entering join code 730956-de85ce0c.

      Please post your solutions in your own top-level comment. Here's a template you can copy-paste into your comment to format it nicely, with the code collapsed by default inside an expandable section with syntax highlighting (you can replace python with any of the "short names" listed in this page of supported languages):

      <details>
      <summary>Part 1</summary>
      
      ```python
      Your code here.
      ```
      
      </details>
      
      11 votes
    44. In-depth walkthroughs of Rust solutions for Advent of Code 2020 by Amos Wenger (fasterthanlime)

      I always enjoy Amos' writing, he does a great job of walking through topics in depth and explaining each step of the way. It looks like he's starting a new series to work through all of this...

      I always enjoy Amos' writing, he does a great job of walking through topics in depth and explaining each step of the way. It looks like he's starting a new series to work through all of this year's Advent of Code problems, which will probably be a good read for people interested in Rust (whether you already have experience with it or not).

      Only the first day is up so far, but the overall series page is here, and individual links:

      I'll update this post with new links as the new parts come out, and possibly bump it occasionally.

      9 votes