• Activity
  • Votes
  • Comments
  • New
  • All activity
    1. Flags and symbols of patriotism in context

      Recently I was watching the World War 2 series "Masters of the Air". In one of the last scenes, there is an American prisoner of war who climbs up the flag pole and replaces the German flag with...

      Recently I was watching the World War 2 series "Masters of the Air". In one of the last scenes, there is an American prisoner of war who climbs up the flag pole and replaces the German flag with the American flag as American troops liberate the camp. I thought it was a powerful aesthetic image: A battered flag of freedom replacing a flag of oppression.

      The American flag looks very nice to me, especially used in dramatic art. But I think that's mostly the connotations of my upbringing. If you look at the aesthetics of it without any history of it, it looks like a striped tablecloth sewn to a starry apron or something. And to a lot of other people in the world it looks like greed or violence or oppression or something else again.

      I'm sure these aren't original thoughts, but the use of this flag as a symbol has been bothering me for the last 8 or 10 years. It's been co-opted to mean something different than before, inside the very places where it previously would have much more positive connotations. If I see that flag on a big pickup truck, I have a strongly negative connotation with it. Or if I see it defaced with a blue line on it. Or if I see it on the pin of a politician. Or on a pole in a used car lot. Or in any advertisement.

      This is more about my own naivete about whatever the United States was actually about, separate from what we are taught as children and the stories we tell ourselves. But I'm guessing a lot more people have these thoughts than did a few years ago.

      I remember some people a few years ago were telling progressives to "Take back the flag from the right wing". I guess I don't know if that's going to work, there seems to be a poisoned well now and anyway everyone always brings their own experiences to such symbols and your display of positivity may have the opposite effect on others.

      17 votes
    2. I am missing a neutral way to flag low-effort or potentially spammy posts

      Lately I have seen a few posts here and there from accounts that have been silent for a while, where I can't help but feel that these new posts are made by different people or that the initial...

      Lately I have seen a few posts here and there from accounts that have been silent for a while, where I can't help but feel that these new posts are made by different people or that the initial posts they made were intended to "pad" the account. In other words, they feel a bit like spam and because of that I would like to "flag" them somehow.

      The obvious question people will have is likely "Why not just comment about it under the post?"

      I have done that various times, and it has the opposite effect of what I'd like:

      1. Commenting boosts the post for people who sort based on comments or activity.
      2. From what I have observed, when a post has one comment, it is more likely to receive more votes as well. If it has more than one comment, it will receive more votes. This, to me, bizarre voting behavior is something worthy of a meta discussion in itself. But from what I gather, people seem to think that it indicates discussion. Making them think that there must be something worthwhile about the post. This obviously doesn't apply when it's just the OP sharing a quote and me raising a concern.
      3. Sometimes I am not entirely sure and would like to have someone with more insights behind the screens take a look at it. If I commented my suspicions while being wrong, that would suck for everyone involved.

      Basically for the first two points I am not sure what a good solution would be. I am not advocating for a downvote ability, though something would be nice.
      For the third point, I guess I am saying that I am missing the ability to report a post. With comments, I can use the malice label and write out a report, for posts there is no such thing.

      29 votes
    3. Formula 1 Sao Paulo Grand Prix 2024 - Results

      Warning: this post may contain spoilers

      And Sao Paulo completes the triple-header!

      What a weekend. What a day. What a race! Rain, amiright? Gotta be the most expensive weekend all year, in terms of destruction.

      Congrats to Ocon, Gasly, and all of Alpine! P2 & P3, respectively. No one would've predicted that.

      As an RB fan, it's great to see Max back at P1 and extending his championship lead over Norris! The gap has increased to 62pts. Amazing drive, starting at P17 and finishing P1. Plus he kept banging out fastest lap after fastest lap at the front, even with the rain and wet track. Yeah he got lucky with the safety car and red flag, but even before that, he was on form.

      On the other side of the garage...Checo, WTH. Can't even pass your junior team's rookie driver? And then letting Hamilton through, as well? I'll just leave it at that.

      Props to all the mechanics and engineers for having to fix and rebuild all those cars that got destroyed in Qualifying this morning. Especially Williams. I think Albon's crash was the most disappointing for me. He was provisionally P2 with 3min left of Q3, and I was stoked that he might actually keep it. But then he spun out into the wall. I actually yelled out "NOOOOOOO!" when I saw it happen šŸ˜­

      Lastly, remember that there are potential penalties for Norris and a few others on the aborted start weirdness at the beginning.

      3 weeks until the next race; enjoy the break. REMEMBER: Vegas is a SATURDAY NIGHT race in the US. Adjust accordingly to your local time.

      Next race:

      Las Vegas Grand Prix
      Las Vegas Strip Circuit
      Saturday, November 24

      Provisional GRAND PRIX Results -- SPOILER
      Pos No Driver Car Laps Time/retired Pts
      1 1 Max Verstappen Red Bull Racing Honda RBPT 69 2:06:54.430 26
      2 31 Esteban Ocon Alpine Renault 69 +19.477s 18
      3 10 Pierre Gasly Alpine Renault 69 +22.532s 15
      4 63 George Russell Mercedes 69 +23.265s 12
      5 16 Charles Leclerc Ferrari 69 +30.177s 10
      6 4 Lando Norris McLaren Mercedes 69 +31.372s 8
      7 22 Yuki Tsunoda RB Honda RBPT 69 +42.056s 6
      8 81 Oscar Piastri McLaren Mercedes 69 +44.943s 4
      9 30 Liam Lawson RB Honda RBPT 69 +50.452s 2
      10 44 Lewis Hamilton Mercedes 69 +50.753s 1
      11 11 Sergio Perez Red Bull Racing Honda RBPT 69 +51.531s 0
      12 50 Oliver Bearman Haas Ferrari 69 +57.085s 0
      13 77 Valtteri Bottas Kick Sauber Ferrari 69 +63.588s 0
      14 14 Fernando Alonso Aston Martin Aramco Mercedes 69 +78.049s 0
      15 24 Zhou Guanyu Kick Sauber Ferrari 69 +79.649s 0
      NC 55 Carlos Sainz Ferrari 38 DNF 0
      NC 43 Franco Colapinto Williams Mercedes 30 DNF 0
      NC 27 Nico Hulkenberg Haas Ferrari 30 DNF 0
      NC 23 Alexander Albon Williams Mercedes 0 DNF 0
      NC 18 Lance Stroll Aston Martin Aramco Mercedes 0 DNF 0

      Fastest Lap: Max Verstappen, Lap 67

      Source: F1.com

      SPRINT RACE Results -- SPOILER
      Pos No Driver Car Laps Time/retired Pts
      1 4 Lando Norris McLaren Mercedes 24 29:46.045 8
      2 81 Oscar Piastri McLaren Mercedes 24 +0.593s 7
      3 16 Charles Leclerc Ferrari 24 +5.656s 6
      4 1 Max Verstappen Red Bull Racing Honda RBPT 24 +6.497s 5
      5 55 Carlos Sainz Ferrari 24 +7.224s 4
      6 63 George Russell Mercedes 24 +12.475s 3
      7 10 Pierre Gasly Alpine Renault 24 +18.161s 2
      8 11 Sergio Perez Red Bull Racing Honda RBPT 24 +18.717s 1
      9 30 Liam Lawson RB Honda RBPT 24 +20.773s 0
      10 23 Alexander Albon Williams Mercedes 24 +24.606s 0
      11 44 Lewis Hamilton Mercedes 24 +29.764s 0
      12 43 Franco Colapinto Williams Mercedes 24 +33.233s 0
      13 31 Esteban Ocon Alpine Renault 24 +34.128s 0
      14 50 Oliver Bearman Haas Ferrari 24 +35.507s 0
      15 22 Yuki Tsunoda RB Honda RBPT 24 +41.374s 0
      16 77 Valtteri Bottas Kick Sauber Ferrari 24 +43.231s 0
      17 24 Zhou Guanyu Kick Sauber Ferrari 24 +54.139s 0
      18 14 Fernando Alonso Aston Martin Aramco Mercedes 24 +56.537s 0
      19 18 Lance Stroll Aston Martin Aramco Mercedes 24 +57.983s 0
      NC 27 Nico Hulkenberg Haas Ferrari 19 DNF 0

      Source: F1.com

      14 votes
    4. Cmake strategies or alternatives for building (different) code for different platforms

      Okay, so this is getting really long, I'll put the ask up front: I have a strategy, I think it is reasonable. Now is a point where I can easily change things, and it won't be so easily later. So...

      Okay, so this is getting really long, I'll put the ask up front: I have a strategy, I think it is reasonable. Now is a point where I can easily change things, and it won't be so easily later. So I'm looking to see if anyone has trod this road before and can recommend any of:

      1. a different build system that will be easier to manage for this use case
      2. a different strategy for using cmake that will be easier to manage
      3. any gotchas I should be aware of, even if you don't have better solutions.

      Background

      I have a project I'm working on where the ultimate deliverable will be a hardware device with 3-4 different microcontrollers coordinating with each other and interacting with a PC-ish platform. This is a clean rewrite of a C++ codebase. Due to the microcontroller (and some of the PC APIs) being C++, the language of choice for most of it is likely to remain C/C++.

      I'm succeeded in setting up a build system for embedded code. The old code was arduino, so it relies a lot on those libraries, but I've managed to set up enough custom cmake to get off of the ardunio tools altogether, even if I am borrowing their libraries and some of the "smarts" built into the system about setting build flags, etc. So far, I have a dockerized toolchain (cmake + make + gcc-arm-none-eabi) that can successfully build ARM binaries for the target platform.

      The thing that I'm up against now is that I'd like to have a robust off-target unit testing infrastructure. My ideal case is that everything in the embedded system will be broken down into libraries that have clear interfaces, then to use unit tests with mocks to get high coverage of test cases. I'll still need some HIL tests, but because those are harder to set up and run, I want to use those for integration and validation.

      In terms of OSes available, we're mostly working on Windows systems using WSL for linux. I'd like things to be as linux-based as possible to support CI on github, etc.

      Goals and Cmake limitations

      I started out using cmake because I hate it least of the tools I've used, and I am at least pretty far up the learning curve with it. But a limitation I'm hitting is that you can't do a mixed compile with two different toolchains in one build. The reasons why cmake has this limitation seem reasonable to me, even if it is annoying. You can easily change the toolchain that your code is built with, but that seems to be largely targeted at cross-compiling the same binaries for different systems. What I want to do is:

      • build my code libraries with embedded settings for linking to the embedded binaries and build those embedded binaries (the end product)
      • build my code libraries with linux-ish tools and link them against unit tests to have a nice CI test process
      • (eventually) also be able to build windows binaries for the PC components -- when I get to that point, I'd like to get away from the MSVC compilers, but will use them if I have to

      Current strategy

      My current plan is to configure a library build like this (pseudocode):

      add_library(mylib sources)
      if (BUILD_TYPE STREQUAL BUILD_TYPE_EMBEDDED)
      <embedded config>
      elseif (BUILD_TYPE STREQUAL BUILD_TYPE_LINUX)
      <linux config, if any>
      endif()
      
      #unit tests are built for each library
      if (BUILD_TYPE STREQUAL BUILD_TYPE_LINUX)
      add_executable(mylib_test sources test_sources)
      target_link_libraries(mylib gtest etc.)
      endif()
      

      For the rollup binaries, I make the whole target conditional

      if (BUILD_TYPE STREQUAL BUILD_TYPE_EMBEDDED)
      add_executable(myembedap sources)
      target_link_libraries(mylib)
      endif()
      

      Then the build script (outside cmake) is something like

      cd build/embedded
      cmake <path to src> <set embedded toolchain> -DBUILD_TYPE=embedded
      make
      cd ../../build/linux
      cmake <path to src> -DBUILD_TYPE=linux
      make
      

      Things I like about this strategy:

      • It's relatively simple to do all the builds or just one of the builds (that control would go in the shell script)
      • I have one source tree for the whole build
      • It lets configuration be near code
      • It lets tests be near code.
      • I think it's extensible to cover the PC component builds in the future

      Things that worry me:

      • It feels like a hack
      • Support for off-target tests feels like it should be solved problem and I'm worried I'm missing something

      Thanks for reading. If you made it this far, you have my gratitude. Here's a video with funny out of office messages that I enjoyed.

      6 votes
    5. eBay used auto parts - orders cancelled

      I'm in the market for an OEM part that usually comes with the "premium" trim of my vehicle. Rather than pay the $2000+ listed on the official parts website, eBay gave me several junkyard/recycler...

      I'm in the market for an OEM part that usually comes with the "premium" trim of my vehicle. Rather than pay the $2000+ listed on the official parts website, eBay gave me several junkyard/recycler types that list the part for $200-$400. Each of these listing make promises about 60-day returns, warranty, etc.

      However, I attempted a buy-it-now (with a CC, not through PayPal), and the sale was cancelled within an hour claiming that the part didn't pass their QA. I made the purchase at 9pm, and I wouldn't expect that quick of a turn. I did send a note thanking the account for not sending something that didn't meet their standards.

      Then, it happened again almost exactly the same way, save for a 3pm purchase time and a 45-minute refund turnaround. This is raising a bunch of red flags for me. Am I just having bad luck, being paranoid, or is someone trying to maybe steal credit card info?

      I'm thinking that calling local junkyards and just asking if they have the year/model of vehicle I'm looking for and potentially the part. Will take any advice, though.

      8 votes
    6. Relative installed shady browser extension

      [Possibly solved, please look at comments] Hey, so recently a family member accidentally downloaded a shady browser extension called: "Easy Print" on Firefox. 30k downloads, no ratings, weird...

      [Possibly solved, please look at comments]

      Hey,

      so recently a family member accidentally downloaded a shady browser extension called: "Easy Print" on Firefox. 30k downloads, no ratings, weird "offical" website and installed accidentally trying to buy tickets. I assume it showed something along the lines of: "Buy ticket now" and they just clicked on it (being overall inexperieced with security). Only extension installed was uBlock until then.

      I won't post a link just in case, but you can easily find it by googling: "Easy Print Firefox" or "Easy Print App" for their website.

      What makes this weirder is that they change the default search engine to Yahoo, which for me was always a red flag for a hijacked browser.

      I uninstalled it, but am concerned that they installed something like a keylogger along with it.

      Can anyone help me what this is and, especially, how I can properly teach them the basics of internet safety? Not the first time their PC/browser was filled with unwanted stuff...

      Thank you and best regards!

      15 votes
    7. u/RNG investigates bitcoin town

      EDIT: Album available here Note: I'm writing this post as I go through my day, taking note of anything interesting. I try to do this with my diary, however for once I'll actually share my thoughts...

      EDIT: Album available here

      Note: I'm writing this post as I go through my day, taking note of anything interesting. I try to do this with my diary, however for once I'll actually share my thoughts with strangers.

      This was inspired by u/arqalite's post on the topic.

      I'm not a journalist. I didn't even take a class on journalism in college. I'm also not a writer, but at least my text is human generated. I have an audiobook I need to catch up on and a day to spare, so I'm going to bitcoin town.

      I'm not a crypto guy, but I'm not going because I think Bitcoin is bad (even though it is). I'm going because I'm curious: how loud is this bitcoin mine really? When I read the initial post I wondered about the nocebo effect, Havana Syndrome, sociogenic illness, etc. Most of the reports are anecdotes of locals, and the null hypothesis doesn't make for a sharable news article.

      I'm using this app "Sound Meter" to see how loud it is in my small suburban house. It peaks at 40dB. If you, like me, don't think in decibels, Google says that's as loud as a refrigerator hum. I'm skeptical about the accuracy of a phone app, but it's what I have.

      Outside my house there are some birds loudly chirping. I would have missed their song if I wasn't writing this. I decide that I should take a measurement. The app reads 55dB. Google says it's the loudness of a residential street. Spot on.

      I'm entering Granbury, TX and a massive American flag hanging from a crane greets me along with a pro-Trump billboard. There's a large lake running through the town. Seems like every house has a dock. Lot's of folks on boats and jet skis are visible.

      Downtown is an old court building with a clock tower. The streets are lined with mom-and-pop shops for furniture, clothing, and trinkets. To my surprise, there are a lot of shoppers here with arms full of bags. They seem cheerful. They are all white.

      The GPS takes me outside the city limits. I stop at a gas station a half-mile from the mine. I ask a couple of people about the mine while I grab a water. They've never heard of a bitcoin mine, and didn't know there was one around here.

      As I approach the destination, the bitcoin mine looms over the horizon. The sheer size of the facility cannot be overstated. This facility looks like it should be pursuing some massive scientific endeavor. I wouldn't guess in a million years that all of this infrastructure exists to mine bitcoin. My car reads 98Ā°F (what I expected based on forecast.) I imagine cooling systems will be as loud as one can expect on a day like today. And yes, it is loud.

      Across the way, I see signs saying "Bitcoin sux" and "Bitcoin Noisehood". I take a lot of photos. I pull out "Sound Meter" and take measurements. It consistently reads 81-83dB, peaking at 88dB. Google says 85dB is the limit of safe hearing, and is comparable to the sound of a snowblower. This seems perfectly accurate to me. I'd be pissed if I lived across from this place.

      I'll be in Granbury for the next hour or so, if anyone has a specific question about the mine I'll see if I can answer it. I took a lot of photos if there is interest.

      121 votes
    8. NĆ¼rburgring 24 Hours (May 30th - June 2nd)

      Friday Qualifying 3: 13:30 - 14:45 CEST Top Qualifying: 17:30 - 19:15 CEST Saturday: Green Flag: 17:30 CEST, 11:30 EST, 15:30 GMT, 01:30 (Saturday) AEST Track Information: 25.378 km (15.770 miles)...

      Friday

      Qualifying 3: 13:30 - 14:45 CEST
      Top Qualifying: 17:30 - 19:15 CEST

      Saturday:

      Green Flag: 17:30 CEST, 11:30 EST, 15:30 GMT, 01:30 (Saturday) AEST


      Track Information: 25.378 km (15.770 miles) located in NĆ¼rburg, Germany

      Track Map

      Track Website

      Official Entry List

      Track Weather

      Spotters Guide

      ----

      Streaming/TV/Radio

      ADAC TotalEnergies 24hNĆ¼rburgring (YT Channel) - Official race streams and many on-board streams available.

      AutoAddiction (YT Channel)

      SpeedSport1 (US viewers)

      Radio LeMans Commentary (English)

      ----

      Live Timing

      Official 24h Rennen Live Timing

      Azure Websites - Live Timing

      wige SOLUTIONS - Live Timing

      ----

      Social Media

      Use the hashtags #24hNurburgring and #adacn242024 to get involved!

      /r/WEC for official race discussion threads

      9 votes
    9. React: Some comments from a beginner

      New job. I've been wanting to learn something new for a while, so I took a project where a lot of React is done. I'm learning it from scratch while I work with React. I have some comments about...

      New job. I've been wanting to learn something new for a while, so I took a project where a lot of React is done. I'm learning it from scratch while I work with React.

      I have some comments about it.

      1. React makes front end work a lot more like programming -- I like that!
      2. Javascript has changed a lot, and for the better, since I last used it over a decade ago.
      3. The React-Redux tool kit is the bomb. It should be integrated/absorbed into React. I can't see any reason not to use it, even for small applications as it is less wordy wherever you use it.
      4. The updating of state values should be more automatic, especially for flag variables not tied to GUI components. It is the major source of hassles with React
      5. Udemy React videos. My company makes them available free of charge to employees. I've sampled videos from a number of courses. I'm not a fan of the instructors showing you how to do things in older, less efficient ways first in a learning/demo project, the ERASING that code to do it a better way. The should include copies of the project at each stage if they do that. I finally figured out that the best way to take notes I can use later is to comment out the old code and put the new more efficient next stage stuff on top.
      6. React tests really need to improve. They are often more time consuming than the code itself. The tests have forced me to change my code or do needless testing to get the tests to pass. I had one situation where no matter what I did React test said I didn't cover the code until I broke an else clause off into it's one if clause. Blech.

      All in all I've been enjoying learning React. It is neat new ( to me ) thing.

      I feel sad that I will likely forget it all when I go back to my specialty language.

      16 votes
    10. Took a bike ride yesterday afternoon

      Comment box Scope: personal anecdote, some thoughts Tone: neutral, old man energy, peeved at the world as usual Opinion: yeah Sarcasm/humor: a tad I took a 25 mile or so bike ride yesterday. I...
      Comment box
      • Scope: personal anecdote, some thoughts
      • Tone: neutral, old man energy, peeved at the world as usual
      • Opinion: yeah
      • Sarcasm/humor: a tad

      I took a 25 mile or so bike ride yesterday. I intentionally brought NO technology at all... no phone, no music, no whatever gadgets. No maps either but I knew where I was going (mostly). Was only planning on a short ride but the weather was just perfect and hey, I had my water and I was on a fully-separated trail.

      My thoughts:

      1. I do not have the lungs I used to have. Or the back. Heavens.
      2. It was nice to get out of the busy parts of town. I like the quiet places. Reminds me of being a kid. Saw some nice flowers. Appreciating the temperature for the 2 weeks it's bearable.
      3. It was VERY nice to not have the distraction of my phone at any point during the trip. Also, when I got slightly lost at one point, I was forced to speak to another human to ask for directions. Ah yes, what a concept. Going to do this more often, go places and leave the phone at home, haven't looked at it all day today either... makes a big difference and grounds me a lot better in whatever I'm doing.
      4. I always forget how far you can go on a bike and not realize you went that far. It's so fast. I usually walk places, so that's my speed. On my bike, which I mainly use to buy groceries, I don't usually go more than five miles at a time these days, and I'm in the city so I'm usually stopping at red lights and stuff.
      5. The part of the trail nearest the city was ridiculously overcrowded and the path definitely needed to be widened. Cycling/pedestrian traffic should probably be separated for that section. Just sooo much weaving back and forth right now, hah. I think this might be partially alleviated with the southern extension that's happening soon (I don't know when exactly but there's visible construction progress), as it could maybe slightly spread out the people, but that will also bring in more foot traffic. Well, it will still be nice.
      6. Not so keen on the loooong stretch of trail that is literally 1 foot from vehicles on an arterial road. I have been here plenty of times before, I just don't like how fast the traffic goes and the fact that there are no physical barriers between the "trail" (sidewalk, in that section) and the cars. No driver on there was respecting the speed limit and I think a lane of traffic needs to be taken away to turn into a green buffer zone... ideally with a wall.
      7. Only one obvious mile-long (idk) gap for the distance I traveled. It's a surprisingly well-connected trail. I have no idea how they ought to connect the two current segments, but the infrastructure would be a little expensive no matter what (it would probably require a bridge?), so I understand why it hasn't happened yet. At least it was short.
      8. Parts of the trail I was riding on were blocked off in areas where construction contractors should have made basic effort to install a temporary surface instead of leaving a massive ditch in the ground for literally no reason (and it's been there for months, apparently!). A literal plank of wood would have sufficed. Lazy! Oh well.
      9. A few areas of the boardwalk near the canal were rotted and some thoughtful people had stuck wood poles in the holes and marked them with bright flags for visibility. Helpful. Ought to be repaired though.

      For eastern PA people, this was the Schuylkill River Trail between Christian St in Philadelphia and up to Shawmont or so (just past the Manayunk Canal, but not all the way to Conshohocken), plus some cycling in the city to get to the trail. I thought about going further but decided not to because I did not have a snack.

      The trail does go more or less to Reading and AFAIK is quite continuous most of the way there, but I haven't taken it that far in a single go. Next time I'll bring a granola bar or two.

      Next week I will see how far I can go on the Del & Lehigh canal trail before my heart gives out. Pretty dangerous to get out there as the city has made meh effort to connect the Delaware River Trail downtown to the start of the Canal Trail by Bristol. The suburbs in Bucks Cty past Glen Foerd... even less effort. The East Coast Greenway route has you going on some insanely dangerous roads. State Rd sucks. Might take the train out to Bristol or Yardley instead. Not my favorite activity with a bike. SEPTA regional rail not designed with bikes in mind.

      Been checking out the infrastructure plans for the Del trail, but they are kind of lackluster. Great, and important, but really insufficient. And mostly years out from being anywhere near complete. Unlike the Schuylkill, the Delaware is too industrial to be considered "cute" and therefore has had far less attention downstream of the canal towpath. Extension to Lehigh Ave (map) is planned but has no specific timeframe. Community-approved but land acquisition required. Guessing done by 2025-27? Lehigh to Pulaski, Bridesburg to Tacony, Tacony to Holmesburg, no idea... and dear lord the gap between Holmesburg and Bristol is nuts. Guessing 2035 for some of those, 2050 all the way to Bristol.

      Just unacceptable that both the SRDC and the DWRC have to fight for scraps for ONE single trail (respectively) while govt has no prob spending bazillions on roads for cars. Just nuts. Literally one trail is all I need to escape sometimes. So BRB, going to write to my Councilmember.

      30 votes
    11. Does Linux From Scratch actually teach you anything?

      Two hours ago I randomly thought "hey, why not do LFS?", so I opened my laptop and started following the book. I've heard a lot of people say that LFS is great for learning how a Linux system...

      Two hours ago I randomly thought "hey, why not do LFS?", so I opened my laptop and started following the book. I've heard a lot of people say that LFS is great for learning how a Linux system works. However, so far it's just been a guide on how to compile different software and what autoconfig flags to use. I thought that maybe further chapters will have more information on how things work, but it seems like they all just contain a one-line description of a program and compilation instructions.

      If anyone here has done LFS, did you actually learn anything from it? Is it worth spending more time on?

      19 votes
    12. Fighting with Fitbit's tech support

      I doubt I'll find any new ideas, but maybe someone here has one. I'm running out of places to turn, with no solution. I have been in a fight with Fitbit support for a few weeks now over their push...

      I doubt I'll find any new ideas, but maybe someone here has one. I'm running out of places to turn, with no solution.

      I have been in a fight with Fitbit support for a few weeks now over their push to migrate everyone to a Google-linked Fitbit account. I'm pretty sure what I've found is a rare edge case of a bug, or rather, an unaccounted for set of conditions when trying to migrate.

      A long time ago, 2017 I think, I created a Google-linked Fitbit Account (via oauth, "Login with Google"). I used it briefly and then stopped, and completely forgot about its existence.

      In 2022, I got a Pixel Watch and created a new/second Fitbit Account with a different email address, as I did not remember I had a Fitbit account already and I wanted to use a masked email address through my personal domain.

      With the push to migrate all Fitbit accounts to Google accounts, I decided to try to do so last month. When I attempted to migrate my second account to a Google account, I got an error that I already had an account registered under my Google account. So I logged in to that old 2017 Google account and initiated its deletion. It told it me would take 30 days to delete it, so I waited 31 days.

      31 days later, I tried to migrate my second account to a Google account. When I try to do so, I get an error:

      Can't use Fitbit with this Google Account
      This could be because you're using a Google Workspace account, or because your account is supervised.
      

      My account is neither a child account, nor a Workspace account, it's a standard (adult) account I've had for something like 16 years.

      So I tried to see if my old Google account was perhaps not deleted after all. I tried to log in to my old account via oauth (Sign In > Continue with Google), and I get a different error:

      Sign in again to continue
      Since you deleted Fitbit from your Google Account, youā€™ll need to sign in again as a new user.
      

      I suspect that what happens when I deleted my old/original Google account is that it wasn't actually deleted, but made inactive with some "deleted" flag, but the account hasn't been purged. As a result, I'm unable to migrate my new account to the same email address I used for my old Google account.

      Reaching out to Fitbit, they continually put the blame on Google for reporting my account as a workspace/supervised account, and the only solution they'll offer me is "You should create a new Google account". Google has also been unable to help, but that doesn't surprise me, as I don't think it's an issue on their end. Requests to Fitbit to escalate my case to a higher tier of support and/or someone from some type of database team have been stonewalled, and I think that Fitbit support has now just stopped responding to me entirely.

      Does anyone have any idea where I could turn?

      14 votes
    13. What are the benefits in the here and now of linguistic diversity?

      A lot of people argue that we should try to protect "minority languages" and support "linguistic diversity", but I struggle to understand why having more languages is actually a good thing. I...

      A lot of people argue that we should try to protect "minority languages" and support "linguistic diversity", but I struggle to understand why having more languages is actually a good thing.

      I would be very interested to hear about concrete benefits in the present to linguistic diversity.

      Lots of random musings I had on this

      A lot of people say things like "it helps you to think differently" which I have not really understood at all (I speak multiple languages, for context, some quite different), but my sample size is really just me in saying that. They also say things like "protect minority culture" which I think is quite harmful. For example my great-grandmother immigrated to an English-speaking country in the west from Africa (she was Indian-African), and she could not speak a word of English which put her at a massive disadvantage, but also gave other family members a lot more power in their relationship because they could all speak English. [Edit: I think there's a gender aspect where women are expected to maintain the traditional language and the burden is not put on men in the same way]. I get the whole assimilation versus integration, but I think there's a very strong case for trying to assimilate (into the dominant group).

      I have yet to see a case arguing why it is better to have more languages (and thus necessarily less mutual comprehension and a more segregated world) rather than a single one (e.g. if everyone spoke English). My issue is not really with high-level philosophy about what would be better in an ideal world, but multilingualism as a practical concern. For example, Tildes does not really seem to 'believe' in multilingualism because it only allows English (which personally I think is better than if we had people arguing backwards and forwards in many different languages, but I am also a native English speaker so that might prejudice my perspective).

      Most of the arguments about this that I see are from (usually) French speakers bemoaning the decline of their language (and it's kind of ironic to see France becoming a flag-bearer for linguistic diversity given that they exterminated a lot of languages to force French upon the world).

      35 votes
    14. How to reduce (non-spam) business calls to my personal cell phone?

      I have a business phone number that I use for work in addition to my personal cell phone number which Iā€™ve had for 20+ years. Iā€™ve always used my work number for anything job-related (colleague...

      I have a business phone number that I use for work in addition to my personal cell phone number which Iā€™ve had for 20+ years. Iā€™ve always used my work number for anything job-related (colleague contact, vendors, sales reps, networking, LinkedIn, etc) and only provide my personal for, well, personal contacts.

      But having had my personal number for as long as I have, itā€™s very easy to Google my name and find that number associated to me.

      My issue is that Iā€™m constantly receiving phone calls and voicemails on my personal number from vendors, sales reps, etc that are either for services we use at my job or from vendors in relevant fields contacting me for various reasons. I realize some may lump this kind of outreach into ā€œspamā€, but I want to differentiate this kind of outreach from what I consider true spam (robocalls, phishing, non-work related sales calls like for home internet, etc) which just goes ignored and blocked.

      I donā€™t want to answer every call to correct someone to use my work contact info. I can continue ignoring but it does fill my voicemail and Iā€™m hoping to reduce the number of calls I receive on my cell every day (even if it were to only cut it down by 5). Someone suggested changing my outgoing voicemail message to flag itā€™s my personal number and any work related messages would be ignored while providing my work number. I think this may be the best approach (though Iā€™d skip providing my work number as I donā€™t need it to start receiving robocalls). I know Iā€™m not the only one that deals with this (but maybe Iā€™m in the minority rather than a majority) and am curious if y'all have this issue and if so, how you manage it?

      20 votes
    15. IndyCar Grand Prix of Monterey (Laguna Seca) 2023 Season Finale - Results

      Not sure how many people follow IndyCar, but figured I'd do the same as I've been doing for F1. Honestly, one of the worst races I've ever seen in any series. Which is too bad, because I love Indy...

      Not sure how many people follow IndyCar, but figured I'd do the same as I've been doing for F1.

      Honestly, one of the worst races I've ever seen in any series. Which is too bad, because I love Indy at Laguna Seca. But it was like watching Formula 2 or Formula 3. At Monza. Constant crashing and spins, especially on restarts. I don't know how many times the race got yellow flagged, especially after restarts.

      We know from last week's race at Portland that Alex Palou of Chip Ganassi Racing wrapped up the Drivers Championship in his Honda. So I'll put the season results below.

      Race Results - SPOILER
      Rank Driver Car No. Starts Laps Total time Laps Led Status Points Avg.Speed Pit stop
      1 Scott Dixon 9 11 95 02:17:41.6400 20 Running 51 92.645 4
      2 Scott McLaughlin 3 2 95 02:17:48.9580 - Running 40 92.563 5
      3 Alex Palou 10 5 95 02:17:52.2511 51 Running 38 92.526 2
      4 Will Power 12 7 95 02:17:56.3069 - Running 32 92.480 5
      5 Callum Ilott 77 20 95 02:18:02.7689 - Running 30 92.408 6
      6 Christian Lundgaard 45 3 95 02:18:03.0150 - Running 28 92.405 6
      7 Alexander Rossi 7 15 95 02:18:03.8553 - Running 26 92.396 4
      8 Marcus Armstrong 11 14 95 02:18:08.7710 - Running 24 92.341 4
      9 Pato O'Ward 5 9 95 02:18:10.0307 15 Running 23 92.327 3
      10 Ryan Hunter-Reay 20 25 95 02:18:13.9807 - Running 20 92.283 3
      11 Romain Grosjean 28 8 95 02:18:20.6607 2 Running 20 92.209 3
      12 Sting Ray Robb 51 24 95 02:18:25.6275 - Running 18 92.154 3
      13 Helio Castroneves 06 27 95 02:18:39.9575 - Running 17 91.995 5
      14 Agustin Canapino 78 19 95 02:18:42.8243 - Running 16 91.963 2
      15 Marcus Ericsson 8 18 94 02:18:03.9834 - Running 15 91.422 5
      16 Benjamin Pedersen 55 23 94 02:18:20.0876 - Running 14 91.245 6
      17 Santino Ferrucci 14 17 94 02:18:27.2548 - Running 13 91.166 6
      18 Rinus VeeKay 21 6 93 02:18:17.4950 - Running 12 90.302 5
      19 Felix Rosenqvist 6 1 93 02:18:21.3296 6 Running 13 90.261 5
      20 David Malukas 18 22 93 02:18:28.7683 - Running 10 90.180 5
      21 Josef Newgarden 2 4 91 02:18:28.2840 - Running 9 88.246 10
      22 Devlin DeFrancesco 29 26 91 02:18:50.0001 - Running 8 88.015 6
      23 Colton Herta 26 12 80 02:12:45.1323 1 Contact 8 80.921 6
      24 Juri Vips 30 13 71 02:18:50.0000 - Running 6 68.671 3
      25 Kyle Kirkwood 27 16 65 02:18:43.7580 - Running 5 62.915 3
      26 Tom Blomqvist 60 21 61 01:28:09.5902 - Contact 5 92.912 2
      27 Graham Rahal 15 10 0 00:00:00.6301 - Contact 5 0.000 0

      Source: Indycar.com


      2023 Season Results - SPOILER
      Rank Driver STP TEX LB BAR GPI IND DET R-AM MOH TOR IOW IOW NASH GPI STL POR WRLS Total
      1 Alex Palou 24 36 31 30 53 45 54 51 53 40 25 35 36 26 26 53 38 656
      2 Scott Dixon 36 31 5 26 29 35 32 32 41 33 28 29 30 51 53 36 51 578
      3 Scott McLaughlin 20 28 20 51 14 16 26 24 30 29 40 31 42 24 31 22 40 488
      4 Pato O'Ward 41 41 13 32 41 17 6 35 24 24 35 20 24 35 41 32 23 484
      5 Josef Newgarden 13 53 23 16 26 51 21 40 18 30 53 53 32 5 6 30 9 479
      6 Marcus Ericsson 51 24 35 20 25 44 23 28 5 20 32 23 27 20 20 26 15 438
      7 Will Power 26 14 28 36 18 9 41 18 36 16 32 42 21 28 23 5 32 425
      8 Christian Lundgaard 22 11 16 28 34 11 14 26 32 54 10 17 22 33 13 19 28 390
      9 Alexander Rossi 32 8 8 24 36 37 31 20 20 14 20 15 11 30 33 10 26 375
      10 Colton Herta 10 27 32 16 22 23 19 34 21 35 11 26 9 17 29 17 8 356
      11 Kyle Kirkwood 15 5 54 18 16 5 29 22 13 15 26 19 53 22 15 20 5 352
      12 Felix Rosenqvist 11 7 26 22 31 16 35 10 5 20 17 33 8 5 24 41 13 324
      13 Romain Grosjean 14 17 40 44 19 5 6 5 17 8 19 18 29 12 18 5 20 296
      14 Rinus VeeKay 9 19 5 14 17 32 12 18 15 17 13 12 16 19 19 28 12 277
      15 Graham Rahal 28 6 18 13 21 8 5 19 27 22 5 10 15 44 10 20 5 276
      16 Callum Ilott 30 22 11 17 12 19 5 12 14 12 15 16 18 13 5 15 30 266
      17 David Malukas 21 32 10 11 5 5 7 5 28 10 18 24 5 14 35 25 10 265
      18 Helio Castroneves 7 20 9 9 8 16 11 15 9 9 16 14 19 15 7 16 17 217
      19 Santino Ferrucci 6 9 19 10 7 45 9 14 6 13 5 8 12 7 17 14 13 214
      20 Marcus Armstrong 19 0 24 19 15 0 24 7 22 26 0 0 17 6 0 11 24 214
      21 Agustin Canapino 18 18 6 5 9 5 16 11 7 18 14 5 10 9 8 5 16 180
      22 Devlin DeFrancesco 5 7 14 7 13 17 18 7 16 7 8 9 5 12 11 13 8 177
      23 Sting Ray Robb 14 6 12 5 5 5 8 8 8 11 5 5 13 8 9 7 18 147
      24 Jack Harvey 8 12 17 6 10 12 13 5 12 6 12 11 6 16 0 0 0 146
      25 Conor Daly 16 10 7 5 11 24 15 0 10 0 9 13 0 0 14 0 0 134
      26 Ryan Hunter-Reay 0 0 0 0 0 20 0 13 11 5 7 6 14 10 16 9 20 131
      27 Benjamin Pedersen 5 15 6 8 6 11 10 9 5 5 5 5 7 5 5 8 14 129
      28 Simon Pagenaud 5 13 15 12 5 5 17 16 0 0 0 0 0 0 0 0 0 88
      29 Takuma Sato 0 5 0 0 0 32 0 0 0 0 23 5 0 0 5 0 0 70
      30 Ed Carpenter 0 17 0 0 0 10 0 0 0 0 6 7 0 0 6 0 0 46
      31 Linus Lundqvist 0 0 0 0 0 0 0 0 0 0 0 0 5 18 12 0 0 35
      32 Tony Kanaan 0 0 0 0 0 18 0 0 0 0 0 0 0 0 0 0 0 18
      33 Juri Vips 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 6 18
      34 Tom Blomqvist 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 6 5 16
      35 Marco Andretti 0 0 0 0 0 13 0 0 0 0 0 0 0 0 0 0 0 13
      36 RC Enerson 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 5
      37 Katherine Legge 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 5

      Source: Indycar.com

      The 2024 IndyCar schedule has yet to be released, but should be out by the end of the month.

      9 votes
    16. Help with finding out more about an obsure c++ graphics library

      I recently started classes again a little over a week ago. One of the classes I am taking is Computer science 2. One of the things it includes is openGL based graphics programming. They have us...

      I recently started classes again a little over a week ago. One of the classes I am taking is Computer science 2. One of the things it includes is openGL based graphics programming. They have us using glut, which is not bad in it self. However what they do is provide us a wrapper library for glut. In the form of a header named "graph1.h" and a precompiled library. Which goes by various names, such as "graphLib1.lib", "graphLib2010.lib", "graphLib2022.lib", "graphicLib2015.lib", etc. It's provided in the form of Windows flavored x86, Macos flavored x86_64 and arm. However, no forms for Linux. While I have been using Windows and VS Studio for classes so far, I strongly prefer my current Linux based tool chain. (text editor, build system, debugger). I have tried cross compiling with mingw-w64, but it fails when I try to link it. I would very much like to use it natively. To do this I would need either the library or the sources to compile it myself. That is what I would really like to find.

      Here is more about the library it self. It is based off of BMPLoader, a small library for loading bitmaps as openGL textures. It also inherits its license from BMPLoader too, because it is a derivative of BMPLoader. (GPLv2; and has been distributed). When you unpack the library there are 3 object files, BMPLoader.o, loadPNG.o, and example2.o. (.o/.obj) I have found traces of it online, however they all link back to my University, University of Central Arkansas. I have also found evidence of it being used at GSU too, but it is from one of the professors that is now here at UCA. (They even provided a pdf on using it, I hashed them and they were the same). Here is a copy of the header graph1.h.

      graph1.h
      /*BMPLoader - loads Microsoft .bmp format
          Copyright (C) 2006  Chris Backhouse
      
          This program is free software; you can redistribute it and/or modify
          it under the terms of the GNU General Public License as published by
          the Free Software Foundation; either version 2 of the License, or
          (at your option) any later version.
      
          This program is distributed in the hope that it will be useful,
          but WITHOUT ANY WARRANTY; without even the implied warranty of
          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
          GNU General Public License for more details.
      
          You should have received a copy of the GNU General Public License along
          with this program; if not, write to the Free Software Foundation, Inc.,
          51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
      
      
        cjbackhouse@hotmail.com 		www.backhouse.tk
        
        I would appreciate it if anyone using this in something cool would tell me
        so I can see where it ends up.
      
        Takes a filename, returns an array of RGB pixel data
        Loads:
        24bit bitmaps
        256 colour bitmaps
        16 colour bitmaps
        2 colour bitmaps  (Thanks to Charles Rabier)
      
        This code is designed for use in openGL programs, so bitmaps not correctly padded will not
        load properly, I believe this only applies to: 
        256cols if width is not a multiple of 4
        16cols if width is not a multiple of 8
        2cols if width is not a multiple of 32
      
        Sample code:
      
      	BMPClass bmp;
      	BMPLoad(fname,bmp);
      	glTexImage2D(GL_TEXTURE_2D,0,3,bmp.width,bmp.height,0,GL_RGB,GL_UNSIGNED_BYTE,bmp.bytes);
      */
      #include <windows.h>
      #include <gl/glut.h>
      #include <iostream>
      #include <cstring>
      #include <string>
      #define endg "_endg_"
      
      
      #ifndef BMPLOADER_H
      #define BMPLOADER_H
      
      #include <iostream>
      #include <cstring>
      
      using namespace std;
      
      typedef unsigned char BYTE;
      
      class BMPClass
      {
      public:
      	BMPClass();
      	~BMPClass();
      	BYTE& pixel(int x,int y,int c);
      	void allocateMem();
      	int width,height;
      	BYTE* bytes;			//OpenGL formatted pixels
      };
      
      #define BMPError char
      #define BMPNOTABITMAP 'b'	//Possible error flags
      #define BMPNOOPEN 'o'
      #define BMPFILEERROR 'f'
      #define BMPBADINT 'i'
      #define BMPNOERROR '\0'
      #define BMPUNKNOWNFORMAT 'u'
      
      //Loads the bmp in fname, and puts the data in bmp
      BMPError BMPLoad(string fname,BMPClass& bmp);
      
      //Translates my error codes into English	
      std::string TranslateBMPError(BMPError err);	
      
      //Load and select in OpenGL
      BMPError BMPLoadGL(string fname);
      
      struct Precision
      {
        int precision;
        bool precisionFlag;
      };
      
      struct GraphColor
      {
        int r;
        int g;
        int b;
      };
      
      class Gout
      {
        private:
          int x;
          int y;
          int r;
          int g;
          int b;
          int precision;
          bool precisionFlag;
      
      
        public:
          Gout() { r= 0; g=255; b= 0; precisionFlag = false; };
          void setX(int x) { this->x = x;}
          void setY(int y) { this->y = y;}
          int getX() { return x;}
          int getY() { return y;}
          void setR(int r) {this->r = r;}
          void setG(int g) {this->g = g;}
          void setB(int b) {this->b = b;}
          int getR() {return r;}
          int getG() { return g;}
          int getB() {return b;}
          void setPrecisionFlag(bool flag) { precisionFlag = flag;}
          bool getPrecisionFlag() {return precisionFlag;}
          void setPrecision(int precision) {this->precision = precision;}
          int  getPrecision() {return precision;}
          friend Gout& operator<<(Gout& g, int int_val);
          friend Gout& operator<<(Gout& g, double int_val);
          friend Gout& operator<<(Gout& g, char* char_val);
          friend Gout& operator<<(Gout& g, string string_val);
         
      };
      
      extern Gout gout;
      
      struct Point
      {
        int x;
        int y;
      };
      
      
      
      struct GraphObject
      {
        char* str;
        int id;
        int no_points;
        Point* points;
        double* colors;
        int radius;
        int no_objects;
        BMPClass* bmp;
        int remove;
        int width;
        int height;
        int del;
        BYTE* bytes; //PNG BYTES
      };
      
      void reshape(int w, int h);
      void display(void);
      void init(char* title);
      int drawPoint(int x, int y);
      int drawCircle(int radius, int x, int y);
      void drawMyCircle( int Radius, int numPoints, int x, int y );
      int drawLine(int x1, int y1, int x2, int y2, int width);
      int drawRect(int x1, int y1, int width, int height);
      void displayGraphics();
      int displayBMP(char* fn,int x, int y);
      int displayBMP(string fn, int x, int y);
      int displayPNG(string fn, int x, int y);
      int displayPNG(char* fn, int x, int y);
      int displayText(char* str, int x, int y, int r, int g, int b);
      void clearGraphics();
      void setColor(int obj_no, int r, int g, int b);
      GraphColor setColor(int r, int g, int b);
      void timerColor(int value);
      void moveObject(int obj_no, int x, int y);
      void processSpecialKeys(int key, int x, int y);
      DWORD WINAPI display1(LPVOID lpParam);
      void processMouse(int button, int state, int x, int y);
      void removeObject(int id);
      void clearText();
      void GRAPH_SS();
      bool up();
      bool down();
      bool left();
      bool right();
      bool leftMouse(int&x, int&y);
      bool rightMouse(int&x, int&y);
      bool middleMouse(int&x, int&y);
      Gout& operator<<(Gout& g, int int_val);
      Gout& operator<<(Gout& g, double int_val);
      Gout& operator<<(Gout& g, char* char_val);
      Gout& operator<<(Gout& g, char char_val);
      Gout& operator<<(Gout& g, Gout&(*pt2Func)(int x, int y));
      Gout& operator<<(Gout& g, Gout&(*pt2Func)(int r, int g, int b));
      Gout& operator<<(Gout& g, Point a);
      Gout& operator<<(Gout& g, GraphColor gc);
      Gout& operator<<(Gout& g, Precision p);
      Gout& operator<<(Gout& g, Gout&(*pt2Func)(int precision));
      Precision setPrecision(int precision);
      Point setPos(int x, int y);
      void getPos(int obj_no, Point points[], int& no_points);
      bool mouseDragged(int& x, int& y);
      void processMouseDragged(int x, int y);
      void replaceObject(int orig_obj, int new_obj);
      void closeGraphics();
      
      #endif
      

      Right now I am of the opinion that it is a in-house "hackjob". That is how it feels with the GPLed BMPLoader glued together with other graphics functions. In an attempt to not have to use new literature or new style libraries with the new ".net 2008" style ide, as they were likely transitioning out of a codewarrior environment, and before that a borland environment.

      So far, I have asked our computer science club about it. The main thing I was told was that the professor just wants us to use windows. That I can understand, but I still want to see how far I can go. I have also tried sending an email about it to the professor, but all I got sent was a link to the glut downloads. I did reply back asking about the graphlib sources too, but I haven't heard anything back yet. I don't want to push too hard, I still have a whole semester ahead of me. So now I am asking here on tildes. I understand if nothing can be found, but at least information and experiences can be collected.

      11 votes
    17. What do you look for in a nail salon?

      I'm sure most of the nail salon choices near me are fine, but I'm going to have to choose. Are there any red flags I should look for? Are there indications of quality that aren't the same as most...

      I'm sure most of the nail salon choices near me are fine, but I'm going to have to choose. Are there any red flags I should look for? Are there indications of quality that aren't the same as most expensive option? Any advice would be helpful.

      12 votes
    18. What's a sequel you were disappointed by?

      See title. I thought this might make for an interesting topic and I can't see one like this in the search, so... What sorta got me thinking about this - a couple days ago, I noticed that Dying...

      See title. I thought this might make for an interesting topic and I can't see one like this in the search, so...

      What sorta got me thinking about this - a couple days ago, I noticed that Dying Light 2 got a sizeable update, with a pretty heavy emphasis on changes to the game's parkour mechanics. I absolutely loved the first Dying Light, as well as both Mirror's Edge games - parkour and other kinds of momentum-driven gameplay are my jam - so that got me curious enough to check it out again, for the first time in a year.

      I played for a few hours, got some of the way in, and... felt pretty underwhelmed. It certainly feels better than it did last time I played, and the change to retain momentum during parkour moves does feel pretty nice... but it still feels far too slow and floaty to me. It feels awkward and unresponsive to me. On top of that, the combat updates - while I actually appreciated DL2's changes to the combat over DL1's (a major gripe I've always had with DL1's combat is that sometimes zombies take just one or two hits and sometimes they take twenty, and I have never been able to detect any kind of pattern to it - combat level, game progress, weapon damage, etc., none of them seem to impact it so I have no idea what's up with it), playing it again now... left me feeling pretty disappointed.

      I booted up DL1 for the first time in a while the next day, just intending to compare how it feels - and I've since found myself drawn several hours into it. Even in the first half hour of the game, where your climbing's super slow and everything, it feels so much more snappy and reactive - it feels good. And while my previous gripes with its combat are still present, it feels so much better to me now than DL2's does (for the most part - fighting human enemies still sucks). I can't quite put my finger on what it is, but there's just something really visceral and satisfying about it that DL2 doesn't have.

      As I've been playing DL1, as well, I've been thinking about its story again. As much as it's maligned for its story, I think it's actually a really interesting subversion and deconstruction of expectations in a lot of ways - while that could be a thread (or video essay, I've thought about it) of its own, the way I see it: despite how the intro and story set him up, Crane actually fails pretty hard at being a hero until towards the end. I mean, the very first thing he does is take a crowbar to the back of the head, get bitten, and get someone else killed. It's a pattern that continues throughout most of the game (and even The Following, I'd argue, even though I don't care for it much). I find it pretty memorable beecause of that, even if it falls flat in some places.

      Meanwhile, Dying Light 2... I honestly couldn't tell you much about the story? It didn't leave any kind of impact on me at all. I'm not really the kind of person who plays games for their stories very often (unless it's something like Ace Attorney where that's explicitly the point), and I have to admit that I went into DL2 with low expectations to begin with (I held off getting it at launch because of Denuvo, by the time I did pick it up reviews were already fairly negative; and I tend to view "your choices really matter!" in advertising as a huge red flag so that wasn't a good sign either), but even so. It might be in part because I actually quite liked DL1's ending - I found it pretty refreshing for a post-apocalyptic zombie game - so DL2 throwing that out didn't sit well with me from the get-go (also part of why I'm not too keen on The Following, but that's a different matter).

      Overall, it just sorta left me thinking about how... even though I'd tried to go in with tempered expectations - all I really wanted was a fun zombie-flavoured parkour game, where climbing and jumping and swinging and stuff felt fluid and rewarding - I still found myself left feeling pretty hollow about it, even after an update that allegedly addressed some of my biggest issues with the game. It's especially frustrating, because the Inner Circle (I think that's what it was called, I can't remember - the second city map) is really, really cool and I would absolutely love to just aimlessly run around it... if the movement didn't feel floaty and awkward. Stuff like climbing to the top of the VNC Tower felt exhilarating and awesome - I could catch a glimpse of something excellent there, but it was so outweighed by everything else.

      So... Yeah. I dunno, I thought this'd make for an interesting question. Have theere any been any sequels you've played that left you feeling underwhelmed, in comparison to the previous game? If so, why?

      alright maybe some part of me just wants to ask this so i'd have an excuse to waffle about dying light and its story a bit but still i think it's an interesting topic nonetheless
      EDIT: formatting

      51 votes
    19. Tildes CSS and Android accessibility

      Hi all. On my Pixel phone I have the accessibility option for font size and display size turned up a notch or two but noticed that not all of the text in Tildes adheres to this. Some front page...

      Hi all. On my Pixel phone I have the accessibility option for font size and display size turned up a notch or two but noticed that not all of the text in Tildes adheres to this. Some front page topic text is bigger, some of them remain small.

      Is this something that can be quickly tested and fixed if it's a bug? It might drive poor sighted people away from the site.

      I'm assuming it's not me, as my Pixel 7 is quite new .... but I am on the Android beta program.

      Can anyone else try and see if it's a localised issue or more global?

      I can post screen shots of needed but not sure what image sharing sites you prefer to use in here!

      Edit:

      Fixed with a chrome flag....

      the text-scaling is being replaced by the "Accessibility Page Zoom" feature (currently hidden behind the feature flag in chrome://flags)

      23 votes
    20. Anyone interested in joining a small, tightly-run accountability group?

      I am co-admin of a small Discord group (currently 5 members; we like to keep it up around 7-9) that is dedicated to enthusiastic, interactive accountability, support, task management, habit...

      I am co-admin of a small Discord group (currently 5 members; we like to keep it up around 7-9) that is dedicated to enthusiastic, interactive accountability, support, task management, habit tracking, yada ... all that good stuff. Atomic Habits is one of our popular guiding stars.

      And, yeah, we've lost a couple of members recently, and we're looking to invite a few new people to the group.

      This is an active group. We expect people to contribute (at least) daily, both regarding their own efforts, and in helping/supporting others in their efforts. One of the things we try to emphasize is providing active support and feedback to others, rather than just posting our own goals and efforts ... this is one of the areas where we feel that "traditional" accountability buddies/groups fail.

      Drop me a DM if you're interested, and we can discuss details.

      Edit: Thanks for the replies. I think we have enough "new blood" for now. If you're still interested, just keep an eye out for another invite post in a few months, when membership starts to flag.

      16 votes
    21. Nozick, the Fediverse, and the internet in general

      Intro This will be something of a long and theoretical post, but I'm interested in others' opinions on this - and a quick google search of Robert Nozick and Fediverse turned up literally nothing,...

      Intro

      This will be something of a long and theoretical post, but I'm interested in others' opinions on this - and a quick google search of Robert Nozick and Fediverse turned up literally nothing, so I'm thinking that this is a new connection. The recent news about Beehaw defederating from other instances, and the wider discussions about how federation might or might not work reminded me of Robert Nozick's Anarchy, State, and Utopia (1974), which I imagine anyone who's formally studied philosophy will have come across. The main point of this book is to make the case for the libertarian minimal state, with the overall thesis in the preface being:

      Our main conclusions about the state are that a minimal state, limited to the narrow functions of protection against force, theft, fraud, enforcement of contracts, and so on, is justified; that any more extensive state will violate persons' rights not to be forced to do certain things, and is unjustified; and that the minimal state is inspiring as well as right. (p. ix)

      The book, while influential and important, is I think deeply flawed, and there's some general agreement about this in the philosophy departments I've been involved with. (Same with many of Nozickā€™s general opinions.) Unfortunately, the parts of the book that tend to be taught are the first two, and in particular the Wilt Chamberlain argument (pp. 160-2) in which he argues that unequal distribution of wealth and goods is fine as long as the unequal distributions were caused by a history of mutual freely consenting exchanges.

      I say 'unfortunately' becauseā€“ while the first two sections and the Chamberlain argument are definitely important and influentialā€“ Part III, Utopia, is the strongest. I'm not a libertarian, but it's a novel, well-structured, and interesting argument for the minimal state, based in part on possible-world semantics, and I think it looks a lot like what the Fediverse is going for, which is why I'm interested in the crossover.

      The Possible-World Model

      Nozick begins by defining Utopia and identifying its main issues:

      The totality of conditions we would wish to impose on societies which are (preeminently) to qualify as utopias, taken jointly, are inconsistent... The best of all possible worlds for me will not be that for you. The world, of all those I can imagine, which I would most prefer to live in, will not be precisely the one you would choose. Utopia, though, must be, in some restricted sense, the best for all of us; the best world imaginable, for each of us. In what sense can this be? (pp. 297-8)

      He then sets up this perhaps rather convoluted idea, based on the concept of imagining possible worlds. The core idea is this: that in any possible world you can imagine, it must include that all other rational agents in that world will also be able to imagine other possible worlds, and that (if they prefer) they can then move to those possible worlds.

      The question then moves to: is it possible for this to be stable? Because Nozick is interested in whether utopia as traditionally explored by utopian theorists and authors (and note that to an extent heā€™s subtextually talking to socialist utopians throughout) is possible, the key question is whether worlds will keep being created over and over, with people moving over and over, or whether there'll ever be a world where everyone in that world chooses to stay. And stable worlds must then:

      [satisfy] one very desirable description... namely, none of the inhabitants of the world can imagine an alternative world they would rather live in, which (they believe) would continue to exist if all of its rational inhabitants had the same rights of imagining and emigrating. (p. 299, his emphasis)

      This is, given that people are able to move to worlds they imagine (which Nozick calls 'associations' - as opposed to 'east-berlins' in which inhabitants are unable to move to other worlds).

      He puts this also in set theory terms (quoted just below), and then points out an equivalency of members of S choosing to form an association of their own, vs. members of S refusing entry to those members of A who are not also members of S.

      if A is a set of persons in a stable association then there is no proper subset S of A [note from me: 'proper subset' means it's a part of the whole but not equal to it. So {1, 3} is a proper subset of {1, 3, 5}, but {1, 3, 5}, although a subset of itself, is not a proper subset of itself] such that each member of S is better off in an association consisting only of members of S, than he is in A. For, if there were such a subset S, its members would secede from A, establishing their own association. (p. 300)

      There is then a fairly lengthy section expanding on this, caveating it, and also doing some more in-depth logic/set theory, which I'll skip over as it's not as relevant (and this is already getting long). It's pages 301-6 if anyone's interested in reading, though. Page 307 onwards is where Nozick begins analysing how this model laid out above could be seen in the real world.

      The Real World

      Obviously, the above possible-worlds model is very idealised, and there are several limitations in the real world. Nozick lays out the following four:

      1. In the model, we can imagine infinite possible people to associate with (although we cannot have an infinite number of people in an association); in the real world there are firstly not infinite people and secondly we can't create them. So even if I can imagine the perfect association for me, it might not exist; same with a community I might want to join.
      2. In the model, the only ways associations interfere with each other is by drawing away its members - in the real world, communities impinge on each other in all kinds of ways.
      3. Information costs - it takes effort to find out about other communities in the real world; in the model it's instantaneous and easy.
      4. In the real world, some communities don't let their members know about, or move to, other communities.

      Itā€™s worth noting here that Nozick was writing in 1974, before the advent of the internet (and to a lesser extent, globalisation in general), so point 3 is less of an issue here. Particularly regarding moving and travel costs, which are vastly, vastly, reduced online. In fact, I think these issues are all reduced on the internet, which is relevant when it comes to the potential for implementation. I say more about this at the end of this post, and itā€™s one of the main things Iā€™m interested in hearing opinions about.

      Nozick, now, is interested in the implementation (or influence) of the possible-world model in the real world, and his key point ends up being this:

      The idea that there is one best composite answer to all of these questions, one best society for everyone to live in, seems to me to be an incredible one. (And the idea that, if there is one, we now know enough to describe it is even more incredible.) (p. 311, his emphasis)

      The ā€˜questionsā€™ he refers to are questions of values, of activities, of interests. Security or adventure? Luxury or austerity? Private property? Religion? The fact, Nozick thinks, that utopian authors attempt to imagine a utopian society demonstrates a blindness to the heterogeneity of human nature. Which is demonstrated by the fact that they all have their own visions of utopia, and the fact that the inhabitants of their visions all lead different lives.

      The conclusion Nozick draws is that there is no sense in having one type of community in a utopia - rather, that ā€œUtopia is a framework for utopiasā€ (p. 312, my emphasis because itā€™s the most important point here). We should be aiming for a kind of ā€œmeta-utopiaā€, and this is where the real-world limitations flagged above come into play. The meta-utopia is necessary precisely because of these real-world limitations. What does this look like?

      [T]he environment in which utopian experiments may be tried out; the environment in which people are free to do their own thing; the environment which must, to a great extent, be realized first if more particular utopian visions are to be realised stably. (p.312)

      Nozick thinks this conclusion can arise from a few forms of arguments. One is, that people are different, and so thinking thereā€™s any ā€˜bestā€™ world for everyone is foolish. Thatā€™s whatā€™s happening when he states that thereā€™s no composite answer to the questions of how best to live/structure society. But what if there is a society thatā€™s the best society for everyone? Nozick reckons that that still leads to this meta-utopia. His reasoning for this involves what he calls ā€œdesign devicesā€ and ā€œfilter devicesā€.

      Design devices basically attempt to structure an ideal society from the ground up, with a bunch of people discussing what the best society is, constructing a model for this society, and then implementing it.

      Nozick basically thinks that this is a non-starter. I think this analogy puts his ideas well:

      It is helpful to imagine cavemen sitting together to think up what, for all time, will be the best possible society and then setting out to institute it. Do none of the reasons that make you smile at this apply to us? (pp. 313-4)

      EDIT: I want to note that I mean that this analogy puts his ideas well. I share the scepticism of design devices, while simultaneously thinking that many societies denoted as 'primitive' tap into important and valuable aspects of human communities which 'modern' societies dismiss.

      The complexity of the human condition is also a large part of his reasoning here why design devices donā€™t work. So, the alternative is filter devices, which ā€œinvolve a process which eliminates (filters out) many from a large set of alternativesā€ (p. 314). This is desirable for a few reasons:

      1. It requires less knowledge than design devices. Filtering processes donā€™t need to know precisely what an end-product looks like; they can just have some ideas about what they donā€™t want and begin with that.
      2. The filtering process naturally improves with time. When you have a filter for new candidates, then those candidates are, on average, of better quality (however thatā€™s defined in this particular community), so the filtering process now has better material to work with.
      3. New material creates novel ideas, which would not be accessible with a design process (Nozick doesnā€™t outright state this, but I think itā€™s clear that he thinks it).

      Moreover, one single filtering process will be insufficient. Nozick describes it thus:

      [P]eople try out living in various communities, and they leave or slightly modify the ones they donā€™t likeā€¦ Some communities will be abandoned, others will struggle along, others will split, others will flourish, gain members, and be duplicated elsewhere. Each community must win and hold the voluntary adherence of its members. No pattern is imposed on everyone, and the result will be one pattern if and only if everyone voluntarily chooses to live in accordance with that pattern of community. (p. 316, his emphasis)

      Some advantages he lists to this: given that the filtering process is largely constituted by people leaving communities they donā€™t like, this will cause communities which people want to live in; mechanical processes are limited ā€œgiven our inability to formulate explicitly principles which adequately handle, in advance, all of the complex, multifarious situations which ariseā€ (p. 317) - this one is very, very similar to many recent discussions Iā€™ve seen about moderation and the ā€˜donā€™t be an arseholeā€™ clause.

      So what does all this lead to? Basically, that the utopian framework should be one that is informational. Whichever framework provides the best means for finding out about various communities, is the one that should be adoptedā€“ first, because that is what best facilitates the filtering process, and second, because it best mitigates the real-world issues laid out at the beginning of this section.

      Conclusion

      Ok, so, thatā€™s the bulk of what I wanted to put down. The rest of Utopia focuses very much on the physical world - itā€™s well worth a read. (NB Iā€™m using ā€˜physical worldā€™ rather than ā€˜real worldā€™ or ā€˜actual worldā€™ (which Nozick uses) because the internet is part of the real world. As opposed to the ideal world, which one example of is the possible-worlds model laid out above.)

      I was initially going to offer my own thoughts about how this connects to the Fediverse and the internet in general, but just the sharing of Nozickā€™s framework has gotten long enough that I think Iā€™ll leave it there. Part of my motivation for sharing this is that, although Iā€™m very much not a libertarian, this is imo one of the strongest defences of the minimal state; in addition to this, Iā€™m much more sympathetic for a kind of meta-libertarianism when it comes to spaces like the internet, especially if they function to facilitate filtering processes.

      That said, I still have worries about the way this can be, and is, implemented. Thereā€™s been a lot of discussion on Beehaw defederating from lemmy.world and sh.itjust.works, and although I personally donā€™t see a problem with it, I can understand why people are annoyed. I wonder if this is a consequence of people thinking theyā€™re existing in the meta-utopia, when in fact theyā€™re existing in an instance of it. I also donā€™t want to label the Fediverse as the meta-utopia, although I do get the sense that thatā€™s what theyā€™re aiming to become.

      Nozick has a relevant section on the Beehaw thing, actually, and Iā€™m just going to quote it because Iā€™ve just about reached my energy limit for explaining/elucidating philosophy lol. Feel free to skip it, itā€™s a side-note to this post and not a main point.

      A person will swallow the imperfections of a package P (which may be a protective arrangement, a consumer good, a community) that is desirable on the whole rather than purchase a different package (a completely different package, or P with some changes), when no more desirable attainable different package is worth to him its greater costs over P, including the costs of inducing enough others to participate in making the alternative package. One assumes that the cost calculation for nations is such as to permit internal opting out. But this is not the whole story for two reasons. First, it may be feasible in individual communities also to arrange internal opting out at little administrative costā€¦ yet this neednā€™t always be done. Second, nations differ from other packages in that the individual himself isnā€™t to bear the administrative costs of opting out of some otherwise compulsory provision. The other people must pay for finely designing their compulsory arrangements so that they donā€™t apply to those who wish to opt out. (p. 321-2)

      Another reason why Iā€™m interested in opening up this discussion, is that Iā€™ve experienced almost no discussion on this section of Nozickā€™s work in my experience of academic philosophy. The other two sectionsā€“ and particularly Wilt Chamberlainā€“ are talked to death, but Utopia has relatively little engagement. On one hand, I get this - a large part of philosophical education is understanding the history of ideas, and Utopia is comparatively uninfluential. You need to know Wilt Chamberlain if youā€™re entering academic philosophy; you donā€™t need to know all this. On the other hand, itā€™s a shame, because I think itā€™s the strongest part of Nozickā€™s work.

      I also think that itā€™s somewhat more relevant to the internet than it is to the physical world. Not because of the legitimacy of its ideals, but purely because of the relative ease of implementation. The four issues mentioned above are really reduced in online spaces.

      1. We still donā€™t have infinite people, but the variety of people we can interact with is potentially wider. Potentially. The issues with lack ofā€“ or exodus ofā€“ minorities, which Iā€™ve seen discussions about on Tildes while searching past posts, is an important one here. Iā€™m not necessarily referring specifically to Tildes here - Iā€™m too new to the site to really have a good sense of the community. But just like in the real-world, I canā€™t conjure up people and create my own version of Tildes which includes all the people here currently and also all the other people Iā€™d like to see.
      2. Communities on the internet obviously interfere with each other, just like physical-world communities. This isnā€™t that reduced, perhaps only in terms of stakes. Physical-world community interference can cause wars, financial boycotts, etc. Maybe doxxing or the like is analogous? Regardless, itā€™s reduced although not eliminated in severity, as far as I can see.
      3. The difference in information costs should be immediately obvious. Itā€™s much easier for someone to try out Tildes, than it is for someone to try out France.
      4. Relatedly, internet communities donā€™t have the same power as physical communities to limit information, although there are definitely still issues here, especially with an increasingly-corporatised internet. On the other hand, the internet itself does work in breaking down these barriers in the physical world, at least in terms of information (not in ease of moving countries). At least, thereā€™s usually no real financial costs to hopping platforms.

      Guess Iā€™m leaving it here? Maybe all Iā€™ve accomplished is sharing some cool philosophyā€“ at least, I think itā€™s cool.

      The page numbers all reference Anarchy, State, and Utopia - I donā€™t know if Iā€™m allowed to link PDFs here, but suffice to say itā€™s the first one that shows up.

      This Stanford Encyclopaedia of Philosophy page also includes some useful context, and a bit of discussion on the Utopia section - although, again, relatively brief. Nevertheless a great source.

      20 votes
    22. Tildes invite session call to arms

      Hi all, I just took a look at the Tildes subreddit after the recent announcements, and there are tons and tons of invite requests there. I just wanted to draw the site's attention to that as right...

      Hi all,

      I just took a look at the Tildes subreddit after the recent announcements, and there are tons and tons of invite requests there. I just wanted to draw the site's attention to that as right now it seems like mostly @cfabbro (and probably @Deimos behind the scenes) handling them. I almost never use my invites, so I intend to go through and send out my 10 and help with the backlog a bit. I would encourage you all to do the same as well! Some good practices;

      • Reply to users once you have sent so that we do not double up, and can reach the most people with finite invites.

      • As always, be mindful of who you are inviting, and take a cursory look at their post history to make sure there are no crazy red flags. We are all responsible for the community we build here, so be mindful of who you are inviting!

      92 votes
    23. Pokemon Pride Team: A commissioned artwork

      In March, I asked a question here about commissioning artwork. I was then lucky enough to be contacted by @cc-louis. I was struck by the use of color in his portfolio and engaged with him to...

      In March, I asked a question here about commissioning artwork.

      I was then lucky enough to be contacted by @cc-louis. I was struck by the use of color in his portfolio and engaged with him to create some artwork as a gift for my husband.


      The Artwork

      I thought about putting this at the end for suspense, but I know people are just going to scroll to get to the good stuff, so without any further delay:

      Here it is!
      And here is the print!

      I'm in the back holding the Pokeball cupcake from the previous batch of cupcakes (I am the de facto taste tester of my husband's baking). My adorable husband is the one pulling the current batch out of the oven. Our adorable dog is looking up, holding his favorite toy in his mouth, hoping something will fall on the floor so that he can try to eat it.

      We're surrounded by my husband's Pokemon Pride Team, some of which have been helping him out with the baking, all of which are eager to get at those delicious fresh-baked goods.


      The Setup

      My husband is a lifelong Pokemon fan and has been playing the games since he was a kid. He doesn't just keep up with the series -- he often goes back and replays old games, doing Nuzlocke runs and themed teams for his playthroughs.

      I surreptitiously found out from my husband what his Pokemon team would be if he did an LGBT Pride theme, choosing six Pokemon based on the colors of the rainbow flag. He chose the following:

      Red: Scizor
      Orange: Kingler
      Yellow: Ninetales
      Green: Bellossom
      Blue: Marill
      Purple: Arbok

      My husband also loves baking (and I love eating my husband's baking).


      The Brief

      I wanted to get artwork of us with this Pride Team. I also wanted the Pride theme to be a bit more subdued. As much as I love the rainbow flag, it can be a little too gaudy and rigid for me sometimes. I wanted something that read as a cohesive scene, with the rainbow being more embedded and suggested than outright overt.


      The Artist

      I cannot speak highly enough of @cc-louis.

      While I think the quality of his work speaks for itself, I'll also say that he was a joy to work with. He was consistently prompt and professional in all of our interactions. Furthermore, he was eagerly collaborative throughout the entire process. He would solicit my feedback and respond to any notes I gave him, while also smartly incorporating his own ideas (that were better than mine!). He sent me multiple drafts throughout his creative process to make sure I was happy with the direction he was taking things each step of the way.

      The color, overall composition, and many of the incredible details in the pieces, were all him, not me. Early on he suggested a "cozy" feel with the oven as a centerpiece and a source of warm light, and I cannot say enough how much I love how it turned out. It is so beautiful and heartwarming to me.

      If any of you are looking for commissioned artwork, I strongly recommend him. If I ever commission another piece, he will be first on my list.

      (Hopefully it goes without saying, but @cc-louis did NOT ask me to give this review, nor did he pay me for this endorsement. I'm doing this purely as a very satisfied customer. I actually asked him for permission to give him a plug here!)


      The Print

      I also asked here about printing the image, and ended up selecting a local print shop. I couldn't really judge the quality of online print services and was worried I'd end up ruining the amazing artwork with a cheap-looking print. I figured a local shop would have a bit more expertise, and that I'd also be able to speak to real people if something came out wrong.

      The local print shop did an incredible job, and their price was actually better than some of the online services I was looking at. The image now lives on a 22"x36" canvas, which will be mounted on our wall shortly.

      I tried taking a picture of it, but my phone camera doesn't do it justice and makes it look kinda bad. The colors look muted and it looks like there's an odd texture on it that doesn't appear in person (might be small reflections of light?).

      Everyone will just have to take my word on it that the artwork looks even better in person. I actually choked up a bit when I picked up the print because it was so beautiful and heartwarming.

      I was secretly hoping my husband would happy cry when I showed it to him, but instead he got incredibly giddy (which was even better!) and immediately and proudly started texting the picture out to everyone we know on every single group chat we're on to show it off.

      Overall, I am incredibly happy with how it turned out. My husband absolutely loves the piece, and I am beyond grateful to @cc-louis for turning my clumsy idea into a thing of beauty.

      18 votes
    24. World Chess Championship 2023 thread - Ian Nepomniachtchi vs Ding Liren

      Anyone else following the world chess championship? Background info (feel free to skip if you're already familiar with this): After reigning champion and world #1 Magnus Carlsen declined to defend...

      Anyone else following the world chess championship?

      Background info (feel free to skip if you're already familiar with this):

      After reigning champion and world #1 Magnus Carlsen declined to defend his title, the winner of the Candidates tournament 2022, Russia's Ian Nepomniachtchi (world #2), faces the second place finisher in the Candidates, China's Ding Liren (world #3). The championship match takes place over 14 games from April 9-April 30 in Astana, Kazakhstan. As of today, April 13, the score is even at 2-2 after 4 games.

      Ian Nepomniachtchi (aka "Nepo") won the Candidates tournament in 2020-21, which was split in two due to covid. He proceeded to challenge Magnus Carlsen for the title in late 2021. Both players performed with computer-like precision for the first five games. Game six became the turning point, when Nepo made a serious blunder which allowed Carlsen to eventually convert the game to a win in what would turn out to be the longest game in world championship history, lasting more than 7 hours and 136 moves. After this grueling loss, Nepo's play seemingly collapsed, allowing Carlsen to take a comfortable win with games to spare.

      However, Nepomniachtchi would bounce back to win his second Candidates tournament in a row in 2022. When it became clear that Carlsen would not defend his title, the runner-up of that tournament, Ding Liren, became the second player to compete for the title.

      Ding has been a top 5 player for years, with 2018-2019 being his best period yet, when he reached world #2 with well over 2800 Elo, and was undefeated for 100 games of classical chess. This is his first appearance in a world championship final, and also a first for China as a nation.

      Russia, of course, has a long history of world champions, dominating the chess world for most of the 20th century. Nepomniachtchi, who is a critic of the invasion of Ukraine, competes under a neutral FIDE flag in this match.

      This is only the third time the reigning champion has not defended his title since the first world championship in 1886. Bobby Fischer famously disagreed with the match regulations proposed by FIDE, chess' international governing body, and refused to defend his title in 1975. He subsequently retired from competitive chess and didn't re-emerge until the 1990s. The other instance was Alekhine in 1948 -- he had died two years earlier. (There was also a time in the 1990s when the reigning champion, Garry Kasparov, broke with FIDE and organized his own world championship, but I won't get into that complicated story here.) This is the first time a world champion has continued to play competitive chess while refusing to defend their title.

      Nepomniachtchi comes into the match ranked as the world #2 (2795 Elo) while Ding is #3 (2788). The abdicated king of chess, Magnus Carlsen, remains #1 (2853).

      How to watch

      If you want to watch live, the time zone is a bit unfavorable to European and American viewers, as the games start at 3PM Astana time (11 AM Central European summer time, 2 AM Pacific). You can follow the games without commentary here: lichess chess24 chess.com. There's several streams with grandmaster commentary available. FIDE has an official broadcast, but my favorite is chess.com's coverage, which features commentary by GMs Anish Giri, Daniel Naroditsky and David Howell.

      For live computer analysis that's stronger than what you can (likely) get from running a local instance of Stockfish on your own computer, check out Sesse (which is just Stockfish running on a decently beefy server setup).

      If you want shorter after-the-fact recaps, there are several Youtube channels catering to differing levels of chess skill, including:

      And probably at least a half-dozen more.


      Who's your favorite to win it all? Does the fact that the clearly best player in the world refused to compete make the whole thing uninteresting to you? Will Nepo crumble again like he did against Carlsen, or will Ding's inexperience with world championship matches be his undoing?

      6 votes