• Activity
  • Votes
  • Comments
  • New
  • All activity
    1. What are some of your favorite "lost" games?

      By "lost", I mean games that have been lost to time--games that you would not be able to play now, even if you wanted to. It could be because you cannot currently get a copy of the game (through...

      By "lost", I mean games that have been lost to time--games that you would not be able to play now, even if you wanted to.

      It could be because you cannot currently get a copy of the game (through legitimate means), or your own copy is not able to run since the tech has moved on. Perhaps the game's servers have been shut down or the multiplayer base has died out. Or, perhaps the game's development took it in a different direction and you're left hankering for an older build.

      31 votes
    2. Breaking all the rules

      In most of my programming, I try and remain professional, and do things in a readable, maintainable way, that doesn't involve pushing the language to breaking point. But, occasionally, I give...

      In most of my programming, I try and remain professional, and do things in a readable, maintainable way, that doesn't involve pushing the language to breaking point.

      But, occasionally, I give myself free reign. What if you didn't care about the programmer who came after you? What if you didn't care about what a programmer should do in a certain circumstance?

      For myself, over the years I've written and rewritten a C library, I like to call CNoEvil. Here's a little taste of what you could do:

      #define EVIL_IO
      #define EVIL_COROUTINE
      #include "evil.h"
      
      proc(example, int)
        static int i = 0;
        coroutine();
        While 1 then
          co_return(++i);
        end
        co_end();
        return i;
      end
      
      Main then
        displayln(example());
        displayln(example());
      end
      

      (And yes, that compiles. Without warnings. Even with -Wpedantic.)

      So... Here's the challenge:

      Ignoring the rules, and best practices... How can you take your favourite programming language... And make it completely unrecogniseable?

      (Might be best to choose a language with macros, like Nim, Rust, any of the Lisps. Though, you can still do some impressively awful things in Java or Python, thanks to overloading inbuilt classes.)

      Challenge Ideas:

      • Make Python look like C
      • Make Java look like Python
      • Make anything look like BrainFuck

      I don’t know how to really explain my fascination with programming, but I’ll try. To somebody who does it, it’s the most interesting thing in the world. It’s a game much more involved than chess, a game where you can make up your own rules and where the end result is whatever you can make of it. - Linus Torvalds

      21 votes
    3. The next president of the US makes climate change their top priority. What should be their first actions?

      Let's assume that they have full control over congress, so politics isn't an issue. I think looking at what a good global climate policy would be useful, because it allows us to see where we...

      Let's assume that they have full control over congress, so politics isn't an issue. I think looking at what a good global climate policy would be useful, because it allows us to see where we stand. It could also serve as a platform for future candidates.

      It seems to me that the new president should take a wide-ranging series of measures to curb emissions in all the major domains: electricity, transportation, agriculture, manufacturing, etc. [1]. You might argue that measures taken in isolation from other countries are not sufficient. While that's true, someone has to start. The US taking the lead on climate change would have a profound impact on all other countries. The US could use its very strong diplomatic weight to pressure other countries to adopt similar measures.

      So what should these measures be? The major one would seem to be a carbon tax, applied to all major sources of emissions: energy production (coal plants, ...), agriculture (cattle and meat imports), jet fuel (current taxes are very low), etc. Another one could be a tax on imports depending on how much the exporting country does against global warming. Maybe a new kind of free trade alliance among "climate-virtuous" countries could be created.

      Any thoughts? Have any serious global policy proposals been made and studied in the past?

      [1] : https://www.gatesnotes.com/Energy/My-plan-for-fighting-climate-change

      27 votes
    4. 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
    5. Black Mirror S04E02 “Arkangel” discussion thread

      Previous episode | Index thread | Next episode Black Mirror Season 4 Episode 2 - Arkangel Worried about her daughter’s safety, single mom Marie signs up for a cutting-edge device that monitors the...

      Previous episode | Index thread | Next episode

      Black Mirror Season 4 Episode 2 - Arkangel

      Worried about her daughter’s safety, single mom Marie signs up for a cutting-edge device that monitors the girl’s whereabouts -- and much more.

      Black Mirror Netflix link


      Warning: this thread contains spoilers about this episode! If you haven't seen it yet, please watch it and come back to this thread later.

      You can talk about past episodes, but please don't discuss future episodes in this thread!


      If you don't know what to say, here are some questions to get the discussion started:

      • How does the title relate to the episode itself?
      • Are there any similarities between real life events and the episode?
      • Are there any references or easter eggs in the episode, such as references to past episodes?

      Please rate the episode here!

      11 votes
    6. This week in Anime: week 42 of 2018

      It's Friday once more, and may I say, you look stunning today? How do? Since we're currently lacking native spoiler tags, I'd ask all of you to follow this scheme: Post a top level comment with...

      It's Friday once more, and may I say, you look stunning today?


      How do?

      Since we're currently lacking native spoiler tags, I'd ask all of you to follow this scheme:
      Post a top level comment with the title and episode number of the anime you want to talk about like this
      **JoJo's Bizarre Adventure: Vento Aureo - Episode 1**
      Then reply to those top level comments with your thoughts. This way people who haven't seen something yet or plan on binge watching once all the episodes are out can simply collapase the top level comment to not get spoiled ^.^

      What do?

      Simply post, discuss or joke about any currently airing anime you want. For Anime you've been watching that aren't currently airing refer to Cleb's weekly thread

      When do?

      But what if the anime I want to talk about hasn't aired yet?

      No problem, just post a comment here once the episode has aired, these threads aren't meant to last one single day.


      Archive

      Going forward, I'll maintain archives of these threads at the unofficial wiki

      6 votes
    7. Could cryptominers be the good alternative to ads?

      Everyone hates ads. Frankly, no one wants to pay for anything online. And places like CoinHive offer a service that doesn't clutter the screen and pays people. Too good to be true right? Well the...

      Everyone hates ads. Frankly, no one wants to pay for anything online. And places like CoinHive offer a service that doesn't clutter the screen and pays people. Too good to be true right? Well the first group of people to latch on the service ramped up the mines to 8 threads at 100% because they were hackers and didn't care if they slowed your computer or drained your battery. They just wanted their almost untraceable money.

      What I'm proposing is that if sites were to use miners that instead use 2/4 threads at 10% thereby using far less resources, across enough users provided your traffic is ok, could the results be tangible if we gave it a chance?

      edit: I hate cryptocurrency but I was more trying to discuss the idea of getting paid for passive CPU usage more described in this comment by @spctrvl

      23 votes
    8. Thanks for doing this, guys

      I just read over the Technical Goals page, and I agree with everything you're doing. I feel like I'm the only one who's annoyed by the recent trends of web design and development that involves...

      I just read over the Technical Goals page, and I agree with everything you're doing. I feel like I'm the only one who's annoyed by the recent trends of web design and development that involves heavy use of icon-based navigation and JavaScript. I'm stoked to see what Tildes will become given this direction.

      I know I'm not nearly as skilled and experienced as you -- Deimos and the Tildes team -- at web development, but if there's any way that I -- a sysadmin with experience in AWS -- can help, I would be happy to be a part of it. Otherwise, I can continue to lurk, occasionally post, and sing praise of Tildes! Cheers!

      26 votes
    9. Looking for opinions on how to moderate a community

      Hello. I moderate a reddit sub with about 450 thousand people and we have had trouble with transgender people facing abuse from idiots in two different threads. In one of them, a woman chimed in...

      Hello.
      I moderate a reddit sub with about 450 thousand people and we have had trouble with transgender people facing abuse from idiots in two different threads. In one of them, a woman chimed in and it got ugly (4 bans in the first 12 comments), in the other a trans woman took part and got shit for it (also featured a few users banned).

      Now, each of them had a very different approach. The first got defensive and stopped participating, while the second took the time to respond to the stupid but not offensive ones, trying to educate them.

      So even if this is something that bothers me a lot and makes considerably angry, I realised that maybe I should take a more nuanced view on this, and I should actually ask for more opinions on how to handle thiS, instead of simply applying my own standards and maybe making things worse and/or missing a chance to make things better. And since Tildes has always provided me with intelligent, thoughtful and interesting points of view and opinions, I thought this would be the best place for this question.

      And so here I am, asking anyone that would care to give an opinion: what would a good moderator do? How harsh or lenient should we be with ignorant but not offensive comments? Should we get involved at all if the discussion is not offensive? What would make our sub a nicer place to everyone? Any other thoughts?

      Thank you very much to all.

      20 votes