• Activity
  • Votes
  • Comments
  • New
  • All activity
    1. Having issues setting goals and sticking with them? I’m working on a solution

      I am working on an app called Percent Done that is a combination of goal setting, time tracking and habit tracking. I like setting time-based goals for myself every day, such as “write for an...

      I am working on an app called Percent Done that is a combination of goal setting, time tracking and habit tracking.

      I like setting time-based goals for myself every day, such as “write for an hour” or “work on Percent Done for four hours.”

      I also like Seinfeld’s “don’t break the chain” method. For example, Apple Watch shows you how many days you have completed your exercise circle and tells you that you have been keeping at it for x days.

      Percent Done is a marriage of these two concepts. It allows you to set goals and track the time you spend on them, as well as how many days in a row you have consistently completed them. For example, you can add a goal that says “write for an hour every day,” and Percent Done will notify you every day to write for an hour. You will be able to tap on this goal and Percent Done will start counting back from one hour. You will also be able to see how many days in a row you have written for an hour.

      Here is a demo GIF.

      You can also add one-time goals to Percent Done with or without time tracking, so it is a task management tool as well.

      You can play with the design prototype here: Percent Done design prototype

      I would really love to get your feedback on this. If you are interested in being a beta tester, feel free to reply to this topic or e-mail me at "hi at evrim dot io."

      By the way, this is almost completely a self-promotion post. If it is against the rules, I'd be happy to remove this.

      23 votes
    2. Genetic Algorithms

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

      Introduction to Genetic Algorithms

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

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

      How does it work?

      Genetic algorithm works in three steps.

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

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

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

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

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

      Generate random solutions

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

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

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

      Test how good they are

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

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

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

      Crossover and mutation

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

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

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

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

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

      F1:  ADDDEBEFGCGG
      F1`: ADHDEBEFGCGG
      

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

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

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

      When we add everything together, we get this output:

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

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

      Maintaining diversity

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

      20 votes
    3. Updates to "Activity" sorting method (the site's default)

      Since it launched, Tildes has always been using "Activity" as the site's default sorting method, which behaves like a classic forum—any new comment in any topic causes it to "bump" back to the top...

      Since it launched, Tildes has always been using "Activity" as the site's default sorting method, which behaves like a classic forum—any new comment in any topic causes it to "bump" back to the top of the list. This has generally worked well overall, and has been a good way to keep threads visible and active over longer periods.

      However, there have been a few issues related to it, such as controversial threads staying at the top of the site for long periods of time, and bickering back and forth between two users causing threads to constantly bump back up to the top even if nobody else is interacting with the topic at all. We haven't had great ways to deal with this so far, and have mostly had to work around it by setting the default time period to "last 3 days" so that threads can't dominate the site indefinitely, or even locking threads to force them to drop off.

      As an attempt at a better solution, "Activity" has now had its behavior changed so that topics will only bump to the top when something "interesting" happens, instead of for every single comment. The exact methods we're using to determine "interesting" will need experimentation and to be adjusted as we see how they work, but initially it's entirely based on comment labels:

      If a comment or any of its parent comments has an active Noise, Offtopic, or Malice label (note: it generally takes at least two users applying the label to make it "active"), the comment will not cause the thread to bump to the top. For example, this means that if a particular comment gets labeled as Offtopic, any replies "below" that comment will no longer bump the thread in the Activity sort. This will also apply retroactively, so if someone posts a new top-level comment, the thread will still initially bump to the top, but if that comment is then labeled as Noise, it will "un-bump" and return back to its previous location in the listing.

      Since this will give us a better way to prevent threads from staying at the top of the site forever, I've also now changed the default time period back to "all time".

      If you'd rather keep the previous behavior and continue having threads always bump to the top when a new comment is posted in them, you can use the new "All activity" sorting method instead. Logged-in users can set it as their default sorting across the site by changing to it on the home page and clicking "Set as default" to the right of the time period dropdown.

      Any feedback is welcome, but these are questions that I'm particularly interested in:

      • Are there cases where the label-based "uninteresting" judgment won't work well? Links to specific examples would be ideal, if possible.
      • What other methods could we use to judge a new comment as "uninteresting"?
      • Should we try triggering bumps from other non-comment events? For example, if a topic is getting voted up a lot, should it bump even if there isn't a new comment?

      As usual, I've also given everyone 10 invites again (and don't worry, I haven't forgotten about turning the visible comment votes back on either, and I'll do that this afternoon, along with posting a thread to discuss it).

      65 votes
    4. This Week in Election Night, 2020 (Week 12)

      welcome to week twelve, one day late edition. this delay is brought to you by the weirdly confined issue to the file i wrote this in, which necessitated three days(!) of writing because of the...

      welcome to week twelve, one day late edition. this delay is brought to you by the weirdly confined issue to the file i wrote this in, which necessitated three days(!) of writing because of the sheer number of links this week. the opinion section is only one article long this week again, but we have some [LONGFORM] pieces and some recent polling to make up for that.

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

      Week 1Week 2Week 3Week 4Week 5Week 6Week 7Week 8Week 9Week 10Week 11

      News

      Polling

      Twenty-four percent of Iowa’s likely Democratic caucusgoers say former vice president Biden is their first choice for president. Sanders, a Vermont senator, is the first choice for 16% of poll respondents, while Warren, a Massachusetts senator, and Buttigieg, mayor of South Bend, Indiana, are at 15% and 14% respectively. No other candidate cracks double digits. California Sen. Kamala Harris comes closest at 7% [...] Minnesota Sen. Amy Klobuchar and former Texas Congressman Beto O’Rourke are at 2%.

      In a first look at head-to-head 2020 presidential matchups nationwide, several Democratic challengers lead President Donald Trump, with former Vice President Joseph Biden ahead 53 - 40 percent, according to a Quinnipiac University National Poll released today. [...]
      Vermont Sen. Bernie Sanders over President Trump 51 - 42 percent;
      California Sen. Kamala Harris ahead of Trump 49 - 41 percent;
      Massachusetts Sen. Elizabeth Warren tops Trump 49 - 42 percent;
      South Bend Mayor Pete Buttigieg edges Trump 47 - 42 percent;
      New Jersey Sen. Cory Booker by a nose over Trump 47 - 42 percent.

      • National Democratic Primary, from Quinnipiac:

      Biden leads the presidential primary race with 30 percent among Democrats and voters leaning Democratic. [...] Sanders is next with 19 percent; Warren has 15 percent; Buttigieg has 8 percent; Harris is at 7 percent; Former U.S. Rep. Beto O'Rourke is at 3 percent; No other Democrat tops 1 percent, with 14 candidates polling at less than 1 percent.

      General Stuff

      • from Vox: Poll: a growing number of Democratic voters are prioritizing gender-related issues we begin with some polling, which suggests that the recent slate of abortion bans and heavy restrictions on abortion is having an impact on what voters prioritize. a doubling of democratic voters who prioritize women's issues has been observed across the board in the span of just a month. this might not be maintained if the slate of abortion bans gradually dies off, but at least in the immediate term you definitely seem to be seeing this in how often these issues are mentioned in the media.
      • from Vox: 2020 is quickly becoming the abortion rights election. Here’s proof. also from Vox, in a similar vein some activists are considering 2020 the year of the abortion rights, and the 2020 election a defining election on them. in iowa, for example, it was ranked the top issue of caucusgoers, placing ahead of climate change narrowly. this piece is primarily a conversation focusing on the issues surrounding abortion and how activists think it will play out in this election cycle.
      • from Pacific Standard: Can Cory Booker, Elizabeth Warren, and U.S. Cities End Exclusionary Zoning?. exclusionary zoning policies are something that's gotten attention from a few candidates, most obviously cory booker and elizabeth warren who both have plans which seek to end it. zoning policies are but one part of a greater issue in affordable housing, but the fact that candidates are even bothering to take the time to acknowledge its existence probably demonstrates something about what an issue housing is for a lot of people.
      • from CBS News: Some progressives worry Puerto Rico is being left behind on 2020 campaign trail. despite the focus on the complete bottling of aid being sent to puerto rico by the trump administration, a number of progressive groups are concerned that puerto rico is being largely left out of the conversation when it comes to 2020. puerto rico has been largely ignored by candidates so far (only 3 of the candidates in the race have visited the island so far) and is still recovering from hurricane maria; nonetheless, progressives seem ready to make it a defining issue of the campaign trail.
      • from Slate: The Democratic Candidates Ought to Debate Climate Change Policy. one of this week's plotlines with respect to the debates was the DNC's unwillingness to agree to a debate specifically on the issue of climate change. this has been a generally poorly received move, and the party has received considerable backlash for it as this piece is representative of. the DNC might walk this back or it might not, but regardless this seems like it will be an issue that causes future friction, especially given the DNC's expressed desire to uninvite anybody who qualifies for the debates should they engage in a non-DNC affiliated one.
      • from Buzzfeed News: California’s Early 2020 Primary Is Pushing Presidential Candidates To Talk To Latino Voters. the california primary coming so early on in the cycle and being such a decisive part of it in 2020 is leading to democratic candidates placing significant priority on appealing to latino voters this year, who are likely to be a major constituency in the primary. this is a welcome change for a lot of latinos and the state of california in general, which has generally come late in the cycle previously and not played an especially significant role in most of them.
      • from the Atlantic: [LONGFORM] How the Democrats Got Radicalized on Student Debt. the recent policy developments of the democrats on student debt are the focus of this article by the Atlantic. this has been a rapid change for the party; in the span of just three election cycles the party has gone from "one year of college free for “qualified students”" (the John Edwards proposal, 2008) to things like "making public college tuition-free for students from families who made less than $125,000 a year" (Clinton, 2016) and probably beyond in this cycle.

      Joe Biden

      • from Grist: Joe Biden says he’ll take the No Fossil Fuel Money Pledge. Here’s why that matters. joe biden, in rolling out his climate plan next week, also became the latest candidate to take the "no fossil fuel money" pledge, which most candidates have also taken (and which counterintuitively allows candidates to take donations of less than 200 dollars from the fossil fuel industry). biden's acceptance of this--even though it is far from binding--is particularly significant because it suggests that the progressive wing of the party has basically forced people's hands on this.
      • from In These Times: [LONGFORM] Hold the Applause. Biden’s Climate Plan Is Mostly Fluff. meanwhile, In These Times has an extensive critique of biden's climate plan; primarily it notes that biden's plan when you strip it down is not that special and is essentially shared by the rest of the field which has rolled out plans so far at its best moments. at others, it is actively misleading, relies on technological optimism as a crutch, or implies biden supports things like the green new deal which he for the most part does not.
      • from the Atlantic: Joe Biden Has the Most to Lose at the Debates. the Atlantic has a piece on joe biden, his near total lack of experience with debates in the past decade, and his debate prep in light of that fact. biden's last serious debate was of course 7 years ago when he faced off against then-VP candidate paul ryan; however, as far as debating other democrats goes, he hasn't done that in a decade. the majority of his prep is centered around trying to stave off the inevitable questions about his record and his positions while presenting himself as a viable alternative to both other democrats and to trump (not that most people necessarily need convincing on the last point)
      • from the Guardian: Biden abruptly drops support for 'discriminatory' abortion rule. in policy news, biden decided to do a weird and wholly unnecessary flip-flop on the hyde amendment after originally affirming his continued support for it ,and then having to immediately walk his support of it back when it turned out that literally nobody else but him supported it in the democratic primary. great look, joe.
      • from Pacific Standard: Green Jobs and New Technology: A Look at Biden and Warren's Latest Climate Plans. this small article from Pacific Standard compares warren and biden's climate plans together on a number of issues, since they are actually fairly similar in a number of respects despite their ideas being relatively different as a whole.

      Elizabeth Warren

      • from the Guardian: Elizabeth Warren gains momentum in the 2020 race plan by plan. warren has continued her quiet, but consistent rise in the polls; she's currently pushing some of her best numbers thus far in the campaign in multiple polls. this is good for her campaign of course, but it's also a bit of a potential quagmire for progressives because with sanders and warren both splitting the difference of mostly the same voting demographics, it's unlikely that biden will relinquish his lead over the primary any time soon.
      • from the Guardian: Watch Elizabeth Warren blast Biden for his stance on abortion funding. biden drew a massive amount of criticism from democratic candidates over supporting the hyde amendment, probably the strongest of which came from elizabeth warren. in warren's words here: "We do not pass laws that take away that freedom from the women who are most vulnerable"
      • from Jacobin: Elizabeth Warren Has a Plan for Everything — Except Health Care. jacobin has an article focusing on the conspicuous absence of an actual healthcare plan from all of warren's ideas so far in the campaign. warren has been pretty vague about what her healthcare policy actually is despite firmly falling into the progressive camp, and she's not really committing to anything in particular yet, to which jacobin encourages her supporters to press her. in their words:

      The entire country is desperate for health care security, and Warren is in a position to argue intelligently and emotionally in support of a bold, progressive solution, just as she has for so many other important issues. Her voice can help the single-payer movement in a significant way. Together with Sanders, she could make Medicare for All an unambiguous and uncompromising demand of the progressive left in the 2020 campaign. The longer she stays silent, the weaker the Medicare for All movement becomes in the face of relentless attacks from right and center.

      Kamala Harris

      • from CNN: Kamala Harris rolls out proposal that would require states to prove abortion laws were constitutional. kamala harris has basically proposed a section 5 provision for abortion rights, which would create a standard where states or polities with a history of unconstitutionally restricting abortion rights would have to prove the constitutionality of their restrictions before they go into effect. this mirrors section 5 of the voting rights act, and would be implemented by harris if she becomes president.
      • from NBC News: Kamala Harris ramps up in early primary states. harris has largely lagged behind other candidates, but seems to be finally kicking her campaign in the early states into full gear this week. harris has been relatively low-key with her scheduling so far, only attending around 50 events, but she seems to be intending to gradually pick up the pace, which is probably a good idea because she still has a name recognition problem.

      Beto O'Rourke

      • from Buzzfeed News: Beto O’Rourke Wants Term Limits For Congress And The Supreme Court. beto o'rourke wants to do a bunch of stuff, but in particular he seems to want to implement term limits for congress; he has a plan which would "limit members of Congress to serving 12 years and create 18-year Supreme Court terms."
      • from the Texas Tribune: Beto O'Rourke's proposed election reforms seek to simplify voting registration, get big money out of politics. that plan is also part of a broader scheme to reform politics. the crux of his ideas revolve around elections, where he wants "a national transition to same-day voter registration and automatic voter registration when any citizen visits a government office, with pre-registration for 16- and 17-year-olds" along with "let[ting] people vote without ID as long as they sign a "sworn written statement of identity."" o'rourke wants to "mak[e] Election Day a federal holiday, expanding early voting to two full weeks before Election Day and relocating polling stations to more convenient places." o'rourke also wants to reform campaign finance, among other thing spporting "encouraging low-dollar donations by making contributions up to $500 tax-deductible and matching those donations with public funds" and "requir[ing] campaigns to disclose donations over $1,000 within 48 hours" among other things.
      • from CBS News: Beto O'Rourke says Biden "absolutely wrong" on abortion stance. o'rourke was extensively interviewed by CBS News the other day, during which he also threw some criticism at biden for his bad stance on the hyde amendment:

      "I hope Joe Biden rethinks his position on this issue," O'Rourke said. "Perhaps he doesn't have all the facts. Perhaps he doesn't understand who the Hyde Amendment hurts the most...lower income communities, communities of color. I would ask that he rethink his position on this."

      Pete Buttigieg

      • from Buzzfeed News: Pete Buttigieg’s Struggle To Win Over Latinos Could Limit His Rise In California. pete buttigieg is going to need to do a lot of things if he wants to win the nomination, and one of them is win over latinos who currently are not going to him in nearly the numbers he needs. in california in particular, the biggest state in the primary his bump in the polls is really being limited by his current lack of appeal to the latino community (to which he is trying to rectify things, but not necessarily doing the best job). he's made overtures toward the latino community, but he's still going to need to do a lot more than what he currrently has on the card if he wants to compete with them.
      • from NBC News: Buttigieg's big accomplishment that he never mentions on the campaign trail. buttigieg incidentally has one proposal which might actually endear him to the latino community's undocumented members but which he has yet to really play up on the campaign trail. in south bend he organized a "Community Resident Card" program through a private organization and basically turned it into an acceptable form of ID accepted by most of the businesses and services in the city, which allowed undocumented immigrants in south bend to participate in life without having to worry about immigration services.

      Jay Inslee

      • from Reuters: Presidential hopeful Inslee unveils plan to reclaim U.S. leadership on climate issue. jay inslee not only has plans on climate change, he also has plans on how to make the US a leader on climate change internationally. according to reuters, inslee's plan on taking the reins internationally "ranges from rejoining the Paris Climate Agreement, an international accord to fight climate change that Trump opposes, to more ambitious ideas like overhauling U.S. trade and immigration policies to prioritize climate change, and blocking U.S. financing for foreign fossil fuel projects."
      • from Buzzfeed News: Gov. Jay Inslee Says He Is Running For President To Do “Everything Humanly Possible” To Defeat Climate Change. buzzfeed interviewed jay inslee primarily on climate change here and he goes into a bit more detail about his campaign, but probably the most interesting thing about this interview is inslee's non climate policies, which he also goes into a bit here. (he does not want to change the law federally on sex work, leaving it up to the states, for example.)

      Everybody else

      He would ask Congress to allocate $5 billion per year for 10 years to replace lead pipes and address lead contamination in paint and soil “in areas of highest need,” as well as an additional $100 million per year toward preventing lead poisoning in children.
      For people whose blood has high levels of lead, Castro’s plan includes provisions for treating lead poisoning under universal health care, mandatory lead testing for children under 2 years old, and “support services including counseling, tutoring, education on nutritional needs.”

      • from RollCall: Think Kirsten Gillibrand has no chance? She’s heard that before — and won anyway. kirsten gillibrand might be well behind most of the frontrunners, but she's no stranger to longshot races. as this RollCall article notes, gillibrand's first big victory came in a district that was something of a longshot, and despite the expectation that gilibrand would lose. obviously a congressional race is not a presidential race, but we're also early and technically speaking, nobody is out of it yet.
      • from the Guardian: 'For the NRA, the gig is up': Eric Swalwell on why gun control is a winning issue. from one perennial 1%er to another, we now turn to eric swalwell, who the guardian snagged an interview with on the issue of gun control, the topic which motivated his run. in his view gun control is a winning issue primarily because of the massive toll mass shootings have already wreaked on the country and the fact that most people support restrictions on guns.

      Opinion

      • from the Guardian: Want to defeat Trump? Attack Biden. this opinion piece by bhaskar sunkara echoes a similar refrain from a number of people, which is that biden is out of step with the party and needs to be halted because his policies essentially make him an empty suit.
      10 votes
    5. Fermi problem game thread

      I thought it might be fun to make a little game out of asking Fermi problems and trying to work out solutions to others'. What is a Fermi problem? A Fermi problem is (to quote wikipedia ): an...

      I thought it might be fun to make a little game out of asking Fermi problems and trying to work out solutions to others'.

      What is a Fermi problem?

      A Fermi problem is (to quote wikipedia ):

      an estimation problem designed to teach dimensional analysis or approximation, and such a problem is usually a back-of-the-envelope calculation. The estimation technique is named after physicist Enrico Fermi as he was known for his ability to make good approximate calculations with little or no actual data. Fermi problems typically involve making justified guesses about quantities and their variance or lower and upper bounds.

      Basically, these are questions that would be very difficult to calculate exactly without looking up the answer. The goal is to arrive at a good estimate by making justified assumptions. As such, looking up facts and statistics should be minimized or outright avoided (e.g., if the question is "What is the mass of the water in Lake Michigan?", you shouldn't look up Lake Michigan's volume to aid your answer. This should be estimated from things you know off the top of your head).

      The way this thread works

      1. If you have a Fermi problem, post it as a top level comment.
      2. If you have a solution to an already posted Fermi problem, post it as a reply to that comment. Be sure to post your reasoning and thought process.

      Fermi problems can be fun to come up with, and fun to answer. Examples of Fermi problems might include:

      • How many piano tuners are there in Chicago? (this one is apparently one that Fermi came up with himself)

      • How many keystrokes occur worldwide, daily?

      • What is the mass of the water in Lake Michigan?

      • How many cars are there in New York City on a given day?

      • How many blades of grass are there on the National Mall?

      • How many eggs are consumed in the US each day?

      Since many of these have no definitive answer, it is not always possible to score the 'correctness' of an answer. Nonetheless, others can judge when an answer makes reasonable assumptions, so feel free reply to answers with suggestions of which assumptions can be refined or further justified.

      21 votes
    6. Star Trek fans: what's your position on the amount of technological mumbo jumbo?

      I'm (re)watching Star Trek: The Next Generation, and after a few episodes I started to tune out every time they detail how some specific solution is possible. There's little care with consistency,...

      I'm (re)watching Star Trek: The Next Generation, and after a few episodes I started to tune out every time they detail how some specific solution is possible. There's little care with consistency, everything is bent to fit the story. "Oh, I get it, if I reverse the trusters and focus the beams using a microwaved non-Euclidian logarithmic abstraction, we can get the shields back and fix the time distillation!".

      I know Star Trek is soft sci-fi, but come on! If it's all meaningless, at least keep it to a minimum. Focus on the interesting bits: the politics, the culture, the philosophical exploration, the juicy paradoxes.

      I still love Star Trek and I definitely don't want it to become hard sci-fi, but sometimes it feels like /r/VXJunkies/...

      9 votes
    7. This Week in Election Night, 2020 (Week 11)

      welcome to week eleven. after a few weeks of smaller candidates getting attention, we're back to news consolidating mostly around a select few candidates. the opinion section is only one article...

      welcome to week eleven. after a few weeks of smaller candidates getting attention, we're back to news consolidating mostly around a select few candidates. the opinion section is only one article long today, mostly because there haven't been any especially good ones.

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

      Week 1Week 2Week 3Week 4Week 5Week 6Week 7Week 8Week 9Week 10


      News

      General Stuff

      • from FiveThirtyEight: Who Do Non-Religious Democrats Prefer? there's an interesting (but not especially surprising) trend in who non-religious democrats support for the most part. in part because they tend to be more liberal than the religious, sanders and warren do quite well with athiests and agnostics; biden, by virtue of simply being popular across the board, is also quite well established with these groups. (some other interesting points: sanders does quite poorly with jews despite being ethnically jewish himself; "other" candidates also do best with people who categorize themselves as something else or roman catholics, religion-wise; biden dominates with protestants and roman catholics.)
      • from Buzzfeed News: Democrats Want To Make 2020 The Climate Change Election. climate change barely factored into the 2016 elections, and that is definitely not going to be the case this time around. Buzzfeed notes that "Of the 23 Democratic candidates running, 14 have signed the “no fossil fuel money” pledge; 11, by participating in a green fundraising platform, have vowed to address this crisis on day one of their presidency and committed to the goal of 100% clean energy, and at least 22 have mentioned climate change on their campaign websites, according to a BuzzFeed News review." to say nothing, of course, of the fact that candidates are already rolling out climate policies. it's not certain of course how things like the debates will factor into the climate change discussion or how candidates will include it in their advertising, but rest assured you're going to hear much more about it this year.
      • from Buzzfeed News: We Asked All The 2020 Candidates If The US Should Stop Arresting Sex Workers. Only Four Said Yes. if you've been following some segments of online discourse, you'll have no doubt heard about things like SESTA/FOSTA which have had serious implications for sex workers. sex work is, of course, something of an awkward issue which in a puritan country like america people like to avoid if they can, but that didn't stop Buzzfeed from asking around about whether candidates would support sex workers. buzzfeed specifically asked "Do you think sex work should be decriminalized?" and "If so, what changes do you support on the federal level?" and didn't get back very many responses either affirmative or negative. (the four yeses they got are from cory booker, kamala harris, tulsi gabbard, and mike gravel; several other candidates are open to it; bill de blasio is the only no.)
      • from the Atlantic: 2020 Candidates Are Going All In on Abortion Rights. not surprisingly, democrats are going all in on abortion rights in response to the recent wave of anti-abortion activism. every candidate except for tulsi gabbard and bill de blasio expressed unequivocal, affirmative support for roe v wade as a previous buzzfeed article examined last week, so as a collective the party is as unified as you can expect. this article mostly frames the issue through kirsten gillibrand and her views on the subject, and whether or not it'll ultimately lose democrats voters since it's polarizing and democrats seem to be taking a hardline stand on it.
      • from NBC News: Booker, Harris, other presidential contenders call for impeachment proceedings. this is the first time we've really seen a bunch of candidates come out clearly on this, and pretty overwhelmingly candidates came out in favor of impeachment proceedings. even smaller candidates like seth moulton and eric swalwell get in on the action, which would suggest that the arithmetic behind impeachment proceedings is changing pretty quickly.
      • from NBC News: 2020 candidates flock to California in search of more than votes. lastly, a big draw this week was the great, big, grand california democratic convention which saw more or less half the field come to california in search of voters, but also donors and activists who might be willing to join their campaign. most of the stuff and most of the policy in this week's edition was either said or done at/during the convention, which goes to show you what a high profile event it was.

      Joe Biden

      • from NBC News: Biden's personal loss emerges as a touchstone on the campaign trail. biden's been on the campaign trail with a mixture of private fundraisers and public meet-and-greet type events, and at the latter he's been expressing a lot of his personal experiences in the past few years. most of this is centered around beau biden, whose terminal brain cancer and death derailed what might have otherwise been a biden 2016 run instead of a biden 2020 run. the death of the younger biden has also informed some of the elder's political viewpoints in a pretty visceral way. this'll presumably remain a campaign theme.
      • from CBS News: Joe Biden rolls out climate policy amid questions over his climate credibility. biden also rolled out his maligned climate policy this morning, with actual details that can now be compared against other plans. see also jay inslee's and beto o'rourke's plans on this.

      "The former vice president is setting a goal of net-zero emissions by no later than 2050, the same goal set by the Obama administration. If elected, the Biden administration on "day one" intends to implement a number of executive actions to push for a "100 percent clean energy economy" including:

      • Requiring "aggressive" methane pollution limits for new and existing oil and gas operations;
      • Streamlining federal government activities to for better energy efficiency;
      • And advocating for "liquid fuels of the future" like biofuels."
      • from POLITICO: How Joe Biden would address K-12 and early childhood education. biden also has a K-12 and early education policy he rolled out earlier this week. this plan is multifaceted but, in general it seeks to improve funding across the board, particularly with respect to salaries, mental health resources, and decreasing the funding gap between white and non-white school districts.
      • from Vox: Joe Biden is spending a lot of money on Facebook — to tell older voters about himself. unsurprisingly, biden is trying to shore himself up with older voters, since those are his main base and the people who will likely be needed to propel him to the nominationg given how incredibly poorly he does with everybody under the age of 45 or so. per Vox here, "According to BPI’s tool that tracks digital ad spending by presidential candidates, nearly half of Biden’s Facebook spending from April 27 to May 18 was spent on ads aimed at people between the ages of 45 and 64, and 32 percent of spending was aimed at those over 65. Just 17 percent of his Facebook ad spend went toward reaching the 25-to-44 age group."

      Bernie Sanders

      • from POLITICO: The dire problem that Bernie Sanders has to fix. bernie sanders, on the other hand, is trying to find inroads with the older people that biden dominates with. it is quite hard to exaggerate the disparity; as this POLITICO article notes, "In the latest Morning Consult weekly tracking poll, Sanders leads Biden by 12 points among Democratic primary voters under 30, and Biden has only a 1-point lead among voters aged 30-44. But Biden leads Sanders by 44 points among seniors, 53 percent to 9 percent." it's early goings, of course, so sanders still has plenty of time to figure this out (and it is likely that the debates will do some shuffling of data like this) but it does present a glaring roadblock in his path to the nomination.
      • from POLITICO: 'I'm not a Bernie Bro': Sanders' base splinters in California. sanders is also fighting off a lot of challengers for the mantle of the progressive candidate, particularly in california. sanders still generally polls second in california and there's no reason to think that he'll recede from being in that position given his general strength in polling across the board so far, but with more people trying to take his slice of the primary vote it's going to be hard to overcome biden.
      • from the Atlantic: Bernie Sanders Tries to Reclaim the Insurgency. perhaps above all else though, sanders is trying to recapture the insurgent zeitgeist that has defined his campaign since his first run began in 2015. so far in this race, sanders has mostly been seen as more of a frontrunner over an insurgent coming from the bottom to the the top, which contrasts pretty heavily with how he markets himself generally. whether or not defining himself as the insurgent again is actually going to reverse his fortunes is another matter, but i imagine it can't hurt.
      • from Jacobin: Bernie Wants Power in Workers’ Hands. this article focuses mostly on the idea of funds socialism and a bernie sanders proposal that is apparently in the work that would apply some of the ideas behind funds socialism. more than anything this seems to demonstrate that sanders is willing to push margins some more this year.

      Elizabeth Warren

      • from The Ringer: Will Slow and Steady Win the Race for Elizabeth Warren?. warren's strategy throughout the primary so far has basically been to sit back and let name recognition and policy proposals do the work, which has gone fairly well for her since she's the only candidate who's consistently been on the rise. it is questionable whether or not this will be successful in the long term, though. warren probably needs explosive growth (which the debates might give her) to be a serious contender for the nomination.
      • from POLITICO: Inside Warren's battle plan to win Iowa — and the nomination. that's where POLITICO comes in. warren's ground game has been extensively focused on staffing; she's shooting to have 60 staff in iowa, 50 in new hampshire, and 30 each in nevada and south carolina, and she has extensive groundwork laid in iowa. something like 200 events(!) have already been held there on behalf of the warren campaign, which is wild. there are some concerns that this could possibly bleed her campaign dry in its most crucial hour (when people vote), but warren doesn't seem to be especially worried about this possibility currently.

      Everybody Else

      The plan takes a three-pronged approach, O'Rourke's campaign said: rescinding "inhumane" Trump administration policies such as family separations at the border; convincing Congress to pass better immigration laws, including a legislative solution for the so-called Dreamers, undocumented immigrants who were brought to the US as children; and investing $5 billion in Central America to help address the root causes of migration.

      Inslee’s plan would call for an immediate end to a number of signature Trump policies, including the construction of a wall on the southern border and the ban on travel from some majority-Muslim countries, and would reinstate the Obama-era Deferred Action for Childhood Arrivals program, which protected undocumented immigrants who came to the country as children from deportation.
      Inslee also has pledged to allow more refugee admissions to the United States and change the Trump administration’s asylum policy [...] The plan would also raise the number of annual refugee admissions into the United States, eventually going past the target of 110,000 the Obama administration set during its final year. Most sweepingly, Inslee wants to overhaul the current legal immigration system with a focus on providing a pathway to citizenship for DREAMers and other undocumented immigrants.

      • from NBC News: Inside Pete Buttigieg's plan to overhaul the Supreme Court. pete buttigieg has a plan to overhaul the supreme court meanwhile, which makes him the first (and only, as far as i'm aware) candidate to support something of the sort explicitly. buttigieg's idea, in short, which resembles how some forms of arbitration are done:

      Under the plan, most justices would continue serving life terms. Five would be affiliated with the Republican Party and five with the Democratic Party. Those 10 would then join together to choose five additional justices from U.S. appeals courts, or possibly the district-level trial courts. They’d have to settle on the nonpolitical justices unanimously — or at least with a “strong supermajority.”
      They final five would serve one-year, nonrenewable terms. They’d be chosen two years in advance, to prevent nominations based on anticipated court cases, and if the 10 partisan justices couldn’t agree on the final five, the Supreme Court would be deemed to lack a quorum and couldn’t hear cases that term.

      • from NBC News: Cory Booker takes hardline on gun violence day after Virginia Beach shooting. cory booker, one of the perennial few-percenters, decided to go hardline on guns over in california this week in response to the latest shooting that has captivated us. most of this was off the cuff, and booker threw out a speech he was originally going to give to give this one, so he's apparently trying to define himself on this issue in particular.
      • from CBS News: Julián Castro unveils police reform plan. julian castro meanwhile is putting forward a proposal on police reform, which he previewed in california this week. CBS reports that, among many other things, it tackles "restricting the use of deadly force; making officers responsible for intervening if they know of or see fellow officers using excessive force or engaging in inappropriate conduct; and requiring law enforcement to get written consent for consensual car searches." this is pretty good, but castro is a very low-polling candidate and criminal justice reform hasn't been a big focus for candidates so far so i'm not sure if anybody will match castro on this.
      • from Pacific Standard: Jay Inslee Is the Self-Proclaimed 2020 Climate Candidate—but His Own State's Activists Are Skeptical. jay inslee's focus as the climate change candidate has drawn some criticism from activists in his homestate, who note that his track record on the issue has been inconsistent at best and sometimes actively bad at varying times. this is not universal criticism, though, because nothing ever really is, and inslee has at least shown overtures of learning from criticisms levied at him by activists, so most of them remain cautiously optimistic about his candidacy.
      • from CNN: Seth Moulton, who has struggled with post-traumatic stress, unveils mental health plan. seth moulton, another perennial one-percenter, has a small policy roposal related to mental health, which would "increase mental health screenings for active-duty and military veterans and establish a new National Mental Health Crisis Hotline." mental health seems to be playing a significant part in how he positions himself, as this is a part of a multi-day state tour where he's meeting with mental health activists and veterans.

      Opinions & Other

      Buttigieg’s work, personal and political, has consistently served the interests of Silicon Valley, the police and the military-industrial complex. If the only way to oust Donald Trump is with someone like Buttigieg, then the far right really has flipped the board, and the regulatory capture of any so-called opposition is already complete.


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

      15 votes
    8. This Week in Election Night, 2020 (Week 10)

      welcome to week ten. this week sees a lot of smaller candidates making news and getting their own little sections and pieces. the opinion section is once again short, and [LONGFORM] gains some...

      welcome to week ten. this week sees a lot of smaller candidates making news and getting their own little sections and pieces. the opinion section is once again short, and [LONGFORM] gains some representation for the second week in a row.

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

      Week 1Week 2Week 3Week 4Week 5Week 6Week 7Week 8Week 9


      News

      General Stuff

      • Biden, Sen. Amy Klobuchar, Sen. Michael Bennet, Rep. Tulsi Gabbard, Rep. Tim Ryan, Gov. Steve Bullock, and Mayor Wayne Messam: did not comment
      • Sanders: supports regulation of platforms
      • Harris: would hold social media companies accountable for the “hate” spreading across their platforms; believes companies have a “responsibility to help lead the fight” against the “threat to our democracy.”
      • Buttigieg: in favor of applying the same strategies used to combat “foreign radicalism” to address domestic white nationalism
      • Booker: "part of the problem with dealing with these issues is getting the social media platforms to even acknowledge that they have a problem on their hands"; however, did not clarify if he’d specifically support regulating social media companies to curb white nationalism
      • Williamson: “The companies should shut down hate speech that incites violence. I support regulation of the platforms so they are not used to perpetrate violence on blacks, Jews, the media, or others”
      • Moulton: “Social media companies must take the lead in developing the rules and processes necessary to combat white nationalism online”
      • Inslee: “I applaud Facebook for its recent decision to ban praise and support for white nationalist ideals, but this is a beginning to a solution and not an end.”
      • Castro: “[Banning white nationalist content] is a start, but they're playing catchup and need to do better at extinguishing hate speech quickly.”
      • Yang: appreciates Facebook’s move after the Christchurch shooting but that the social platforms are not in the best position to figure out what changes are needed to curb white nationalist violence.
      • from Buzzfeed News: Almost All The 2020 Presidential Candidates Say They Want To Make Roe V. Wade Law. it may seem unsurprising, but pretty much every democrat--even the 1% randos like wayne messiam, marianne williamson, andrew yang, seth moulton, eric swalwell, and others--supports roe v wade explicitly, according to buzzfeed. the two people who did not respond to their requests for comment are bill de blasio and tulsi gabbard.

      Joe Biden

      • from POLITICO: Biden nets fundraising windfall in 2-day Florida swing. biden began the week by casually raising 2.2 million in a swing around florida. this is one of a series of several fundraisers since biden announced; according to POLITICO biden raised $700,000 earlier this month in Hollywood, and $700,000 of the $6.3 million biden raised in the first 24 hours of launching his campaign came from an event.

      • from Slate: The Premise of Joe Biden’s Campaign Is That Every Left-Wing Criticism of the Democratic Party Since 2008 Has Been Wrong. slate's article takes the stance that joe biden is essentially bucking the democratic orthodoxy since obama's first win in trying to work as a bipartisan candidate, appealing to white-working-class voters, and by continuing to use big donors over grassroots organization. so far, it's working pretty well--but see also that NPR article above which notes much of this so far is seemingly driven by name recognition.

      Beto O'Rourke

      • from POLITICO: Slumping O'Rourke looks to regain mojo at prime-time town hall. beto o'rourke has slumped pretty badly in the past few weeks, and this has led him to take on something he said he wouldn't really do: cable television. this townhall was o'rourke's first big media appearance, amazingly enough, and it's a part of his changing strategy toward the media as he seeks to figure out how to actually become relevant again in the primary.

      • from FiveThirtyEight: Beto O’Rourke Ignored Cable News — And It Ignored Him. unfortunately, o'rourke's reboot has come to largely coincide with a few new candidates. consistently behind the major frontrunners of the campaign already in terms of cable news mentions, o'rourke got pushed behind new york dipshit bill de blasio for the week of may 12, which is laughable. this will probably not help him any.

      • from POLITICO: O’Rourke feels 'really good' about 2020 campaign. o'rourke is still optimistic, though, about his chances. he rejects the media's narrative that his bubble has basically burst and that his fleeting Candidate of the Month moment has passed.

      Elizabeth Warren

      • from the Atlantic: Elizabeth Warren Takes a Different Strategy to Court the Black Vote. warren's approach to the black vote is getting some attention from the media this week. education policy and other policies related to racial discrimination are the crux of warren's approach here so far, with a particular emphasis in this case on things like funding for HBCUs (which have been pushing for such for awhile now). for the most part, this has been received quite well by the black community--it is up in the air though whether or not warren's policies could pass congress though, which is... bad, to say the least, about a lot of education reform.

      • from the Guardian: 'Let's figure this out': Elizabeth Warren's calls to supporters delight the internet. warren's also been calling up supporters randomly, which has caused quite a bit of internet attention. to my knowledge she's the only person to really make this a part of her campaign so far, and while this has been done in the past by candidates, it hasn't really been done to the extent warren's been doing it recently (she's been doing it since she announced her campaign!)

      • from Vox: What’s behind Elizabeth Warren’s comeback in the polls. warren has seen a slow, but steady uptick in her polling for about the past month, amounting to a movement of about 3 points. that's not much, of course, but it's allowed her to solidify her position as the 3rd place candidate in the primary on average. she also is one of the net most liked people in the primary and it seems like she only has an ability to go up.

      • from the Center for Public Integrity: Elizabeth Warren decries big money in politics. Her campaign treasurer embodies it.. it's not all good for warren, though. her campaign treasurer, Paul Egerman, is tied to a number of positions on campaign finance that stand in apparent contradiction to how warren is angling herself. this is obviously not a deal breaker for the overwhelming majority of people, but it is a mild annoyance that probably could have been avoided.

      Kirsten Gillibrand

      Focusing on various aspects of childcare up to kindergarten, Gillibrand said her plan "levels the playing field starting at birth" for children and parents.
      The plan also aims to fight pregnancy complications and maternal mortality by "providing states and hospitals with access to new resources to develop and implement standardized best practices." Gillibrand also proposed solutions modeled after a 2017 bill introduced by former North Dakota Sen. Heidi Heitkamp, which called for funding to study maternal and obstetric health records in rural regions of the country.
      The "Family Bill of Rights" would implement equal adoption rights meant to prevent discrimination against prospective parents belonging to any religion, socioeconomic class, or gender. To make adoption more affordable, the plan offers a refundable tax credit for families that have adopted.

      Cory Booker

      • from Vox: Cory Booker wants banks to stop charging so many overdraft fees. in between campaigning, cory booker is taking on overdraft fees, trying to get a bill passed which would: "bar banks from imposing overdraft fees on debit card or ATM transactions. It would also curb the number of overdraft fees that could be levied on check-based transactions and prohibit banks from reordering the sequence of user activity." i imagine if this does not get passed, he will probably start campaigning on it (provided he isn't already).

      • from POLITICO: Booker builds out campaign team. booker's campaign team is being built up this week. among other things, his team is taking on a number of clinton campaign staffers, EMILY's List folks, and a few staffers from 2018 gubernatorial and senate campaigns.

      John Hickenlooper

      • from CBS News: John Hickenlooper releases plan to reduce gun violence. john hickenlooper released a plan on gun violence, which to my knowledge makes him the third or fourth candidate to do so. compare cory booker's plan to combat gun violence; the two are relatively similar, but also have quite a few differences.

      • from NPR: Former Colorado Governor And 2020 Candidate Urges Distance From 'Socialism'. hickenlooper has also clearly sorted himself to the right side of the pack already, mostly through his emphasis on bipartisanship and distancing himself from the left-wing shift of the party. hickenlooper was known for being fairly moderate as colorado's governor, it should be noted, so this is not out of character for him.

      Everybody Else

      “I had a very real, personal experience where I had to fight to keep my case — and my argument was, ‘I was elected to exercise my discretion, and no one’s going to take my case from me,’” Harris said in the MSNBC interview. “It was that personal experience that informed my principle, which is that these cases shouldn’t be taken from the person who was elected to exercise their discretion.”
      But Harris said it’s now clear to her that there needs to be an independent entity brought in to probe the recurring shootings and brutality by police officers from the beginning.

      • from the Guardian: 2020 candidate John Delaney pitches vastly unusual climate change plan. john delaney, the first candidate to announce for the 2020 presidential primary all the way back in 2017, has an unorthodox climate change plan. in essence according to the Guardian, his idea is "to capture carbon dioxide pollution heating the planet and transport it in pipelines criss-crossing US" which is... novel? i guess? this is of course not going to happen. delaney is a <1% poller and he has no profile at all, but add it to the list of ideas.

      • from NPR: Julián Castro Wants To Redefine Which Immigrants Have 'Merit'. julian castro has mostly been focusing on immigration issues, which shows in his interview here with NPR. this is unsurprising for fairly obvious reasons--castro being the hispanic candidate that he is and mostly drawing his support mostly from hispanics.

      • from Buzzfeed News: [LONGFORM] Democrats Like The Idea Of A Gay President. But They Are Quietly Worried About Mayor Pete. pete buttigieg has been cruising fairly nicely since he entered the race, but behind the scenes it's unclear even among the democratic caucus whether or not he'd ever be able to get over the hump in the primary, much less the general. as this longform piece notes:

      Nearly 30% of Democratic voters believe it is “always wrong” for “same-sex adults to have sexual relations,” a 2018 poll found. In a poll just last month, 86% of Democrats and left-leaning independents said they are “open” to electing a gay male president — but a majority said they didn’t think the country was ready.
      That’s a stark contrast to 2007, when most voters said they thought the country was ready for a black president, and in 2015, when most voters said the country was “ready” for a woman.

      it's also pretty likely that things would get wacky in the general, given that buttigieg is already drawing small, anti-gay protests.


      Opinions & Other


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

      12 votes
    9. This Week in Election Night, 2020 (Week 9)

      week nine is here, and while we don't have a lot of candidates this time, we still have a bunch of stuff to go through. the opinion section is back this week, since there were a few pieces of the...

      week nine is here, and while we don't have a lot of candidates this time, we still have a bunch of stuff to go through. the opinion section is back this week, since there were a few pieces of the sort, but it's pretty short this week. we actually have more [LONGFORM] tagged pieces this week than op-eds, so that's always interesting. anyways.

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

      Week 1Week 2Week 3Week 4Week 5Week 6Week 7Week 8


      News

      General Stuff

      • from Buzzfeed News: [LONGFORM] “Abolish ICE” Was The Call Of Last Summer. 2020 Democrats Have Moved On.. despite the big hooplah surrounding this last year, it's been surprisingly quiet on the abolish ICE front since then, to the chagrin of many immigration activists. given the fact that it's fairly radical (despite ICE only being an agency since 2002), don't expect a lot of movement here; many of the democrats running who adopted the drumbeat last year have almost totally dropped it and show no signs of really picking it back up.

      • from The Atlantic: [LONGFORM] The 2020 Presidential Candidates’ Families Look Like Americans’. this is an interesting piece which analyzes how even the "nuclear" family which we're all so used to has essentially ceased to exist on the campaign trail, on both sides of the aisle, and become more reflective of what you'd expect of such a large and diverse country:

      Of the 24 candidates, eight have blended families: Donald Trump has children with multiple partners; the candidates Elizabeth Warren, John Hickenlooper, Bill Weld, and Joe Biden are married and have children from previous marriages, while Bernie Sanders is married and has a son from a previous relationship; Sanders, Tim Ryan, and Kamala Harris all have stepchildren. Seven are remarried divorcés or divorcées (Trump, Warren, Hickenlooper, Weld, Sanders, Eric Swalwell, and Tulsi Gabbard), and four have no children of their own (Harris, Gabbard, Pete Buttigieg, and Cory Booker). One has a spouse of the same sex (Buttigieg), one is a remarried widower (Biden), and two are unmarried (Booker and the self-help and spirituality author Marianne Williamson). Two candidates have at some point lived as single mothers (Warren and Williamson).

      • from Pacific Standard: What Role Will Religion Play for Democratic Presidential Candidates in 2020?. religion has been largely absent from the democratic side of presidential elections for awhile, but interestingly even as organized religion starts to decay in america, this year you're seeing a few democrats pick up the banner of religion in their campaigning. this might be because WASP-types tend to vote heavily republican and even scalping a few of them or making them more hesitant to pull the lever for republicans could render a republican unable to win nationwide except in particularly unique circumstances--but it could also just be that there are a lot of candidates this year, and some of them just happen to be openly religious and democratic. either way, it's too early to really say how this will shake out in future elections, but keep an eye on it.

      • from FiveThirtyEight: [LONGFORM] How Will Democrats’ Move Away From Caucuses Affect The 2020 Race?. a lot of states which used caucuses in 2016 are not going to be doing so again in 2020; in fact, the caucus system is basically dead at this point in the democratic party. besides turnout, though, it's unclear how this will actually affect the 2020 race. maybe the biggest subplot of this will be the party-run primaries some states will be having (which differ significantly from government-run primaries: "While state governments might open hundreds or thousands of polling places statewide for 12 hours or more, party-run votes might provide less than one voting location per county or keep the polls open for just four hours on primary day. These party-run affairs will likely offer forms of early and absentee voting in 2020, but seeing as they won’t be able to rely on the state-run systems that normally handle these kinds of election administration, it’s unclear how effective the parties will be at managing this on their own.") beyond that? shruggie.

      Joe Biden

      • from POLITICO: ‘Slow and steady’ strategy pays off for Biden. biden's early game so far has been pretty laid back compared to just about everybody else. this is very much intentional--biden has several reasons to not want to attempt the wild pace of everybody else, namely that he's old and gaffe prone--and so far, seems to be working. biden's lead has been retained thus far in the primary and doesn't seem to be really abetting yet.

      • from The Atlantic: Joe Biden’s Bet That 2016 Didn’t Change Everything. this piece by The Atlantic goes into a bit of detail about the big bet of the biden campaign: "that in the four years since Trump launched his campaign, the country hasn’t changed, the Democratic Party hasn’t changed, and politics hasn’t changed." it's an interesting bet, one which i'm not sure is exactly correct. also, this feels like possibly the most accurate summary of biden's case for the presidency thus far:

      [...]It’s early days yet in the Democratic primary, but Biden’s campaign is discussed in some circles as a self-fulfilling prophecy: that he will win the Democratic nomination simply because he appears the likeliest to win the nomination, that he will beat Trump simply because everyone is talking about how electable he is—not because voters are actually excited about him or the specifics of what he’s running on.

      "I know some of the really smart folks said that Democrats do not want to hear about unity. The Democrats are so angry, the angrier that candidate could be the better chance to win the nomination. I do not believe it," Biden said. "I believe Democrats want to unify this nation."
      [...]
      "I am running to offer our country — Democrats, Republicans and Independents — a different path, not back to a past that never was but to a future that fulfills our true potential,” he said.

      Elizabeth Warren

      Warren would call on Congress to pass laws enshrining the right to an abortion that would preempt any state attempt to ban the procedure or impose onerous regulations on abortion providers. She would also push for the repeal of the Hyde amendment, a long-time prohibition on federal funding for abortion and sign executive orders rolling back recent Trump administration moves aimed at cutting Planned Parenthood out of the Title X family planning program.

      a lot of this is contingent on congress, you might note, and this is one of the big weaknesses of her plan here. democratic control of the senate in either 2020 or 2022 is far from a given, meaning that in the event they fail to take control of the senate this plan basically cannot go through since it'd fail on a party-line vote. (she might be banking on the democrats splitting the chamber 50-50 since it is unlikely they'd--in 2020 anyways--outright win the senate.)

      • from CBS News: Elizabeth Warren introduces bill to curb defense lobbying. warren's also introduced a bill in congress which, among other things, seeks to "ban defense contractors from hiring senior officials directly from the Defense Department and extend to four years the ban on former generals lobbying the Pentagon", "[disqualify former contractors who join the government] from working on any issue that could help or hurt their former employer for four years", and "limit foreign governments' hirings of U.S. national security officials."

      • from CBS News: Elizabeth Warren introduces plan to reduce military's carbon footprint. aside from abortion and lobbying, warren's also been busy with climate policy. specifically she's pushing for "the military to reach zero carbon emissions for all non-combat bases and infrastructure by 2030." this is a surprisingly ambitious goal, because the military's carbon emissions have been increasing recently.

      • from Jacobin: How Warren’s Climate Defense Bill Undermines Itself. of course, warren's bill isn't without some controversy. jacobin argues that some of the provisions of the bill essentially undermine it completely, specifically the "market waiver" and the "war waiver":

      WAIVER: the Secretary of Defense may waive the requirements of this section . . . [if] he determines that market conditions for a product or service make it difficult for the Department to acquire that product or service and the waiver will accelerate the Department’s acquisition of the product or service.
      [...]
      WAIVER: the Secretary of Defense may waive the requirements of this section . . . [if] he determines that meeting these requirements would adversely affect the national security interests of the United States . . .

      in their view these waivers are likely to be exploited to such an extent by the government that they essentially offset any benefits the bill could have and render it incapable of addressing climate change in the way climate change needs to be addressed in the time we have.

      • from In These Times: [LONGFORM] When It Comes to U.S. Militarism, Elizabeth Warren Is No Progressive. more broadly, In These Times makes an argument for warren being basically joined at the hip with military interests, even as she tries to address some of the biggest problems with it. specifically they note that her voting record outside of yemen on military issues is not the best, and they often stand in contrast to some of the policies and rhetoric she espouses on the issue.

      • from Vanity Fair: Can MAGA Country Learn to Love Elizabeth Warren?. vanity fair notes meanwhile that warren seems to be gaining some traction with trump voters, at least on policy issues:

      [...]In a recent focus group observed by Axios in Sioux City, Iowa, voters who flipped from Obama to Trump “strongly supported” Warren’s plan to cancel up to $50,000 in student debt for voters whose families made less than $100,000 a year. They echoed her message that many Americans are not reaping the benefits of a booming economy, pointing to stagnant wages and a declining quality of life. And there was a strong consensus that big financial institutions should be taxed to pay for infrastructure.
      The only catch? The focus group wasn’t told that the student debt plan was Warren’s. All but 1 of the 11 Obama-Trump swing voters in the group said they would re-elect Trump if he were running against Clinton.

      Kamala Harris

      Harris wants to ban AR-15-style assault weapon imports and suspend all other assault weapon imports until the Bureau of Alcohol, Tobacco, Firearms and Explosives can analyze whether they should be permanently banned under U.S. law. Her campaign argues the weapons could be banned because they aren't "suitable for or readily adaptable to sporting purposes." This includes all 44 AR-type models listed in the latest assault weapons ban that was introduced in Congress.

      • from POLITICO: Kamala Harris: Biden would make ‘great’ running mate. one of the weirder subplots of the week is the row that's been stirred up by a few members of the Congressional Black Caucus suggesting harris would make a good running mate for joe biden. harris herself mostly dismissed this with the humorous jab in the title here, but...

      • from POLITICO: 'It's infuriating': Kamala Harris team galled by Biden veep talk. ...her campaign was less than enthralled with this, to say the least. making it doubly awkward, harris is--as a significant black democrat--a pretty visible member of the CBC, so they had to figure out how to address this without egging this on further. this ultimately seems to have been where harris's jab came from:

      Anticipating questions from news media on Wednesday, Harris and her advisers settled on the humorous one-liner, according to an aide.

      harris remains committed to running for president, obviously.

      Cory Booker

      • from Mother Jones: Can Cory Booker Really Turn His Back on Silicon Valley?. a significant booker sticking point so far (although it's gone mostly unreported) is his desire to step in on silicon valley and social media; he's been angling himself in this way for the past few years. the problem with this, of course, is that booker has a long history with silicon valley himself. for the most part, he hasn't really been punished for this by the voters, it seems (not that there are many to punish him in the first place of course--he's sitting on like, 4% in the polls now), but it is a legitimate question whether or not his barnstorming on this issue can necessarily be backed up.

      • from Buzzfeed News: Cory Booker Vows To Make Roe V. Wade The Law Of The Land As President. on another note, he is one of several candidates who have pledged to do this. not surprising, and i'd be shocked if anybody besides maybe biden eschewed eventually stumping on this, but it's interesting to see how openly people are running on this.

      • from POLITICO: Booker campaign official urges donations for Gillibrand to ensure debate spot. also, perhaps demonstrating the extent to which democrats are trying to avoid conflict, booker's campaign is encouraging people to donate to the perennial disappointment of a campaign that gillibrand has been running so she doesn't miss out on a debate spot. kinda wild!

      Everybody Else

      Sanders’ plan would ban for-profit charter schools, which make up a small slice of charters nationwide, and put strict limits on nonprofit charter schools, temporarily banning federal funding for new charters. Charter schools tend to be more segregated than public schools — the NAACP has called to ban them outright — though they are also popular among black voters.
      [...]
      One significant roadblock for Sanders’ sweeping plan: the reality that the federal government plays a relatively small role in K-12 education. The vast majority of money for education comes from states, which set their own policies; some states ban for-profit charters, and others allow them to proliferate.

      Other notable components of Inslee’s new 38-page policy proposal includes investing $35 billion in clean energy and climate solutions research, a big increase over current levels; creating a $90 billion "Green Bank" at the federal level to help finance clean energy development; phasing out potent greenhouse gases called hydrofluorocarbons, or HFCs, in line with global agreements; proposing federal agencies get all of their domestic energy production from clean energy sources and purchase only zero-emission vehicles by 2024.
      To pay for it all, Inslee proposes a federal investment of about $300 billion a year, which his campaign anticipates will generate an additional $600 billion a year in outside funding. This adds up to $9 trillion in total investment over a decade.

      • from POLITICO: ‘He’s white, male and gay’: Buttigieg hits obstacles with black voters. buttigieg is one of the few democrats who might have genuine problems appealing to black voters, most of which is outlined in this POLITICO piece. in a field this large with multiple minority candidates, he's going to have a hard time (and already is having a hard time, honestly) establishing himself as a candidate minorities should go for. for the most part, i think that his status as white is going to be the bigger barrier than him being gay (at least with the majority of black voters--the article notes the big generational disparity on that: "In 2017, 69 percent of African Americans aged 18 to 29 backed same-sex marriage, but just 40 percent of African Americans aged 65 and older did, according to a Public Religion Research Institute poll."), but we'll see.

      • from The Atlantic: [LONGFORM] Democrat Steve Bullock Won a Red State in 2016. Can He Beat Trump in 2020?. steve bullock is one of the latest candidates to throw himself into the woodchipper. hailing from the nominally red state of montana, though, he probably has a better case for the presidency than most of the perennial 1% polling crowd. this article mostly outlines who he is, what he wants, and what he's shooting for, because honestly unless you're a politico, you probably have no clue who he is or what he stands for (he's the governor of montana, for the record).


      Opinions & Other

      • from GQ: Elizabeth Warren Deserves Your Undivided Attention. this piece by drew magary is basically an op-ed, even though it's not labeled such by GQ. anyways, magary basically lays out all of the places where warren's policies would be good, and why in his view they'd be good. it's not that special nor is it the most elegant basically-an-oped ever written, but GQ doesn't exactly run a lot of pieces like this so i figured i shouldn't pass it over.

      • from The Guardian: Joe Biden would be a disaster for climate change. this was a theme with last week's post where people raked biden for his awful climate change policy. maybe the biggest takeaway from this op-ed, though, is this line: "As atmosphere scientists Andrew Dessler told HuffPost’s Alexander Kaufman, Biden’s plans would “be more in line with stabilizing at 3-4C of warming, rather than staying below 2C”." this is... not optimal! it's actually barely an improvement over donald's policy, which is in line with 4C+ warming.

      • from The Guardian: If New Yorkers won't back Bill de Blasio, nobody else will. oh, by the way, bill de blasio is running for president. nobody cares about him, though, and he's a perennial 1% candidate. super funny how badly he polls, though:

      In a Quinnipiac poll last month, 76% of New Yorkers agreed that their mayor should not run for president. This included 70% of black voters, who usually make up De Blasio’s strongest base of support. As the Washington Post’s Philip Bump pointed out, De Blasio was a standout in another poll, this time of national Democratic primary voters, for being the candidate with the highest unfavorability ratings. He was also the only candidate with net unfavorability, with more respondents having an unfavorable than favorable view of him. The Quinnipiac poll even showed that one-third of Democrats in De Blasio’s home city – what ought to be his main bulwark of support – disapprove of his job performance.


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

      EDIT: minor spelling stuff

      15 votes
    10. Is there an app for this? Help me fix my terrible security

      I thought I've been looking for a good password manager, but I'm not sure that's what I really need. Here's my use case: I currently have a Google Sheet in my Google Drive that contains all my...

      I thought I've been looking for a good password manager, but I'm not sure that's what I really need.

      Here's my use case:

      • I currently have a Google Sheet in my Google Drive that contains all my ID/passwords for everything
      • In addition I have personal info in there like SSNs and Credit Cards #s
      • I want to be able to have instant access to all of the info from my ancient iPhone and my laptop

      Things I've tried:

      • I messed around with Last Pass a bit and found it couldn't actually fill in the passwords in the apps I was using so I'd have to manually type them, which is a deal breaker for me.
      • I've been using FireFox's LockBox and it's a bit better on that front but doesn't actually remember what the password goes to the app so I have to look it up each time, but it does populate them in the appropriate fields.
      • Password-protecting a Google Sheet is apparently impossible but was a solution I was after for some time (Excel and Libre can do this..so +1 for software)

      Other info:

      • I am currently using an iPhone 5 but I plan to "upgrade" to a Samsung Galaxy S7 sometime in the near future. Perhaps that's why the functionality of these password managers seem so inconvenient for me? Would they work better on a modern phone?

      What I'm after is perhaps two solutions:

      • A password manager that crosses the bridge from desktop FireFox to the apps on my phone, and fills in the password for me automatically. That would allow me to feel like I could move to more random passwords for things.

      • Some encrypted, password-protected site/app that could store plain text notes for sensitive things like SSNs and Credit Card #s that would stay in sync between a laptop and a smartphone.

      Go ahead and mock me for my terrible security and ancient phone. I deserve it! But when you're done, I'd appreciate some guidance.

      EDIT: Sounds like first priority should be to update my phone. Then there appear to be plenty of options to try. Thanks everyone so much!

      18 votes
    11. What's missing from your life?

      A bit of a darker or at least more introspective question than I usually ask, but I think it's a valid one and something worth considering. It's something I've been grappling with recently myself....

      A bit of a darker or at least more introspective question than I usually ask, but I think it's a valid one and something worth considering. It's something I've been grappling with recently myself.

      As you reflect on your life, is there something which makes its absence known? Something you wish you had, but don't? Do you think you'll ever be able to change, fill, fix, or work around it? Do you think it'll change with time or remain permanent? How does the missing whatever-it-is impact your life?

      A final note: given that people are likely going to be sharing some difficult stuff, it's important to remember that empathic listening, particularly online, isn't usually about offering solutions. Questions are often better than answers in conversations of this type.

      45 votes
    12. What are your favorite food related Youtube channels?

      Cooking is a hobby of mine, and as a result I really enjoy watching food related YouTube channels. Some of the ones I like are Alex French Guy Cooking - A fun channel of a creative french amateur...

      Cooking is a hobby of mine, and as a result I really enjoy watching food related YouTube channels. Some of the ones I like are

      • Alex French Guy Cooking - A fun channel of a creative french amateur cook. I like this channel because I have similar taste in food to him (check out his instant ramen series!), but his solutions to problems in the kitchen are seriously creative. To give an example, he builds a dough sheeter in his croissant series in order to get the perfect thickness of dough, and he makes a makeshift dehydrator in the ramen series. Stuff I would never do in the kitchen, but it's fun to watch.

      • Bon Appetit - I totally did not expect Bon Appetit to have such a well put together web presence (for some reason I considered them an old fashioned publication). In any case, check out the "It's Alive with Brad" series. It starts out as a series about all things related to fermentation (beer, hot sauce, kombucha, sourdough, etc), but expands a bit in scope.

      • Binging with Babish - Perhaps the most well known of recent food related YouTubers, Babish recreates meals from movies and TV. He also has a nice series on cooking tutorials. I don't watch him as much as I used to, but he's still a lot of fun.

      • Townsends - A bit different than the rest, and not exlusively food related. Townsends is a historical enthusiast focusing on the colonial era, and he has a lot of videos recreating recipes and techniques from the time period.

      EDIT:

      Forgot to include

      • Jun's Kitchen - Some seriously therapeutic cooking videos featuring sushi and cats.
      18 votes
    13. What is your note taking workflow?

      Hi, I'm wondering how and if you're taking notes and how you manage them. I feel like I can't get to the right solution. I want something open and own my data, so I tend to prefer plain text /...

      Hi,

      I'm wondering how and if you're taking notes and how you manage them. I feel like I can't get to the right solution. I want something open and own my data, so I tend to prefer plain text / markdown files and I want to manage them on my own for privacy reasons but still be able to sync and edit them on my mobile device (iOS), desktop (macOS) and ideally online and also have full text search.

      I know about Microsoft OneNote, Google Docs/Keep, Evernote - but I just can't overcome myself to use them since it's hard to impossible to get data out of there.

      Right now I'm hosting my own git repository with gitea.io and I'm able to edit my notes on the web, on my desktop (using git clone/pull/commit/push) and with a git client (working copy) on my phone. The downside: I need to manually commit and push my changes and also pull them, it's not really in sync.

      26 votes
    14. Does your city have civil defense/fire/air raid sirens or similar systems?

      Heya, fellow Tildees! Given how my city (Celle in northern-ish Germany) just did the monthly test of them, I wonder how widespread they are in the rest of the world and what they're used for. Here...

      Heya, fellow Tildees!
      Given how my city (Celle in northern-ish Germany) just did the monthly test of them, I wonder how widespread they are in the rest of the world and what they're used for. Here the system's used for alerting firefighters, though they all have pagers or similar by now.
      Also I'd assume there are more modern solutions to quickly warn the population. Tell us all about it!

      14 votes
    15. In my opinion, censorship is a bad way to combat hate speech.

      (Let me make this clear before you continue reading, I don't know any good solutions) Recently, all over the internet, I feel like I am seeing more and more companies filtering out content that...

      (Let me make this clear before you continue reading, I don't know any good solutions)

      Recently, all over the internet, I feel like I am seeing more and more companies filtering out content that are considered hate speech. I personally do not like this for two reasons.

      1. I think it is a band-aid solution. People who have their voice taken away from themselves are not suddenly going to change their mind.
      2. In a way, it is a form of removing freedom of speech. Now, I understand that a lot of the companies that are censoring hate speech are doing it primarily for the sake of sponsors, but I mean this in a more broad scope.
      3. It is effectively hiding societal problems.

      I think one argument for the increased censorship is: even if it doesn't combat hate speech, it stops the spreading of hate speech. By spreading, I mean more people believing that hate speech. Though at first this could be a good idea, I think it is the wrong way to go about it. I really don't know what exactly is the right way to deal with this issue. Maybe more inclusion of different communities? Maybe education? Learn how to think critically?

      Here are a couple other things I have been thinking about, but I am not too sure about. I do not know if they are true or not, but if any of you could provide more insight, I would like to know more:

      1. Hate speech is actually lower than ever. The reason why some people feel like it is higher is because the hate speech is entering to people's bubbles through the internet. Before the internet, there was still that kind of talk, it was just in a different medium.
      2. Though not hate speech, but in a way related, with Anti-vax, the people who are most susceptible to converting to an anti-vaxxer, are parents. A lot of times these are the people who didn't grow up with the internet, the way they view the internet is not exactly how younger people view the internet. There is more doubt in what we see online between younger people than older.

      And I have had people say I must be a white upper class person to have these kinds of opinions. No. I am not white. Not upper class. I have dealt with racism in one way or another for all of my childhood, less so as an adult.

      28 votes
    16. Toxicity is a symptom, not a cause: to fix it, treat the discontent around the game, not the players reacting to it.

      Inspired by discussion here. Toxic players don't create toxic games. Toxic games create toxic players. About a year ago, I wrote up a comprehensive report on why Overwatch's community is such a...

      Inspired by discussion here.

      Toxic players don't create toxic games. Toxic games create toxic players.

      About a year ago, I wrote up a comprehensive report on why Overwatch's community is such a shitshow. Give it a read if you're at all interested in why game communities turn toxic, or if you're curious why Overwatch didn't stick longer as a phenomenon.

      (At this point, with Overwatch now past its prime and usurped by other games due in large part to reasons I described there, I'd like to also offer a nice fat 'I told you so' to actiblizz. I didn't want to stop playing...)

      The baseline question was this: Overwatch has great representation, an entertaining formula, and good messages. The game is super fun to play on the surface, and offers hundreds of hours of unique new experiences. So why is it so easily considered to have one of the most toxic competitive communities out there?

      There's no explanation or reason for why naturally toxic players would gravitate towards the title, stick around, and infect the rest of the community. Nothing about Overwatch would indicate that it was going to somehow filter out the worst of the worst and keep them for itself, and that's because - bumbudaaa! It didn't.

      Toxic players didn't infect Overwatch; Overwatch created toxic players.

      The same things can be said for basically any other huge competitive game on the market, with CS:GO, LoL, and DOTA2 being the easiest examples. Their communities are all total swamps.

      Despite this, there is virtually no game on the market which properly addresses the root cause of community-destroying toxicity: the game itself.

      I'd rather not repeat myself because that above link will do a better job of going in-depth and can be applied to a lot of games, but the baseline problem is this: games catch and ban bad apples, but do nothing to stop those bad apples from forming. Failing to realize that parts of an otherwise amazing experience are fundamentally frustrating, the focus and blame is put on the players for reacting (see above thread) in exactly the way the games are designed to make them.

      Chief among these issues? Games demand teamwork, cooperation and a community voice, but do nothing to facilitate them. Games that are designed to be fun casually will be frustrating competitively - and vice versa. Toxic communities will not form where every style of play is catered to, which is sometimes balance, but often a fundamental disconnect between what the game was built for, what's actually promised, and what the player's trying to get out of it.

      So, I'd rather send the discussion in the other direction, which is why I posted this here. Rather than blame the community, it's time to look for solutions from the actual people responsible.

      (To be clear: yes, there are assholes in the world, and yes, they play games. But the idea that the culture has only just now soured to a patch of racism and misogyny is laughable to anyone who grew up playing Xbox Live. It's been blown completely out of proportion by a fundamental discontent with games themselves, like further kindling on a fire, driven mostly by competitive culture.)

      18 votes
    17. State of WebRTC outside of major browsers

      I've been trying to set up a reliable lightweight solution for high quality, low-latency webcam (v4l2) streaming from Linux server to browsers, allowing for small (1-5) number of concurrent...

      I've been trying to set up a reliable lightweight solution for high quality, low-latency webcam (v4l2) streaming from Linux server to browsers, allowing for small (1-5) number of concurrent viewers.

      The obvious choice here is WebRTC, which when used through browser APIs, works wonderfully. It has low latency and automatic quality adjustment depending on network performance.
      I also checked out RTSP and RTMP, which are not supported without browser plugins. Next candidates were DASH and HLS, but while they provide high quality, they also have high latency.
      For a while I used MPEG1 streaming through Websockets (using jsmpeg library), which worked and had low latency, but the video quality was bad.

      Back to WebRTC - It seems like reliable, lightweight and maintained projects are really hard to find. So far I've found a few WebRTC media servers, but they're overkill for my use case:

      • Janus
      • MediaSoup
      • Kurento (unmaintained)

      I also tried implementing this functionality using low level Gstreamer elements in Python using PyGObject, but that's proving to be rather complicated with a ton of extremely low level implementation details.

      If anyone has tried doing something similar, I'd really like to hear what (if any) problems you had and if you found any sane solutions. Next thing on my list is using headless Chromium in combination with Puppeteer, but I'd really prefer more lightweight solutions.

      9 votes
    18. Comments, bumping, trees. Helping user discovering newer comments.

      Suppose you want to participate in an old post with hundreds of comments. You made your fresh new comment, injecting your thoughts and effort into it and hit the post button with hopes and dreams....

      Suppose you want to participate in an old post with hundreds of comments. You made your fresh new comment, injecting your thoughts and effort into it and hit the post button with hopes and dreams.

      The post is bumped to the top under Activity. Other tilders saw the old post on the top, they are intrigued, perhaps as much as you are and wonder what you can add to the discussion, but they couldn't find your comment.

      Why is that?

      You replied to a thread with a very old top-level comment.

      As Tildes is still relatively new, this isn't much of a issue now, but one that I feel needed to be addressed eventually as the site grows. It is certainly a low priority issue for the time being.

      Sort by new only sorts comments by the time when top-level comment is posted, which is an inherent characteristic of comment threads. If my last years of memeing on redditting has taught me anything, it is that a new post gathers the most views in the first few minutes when it was posted (This might be a few days on Tildes).

      Bumping helps extend the longevity of a given post if the thread gathers enough attention and discussion value to warrant a comment, but that alone would not alleviate the fact that new comments is seen by less and less people as the post gets older (as indicated by votes). If we want to make high-quality comments seen by more people, we need to make comment age a less limiting factor.

      Tildes needs to help its users to discover new comments.

      A few solutions come to my mind.

      1. By presenting comments in a linear fashion like the good old bulletin board does without any hierarchy such that sort by new would truly be sort by new.

      2. By highlighting ( or whichever other means ) comments that meet certain criteria (Comments that are among the latest 10 or comments that were posted within the last hour, this can vary depending on the activities of the comments)

      3. I would like to propose a novel solution to this problem by compacting the comment threads to a forest of trees with navigable nodes. This sounds totally outlandish, it might very well be, but its an idea that I think worth sharing.

      The editing is rudimentary but I hope the idea is communicated well.

      Cheers!

      15 votes
    19. Prompt for unsaved changes on iOS?

      I was just writing a different long post here and lost it all because of accidental navigation away from the page. I know the feature to prompt for unsaved changes works on desktop, but is there...

      I was just writing a different long post here and lost it all because of accidental navigation away from the page. I know the feature to prompt for unsaved changes works on desktop, but is there any way to get it working on iOS?

      Edit: maybe another solution would be to save one new topic draft in local storage, and clear the draft data on click of Save or a new Discard/Cancel button? This way if there was data on load of the new topic page, it would still be there.

      5 votes
    20. Potential issues with catch-all terms for all non-white races?

      I was just thinking about this. It has no basis in evidence or anything, it just popped into my head. Could using terms like POC that are catch-alls for all non-white races cause a rift between...

      I was just thinking about this. It has no basis in evidence or anything, it just popped into my head. Could using terms like POC that are catch-alls for all non-white races cause a rift between white people and POC? I feel like it has the potential to create a kind of "us VS. them" mentality if it hasn't already. Because it's saying you have all the races in the world, and then you have white people. I don't really have an alternative or a solution. It was just an observation I made. Of course, me being white myself, maybe there's just something I'm not understanding. I think it could spark an interesting discussion because people are bound to have many different opinions on this subject.

      22 votes
    21. Programming Challenge - Find path from city A to city B with least traffic controls inbetween.

      Previous challenges Hi, it's been very long time from last Programming Challenge, and I'd like to revive the tradition. The point of programming challenge is to create your own solution, and if...

      Previous challenges

      Hi, it's been very long time from last Programming Challenge, and I'd like to revive the tradition.

      The point of programming challenge is to create your own solution, and if you're bored, even program it in your favourite programming language. Today's challenge isn't mine. It was created by ČVUT FIKS (year 5, season 2, challenge #4).

      You need to transport plans for your quantum computer through Totalitatia. The problem is, that Totalitatia's government would love to have the plans. And they know you're going to transport the computer through the country. You'll receive number N, which denotes number of cities on the map. Then, you'll get M paths, each going from one city to another. Each path has k traffic controls. They're not that much effective, but the less of them you have to pass, the better. Find path from city A to city B, so the maximum number of traffic controls between any two cities is minimal. City A is always the first one (0) and city B is always the last one (N-1).

      Input format:

      N
      M
      A1 B1 K1
      A2 B2 K2
      ...
      

      On the first two lines, you'll get numbers N (number of cities) and M (number of paths). Than, on next M lines, you'll get definition of a path. The definition looks like 1 2 6, where 1 is id of first city and 2 is id of second city (delimited by a space). You can go from city 1 to city 2, or from city 2 to city 1. The third number (6) is number of traffic controls.

      Output format:

      Single number, which denotes maximum number of traffic controls encountered on one path.

      Hint: This means, that path that goes via roads with numbers of traffic controls 4 4 4 is better than path via roads with numbers of traffic controls 1 5 1. First example would have output 4, the second one would have output 5.

      Example:

      IN:

      4
      5
      0 1 3
      0 2 2
      1 2 1
      1 3 4
      2 3 5
      

      OUT:

      4
      

      Solution: The optimal path is either 0 2 1 3 or 0 1 3.

      Bonus

      • Describe time complexity of your algorithm.
      • If multiple optimal paths exist, find the shortest one.
      • Does your algorithm work without changing the core logic, if the source city and the target city is not known beforehand (it changes on each input)?
      • Do you use special collection to speed up minimum value search?

      Hints

      Special collection to speed up algorithm

      13 votes
    22. I want an emulation box for my TV. What options best fit my needs?

      Note: I wasn't sure whether to post this in ~games or ~tech, so if it needs to be moved, feel free to put it where it belongs! I've been playing my Playstation Classic a lot, and it's made me want...

      Note: I wasn't sure whether to post this in ~games or ~tech, so if it needs to be moved, feel free to put it where it belongs!

      I've been playing my Playstation Classic a lot, and it's made me want to setup a full emulation box for my TV. I started looking into options and quickly got in over my head, so I'm hoping you fine folks can help me sort this out.

      Caveat: I am somewhat techy, but not nearly to the same level as the average Tildes user.

      Here is a rundown for what I'm going for:

      • Systems: I want to be able to emulate up through the Dreamcast with no slowdown (or, at least, no slowdown as a result of my hardware--if it's natural to the original console or a limitation of the emulator, that's fine).

      • Input: I want to use a wireless controller for input. Ideally six face buttons and four shoulders, so that it can easily stand in for almost all common controller layouts.

      • Graphics: If possible, I'd like to be able to enhance the eye candy a bit with things like upscaling, increasing the internal resolution, and shaders. This would be nice to have, but is not a necessity. Running at fullspeed in the original with no enhancements is the target minimum, though.

      • Footprint: Something up to the size of, well, a retro game console. I don't want a full PC next to my TV, but it doesn't have to be the size of a credit card either.

      • Budget: Let's go with under $400 USD? Given the cost of a Raspberry Pi that seems like overkill, but I know the Pi can't do all the way up to N64/Dreamcast, and I'm not sure how much more power those need. That price limit is flexible if I'm being unreasonable with my expectations.

      With all that in mind, here are my questions:

      1. What hardware best suits my needs? I am not interested in building my own and am seeking pre-built solutions.

      2. What controller is best? I'd prefer to have a one-size-fits-all solution, rather than swapping them out. Six face buttons would help make the Genesis, Saturn, and N64 feel more natural, but I suspect that might be hard to come by?

      3. It looks like Retroarch is definitely the way to go for easy setup, but there seem to be a lot of different standalone options (e.g. Lakka, RetroPie, Recalbox). Which one should I go with? I should add that I really only care about ease of use and simplicity. I do not need something flashy, and the less friction in both setup and use, the better.

      4. Any other tips, pieces of advice, or resources? I don't have a lot of experience with emulation, so a lot of this is uncharted territory for me, hence my uncertainty and need for guidance.

      11 votes
    23. Thoughts on the idea of "subscribing" to a topic?

      Basically, the ability to receive a notification whenever someone comments on a subscribed topic. Currently, there is a save option (Unless it's been removed? I'm looking now and can't seem to...

      Basically, the ability to receive a notification whenever someone comments on a subscribed topic. Currently, there is a save option (Unless it's been removed? I'm looking now and can't seem to find it) which makes for a decent solution for the time being, but personally I know how easy it is to forget all about what you have saved and have it fly completely under your radar. I, for one, think it would be a good idea if you could subscribe to a topic you're interested so you don't completely forget and miss some discussion.

      15 votes
    24. 3D Printed Dungeon Tile Recommendations

      So I'm running a D&D 5e campaign, and so far have been doing "theatre of the mind". But it has it's limitations when I want the players to use actual combat strategy in some areas. I have...

      So I'm running a D&D 5e campaign, and so far have been doing "theatre of the mind". But it has it's limitations when I want the players to use actual combat strategy in some areas. I have experience a few years ago with using a 25mm paper grid for 3.5e and Pathfinder, which worked well because it was quick to draw a map with whiteboard marker.

      Now I have a 3D printer, and I'm wondering if anyone has any dungeon tile recommendations, considering the following:

      Firstly, are there any systems that are quick to assemble/disassemble as the players discover new rooms, or we need to clear table space?

      Second, stability of the map is important. If a player knocks the map with their hand, will everything collapse, simply shift slightly, or is it rigidly held together?

      Third, community: A larger community that contributes (and takes contributions) would be better than a propriety system that doesn't allow homebrew designs.

      I've seen a few systems (openlock, openforge, and almost any keyword combination that I can think of is on kickstarter), but I'm finding it hard to get a feel for how popular the systems are, and how well they actually work when on the table.

      Does anyone have any recommendations on a good system? I guess i'm most interested in the game flowing smoothly, but I'm not opposed to going to a blank paper grid if that's really the better solution.

      8 votes
    25. What is your first-hand experience with the "Dunning–Kruger effect"?

      In the field of psychology, the Dunning–Kruger effect is a cognitive bias in which people of low ability have illusory superiority and mistakenly assess their cognitive ability as greater than it...

      In the field of psychology, the Dunning–Kruger effect is a cognitive bias in which people of low ability have illusory superiority and mistakenly assess their cognitive ability as greater than it is. The cognitive bias of illusory superiority comes from the inability of low-ability people to recognize their lack of ability. Without the self-awareness of metacognition, low-ability people cannot objectively evaluate their competence or incompetence. (Wikipedia)

      Some of my fellow programmers seem to think the world turns around their knowledge as if there was no valid reasoning whatsoever beyond math and computer science. They seem to think logic (a tool with multiple uses which exists since at least 380 BC) is merely an attribute of computer science. It's not uncommon for them to think they can understand the intricacies of every phenomenon under the sun.

      I have to control myself to avoid countering each of their flawed arguments. To my own detriment, I'm not always able to do so. I feel surrounded by arrogance and cognitive bias, and have to silence my better judgment in order to avoid constant conflict.

      To be clear, I'm not looking for advice, as I already know the "solution", which is no solution. You can't use reason to fight something that is not motivated by reason. I'm posting to know your stories and maybe find some solace in the knowledge that I'm not alone.

      Have you ever had to deal directly with people who grossly inflate their own competence, possibly stretching it to an unrelated field? if so, what's your story?

      20 votes
    26. On Thorium Power (and the 'hype' thereof)

      I've noticed, particularly on reddit but also elsewhere on the english-speaking internet, that thorium nuclear (MSR/LFTR) power is being hyped. And I can't help but feel suspicious. It seems too...

      I've noticed, particularly on reddit but also elsewhere on the english-speaking internet, that thorium nuclear (MSR/LFTR) power is being hyped. And I can't help but feel suspicious. It seems too good to be true. "burns our nuclear waste", "infinite fuel", "Absolutely safe", "Proliferation is not an issue". Stuff like that. Not gonna provide much evidence for those claims existing here, but I'll say that you can usually find them in any big thread involving energy sources and there's a few TED talks too. Coal, conventional nuclear, renewables, any of those is apparently strictly inferior and we're complete morons for not switching already. Coal apparently causes more damage through radiation than nuclear, nuclear is dirty and renewables need something... anything.. to keep them company in case we can't get enough wind/sun. (Also, batteries and hydroelectric storage don't exist.)

      German wikipedia has this to say about thorium hype: "Der MSR/LFTR als Teil einer Thoriumnutzung erhält etwa seit dem Jahr 2010 insbesondere im angelsächsischen Raum starke Unterstützung verschiedener Organisationen, während Nuklear- und Energieexperten eher zurückhaltend sind. Einige dieser Befürworter halten den LFTR sogar für die Lösung fast aller Energieprobleme.[2][3][4][5] Kritiker sprechen aus unterschiedlicher Motivation heraus vom MSR- oder Thorium-Hype[6] oder sogar von Astroturfing[7]." - https://de.wikipedia.org/wiki/Fl%C3%BCssigsalzreaktor - paraphrased: MSR/LFTR received strong support in english-speaking areas by various orgs, while nuclear- and energy experts are mostly silent. Some supporters regard LFTR as solution to all energy problems. For various reasons, critics call thorium hyped or even astroturfed. [citations are mostly english, for the curious]

      Meanwhile, there's major problems regarding practicality, we can't estimate just how secure it is (keep in mind modern reactor concepts are all "theoretically safe" as long as you keep the human out of the loop and maintain the facility properly.) Proliferation risks of thorium fueled reactors are immense due to U233 (232-contamination doesn't make the weapon less dangerous when used, just more dangerous to handle.). Also, no serious evidence for the capability to burn nuclear waste. And decommissioning a thorium plant seems, as of now, to be just as much of a shit job as a conventional nuclear plant - if not worse.

      My main question with this is: How do you view thorium power / did you notice the same trends as I did? I'm just trying to form a conclusion between the hype and a maybe cynical pessimism.

      18 votes
    27. I'm gonna start as an algorithms monitor at my college, looking for tips on how to better help the students

      I don't know what is the correct word in English, but I'll be one of those guys who will teach a "class" consisting on answering questions and guiding them through the exercises. The content is...

      I don't know what is the correct word in English, but I'll be one of those guys who will teach a "class" consisting on answering questions and guiding them through the exercises.

      The content is very basic algorithms in C, so things like functions, pointers, and structs are off the scope. Here is the repo I made with the solutions for last semester. I'm starting in the second semester, so I have everything fresh in my memory.

      I welcome anything you can give but I'm not necessarily seeking technical advice since the teachers have that covered. What I'd really like to know is what you consider to be some good examples, attitudes, and approaches for this particular position. Thanks.

      7 votes
    28. A Brief Look at Webhook Security

      Preface Software security is one of those subjects that often gets overlooked, both in academia and in professional projects, unless you're specifically working with some existing security-related...

      Preface

      Software security is one of those subjects that often gets overlooked, both in academia and in professional projects, unless you're specifically working with some existing security-related element (e.g. you're taking a course on security basics, or updating your password hashing algorithm). As a result, we frequently see stories of rather catastrophic data leaks from otherwise reputable businesses, leaks which should have been entirely preventable with even the most basic of safeguards in place.

      With that in mind, I thought I would switch things up and discuss something security-related this time.


      Background

      It's commonplace for complex software systems to avoid unnecessarily large expenses, especially in terms of technical debt and the capital involved in the initial development costs of building entire systems for e.g. geolocation or financial transactions. Instead of reinventing the wheel and effectively building a parallel business, we instead integrate with existing third-party systems, typically by using an API.

      The problem, however, is that sometimes these third-party systems process requests over a long period of time, potentially on the order of minutes, hours, days, or even longer. If, for example, you have users who want to purchase something using your online platform, then it's not a particularly good idea to having potentially thousands of open connections to that third-party system all sitting there waiting multiple business days for funds to clear. That would just be stupid. So, how do we handle this in a way that isn't incredibly stupid?

      There are two commonly accepted methods to avoid having to wait around:

      1. We can periodically contact the third-party system and ask for the current status of a request, or
      2. We can give the third-party system a way to contact us and let us know when they're finished with a request.

      Both of these methods work, but obviously there will be a potentially significant delay in #1 between when a request finishes and when we know that it has finished (with a maximum delay of the wait time between status updates), whereas in #2 that delay is practically non-existent. Using #1 is also incredibly inefficient due to the number of wasted status update requests, whereas #2 allows us to avoid that kind of waste. Clearly #2 seems like the ideal option.

      Method #2 is what we call a webhook.


      May I see your ID?

      The problem with webhooks is that when you're implementing one, it's far too easy to forget that you need to restrict access to it. After all, that third-party system isn't a user, right? They're not a human. They can't just give us a username and password like we want them to. They don't understand the specific requirements for our individual, custom-designed system.

      But what happens if some malicious actor figures out what the webhook endpoint is? Let's say that all we do is log webhook requests somewhere in a non-capped file or database table/collection. Barring all other possible attack vectors, we suddenly find ourselves susceptible to that malicious actor sending us thousands, possibly millions of fraudulent data payloads in a small amount of time thanks to a botnet, and now our server's I/O utilization is spiking and the entire system is grinding to a halt--we're experiencing a DDoS!

      We don't want just anyone to be able to talk to our webhook. We want to make sure that anyone who does is verified and trusted. But since we can't require a username and password, since we can't guarantee that the third-party system will even know how to make use of them, what can we do?

      The answer is to use some form of token-based authentication--we generate a unique token, kind of like an ID card, and we attach it to our webhook endpoint (e.g. https://example.com/my_webhook/{unique_token}). We can then check that token for validity every time someone touches our webhook, ensuring that only someone we trust can get in.


      Class is in Session

      Just as there are two commonly accepted models for how to handle receiving updates from third-party systems, there are also two common models for how to assign a webhook to those systems:

      1. Hard-coding the webhook in your account settings, or
      2. Passing a webhook as part of request payload.

      Model #1 is, in my experience, the most common of the two. In this model, our authentication token is typically directly linked to some user or user-like object in our system. This token is intended to be persisted and reused indefinitely, only scrapped in the event of a breach or a termination of integration with the service that uses it. Unfortunately, if the token is present within the URL, it's possible for your token to be viewed in plaintext in your logs.

      In model #2, it's perfectly feasible to mirror the behavior of model #1 by simply passing the same webhook endpoint with the same token in every new request; however, there is a far better solution. We can, instead, generate a brand new token for each new request to the third-party system, and each new token can be associated with the request itself on our own system. Rather than only validating the token itself, we then validate that the token and the request it's supposed to be associated with are both valid. This ensures that even in the event of a breach, a leaked authentication token's extent of damage is limited only to the domain of the request it's associated with! In addition, we can automatically expire these tokens after receiving a certain number of requests, ensuring that a DDoS using a single valid token and request payload isn't possible. As with model #1, however, we still run into problems of token exposure if the token is present in the URL.

      Model #2 treats each individual authentication token not as a session for an entire third-party system, but as a session for a single request on that system. These per-request session tokens require greater effort to implement, but are inherently safer due to the increased granularity of our authentication and our flexibility in allowing ourselves to expire the tokens at will.


      Final Thoughts

      Security is hard. Even with per-request session tokens, webhooks still aren't as secure as we might like them to be. Some systems allow us to define tokens that will be inserted into the request payload, but more often than not you'll find that only a webhook URL is possible to specify. Ideally we would stuff those tokens right into the POST request payload for all of our third-party systems so they would never be so easily exposed in plaintext in log files, but legacy systems tend to be slow to catch up and newer systems often don't have developers with the security background to consider it.

      Still, as far as securing webhooks goes, having some sort of cryptographically secure authentication token is far better than leaving the door wide open for any script kiddie having a bad day to waltz right in and set the whole place on fire. If you're integrating with any third-party system, your job isn't to make it impossible for them to get their hands on a key, but to make it really difficult and to make sure you don't leave any gasoline lying around in case they do.

      8 votes
    29. Where should I put the 2FA recovery code for my password manager?

      So I have all my passwords, TOTP backup codes, and account recovery codes in my password manager (Bitwarden.) In turn, Bitwarden is secured with a master password and TOTP 2FA. I have a recovery...

      So I have all my passwords, TOTP backup codes, and account recovery codes in my password manager (Bitwarden.) In turn, Bitwarden is secured with a master password and TOTP 2FA. I have a recovery code for the 2FA in the event that I can't get to andOTP anymore (2FA app.) The thing is, where do I put that code? I can't put it in a note app or anything, because if I'm locked out of Bitwarden, I don't have my passwords. Do you see my problem? I was thinking about physically writing it down, but that makes me nervous because I might lose it. Are there any good solutions to this problem?

      9 votes
    30. Suburbs and car centric urban design is the worst mistake in modern history

      Designing our countries to accommodate cars as much as possible has been one of the most destructive things to our health, environment, safety and social connectedness. The damage has spread so...

      Designing our countries to accommodate cars as much as possible has been one of the most destructive things to our health, environment, safety and social connectedness. The damage has spread so far and deep that it has reached a crisis point in most developed cities in almost every country. The suburbs we live in are subjected to strict zoning laws baring any form of high density building and any form of mixed zoning. As a result our houses are spaced so far away from each other and from the essential services we need that unless you own a car you are blocked from having a normal life. The main streets full of independent stores and markets have all been killed by megamalls 30km away from where people live with carparks bigger than most park lands. All of this was caused by car usage pushing our societies further and further apart to the point where many people find it acceptable and normal to drive 40km each direction to work each day.

      One of the more devastating effects of this urban sprawl is the supermarket has been moved so far away that most people avoid going as much as possible and limit it to a single trip every 1-2 weeks. Fresh food does not last 1-2 weeks which leaves people throwing out mountains of spoiled food that wasn't eaten in time as well as the move to processed foods packed full of preservatives. As well as a shift to people buying dinner from drive through takeaway franchises because their hour long commute has left them with little time to cook fresh and healthy foods.

      Owning a car in many countries is seen as the only way to get a job. This locks the poor from ever regaining control of their life because the cost of owning and maintaining a car is higher than most of these people get in an entire year. Our city streets which should be places of vibrant liability have become loud, unsafe and toxic.

      Elon and his electric cars solve none of these issues. Electric cars are not the way of the future. They don't even solve air pollution issues entirely because a large part of air pollution is brake pad fibres and tire wear which is proportional to the vehicles weight. And these Teslas are not light.

      The only solution is reducing personal vehicle usage as much as possible in urban areas. Of course there will always be some people who will genuinely need vehicles such as in rural areas but there is simply no reason to have the average person drive to and from their office or retail job every day. Its wasteful and harmful in so many ways.

      There needs to be a huge push to reclaim our cities and living spaces to bring back the liveability that we could have had. In my city some of the side streets were closed to cars and the change was incredible. Plants and seating filled the spots that would have once been a row of free parking. The streets are filled with the sounds of laughter instead of the roar of motors. The local pubs and cafes have benefited hugely. They didn't benefit at all from street side car parks that were always filled by people who have done 5 laps of the city looking for an empty park and do not intend to shop there.

      What is everyone's opinion on this topic and what can we do about it?

      64 votes
    31. Any advice for a first time DM?

      I started playing D&D a few months ago at adventure league, and I've had a ton of fun. The problem, however, is that more of my friends want to come with me than there is room for at my AL table....

      I started playing D&D a few months ago at adventure league, and I've had a ton of fun. The problem, however, is that more of my friends want to come with me than there is room for at my AL table. The solution is obviously to host my own game, so I got the starter pack and DM guide on amazon(D&D stuff is heavily discounted right now!). We decided not to use the premades, and I've already helped most of them build their own characters.

      Anyway, this will be my first time playing as the game master, and many of my friends first times playing D&D at all. Any advice to make it a smooth and fun experience?

      19 votes
    32. An Alternative Approach to Configuration Management

      Preface Different projects have different use cases that can ultimately result in common solutions not suiting your particular needs. Today I'm going to diverging a bit from my more abstract,...

      Preface

      Different projects have different use cases that can ultimately result in common solutions not suiting your particular needs. Today I'm going to diverging a bit from my more abstract, generalized topics on code quality and instead focus on a specific project structure example that I encountered.


      Background

      For a while now, I've found myself being continually frustrated with the state of my project configuration management. I had a single configuration file that would contain all of the configuration options for the various tools I've been using--database, API credentials, etc.--and I kept running into the problem of wanting to test these tools locally while not inadvertently committing and pushing sensitive credentials upstream. For me, part of my security process is ensuring that sensitive access credentials never make it into the repository and to limit access to these credentials to only people who need to be able to access them.


      Monolithic Files Cause Monolithic Pain

      The first thing I realized was that having a single monolithic configuration file was just terrible practice. There are going to be common configuration options that I want to have in there with default values, such as local database configuration pointing to a database instance running on the same VM as the application. These should always be in the repo, otherwise any dev who spins up an instance of the VM will need to manually tread documentation and copy-paste the missing options into the configuration. This would be incredibly time-consuming, inefficient, and stupid.

      I also use different tools which have different configuration options associated with them. Having to dig through a single file containing configuration options for all of these tools to find the ones I need to modify is cumbersome at best. On top of that, having those common configuration options living in the same place that sensitive access credentials do is just asking for a rogue git commit -A to violate the aforementioned security protocol.


      Same Problem, Different Structure

      My first approach to resolving this problem was breaking the configuration out into separate files, one for each distinct tool. In each file, a "skeleton" config was generated, i.e. each option was given a default empty value. The main config would then only contain config options that are common and shared across the application. To avoid having the sensitive credentials leaked, I then created rules in the .gitignore to exclude these files.

      This is where I ran into problem #2. I learned that this just doesn't work. You can either have a file in your repo and have all changes to that file tracked, have the file in your repo and make a local-only change to prevent changes from being tracked, or leave the file out of the repo completely. In my use case, I wanted to be able to leave the file in the repo, treat it as ignored by everyone, and only commit changes to that file when there was a new configuration option I wanted added to it. Git doesn't support this use case whatsoever.

      This problem turned out to be really common, but the solution suggested is to have two separate versions of your configuration--one for dev, and one for production--and to have a flag to switch between the two. Given the breaking up of my configuration, I would then need twice as many files to do this, and given my security practices, this would violate the no-upstream rule for sensitive credentials. Worse still, if I had several different kinds of environments with different configuration--local dev, staging, beta, production--then for m such environments and n configuration files, I would need to maintain n*m separate files for configuration alone. Finally, I would need to remember to include a prefix or postfix to each file name any time I needed to retrieve values from a new config file, which is itself an error-prone requirement. Overall, there would be a substantial increase in technical debt. In other words, this approach would not only not help, it would make matters worse!


      Borrowing From Linux

      After a lot of thought, an idea occurred to me: within Linux systems, there's an /etc/skel/ directory that contains common files that are copied into a new user's home directory when that user is created, e.g. .bashrc and .profile. You can make changes to these files and have them propagate to new users, or you can modify your own personal copy and leave all other new users unaffected. This sounds exactly like the kind of behavior I want to emulate!

      Following their example, I took my $APPHOME/config/ directory and placed a skel/ subdirectory inside, which then contained all of the config files with the empty default values within. My .gitignore then looked something like this:

      $APPHOME/config/*
      !$APPHOME/config/main.php
      !$APPHOME/config/skel/
      !$APPHOME/config/skel/*
      # This last one might not be necessary, but I don't care enough to test it without.
      

      Finally, on deploying my local environment, I simply include a snippet in my script that enters the new skel/ directory and copies any files inside into config/, as long as it doesn't already exist:

      cd $APPHOME/config/skel/
      for filename in *; do
          if [ ! -f "$APPHOME/config/$filename" ]; then
              cp "$filename" "$APPHOME/config/$filename"
          fi
      done
      

      (Note: production environments have a slightly different deployment procedure, as local copies of these config files are saved within a shared directory for all releases to point to via symlink.)

      All of these changes ensure that only config/main.php and the files contained within config/skel/ are whitelisted, while all others are ignored, i.e. our local copies that get stored within config/ won't be inadvertently committed and pushed upstream!


      Final Thoughts

      Common solutions to problems are typically common for a good reason. They're tested, proven, and predictable. But sometimes you find yourself running into cases where the common, well-accepted solution to the problem doesn't work for you. Standards exist to solve a certain class of problems, and sometimes your problem is just different enough for it to matter and for those standards to not apply. Standards are created to address most cases, but edge cases will always exist. In other words, standards are guidelines, not concrete rules.

      Sometimes you need to stop thinking about the problem in terms of the standard approach to solving it, and instead break it down into its most abstract, basic form and look for parallels in other solved problems for inspiration. Odds are the problem you're trying to solve isn't as novel as you think it is, and that someone has probably already solved a similar problem before. Parallels, in my experience, are usually a pretty good indicator that you're on the right track.

      More importantly, there's a delicate line to tread between needing to use a different approach to solving an edge case problem you have, and needing to restructure your project to eliminate the edge case and allow the standard solution to work. Being able to decide which is more appropriate can have long-lasting repercussions on your ability to manage technical debt.

      16 votes
    33. Programming Challenge - It's raining!

      Hi everyone, it's been 12 days since last programming challenge. So here's another one. The task is to make an algorithm that'll count how long would it take to fill system of lakes with water....

      Hi everyone, it's been 12 days since last programming challenge. So here's another one. The task is to make an algorithm that'll count how long would it take to fill system of lakes with water.

      It's raining in the forest. The forest is full of lakes, which are close to each other. Every lake is below the previous one (so 1st lake is higher than 2nd lake, which is higher than 3rd lake). Lakes are empty at the beginning, and they're filling at rate of 1l/h. Once a lake is full, all water that'd normally fall into the lake will flow to the next lake.

      For example, you have lakes A, B, and C. Lake A can hold 1 l of water, lake B can hold 3 l of water and lake C can hold 5 l of water. How long would it take to fill all the lakes?
      After one hour, the lakes would be: A (1/1), B (1/3), C(1/5). After two hours, the lakes would be: A(1/1), B(3/3), C(2/5) (because this hour, B received 2l/h - 1l/h from the rain and 1l/h from lake A). After three hours, the lakes would be: A(1/1), B(3/3), C(5/5). So the answer is 3. Please note, that the answer can be any rational number. For example if lake C could hold only 4l instead of 5, the answer would be 2.66666....

      Hour 0:

      
      \            /
        ----(A)----
                             \                /
                              \              /
                               \            /
                                ----(B)----
                                                   \           /
                                                    \         /
                                                     \       /
                                                     |       |
                                                     |       |
                                                      --(C)--
      

      Hour 1:

      
      \============/
        ----(A)----
                             \                /
                              \              /
                               \============/
                                ----(B)----
                                                   \           /
                                                    \         /
                                                     \       /
                                                     |       |
                                                     |=======|
                                                      --(C)--
      

      Hour 2:

                  ==============
      \============/           |
        ----(A)----            |
                             \================/
                              \==============/
                               \============/
                                ----(B)----
                                                   \           /
                                                    \         /
                                                     \       /
                                                     |=======|
                                                     |=======|
                                                      --(C)--
      

      Hour 3:

                  ==============
      \============/           |
        ----(A)----            |             ========
                             \================/       |
                              \==============/        |
                               \============/         |
                                ----(B)----           |
                                                   \===========/
                                                    \=========/
                                                     \=======/
                                                     |=======|
                                                     |=======|
                                                      --(C)--
      

      Good luck everyone! Tell me if you need clarification or a hint. I already have a solution, but it sometimes doesn't work, so I'm really interested in seeing yours :-)

      21 votes
    34. News and articles linked on Tildes

      I've been thinking about my experience on Tildes with news and articles. It's mostly been seeing high quality content and discussion that I'm happy with. However for the sake of this, I want to...

      I've been thinking about my experience on Tildes with news and articles. It's mostly been seeing high quality content and discussion that I'm happy with. However for the sake of this, I want to discuss avoiding something negative.

      Lately I've noticed news and articles with headlines that I feel are biasing in nature and potentially inflammatory.

      I would guess that we're all pretty familiar with this method in general. At some point when a forum/aggregate becomes large enough it provides an profitable opportunity for third parties to distribute content. Or an individual is pursuing their fulfillment of a personal ideal.

      I have a few suggestion to handle the issues productively.


      News sources that put a higher priority on traffic versus their reputation tend to do so consistently. It would be valuable for users to be required to tag the parent domain when posting external links to allow users to discern sources case by case using tags.

      Blocking something a news source versus <inciting-phrase> has the benefit of allowing higher quality sources mentioning the same topic to have an impact on the user. That's potentially very valuable in encouraging informed perspective.


      Linking news and articles for commercial or personally motivated reasons is posted on subs that have a marginal relation. E.g. Posting a story on Mike Pence denouncing all white men working in agriculture in an agriculture sub. The connection can certainly be made but I don't think that's a good way of organizing that information. I think it would be more productive to post that in a news or news/political thread. Having the ability to choose when we see and engage with that type of content is important. It benefits the individual and encourages healthy and engaged communities.


      Blocking users ( I wasn't sure if this existed ) Alternatively, a system for linked content reputation per user. But I think that's a bad solution overall.
      I meant filtering users content and comments as a preference for users. I'm not talking about site wide.


      I'm curious if other Tilde users agree with my issues or suggestions.

      13 votes
    35. Light Analysis of a Recent Code Refactor

      Preface In a previous topic, I'd covered the subject of a few small lessons regarding code quality. Especially important was the impact on technical debt, which can bog down developer...

      Preface

      In a previous topic, I'd covered the subject of a few small lessons regarding code quality. Especially important was the impact on technical debt, which can bog down developer productivity, and the need to pay down on that debt. Today I would like to touch on a practical example that I'd encountered in a production environment.


      Background

      Before we can discuss the refactor itself, it's important to be on the same page regarding the technologies being used. In my case, I work with PHP utilizing a proprietary back-end framework and MongoDB as our database.

      PHP is a server-side scripting language. Like many scripting languages, it's loosely typed. This has some benefits and drawbacks.

      MongoDB is a document-oriented database. By default it's schema-less, allowing you to make any changes at will without an update to schema. This can blend pretty well with the loose typing of PHP. Each document is represented using a JSON-like structure and is stored in something called a "collection". For those of you accustomed to using relational database, a "collection" is analogous to a table, each document is a row, and each field in the document is a column. A typical query in the MongoDB shell would look something like this:

      db.users.findOne({
          username: "Emerald_Knight"
      });
      

      The framework itself has some framework-specific objects that are held in global references. This makes them easily accessible, but naturally littering your code with a bunch of globals is both error-prone and an eyesore.


      Unexpected Spaghetti

      In my code base are a number of different objects that are designed to handle basic CRUD-like operations on their associated database entries. Some of these objects hold references to other objects, so naturally there is some data validation that occurs to ensure that the references are both valid and authorized. Pretty typical stuff.

      What I noticed, however, is that the collection names for these database entries were littered throughout my code. This isn't necessarily a bad thing, except there were some use cases that came to mind: what if it turned out that my naming for one or more of these collections wasn't ideal? What if I wanted to change a collection name for the sake of easier management on the database end? What if I have a tendency to forget the name of a database collection and constantly have to look it up? What if I make a typo of all things? On top of that, the framework's database object was stored in a global variable.

      These seemingly minor sources of technical debt end up adding up over time and could cause some serious problems in the worst case. I've had breaking bugs make their way passed QA in the past, after all.


      Exchanging Spaghetti for Some Light Lasagna

      The problem could be characterized simply: there were scoping problems and too many references to what were essentially magic strings. The solution, then, was to move the database object reference from global to local scope within the application code and to eliminate the problem of magic strings. Additionally, it's a good idea to avoid polluting the namespace with an over-reliance on constants, and using those constants for database calls can also become unsightly and difficult to follow as those constants could end up being generally disconnected from the objects they're associated with.

      There turned out to be a nice, object-oriented, very PHP-like solution to this problem: a so-called "magic method" named "__call". This method is invoked whenever an "inaccessible" method is called on the object. Using this method, a database command executed on a non-database object could pass the command to the database object itself. If this logic were placed within an abstract class, the collection could then be specified simply as a configuration option in the inheriting class.

      This is what such a solution could look like:

      <?php
      
      abstract class MyBaseObject {
      
          protected $db = null;
          protected $collection_name = null;
      
          public function __construct() {
              global $db;
              
              $this->db = $db;
          }
      
          public function __call($method_name, $args) {
              if(method_exists($this->db, $method_name)) {
                  return $this->executeDatabaseCommand($method_name, $args);
              }
      
              throw new Exception(__CLASS__ . ': Method "' . $method_name . '" does not exist.');
          }
      
          public function executeDatabaseCommand($command, $args) {
              $collection = $this->collection_name;
              $db_collection = $this->db->$collection;
      
              return call_user_func_array(array($db_collection, $command), $args);
          }
      }
      
      class UserManager extends MyBaseObject {
          protected $collection_name = 'users';
      
          public function __construct() {
              parent::__construct();
          }
      }
      
      $user_manager = new UserManager();
      $my_user = $user_manager->findOne(array('username'=>'Emerald_Knight'));
      
      ?>
      

      This solution utilizes a single parent object which transforms a global database object reference into a local one, eliminating the scope issue. The collection name is specified as a class property of the inheriting object and only used in a single place in the parent object, eliminating the magic string and namespace polluting issues. Any time you perform queries on users, you do so by using the UserManager class, which guarantees that you will always know that your queries are being performed on the objects that you intend. And finally, if the collection name for an object class ever needs to be updated, it's a simple matter of modifying the single instance of the class property $collection_name, rather than tracking down some disconnected constant.


      Limitations

      This, of course, doesn't solve all of the existing problems. After all, executing the database queries for one object directly from another is still pretty bad practice, violating the principle of separation of concerns. Instead, those queries should generally be encapsulated within object methods and the objects themselves given primary responsibility in handling associated data. It's also incredibly easy to inadvertently override a database method, e.g. defining a findOne() method on UserManager, so there's still some mindfulness required on the part of the programmer.

      Still, given the previous alternative, this is a pretty major improvement, especially for an initial refactor.


      Final Thoughts

      As always, technical debt is both necessary and inevitable. After all, in exchange for not taking the excess time and considering structuring my code this way in the beginning, I had greater initial velocity to get the project off of the ground. What's important is continually reviewing your code as you're building on top of it so that you can identify bottlenecks as they begin to strain your efficiency, and getting those bottlenecks out of the way.

      In other words, even though technical debt is often necessary and is certainly inevitable, it's important to pay down on some of that debt once it starts getting expensive!

      7 votes
    36. XML Data Munging Problem

      Here’s a problem I had to solve at work this week that I enjoyed solving. I think it’s a good programming challenge that will test if you really grok XML. Your input is some XML such as this:...

      Here’s a problem I had to solve at work this week that I enjoyed solving. I think it’s a good programming challenge that will test if you really grok XML.

      Your input is some XML such as this:

      <DOC>
      <TEXT PARTNO="000">
      <TAG ID="3">This</TAG> is <TAG ID="0">some *JUNK* data</TAG> .
      </TEXT>
      <TEXT PARTNO="001">
      *FOO* Sometimes <TAG ID="1">tags in <TAG ID="0">the data</TAG> are nested</TAG> .
      </TEXT>
      <TEXT PARTNO="002">
      In addition to <TAG ID="1">nested tags</TAG> , sometimes there is also <TAG ID="2">junk</TAG> we need to ignore .
      </TEXT>
      <TEXT PARTNO="003">*BAR*-1
      <TAG ID="2">Junk</TAG> is marked by uppercase characters between asterisks and can also optionally be followed by a dash and then one or more digits . *JUNK*-123
      </TEXT>
      <TEXT PARTNO="004">
      Note that <TAG ID="4">*this*</TAG> is just emphasized . It's not <TAG ID="2">junk</TAG> !
      </TEXT>
      </DOC>
      

      The above XML has so-called in-line textual annotations because the XML <TAG> elements are embedded within the document text itself.

      Your goal is to convert the in-line XML annotations to so-called stand-off annotations where the text is separated from the annotations and the annotations refer to the text via slicing into the text as a character array with starting and ending character offsets. While in-line annotations are more human-readable, stand-off annotations are equally machine-readable, and stand-off annotations can be modified without changing the document content itself (the text is immutable).

      The challenge, then, is to convert to a stand-off JSON format that includes the plain-text of the document and the XML tag annotations grouped by their tag element IDs. In order to preserve the annotation information from the original XML, you must keep track of each <TAG>’s starting and ending character offset within the plain-text of the document. The plain-text is defined as the character data in the XML document ignoring any junk. We’ll define junk as one or more uppercase ASCII characters [A-Z]+ between two *, and optionally a trailing dash - followed by any number of digits [0-9]+.

      Here is the desired JSON output for the above example to test your solution:

      {
        "data": "\nThis is some data .\n\n\nSometimes tags in the data are nested .\n\n\nIn addition to nested tags , sometimes there is also junk we need to ignore .\n\nJunk is marked by uppercase characters between asterisks and can also optionally be followed by a dash and then one or more digits . \n\nNote that *this* is just emphasized . It's not junk !\n\n",
        "entities": [
          {
            "id": 0,
            "mentions": [
              {
                "start": 9,
                "end": 18,
                "id": 0,
                "text": "some data"
              },
              {
                "start": 41,
                "end": 49,
                "id": 0,
                "text": "the data"
              }
            ]
          },
          {
            "id": 1,
            "mentions": [
              {
                "start": 33,
                "end": 60,
                "id": 1,
                "text": "tags in the data are nested"
              },
              {
                "start": 80,
                "end": 91,
                "id": 1,
                "text": "nested tags"
              }
            ]
          },
          {
            "id": 2,
            "mentions": [
              {
                "start": 118,
                "end": 122,
                "id": 2,
                "text": "junk"
              },
              {
                "start": 144,
                "end": 148,
                "id": 2,
                "text": "Junk"
              },
              {
                "start": 326,
                "end": 330,
                "id": 2,
                "text": "junk"
              }
            ]
          },
          {
            "id": 3,
            "mentions": [
              {
                "start": 1,
                "end": 5,
                "id": 3,
                "text": "This"
              }
            ]
          },
          {
            "id": 4,
            "mentions": [
              {
                "start": 289,
                "end": 295,
                "id": 4,
                "text": "*this*"
              }
            ]
          }
        ]
      }
      

      Python 3 solution here.

      If you need a hint, see if you can find an event-based XML parser (or if you’re feeling really motivated, write your own).

      4 votes
    37. Talking about identity/cultural appropriation, how to navigate life?

      DISCLAIMER: The reason I’m writing it is that there are some things I’m afraid to ask IRL to not be labeled as “not woke enough” but I honestly want to learn the whys and hows of some things....

      DISCLAIMER: The reason I’m writing it is that there are some things I’m afraid to ask IRL to not be labeled as “not woke enough” but I honestly want to learn the whys and hows of some things. Incidentally that’s something I think could be improved in “leftist” circles, because if people feel they can’t say things but don’t get chances to actually change their minds it’s just a bandage and not a solution IMHO (plus this whole idea that people have to be perfect and not make a single mistake is really counterproductive I think). On the other hand, I understand it’s not the job of a minority/oppressed population to educate the “other”, but at this point, my questions are mainly in the edges and all the info I see online is actually not consistent. Hopefully, I won’t say anything horribly wrong lol.

      1. My first “friction” is with the whole concept of cultural appropriation. I don't know if you've read the Cosmopolitan article on "don't dress your kid as Moana this Halloween". But that article pointed to another article by a Fiji woman that said it's OK to dress as Moana as long as you don't try to copy traditional garbs, etc.. I usually understand the points of view but in this case (as well as in the recent case of the qipao) it seems that even the affected people don't agree on the gravity of the thing. I've also seen discussions on whether it's appropriate for a white kid to dress up as The Black Panther (obv no blackface) and I've seen more white people saying it's "cultural appropriation" than black people saying that. There are some blatant cases like blackface, or wearing religious/spiritual stuff to a party, or using the “n” word, and it's obvious to me why shouldn’t they be done, but other cases seem to be more about “well if you’re doing this and you’re only doing because it’s cool then it’s bad”. Which I can relate to but yeah, it doesn’t feel very productive.

      My usual approach with cultural appropriation and correct behavior is “I’ll do it if I think it’s not offensive and if someone complains or tells me it is offensive I’ll learn and not do it again or ask for permission” (for example I give dap to some black friends who initiated it, but I won’t give dap to a random person I just met). How do you navigate this? How do you navigate the pieces of your identity that you feel are misrepresented (and sometimes ridiculed) and how do you navigate your interpretations of other identities? Since I’m asking controversial stuff, could someone explain to me why drag isn’t offensive? Isn’t it men dressing up as women and taking feminine stereotypes to the extreme? Like, I enjoy RuPaul but I’m always wondering why people find it cool.

      1. Speaking of identity, what forms an identity? I mean, if I start going deep then I am the only person with my identity, and I have problems and people hurt me and I hurt people, but we usually get around it by talking, empathizing, and not assuming the worst of each other all the time. But if I look at certain pieces of my identity: I’m poor, I grew up in a violent city, I had to be ultramasculine to survive, I am a woman, I am not white, I have a disability, I have BPD, I know how to code… In each of these facets I have reasons to feel “oppressed” or “guilty”, to feel like I’m a “victim” or to feel like I’m an “oppressor”. But none of these thoughts really give me much to do about it other than masturbating to my self-pity or self-righteousness. Furthermore, whatever all the things I am I’m also a member of a society that I think has the potential to get better if we all row together. So how do we combine the fact that we are all individuals but at the same time we have all these identities that make us feel angry/sad/guilty and at the same time we’re all in the same boat? How do you deal with this?

      OK I have many more questions but maybe this is enough for now… Again, I appreciate your understanding and your help!

      17 votes