• Activity
  • Votes
  • Comments
  • New
  • All activity
    1. The Cubs' Alec Mills has no-hit the Milwaukee Brewers

      I'm not watching baseball as much this season but it's still pretty awesome that someone on my team got this. It's the second no-hitter of the season I believe. Some fun facts related to this:...

      I'm not watching baseball as much this season but it's still pretty awesome that someone on my team got this. It's the second no-hitter of the season I believe.

      Some fun facts related to this:

      • Both Chicago teams have a no-hitter in the same season for the first time in MLB history
      • Both no-hitters at Miller Park have been thrown by Cubs pitchers, although the first was a neutral-site game against the Astros in 2008

      edit: Can I get the title changed to "The Cubs' Alec Mills no-hits the Milwaukee Brewers"? I think it fits better now that the day it happened has passed.

      7 votes
    2. Is high-fidelity audio a genuine product or unnecessary overkill?

      Note: if this topic is better served in ~music than ~tech feel free to move it! If I wanted to buy Linkin Park's A Thousand Suns, I have the following options: From Amazon 256 kbps VBR MP3...

      Note: if this topic is better served in ~music than ~tech feel free to move it!

      If I wanted to buy Linkin Park's A Thousand Suns, I have the following options:

      From Amazon

      • 256 kbps VBR MP3 ($11.49)

      From 7digital

      • 320 kbps MP3 + 256 kbps MP3 ($12.99) (I'm assuming it's 320 CBR/256 VBR)
      • 16-bit/44.1kHz FLAC ($16.49)

      From HDTracks

      • 24-bit/48kHz FLAC ($19.98)

      From Qobuz, which appears to be a different mastering of the album:

      • "CD Quality" FLAC ($14.49)
      • 24-bit/48kHz FLAC ($16.49)
      • 24-bit/48kHz FLAC ($10.99 with subscription to their $250/year service)

      Does paying more for the higher fidelity actually matter? I suspect that this is just a form of price discrimination preying on my want to have an "objectively" better product, because I'm assuming there's a ceiling for audio quality that I can actually notice and the lowest encoding available here probably hits that. I also don't have any special listening hardware.

      I understand the value of FLAC as a lossless archival encoding (I used to rip all my CDs to FLAC for this purpose, and I've been downloading my Bandcamp purchases in FLAC all the same), but for albums I can't get through that service it appears that the format has a high premium put on it. Bandcamp lets me pay the same price no matter the format, but every other store seems to stratify out their offerings based on encoding alone. A Thousand Suns costs nearly double on HDTracks what it does on Amazon's MP3 store, for example, despite the fact that I'm getting the exact same music, just compressed in a different way.

      As such, is paying more for FLAC unnecessary? Is high-fidelity FLAC in particular (the 24-bit/48kHz options) snake oil?

      Furthermore, Qobuz seems to offer a different mastering of the album, which seems like it actually could be significant, but it's hard to know. Is this (and the various other "remasters" out there) a valid thing, or is it just a way to try to get me to pay more unnecessarily?

      (Note: I'm using this specific album simply because it was a good example I could find with lots of different stratified options -- I'm not interested in the particulars of this album specifically but more in the general idea of audio compression across all music).

      21 votes
    3. Need help raising funds for a friend

      @ admin: Sorry if it's not allowed to post these kinds of things, feel free to remove it. I'm normally not someone who would post this kind of stuff to places like this or other sites, as it's...

      @ admin: Sorry if it's not allowed to post these kinds of things, feel free to remove it.

      I'm normally not someone who would post this kind of stuff to places like this or other sites, as it's probably kind of annoying, but l'm honestly starting to get super worried.

      A close friend recently broke her leg & thanks to the fucked up US healthcare system she's got a $1800 bill due on the 11th of October. I set up a fundraiser to try and help, which raised $500 so far, but that's just not enough.
      I'm really worried for her (mental) wellbeing & l am desperately trying to scrape together what l can to help. l think if the bill isn't paid, it wouldn't take long for her to end up homeless, or worse.

      l don't like asking this, but would anyone be able to either donate or share the tweet? Any amount helps.

      l would genuinely appreciate it a lot if you could, and l understand if you can't.

      https://twitter.com/asoftbird/status/1294762351242235904?s=21

      Edit: it's in the tweet, but l should mention she's trans and disabled; becoming homeless already is pretty bad, but given the other circumstances l'm honestly not sure if she'll survive that.
      I have donated her $600 already which is as much as l can miss, l don't know what to do about the bit that's still missing.

      10 votes
    4. Help me think about the next step in my life

      Hello, I am a late 20s person from Europe who works part-time at a low-skilled job and is nearing completion of a masters in Financial Mathematics (FM). I also have an undergraduate degree in...

      Hello, I am a late 20s person from Europe who works part-time at a low-skilled job and is nearing completion of a masters in Financial Mathematics (FM). I also have an undergraduate degree in Economics and a post-graduate degree in Finance.

      Previously I’ve worked full-time as an IT consultant, in R&D at an asset management company and in operational risk at an investment bank. I stopped working full-time in early 2018 due to mental health issues such as depression, anxiety disorder and possible Asperger’s. But even before then it was obvious my health was deteriorating and I actually got fired from my second job partially due to these problems. Since then I’ve been slowly working (or at least trying to) on my health, which has improved substantially but not as much as I would like. So in early 2018, with way too much time in my hands, I decided to get the part-time job to partially offset my expenses and also decided to go back to school to study FM.

      I went back to school for multiple reasons. I was tired of doing work that was not very technical or quantitative. While working on my health I realized that I don’t do well with work that is subjective, unstructured or involves little interaction (for example doing a lot of reading, specially when I have no clear goal). I did a little programming at previous jobs and more during the masters. So, I can say with some confidence that I enjoyed it. But going back to the FM masters: it is very technical, I was fascinated and curious about it plus it has an excellent track record with regards to employment prospects. I also considered “going back” and doing an undergraduate degree in computer science but decided that it was just too long (minimum 3 years).

      So with this “introduction” out of the way let’s get to the heart of this post. I don’t know what to do after I finish my masters. Of course I could just apply for jobs related with what I am studying. However, I think I really want to try working in the technical side of IT. I will admit I don’t know much about the different aspects and careers in IT but I find it interesting. Every time I was doing non-technical work I just wanted to understand and do the work of my technical colleagues. I think it both better suits my personality and aligns well with my long term goals of increased freedom and flexibility (IT generally pays well and you can do a lot of work remotely). I have this idea of maybe becoming a freelancer but I can understand that is not realistic in the short-term. So, working in IT inside a company is probably my best bet at this time. Regardless, another objective of mine is to be able to work less than 40h per week. I think it would be great for me, specially health-wise.

      I have to say I got more excited about my ideas when I saw this post here on Tildes: https://tildes.net/~comp/quj/would_any_tilderino_be_interested_in_tutoring_me_in_programming. I am willing to put in the work and it would be awesome to have some tutoring. Another point I took from that post is that IT is a very big field and I honestly don’t know specifically what I want to do inside that space. However, I do know I don’t like dealing with UI or graphical/design aspects.

      I guess I will finish by asking direct questions to help people structure their answers around (but if you want to talk about something else I wrote, be free to do so):

      • First of all, what technical areas within IT do you think would suit me? If it’s not much of a hassle, please provide a brief description of what people actually do in those areas.
      • Is it realistic to start working as a technical IT freelancer and learn as I go? Or are the odds very slim?
      • Alternatively, if I decide to take the "safer" and more probable route of nailing a technical IT job, what should I do to put myself in a better position to attain that goal?

      Thank you =)

      10 votes
    5. A comprehensive, deep dive into Tetris the Grandmaster (TGM) design, the hidden Japanese Tetris version you will never legally play

      'sup. As promised, here's a text discussing the minutae of Tetris the Grandmaster, its sequels, and the game mechanics of Tetris in general. If you want more, there's some market analysis, drama...

      'sup.

      As promised, here's a text discussing the minutae of Tetris the Grandmaster, its sequels, and the game mechanics of Tetris in general. If you want more, there's some market analysis, drama and politics in the comment.

      Tetris the Grand Master is probably the most beautifully designed game I know. I hope you will share my passion for this when your are finished with this post.

      Since Tetris is a "pure" videogame where pretty graphics and/or enticing plot is irrelevant to the game, this will focus a lot on the game mechanics.

      Also: this is based on a draft script for a video I wanted to make for a while now. Presumably this thing would flow better with some illustrations at the same time. I tried to include some, but of course it's not the same as someone narrative over image.

      Also: weird language ? Missing words ? Misplaced punctuation ? This probably comes from me, writing in English as a second language. Picture this article with a vaguely French accent if it helps (although I'm not actually French).

      I am aware of Tetris Effect. I am happy if people find TE a transformative transcendental synesthetic experience, but for this matter I much prefer Rez and particularly its Area X.

      So: make yourself comfortable, get a hot beverage of your choice, perhaps enable the reader mode in your browser and prepare for a 4k-ish words long read.


      Tetris, the arcade game

      Tetris. The little game from the Soviet Union, the killer app of the Gameboy, and until Minecraft happened the most sold computer game of all time.

      Despite its tremendous success, the general perception is that this title has not evolved since its initial release in 1984. We would effectively be playing the same game plus-or-minus some gimmicks and/or yearly graphical updates.

      This is of course false. The evolution of Tetris game mechanics is a story for another time, but the skinny version is that there's two main branch to the Tetris tree: Nintendo, and Sega. What I want to talk about now is a representative of the Sega branch.

      Did you know ? Sega means "Service Game". The company we know today as a publisher with a blue mascot originally sold arcade games. And even today, Sega has a strong presence in the arcade world.

      Tetris the Grandmaster is an arcade game, made by Arika, a company made by ex-Capcom employee whose more notable works at the time include Street Fighter Ex.
      Arcade game design is a delicate juggling act between two parties:

      • the game operator: wants money, and for single player game that could mean a short and/or difficult game.
      • the player: wants fun. If the game is too difficult and/or unfair and/or incomprehensible, he or she will move to the next game

      With this definition, vanilla Tetris is a pretty good arcade game:

      As you play the game, the game ramps up in speed and consequently its difficulty. But it never feels unfair: you may complain having bad luck and getting a crappy piece distribution (more on that later), you are still responsible for that terrible stack you just made.

      However, there's a finite limit to the speed of the game. Past a certain point, you end up in a kill-screen where it is impossible to play. The piece just falls and lock immediately, with you being powerless, unable to do anything.

      How lock delay extend the base game

      Video: Godlike high gravity NES Tetris game from JdMfX_, Godlike high TGM game from 777

      What is remarkable with Tetris the Grandmaster is not only it has found a way to extend the base game past this seemingly hardcoded limit, but it also focus nearly all of its design toward this idea of speed. Speed is the focus of the game, and if you don't believe this, there's a giant chronometer at the bottom of the screen acting as a constant reminder.

      So, how do you survive to the kill screen?

      You could try to make the piece move faster (which they did) but this is not enough. At some point, the piece will still spawn on the ground and immediately lock.

      Enter the Lock Delay.

      Illustration: lock delay

      Lock delay is the mechanic in which if a piece falls into the ground or the stack, it will not immediately lock but can react to play inputs and "slide" for a few frames before locking into the stack.

      This has deep, deep consequences.

      Obviously, you can make the game faster than anything we've seen before. All the while still have a viable game. At maximum speed, or "20G" as it is known in the jargon, the piece directly spawns on the stack without floating at any point in the air.

      for the pedant: historically, Sega Tetris was the one of the first game to feature lock delay; and the mechanics was already there in some other falling blocks game such as Puyo Puyo.

      At high speed, and especially at 20G speed, the piece movement becomes severely limited. Having the game viable at 20G completely re-contextualize the game, its moment-to-moment tactics and its general strategy. Not only you have to think about a given piece placement, but more than ever you have to take the next piece into account. Some sub-optimal piece placement or "bridges" have to be made in order to make the whole game continue.

      Illustrations: possible piece placement at 2G, at 20G, at 20G with a bridge

      And thus: while the core gameplay stays the same, the game becomes more demanding both physically and mentally. You have to react faster and input your command quickly and confidently; and at the same time you have to constantly think about your stack, the area where work is needed and how you can accommodate unwanted pieces. You can even manually control the pace of the game by cancelling the lock delay (done very naturally by pressing down.)

      Lock delay is probably the most important game element added to Tetris, but it's not the only thing in which TGM also innovates. Several other additional mechanics exists, and they have this common idea of a "speed enabler". Let's review them:

      "Speed enablers" game mechanics

      DAS

      I mentioned earlier that the way you move the pieces was faster. This seems like a straightforward thing to do at first sight but there's some subtleties hidden in it.

      So: when you hold left or right, the piece moves automatically (in the jargon it's called DAS - Delayed Auto-Shift). It's a nice and natural movement akin to letting a key down in your keyboard, but there's actually two parameters to take into account.
      First, how fast the auto movement is triggered, and second, then how fast the repeat itself is. In TGM, both happens at a brisk space (16 frames before auto-movement, and a movement of 1 case per frame). This is essential for 20G play. And, in the context of 20G, the DAS enable a family of movement techniques called autosynchrothat bring additional depth to the game.

      manual synchro also exists, but requires significantly more skill, as it requires a 1-frame combination. Yup, just like in fighting games and their 1-frame links!

      Wallkicks

      There is another mechanic that involve automatic movement, called wallkick. A wallkick happen when you try to rotate a piece near a blocked cell, such as the stack or a wall. Normally, if the rotation mask overlap a blocked cell, the rotation will fail. However with wallkicks, the piece can automatically move so that the rotation can still happen. In modern standard Tetris, the rule of how the piece move is quite complicated (to my eyes) but enable advanced placement such as the infamous T-Spin Triple. In TGM however, it's dead simple: try to move one case toe the right or one case to the left in that order, and if the piece fits, it gets moved.

      Illustration: wallkick

      So yes: at first sight those wallkicks are concessions given to player that make the game easier. However, some advanced movement techniques takes advantage of wallkicks. The goal of course is to move a piece faster, leading to tiny but compounding time saves.^†

      in the jargon, optimal piece movement is called finesse

      IRS

      Continuing on the theme of rotation, let's now talk about the Initial Rotation System or IRS. So in most game, when a piece is locked, the next one immediately enters the playfield.
      This is not the case with TGM: there's a tiny interval in which nothing happens (except perhaps a line clear animation). .

      of course there's a jargon term for this: it's called ARE††
      †† it's not an acronym, it literally means "that thing" in Japanese (あれ)

      This interval have a dual purpose (Mark Brown would be happy): first, it serves as a buffer to charge the DAS. But it is not limited to rotation: you can also charge a rotation.

      And that is what IRS exactly is: press a rotation button during this time and then the piece will spawn already rotated .

      IRS usefulness is not only limited to make the game smoother to play: it solves a problem inherent to Sega Tetris. All game in that lineage have most piece spawning with a pointy end toward the ground. This can be problematic in high gravity, and especially in 20G. If you IRS such pieces, you can then confidently slide them to the side without worry of them being stuck somewhere.

      Illustration: trapped without IRS, saved with IRS

      why not having them spawn flat-side down ? I think this is partly for historical reason (establish a clear lineage with Sega Tetris), but also because this this extra-difficulty is coherent with an arcade game design.

      And yes, of course, IRS is also a time saving measure, helping to shave some milliseconds here and there.

      TGM history-based randomizer

      Let's talk luck. Earlier on, I half-jokingly said that "luck" as a hallmark of a good game of Tetris. Well it is a bit more profound than that.
      Any competitive Smash player can tell you this: consistency is king in a competitive game. That's why random event affecting the core gameplay are frown upon, and that's why tripping in Smash Brawl was so negatively received.
      You can probably see where I'm getting at: there's one giant thing in Tetris that's by definition random: the way the piece sequence is generated. And yes, TGM has a optimized random generator, and in fact most Tetris game have one.

      An analysis of the history of the different random generator is a story for another time, but here's the gist of it:

      In a purely random sequence of pieces, a sufficiently long series of S and Z tetraminos is bound to appear. Such sequences is mathematically proven to lead in a game over. Of course, this doesn't happen in practice. Especially in TGM, there's a finite number of piece given and thus the change of that happening is infinitesimally small.
      However this does gives us insight about the piece distribution: flood (too much of a piece) and drought (not enough of a piece) is not fun. In other word, waiting for that g!%d!3mn long bar piece sucks.

      So how does TGM counteracts this ? It implements a history system that prevent recently given piece to be distributed again. This is a flood prevention measure and make the game much more consistent while still having an element of unpredictability. And being unpredictable is not necessarily a bad thing, particularly in an arcade context where you still want the player to finish the game eventually. Fun trivia: modern standard Tetris nowadays implement an extremely predictable randomizer, which is mathematically proven to be infinitely playable at low gravity††.

      historically TGM is not the first game to implement a history system, there was already a rudimentary one in NES Tetris
      †† this is less of a problem in recent years due to the focus on multiplayer, enabling stuff like openers, but this is a story for another time

      Consistency in randomness is not directly tied to the notion of speed, but being confident in that you will not screwed by the piece distribution definitely helps in the elaboration of reliable strategies.

      The graphics helps too

      Illustration: An actual screenshot of TGM

      So far I've describe how the game is mechanically inclined toward speed, but aesthetically there's also some elements that are helps during high speed games.

      First, look at what the stack and notice how the active piece contrasts with the rest of the stack. There's a clarity of graphics that comes not only by the fact that the locked pieces have a darker hue, but also because of the of this white border that surrounds the stack. The goal is to have an instantly readable playfield.

      Continuing on this trend, each piece type is color coded so you can instantly read what you're getting by using your peripheral vision, leaving the focus clear on the stack. You can then more easily confirm the placement of your current piece, which is further helped by a very noticeable flash.

      The next-piece window is also aligned so that the piece previewed is placed directly above where it will spawn. This unconsciously helps the tactical decision of where to put your piece. Speaking of unconscious effect, the whole series have this auditory gimmick in which each pieces have its own jingle. From what I know, nobody use this consciously, even the one that can tackle the invisible challenge (more on the invisible challenge later).

      Scoring, grading, and speedrunning

      So we've seen the mechanics and the aesthetics of speed within TGM.

      But what would would be an arcade game without a good I piece measuring contest ?

      TGM has three metrics exposed to the player: Score-grades, level and time.

      Time is a straightforward metric, and is the main point of comparison for players having reached the Gm grade. Finishing the game under 13 minutes is ok, under 12 min is pretty good, under 10min is exceptionally good, and approaching 9min is godlike.

      Score, as in most videogame is a measure of how "good" you are at the game, but takes here a subtly different meaning. The exact detail of the scoring system is not super interesting to see, but its implication is. Let me explain:

      here : Score = (roundUp((Level + Lines)/4) + Soft) × Lines × Combo × Bravo ; Combo = Previous Combo value + (2×Lines) -2

      The optimal strategy with this scoring system is to clear as much line as the same time as possible. In order words, Tetris, triples and even doublesmakes a lot of points, whereas Singles proportionally don't score as much points.

      Tetris: four line cleared at the same time; triple: three lines cleared at the same time; double: two lines cleared at the same ; single: one line cleared

      This has an interesting side effect, as it incentivize to have a clean stack. A clean stack is a stack without holes. If there's holes in your stack, and particularly in they are all over the place, you tend clean them by performing singles. Sidenote: in TGM1, grade is directly correlated with score, except for the titular last grade, which is gatekeeped by some time requirements.

      So in TGM, the score still describe how "well" you play, but you may have noticed that there's no notion of time at all. I would argue that scoring here doesn't reflect how "well" you play but rather how "clean" you play. Keep that in mind for later.

      To be perfectly pedant there's the level factor in the equation that would incentivise you to play fast to reach high-yielding level as fast as possible. But please don't ruin my narrative.

      I mentioned just before that the last grade had some time requirements. Now, this is a perfectly reasonable requirement for a game that is focused on speed but, and I guess you are used to me saying that, there's some subtleties to it.

      Let's say the only requirement to get the last grade would be to reach X amount of point in Y amount of time, and reaching the last level. A viable strategy would be then to play as clean as possible so that you reach the point threshold, and then you just have to survive. This would mean that in that last part can play as sloppy as you want, you will still reach the Gm grade. That's, of course, not ideal as it doesn't push the player to play at its maximum (you can cheese the last part).

      What TGM did is neat and two-fold: First, it takes the "level" metric, which was until then a measure of how fast the game is, and turned it into a progression gauge. So you know that at level 100 you are at the beginning of the game, 500 is midgame and 900 is the last push. The gravity is still tied to the level, so at level 0 it's quite slow and at 300 it's significantly faster. But the thing doesn't have to be linear or monotonic, in fact there's a speedbump at level 200 (people told me it's for dramatic effect), and maximum speed is reached at level 500 (to let the new 20G gameplay shine.)

      Now here's the catch: you can progress faster in the game by clearing lines. Indeed, the way you gain level is that you increase the counter by one each time you land a piece, but more interestingly you get a bonus level for each line cleared.

      This ties everything together: if you want to play fast you have to play well, and if you play well the game will get faster.

      This positive feedback loop is in fact a system with dynamic difficulty curve: as good players will be presented with a more appropriate challenge faster, as more novice player will get challenged at their pace.

      So there you have it: even the scoring system is meant to go fast. Isn't that beautiful ?

      The sequels

      There were two sequels to TGM.

      The first one, known as TAP within the community because of the subtitle of the final version of the game ("The Absolute Plus"), builds on the building block of the first. There's now a dedicated 20G mode with a brutal speedcurve to it (it is, after all, named "Death" mode). For the main game (now called "Master" mode), there's a much appreciated addition of an instant drop. This significantly speeds up the pre-20G game. The point system is now decoupled from the grade, and a secondary but hidden point system is used to calculate the player grade. The detail of which is complex, but the take-away effect is that consistency of play is now taken into account.

      Video: a a TAP Gm game recorded during a livestream

      The second sequel is known in the community as Ti (again with the subtitle: Terror instinct). It had implements some gameplay elements mandated by the Tetris Company: three pieces preview, a "hold" function, and floorkicks (i.e. piece can always rotate on the ground even if it collides with it). As a happy accident, this enabled TGM to go the even higher, borderline absurd, speed. I want you to look at the sheer insanity of the Death Mode's replacement: Shirase. And then look toward the end of the run where pieces turns into brackets (a nod to the real original Electronica60 version), nullifying the convenience of both color-coded pieces as well at the white-border. It's glorious.

      Video: Cleared Shirase game by KevinDDR, the best Western TGM player.

      Now, on the Master mode side, there's two major changes: there's a revamp of the progression/level system, where now the speedcurve itself becomes dynamic, and a further focus on consistency. You not only have to be consistent within a game, but also across games. Indeed, there's now an account system that is tied to an examination system. It inspects your performance and randomly challenges you with an special exam game in order to reach the grade it thinks you deserve.
      The last grade is of course locked behind an exam, and is only reachable through that mean.

      Additional challenges

      Sprinkled around the main game are some additional challenges that are a bit adjacent to the main game.

      Illustration: A secret grade pattern build by ohshisaure

      There's a ">" pattern you can built within the game. Doing so will award you a "secret grade" depending on how complete your chevron is. This is a nod to TGM predecessor (Sega Tetris), where bored players in the arcades invented this challenge and became popular. This is totally optional to the game, but really challenge your creativity, a bit like the golden and silver block in The New Tetris.

      Video: KevinDDR and crew performance at AGDQ2015

      And then there's the infamous "invisible" challenge first appearing in TAP. It is in fact a mandatory requirement to get the Gm grade. If, and only if, you played well enough in the main game, you are then presented with the invisible challenge during the credit roll, in which you have to survive during 60 grueling seconds.
      I don't know the whys of this challenge, but I assume this is an extrapolation coming from the following observation: when playing the game, most players are in fact not directly looking at the stack (to convince you, look at this eye-tracked demonstration).
      Looking at the stack only serves as some sort a placement confirmation, and so there's somewhere a mental model of the playfield. The invisible challenge thus forces the player to exclusively rely on this pre-existing mental model.
      Fun trivia: the credit order is randomized so that you can rely on the name to estimate how much time is left.

      Conclusion

      So that's it for this gameplay analysis.

      Hopefully you'll understand now why some people play one or several of those games 15, 20 or 22 years after their releases. All games are still played and there's no "superior version" as each version has slightly different priorities on the theme of "speedy Tetris": Ti has raw speed, TGM is careful and methodical, and TAP is a happy medium between the two.

      As a game designer, what general lessons can we learn from TGM ? I'm just a random dude on the internet, but let me suggest one:

      "Brevity". I keep thinking back to a textual Let's Play I've read about the second addons of Neverwinter Nights 2 (Mask of the Betrayer) . During a story recap just before the game climax, Lt. Danger offers an analysis of the expansion and writes (highlight from me):

      Instead let's focus in on what makes Mask good - and I think the answer ultimately boils down to 'brevity.'
      [...]
      Obsidian knew what they wanted to do with Mask and wrote it accordingly. Too often in games I find some puzzle, some encounter, that could have come from anywhere; the most egregious example is Bioware's reliance on the Towers of Hanoi puzzle (which thankfully has come to an end). There's too much that has barely anything to do with the premise or purpose of the story (if they bothered to have one at all). In Mask, though, I struggle to find wasted space. I've mentioned it before, but it bears repeating: there are no irrelevant sidequests. Every quest and every NPC ties back to the core themes in some way.

      If, looking back at your game, you can say "it's a game about X, hence Y", you may be on to something.

      That's why remakes and sequels that "go back to their roots" are generally perceived as positive. It's an change to remove cruft and focus on the core of the game. Take Zelda Breath of the Wild for instance. Zelda 1 was a game about adventure, exploration and mystery. Hence: very few handholding, an open world, and no limits to exploration.

      Of course, super-concise game shouldn't be the ultimate guiding principle of any given game. Case in point: I recently finished Yakuza 0. This is an excellent, excellent game, yet in terms of gameplay and pacing, it is all over the place: one moment you are in a crime drama, and five minutes later you're managing a cabaret club, and 10 minutes later you're in a karaoke booth singing baka mitai Judgement with a biker costume at the end.

      But brevity sure can sure made your game more elegant and enjoyable.

      20 votes
    6. Looking for programming/software book recommendations

      I'm not looking to gain any practical skills from these recommendations (ex: not "Clean Code", "The Pragmatic Programmer"). Last year I read through the two books in Fabien Sanglard's Game Engine...

      I'm not looking to gain any practical skills from these recommendations (ex: not "Clean Code", "The Pragmatic Programmer"). Last year I read through the two books in Fabien Sanglard's Game Engine Black Book series and would love to get my hands on more books like them. Books that focus on history, arcane details and secrets once thought lost to time. Sadly it appears I've already worked through Sanglard's entire bibliography. But I'm sure there's more stuff out there like it.

      10 votes
    7. A brief look at programming paradigms

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

      Overview

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

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

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


      Understanding Fundamentals is Imperative

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

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

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


      Abstract Concepts

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

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

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


      A Declaration of Understanding

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

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

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

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


      Functional Differences

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

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

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

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

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

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

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

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

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

      • You should avoid side effects as much as possible.

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

      • You should avoid sharing state between components.

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

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

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

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

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

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

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


      Final Thoughts

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

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

      25 votes
    8. Covid testing rant

      I'm in line at a free covid testing site. It is a CVS minuteclinic. I have to use the normal drivethrough, and self administer the nasal swab. What the hell is that bullshit? My wife went to a...

      I'm in line at a free covid testing site. It is a CVS minuteclinic. I have to use the normal drivethrough, and self administer the nasal swab.

      What the hell is that bullshit? My wife went to a 'real' test site where a professional swabbed and she described it as a pap smear on the back of her eye.

      So I'm going to a CVS so they can print a barcode, give me, an unqualified layperson a long qtip and a test tube to do my own test and drop in a collection box. Which they will likely ship to an actual lab.

      And for all of this 'work', they get to bill my insurance for hundreds or more, which will likely mean rate hikes later.

      Our healthcare system is a sham, and this is just further proof. Given I have to do it myself anyway, the government should just mail me a kit which I then drop off.

      It would not shock me in the slightest if they actually just drop the tests in a dumpster and just send a 'negative' a few days later.

      Edit: 40 min later, through line and swabbed. Yes, they just have Quest diagnostics empty the dropbox. 0 reason CVS should be involved.

      17 votes
    9. An update on the unofficial Tildes 2020 census

      Hey everyone, I hope your life is good, and if isn't, it'll get better, so don't you surrender. :) The census this year had a much improved response! As of writing this I've had 302 handed in...

      Hey everyone, I hope your life is good, and if isn't, it'll get better, so don't you surrender. :)

      The census this year had a much improved response! As of writing this I've had 302 handed in forms! I'd also like to thank everyone who graciously donated to offset the cost for JotForms premium. I've almost broken even (Like 2€ off so it's not a big deal really). This post just serves as a simple update and a gentle reminder if you haven't filled out the survey but want to, or haven't gotten around to it or simply forgot. If you don't want to participate that's fine too.

      https://form.jotform.com/202281385322348

      As responses are still dwindling in, I'll probably keep the thing open for another week or so. Have a fun weekend!

      26 votes
    10. Hive mind: In the early 2000s, there was a website that tracked and reviewed open source applications. What was it?

      You could look up, say, CMSes, get some basic info about each one (to make useful decision), and learn who its active committers were. The site closed, I know. Do you remember its name? Or people...

      You could look up, say, CMSes, get some basic info about each one (to make useful decision), and learn who its active committers were. The site closed, I know. Do you remember its name? Or people who were part of it?

      I asked someone to write an article for me about "review sites for open source" -- think Yelp for Software -- and neither of us can remember its name. But if you have others that you think should be included (for positive or negative reasons), please let me know.

      10 votes
    11. Tell me about your experience with martial arts

      As life slowly returns to normal in the UK, I've felt the need to look after my fitness more. I lacked discipline throughout lockdown to workout at home and keep my fitness. As a result I've got a...

      As life slowly returns to normal in the UK, I've felt the need to look after my fitness more. I lacked discipline throughout lockdown to workout at home and keep my fitness. As a result I've got a nice COVID-gut, and my endurance and strength are shot. I swam regularly before quarantine hit, at least 4 times a week, and I'm keen to get back into that. But I'm also looking at picking up a martial art, for a more intense workout and fitness, as well as just to pick up a new skill. However I have no idea where to begin with martial arts, so I figured I'd start a thread for some inspiration, and go from there.

      So are any tilderen martial artists? If so, tell me about it!
      What do you practice?
      How long have you done it?
      How does it benefit you?
      Do you attend classes or practice solo?
      Would you recommend your martial art to a beginner?

      16 votes
    12. Musings on Tildes' topic wikis and resources

      TL;DR: I did not know each individual group had wikis and I find them pretty great (the LGBT and tech ones in particular). Do they get updated regularly, are they searchable via the site-wide...

      TL;DR: I did not know each individual group had wikis and I find them pretty great (the LGBT and tech ones in particular). Do they get updated regularly, are they searchable via the site-wide search, and who can contribute to them exactly?

      I was looking through the "note-taking" and "productivity" tags for recommendations on a new note-taking app when I came across the extension resources wiki article in "Tech". It hasn't been updated recently but it made me realize one of the reasons why I find places like reddit useful is that the "Pinned FAQs", "Beginner Guides to <Hobby>", and "Megaposts" on reddit are an excellent source of (for lack of a better term) "peer-reviewed" recommendations and are often the catalyst for fun discussions.

      I have, through my time here on tildes, discovered so many excellent recommendations even by just using the search bar and browsing threads - to the point that if say, a reddit and tildes post give me conflicting recommendations, I would trust the tildes post 9 out of 10 times. The climate of posts here are less inflammatory and the discussion on pros/cons are more calm, friendly, and thought through. I admit they have impacted my views on a bunch of things (not least of which is trying firefox as my main browser).

      Are resource dumps like that something that the community here find viable in general? Are there plans for updating their implementation to be more easily accessible or is it too far removed from the discussion-based fluidity of the site? I understand that there are other places online to find information, but rarely do I find it at this level of transparency of bias and (on average) free of any bloat.

      I guess I'll end this little thought stream with a thank you for all the people who post here and a curiosity for the future discussions to come. I've lurked a lot and learned a lot.

      16 votes
    13. A friendly reminder: If you own a bicycle, you must own a helmet

      I shivered at the thought of being severely brain-damaged after being hit by a car while cycling about a month ago. I am now extremely humbled by the fragility of the human body. The vehicle that...

      I shivered at the thought of being severely brain-damaged after being hit by a car while cycling about a month ago. I am now extremely humbled by the fragility of the human body. The vehicle that hit me was going really slow--a hard requirement of the lane. An apt cyclist can easily achieve 30 MPH (48km/h). That's enough to do a lot of damage itself. Now imagine a shock with a vehicle coming in the opposite direction at a mere 20 MPH (32km/h) (that’s not what happened to me BTW. I have no recollection of the accident, and no wish to get in touch with the driver. I don’t resent him at all, in fact he was extremely caring and wanted to ride with me in the ambulance but my mom was already occupying the only spot).

      I'm terrible at physics but you guys and girls are probably not, so you make the calculations. To sum up, without a helmet a ridiculously "benign" accident at low speeds can literally impair you for life.

      After the crash, my helmet went into pieces. I wish someone had got it so I can visualize the extent of my luck. It was an old helmet that should have been replaced at least 2 years ago. It cost me about 30 bucks and probably saved my life or cognition.

      So, cyclists: own a helmet and use it whenever you're on the bike even if there are no cars around. A skilled cyclist can still crash all by himself/herself. And a car could appear from nowhere.

      Some people get brain damage by falling in the bathroom. Why would you be safer waltzing around on top of a metal frame?

      41 votes
    14. [SOLVED] Archiving a deceased loved one's Twitter timeline, including media

      Recently a loved one of a friend has died and they would like to archive their entire timeline (no retweets), including media they posted. I've looked around a little bit and the Twitter API only...

      Recently a loved one of a friend has died and they would like to archive their entire timeline (no retweets), including media they posted.

      I've looked around a little bit and the Twitter API only allows 3200 tweets to be exported. As this includes RTs, this goes back to about 2018, while the account was made in 2011, so it's missing about 90% of their tweets. Also, getting all the media isn't really possible.

      Do any of you know a way to accomplish this? Or, can anyone direct me to scripts that crawl the page and save every non-RT tweet + potential media? I'm not very tech-oriented but I can at least run python scripts.

      I should mention that I've so far checked out Allmytweets.net (returns RTs) and the Twitter archival project (or whatever it's called), which is a group of people that help in archiving accounts, but they haven't responded yet.

      13 votes
    15. Life has gotten a lot more stressful for me lately

      I find it difficult to reach out to people, especially so publicly, but this shit is getting out of hand, and I need to let it out. Tonight I couldn't sleep because I've lost some sensitivity in...

      I find it difficult to reach out to people, especially so publicly, but this shit is getting out of hand, and I need to let it out.

      Tonight I couldn't sleep because I've lost some sensitivity in my left arm. You know how you get the numbness in your arm in the morning when you sleep on it at night? Except I haven't: it just started to go off slowly, fully functional but clearly numb in places. Tonight's different because in addition to my arm, like the last time, several other parts of my body express the same symptom: my right foot and my right shoulder. It's one of the most terrifying things I've experienced in a long time.

      I think stress is finally getting to me.

      I'm pretty sure it's stress because I'm an otherwise-healthy young male with no history of chronic disease – or susceptability to common ones, even – with a stable diet and lifestyle. I haven't had significant changes in my routines or preferences for a long time, except for the fact that I started walking more. I haven't been outside the city, let alone the country, for almost a year.

      The only major thing that's changed is my living situation.

      I've been trying to make it as an independent creator – writer, developer, designer, modder – for a year now, maybe two. I've been working on several projects publicly and a lot more privately: mostly writing, some development, my website included. It hasn't been arduous but has been very long without much result to speak of. I haven't been marketing myself a whole lot, and frankly, there isn't much to show aside from a lot of peripheral talk (like the production logs of the website or Mythos).

      I live alone in a small studio owned by my parents. They also afford me a small weekly fund of about $27, for just about $110/mo.. Even in Russia, where I live, that isn't a lot of money – you get to buy just about enough food for a month, and that's it – but I get it for existing, so I don't complain. On the surface, it's a stable and excellent arrangement that I should be nothing but grateful for.

      Last week, I made an error in telling my parents it might be a good idea to sell the studio and use the funds to move to a bigger city and let myself live off them while I develop my non-career career path (they've made it clear with anything but a written statement this studio is meant to be for me, and the ownership is but a formality to avoid paying more taxes). My mother lashed out at me: how stupid of an idea it was to rent when I have a perfectly-good apartment, and where would I end up when I eventually spend everything down to the last dime... I don't remember the rest of it 'cause I tuned it out, for the sake of my emotional stability at the time.

      I haven't told them about what I'm trying to accomplish here: they think I'm looking for a site designer position. I haven't told them a lot of things: about my depression, about my anxiety, about what I like, what I want, what I need... I wouldn't want them to know 'cause I already feel trapped in their influence on my life. They've been helicopter-parenting my whole life, and every time I tried to gain that much autonomy and freedom, I've been met with resistance, and blame, and "what will people think of you", and even fake tears. There's no dialogue to be had, and the energy it takes to make any kind of meaningful progress is the energy I don't have.

      So, I've been trying quietly to make it on my own.

      I've been using depression-induced mood swings to maintain some degree of order in my life, but recently it's become impossible. My apartment is a mess, and I keep up only what I immediately need; even that takes a lot. I had a brief few days of victory recently when I push through sleeping later and later until I started waking up very early, when I feel most energetic and positive – and even that eventually washed away. It's a good day when I'm able to get one thing done. The rest of them I weather out as best I can, including spending much more on comfort food (and gaining proportional weight) than I should. It also usually involves a lot of gaming and mindless watching of Internet videos, for what seems to me obvious reasons.

      I've been through periods like these before, but they've never felt quite so hopeless. I need to make money to get the freedom I need, which I can't do because I barely have the energy, which is because I can barely afford to live through the week with the vices that keep me steady, which I need because I don't have the freedom I need...

      I'm not lazy. I can work long days. I have been working long days on projects that promised some degree of "more freedom". Back when I thought Intergrid would be my saving grace, I'd work studiously to make it happen by a set deadline. Earlier still, I'd work for $80/mo. on a website redesign that didn't go through. (It was for a friend, and what may be a quarter of rent for you had been almost double my monthly allowance, and it was perfectly enough 'cause I was enjoying the work.) I don't waste my days on senseless entertainment if I can help it: I have several projects I'm working on when I can, that I enjoy doing and would do for free if I had a financial base otherwise.

      So why not find a job?

      The jobs I did hold previously – a couple of days each – gave me no hope for finding something locally. I live in a semi-rural region of Russia where modern job opportunities aren't very present. People here work hard physically but not intellectually. (First-world problems, I know, but at this stage I can't afford to waste what little energy I have.) Jobs elsewhere? I don't think I'd cut it. For all my experimentation and trying things out and showing bits and pieces here and there, I don't have a portfolio worth a damn, and the last time I tried making one felt like grinding my teeth on a metal rail. That $80/mo. job I had, I had because I mentioned to a friend that I could take that thing he wanted to do for him, and he said "Yeah, okay, you've been talking a lot about web design so far, handle it for me". I don't think someone who doesn't know me would be that trusting.

      So it feels like doing something I enjoy – which doesn't take away what little energy I have – is the only way for me, at least at the moment. Make enough to be able to move out to most places in Russia and not have to worry about food and the roof over my shoulder.

      What I'm going to try is stick to a schedule. I prefer to take my time, work out the kinks and iron out the bugs before publishing something. Given the circumstances, however, it may be time to employ some mental tools. I've heard advice before about publishing a story, or a sketch, or an episode of the podcast every month, or ever week, as long as it's on rails. Good story? Bad story? It goes out. I have a few stories I want to tell, but I've been keeping 'em "unlisted" for a long time now, hoping to work it all out beforehand. Maybe rough as they are, I'm better off with them seeing the light of day. Like I said: I'm not lazy. I just need to find a way to make it work.

      20 votes
    16. What are your favorite community radio stations?

      I'm a big fan of community radio, freeform if I'm being picky. I'm curious... Which stations are my fellow Tilderinos listening to? (I'm particularly interested in non-English speaking stations)...

      I'm a big fan of community radio, freeform if I'm being picky. I'm curious...

      1. Which stations are my fellow Tilderinos listening to? (I'm particularly interested in non-English speaking stations)
      2. How are you listening?
      3. More generally, are people even listening to much radio any more? If not, why is that?

      To get things started, my own answers are.

      1. WFMU, dublab, Resonance FM, rrr.
      2. Generally I set up an alias per station with fish shell and stream each link via cvlc
      3. As I'm posting I guess it's obvious but yes, I listen to the radio almost daily. It's a nice break to have one less thing to make a decision about (what to listen to) while avoiding having to listen to top 40 and discovering all sorts of new music I'd otherwise likely miss out on.
      8 votes
    17. I started a React and React Native screencast, I'd love to get your opinion on it

      I have always believed that sharing what you know is very important. Altruistically, it helps create a wealth of knowledge that anyone can build upon. Selfishly, it creates a knowledge-base for...

      I have always believed that sharing what you know is very important.

      Altruistically, it helps create a wealth of knowledge that anyone can build upon.

      Selfishly, it creates a knowledge-base for your future self, and - arguably more importantly - helps you build a following.

      After years of pondering on the idea, I took the plunge and started a screencast on React and React Native. I only published four episodes so far, and they are all very basic, but I'm planning on publishing a video every other day for a few months at least.

      It's called RNcasts. You can see it here. I would love to get your opinion on it.

      It's by no means perfect, it hurts my eyes to look at it, and it hurts my ears to hear my own voice, but I had to get started somewhere.

      Also, I will be sharing my journey of working on this screencast on the RNcasts blog. If you are interested in starting your own screencast or video course, feel free to follow it. I'm hoping to share all I learn, the good and the bad.

      4 votes
    18. Just how bad is Donald Trump's 2020 US pitch?

      Not submitting a link. Last thing that scumbag needs is web traffic. But...let's suppose every one of this items actually came to pass in a reasonable form. There is some stuff there even I would...

      Not submitting a link. Last thing that scumbag needs is web traffic.

      But...let's suppose every one of this items actually came to pass in a reasonable form. There is some stuff there even I would legitimately want. So let's see the good/bad of Trump's lies, and discuss.

      I'm bolding things that are (IMHO) obviously very, very bad. Italicizing ones that might be good, but are likely just lies. Striking out anything that is blatant pandering that the president has 0 ability to act on.

      The purpose of this mental exercise is to see how people who don't keep up with politics might fall for the rhetoric. Know your enemy and all of that.

      JOBS

      • Create 10 Million New Jobs in 10 Months
      • Create 1 Million New Small Businesses
      • Cut Taxes to Boost Take-Home Pay and Keep Jobs in America
      • Enact Fair Trade Deals that Protect American Jobs
      • "Made in America" Tax Credits
        • I like the idea of trying to locally source stuff. Tax Credits are not how to do it.
      • Expand Opportunity Zones
        • Eh, sounds good on paper...but will likely just be another loophole.
      • Continue Deregulatory Agenda for Energy Independence

      ERADICATE COVID-19

      • Develop a Vaccine by The End Of 2020
      • Return to Normal in 2021
        • Maybe if we actually did what we needed to do. I don't have my hopes up.
      • Make All Critical Medicines and Supplies for Healthcare Workers in The United States
      • Refill Stockpiles and Prepare for Future Pandemics
        • Yay for fixing your fuck-up way too late?

      END OUR RELIANCE ON CHINA

      • Bring Back 1 Million Manufacturing Jobs from China
      • Tax Credits for Companies that Bring Back Jobs from China
      • Allow 100% Expensing Deductions for Essential Industries like Pharmaceuticals and Robotics who Bring Back their Manufacturing to the United States
      • No Federal Contracts for Companies who Outsource to China
        • Outsourcing bad. But China isn't the only place.
      • Hold China Fully Accountable for Allowing the Virus to Spread around the World
        • God. Damn. It. I have no words.

      HEALTHCARE

      • Cut Prescription Drug Prices
      • Put Patients and Doctors Back in Charge of our Healthcare System
      • Lower Healthcare Insurance Premiums
      • End Surprise Billing
      • Cover All Pre-Existing Conditions
        • Wait, didn't ACA do that?
      • Protect Social Security and Medicare
        • They obviously mean by increasing age to collect, privatizing, and actually trying to dismantle it. But you know...would be good if they did the opposite of what they've tried to do the last 2+ decades.
      • Protect Our Veterans and Provide World-Class Healthcare and Services
        • How about for everybody else too?

      EDUCATION

      • Provide School Choice to Every Child in America
        • Yea, let's do away with church/state separation and also enable crippling debt from kindergarten. /s
      • Teach American Exceptionalism
        • I have no words. This is basically the worst thing ever.

      DRAIN THE SWAMP

      • Pass Congressional Term Limits
      • End Bureaucratic Government Bullying of U.S. Citizens and Small Businesses
        • Nice soundbite...but 'End Bureaucratic Government' is code for "Let's stop regulating to prevent discrimination and other things that are generally good ideas"
      • Expose Washington’s Money Trail and Delegate Powers Back to People and States
      • Drain the Globalist Swamp by Taking on International Organizations That Hurt American Citizens
        • Yea...cause the USA is the bastion of all that is good and does no wrong /s

      DEFEND OUR POLICE

      • Fully Fund and Hire More Police and Law Enforcement Officers
      • Increase Criminal Penalties for Assaults on Law Enforcement Officers
      • Prosecute Drive-By Shootings as Acts of Domestic Terrorism
      • Bring Violent Extremist Groups Like ANTIFA to Justice
        • Somehow I think the actual Nazis won't be targeted by this.
      • End Cashless Bail and Keep Dangerous Criminals Locked Up until Trial
        • End monetary Bail. Anything else: bad.

      END ILLEGAL IMMIGRATION AND PROTECT AMERICAN WORKERS

      • Block Illegal Immigrants from Becoming Eligible for Taxpayer-Funded Welfare, Healthcare, and Free College Tuition
      • Mandatory Deportation for Non-Citizen Gang Members
      • Dismantle Human Trafficking Networks
      • End Sanctuary Cities to Restore our Neighborhoods and Protect our Families
        • I can't bold this one hard enough
      • Prohibit American Companies from Replacing United States Citizens with Lower-Cost Foreign Workers
        • Nice soundbite, but give Unions power again and those kinds of problems will resolve themselves.
      • Require New Immigrants to Be Able to Support Themselves Financially

      INNOVATE FOR THE FUTURE

      • Launch Space Force, Establish Permanent Manned Presence on The Moon and Send the First Manned Mission to Mars
      • Build the World’s Greatest Infrastructure System
      • Win the Race to 5G and Establish a National High-Speed Wireless Internet Network
        • Not sure who you're 'winning' against, but whatever.
      • Continue to Lead the World in Access to the Cleanest Drinking Water and Cleanest Air
        • Um....yea.... how about everybody gets those things?
      • Partner with Other Nations to Clean Up our Planet’s Oceans

      AMERICA FIRST FOREIGN POLICY

      • Stop Endless Wars and Bring Our Troops Home
      • Get Allies to Pay their Fair Share
      • Maintain and Expand America’s Unrivaled Military Strength
      • Wipe Out Global Terrorists Who Threaten to Harm Americans
        • That sounds a lot like 'Continue with Endless Wars'
      • Build a Great Cybersecurity Defense System and Missile Defense System
        • Maybe, just maybe, if we stopped bombing everybody else this wouldn't be needed.

      Sorry, couldn't resist adding my additional commentary. So yea, looking over it again...very, very bad. But enough gems in there that the uninformed that only hears about those might fall for it.

      27 votes
    19. Dune thoughts and adaptation

      I can understand why the journey to make this into a film is so convoluted. I'm not sure I've ever read anything so dense and epic. I was always sort of keen to the series, and always thought the...

      I can understand why the journey to make this into a film is so convoluted. I'm not sure I've ever read anything so dense and epic. I was always sort of keen to the series, and always thought the worm god was just cool imagery. So I did have kind of an internal motivation to get this far, but now that I'm about to dive into God Emperor, I just feel bad for anyone that called it quits after the first book. Frank Herbert had a lot to say, and faithfully adapting this to any kind of screen, I think, is impossible.

      9 votes
    20. IOS app to train super basic (pre)algebra skills. Free or freemium.

      I know those are easy to find on children's education materials, but the keyword here is simple. Anything kiddie, requiring too many clicks or that takes 3 seconds is off the table. I kinda need...

      I know those are easy to find on children's education materials, but the keyword here is simple. Anything kiddie, requiring too many clicks or that takes 3 seconds is off the table.

      I kinda need to brush up on my super basic reasoning. In part, because a grown man should know the time table by heart, and in part, because I wanna convince myself that I did not get brain damage after being hit by a car (there's really nothing indicating that, I'm just paranoid).

      I'm looking for something simple that presents me with the multiplication table and or simple calculations to answer under a time frame. The requirement for iOS is that my computer is broken.

      And it really can be super simple, even something I open from a mobile web browser or transfer to my Kindle.

      Additionally: there is no need for if to be an app. A huge list of exercises (with answers) would be greatly helpful.

      Thanks!

      6 votes
    21. Suggestions for no-display laptop

      This is more specific than ~talk would normally have , but tildes doesn't have anything for shopping yet, so... I'm using my laptop right now, but I've found that for a lot of the stuff on my...

      This is more specific than ~talk would normally have
      , but tildes doesn't have anything for shopping yet, so...

      I'm using my laptop right now, but I've found that for a lot of the stuff on my computer,
      I don't really need a screen. I like using the terminal, and can get a lot done just typing:
      no mouse or display. I think this would be great, as I already do a lot of my casual writing
      and note taking my eyes closed, leaning back in a chair.

      What's the best machine that meets these qualifications? Basically, I just need a way to read memory
      out to another drive. Battery would be a must as well.

      Thanks

      12 votes
    22. Tildes Game Giveaway Thread, August 2020

      Important: This will be a noisy thread. If you do not wish to see it in your feed, please use the "Ignore" feature to hide it! Gifters Post your available games, the platform and method of...

      Important: This will be a noisy thread. If you do not wish to see it in your feed, please use the "Ignore" feature to hide it!


      Gifters

      Post your available games, the platform and method of delivery, rules for your giveaways (e.g. first-come first-serve, random draw, etc.), and any additional info or requirements. Feel free to get creative!

      Giftees

      Request giveaways according to the gifter's guidelines!

      Rules

      Anyone can choose to be a gifter, giftee, or both! Giveaway rules are set by individual gifters, but there are handful of guidelines everyone should follow:

      1. No grey market keys! Only giveaway games from reputable sources. If you're not sure what this means, please ask.
      2. Requests for games should be done in the thread, but if the gift is a key, those should be delivered by PMs only. Please don't post keys publicly, even obfuscated ones.
      32 votes
    23. In your opinion, what is the most powerful speech in history?

      Despite not even being his most famous speech, I think that Martin Luther King's final speech "I've Have Been to the Mountaintop" is the most amazing example of public speaking ever. The grand...

      Despite not even being his most famous speech, I think that Martin Luther King's final speech "I've Have Been to the Mountaintop" is the most amazing example of public speaking ever.

      The grand finale of Dr. King's great legacy. A speech given by a man who knew that his days were numbered. A speech given by a man who knew he would not live to see his dream come to fruition. Dr. King discusses the adversity that the Civil Rights movement had already faced and how these challenges were overcome through non violent methods. He challenges America and it's citizens to live up to the ideals of the country.

      Somewhere I read of the freedom of assembly. Somewhere I read of the freedom of speech. Somewhere I read of the freedom of press. Somewhere I read that the greatness of America is the right to protest for rights. And so just as I said, we aren't going to let dogs or water hoses turn us around. We aren't going to let any injunction turn us around. We are going on.

      The speech ends with Dr. King foreshadowing the possibility of his death, an event which would occur the very next day when MLK was assassinated at his motel in Memphis, Tennessee.

      Well, I don't know what will happen now. We've got some difficult days ahead. But it really doesn't matter with me now, because I've been to the mountaintop. And I don't mind. Like anybody, I would like to live – a long life; longevity has its place. But I'm not concerned about that now. I just want to do God's will. And He's allowed me to go up to the mountain. And I've looked over. And I've seen the Promised Land. I may not get there with you. But I want you to know tonight, that we, as a people, will get to the Promised Land. So I'm happy, tonight. I'm not worried about anything. I'm not fearing any man. Mine eyes have seen the glory of the coming of the Lord.

      So that's my vote. What do you view as the greatest speech in history and why?

      24 votes
    24. In what small ways are you considerate towards others?

      I haven't been able to get samfundssind out of my head since reading the article. It's the polar opposite of what you see in a lot of the US, and I wish that more people in this country weren't...

      I haven't been able to get samfundssind out of my head since reading the article. It's the polar opposite of what you see in a lot of the US, and I wish that more people in this country weren't selfish assholes. It blows my mind that people are unwilling to make such small personal sacrifices, like wearing a mask, for the benefit of their neighbors.

      On that note, what are some small, self-imposed inconveniences you put up with to improve the lives of others?

      I'll start: if I'm pulling up to a red light in the right-most lane and there's a car behind me, I'll always move over to the left. There's a chance they want to make a right turn, and there's no need for them to wait behind me for the light to cycle.

      18 votes
    25. Are there any major problems in society that we genuinely do not have any good solutions to?

      One of the most notable aspects of political discourse today is how many of the problems we have seem to have relatively simple solutions for how consequential they are: To reduce wealth...

      One of the most notable aspects of political discourse today is how many of the problems we have seem to have relatively simple solutions for how consequential they are:

      To reduce wealth inequality, we can use progressive taxation, antitrust, support of unionization so that poor people/workers have a large stake in their wages.

      To give poorer people equal opportunity, we can use welfare initiatives like free (as in paid by taxes/free at the point of use) college, better pay for teachers and more equitable resource (as in textbooks, tables, chalk distribution for schools so poor people get more equitable education to rich people.

      To reduce crime, violence and repeat sentencing we can reduce poverty (see the top question), encourage mental health initiatives and do not have cops take thatand have jail be rehabilitative rather than punitive.

      To make make software less centralized and invasive, we can require Internet companies give you full, immediate disclosure of all the forms your data will be used and let people opt out of all of them, delete all their data, and also enforce antitrust when it comes to social media platforms (I.E Facebook should not own Instagram, WhatsApp, Messenger and their new TikTok analogue and the first thing you should see when logging into any of them is a list of ways these companies will collect your data and let you opt out of all of them and be as anonymous as you please)

      To make sure democracy is indeed representative of the people and works well, we can introduce a parliamentary system or multi-winner congressional seats and institute STV or RCV or just approval voting if you really can't have more than 1 representative for an area (the US senate is cucked)

      To make more progress in stopping COVID, we can have mass testing by the government, people must take social distancing seriously and wear masks, medics need to be taken seriously and properly supplied with PPE and all that.

      Given these solutions, what are large problems we have/will have that we genuinely don't have an answer to instead of just not wanting to do something about it?

      A few examples that come to my mind are:

      How do we get corrupion out of a government? Since the vast majority of stuff I have mentioned in this post would be done by governments and governments under extensive corruption cannot be trusted to regulate anything.

      How do we regulate news outlets to be fair and objective? We can get news outlets to be publically/popularly funded instead of ad(large-corporate)-funded and enforce antitrust, but that doesn't stop bias, outright lying and sensationalism.

      How do we get peple to change their minds? Evidence of everything I've mentioned in this post is more than around, but that hasn't convinced Republicans/conservatives. For some people groups, acceptance has literally been a decades-long political campaign to be recognized as normal or ok.

      EDIT: 3 4 more.

      How do we get people to befriend eachother and be social and tell apart those who genuinely don't want to do this and those who do but don't know how to or don't like to/aren't good at doing it in the ways usually available?

      If we choose to let the population decline (see the climate change question), are we fully prepared for the consequences of having a society that will be growing older and older, perhaps indefinitely?

      If we choose to not let the population decline and seek to keep birthrates at replacement level, how do we convince people to do so? If we don't/can't and start using things like artificial wombs to have children, who will take care of them? Do we make orphanages socially acceptable/valued and well-funded? Do we turn kindergartens and schools into a 24/7 institution and add in non-study things like housing and video games, and make teachers basically parents, but with many children to take care of?

      If electoralism fails, what can we do to still have a voice in the world? Can we do anything?

      18 votes
    26. I had to put my best friend to sleep today

      Olly never liked people very much. He was rescued at ~9 months old wandering around the streets in my hometown. Because of this, and perhaps his past, he had an aversion to lots of commotion,...

      Olly never liked people very much. He was rescued at ~9 months old wandering around the streets in my hometown. Because of this, and perhaps his past, he had an aversion to lots of commotion, people he didn't know, or unexpected noise. But between all of that, he came to trust me, and placed his faith in me—his twelve year old owner. He grew up with me, as I went through high school, then university, a few jobs, and more.

      My furry companion, who at night would sleep on my bed, curled up, paws covering his eyes (but only after licking my hand with his raspy tongue for minutes on end) and during the day would wander outside—safety assured, away from any main roads, with lots of high grass to wander through—or lounge under the sun in the front yard.

      He always had to be the boss—have things his way. A large, well-built 6.5kg ginger-tabby who was neutered much later than you'd normally neuter a kitten. This bossiness extended to the neighbourhood competition. He didn't like other cats much, either. This would lead to an occasional, emotionally painful (for both of us) trip to the vets to treat a scratch, or bite. A 20 minute drive in a cat box, as he meowed and sobbed his head off—telling us in no uncertain terms, "let me out!".

      And do you think he'd ever let you pick him up? Not a chance. Everything has to be on his terms! But in between his assertiveness, he shared his love for me, bumping his head into mine, gently touching my face with his paw on occasion, being a part of my life as I was a part of his.

      Unfortunately, none of us can escape the forever ticking of time. 13 good years pass. For the past week though, he started becoming more introverted, would sleep more—and eat less. Taking this kind of cat to the vet is a judgement call that you don't make lightly. Do you cause stress and anxiety, making him trust you less for weeks on end, make him spend more time outside, away from your watchful eye? Or do you visit the vet less frequently, but still proactively, if you know something is definitely wrong?

      I made the latter decision last night, taking him to afterhours. The triage indicated a heart murmur, and a blood panel indicated parameters that might be indicative of mild renal dysfunction—to be followed up at the proper vet tomorrow. So he was sent home, with some precautionary injections, and an appetite and hydration boost.

      Sadly, I never got that opportunity to take him for a follow up. He slept with me that night, but his condition deteriorated rapidly this morning. I rushed him to the proper vet, watching him helplessly tremble and vocalise his scaredness. I can't help but cry as I type this. The staff told me it was time. I knew it, and in some ways, I think he did too. I'm glad I got to give him the opportunity to fade away peacefully.

      I don't have many frames of reference to compare this part of my life to, but it seems to me this is the most pain I've ever felt over a single event. You might be able to get another cat, but you definitely can't get another Olly. A part of my heart is forever gone. I'm a believer that the pain doesn't really go away, you probably just learn to cope with it more, to focus on the years of good, and not the hours of bad. I really hope I can do that, because he was my best friend.

      I love you, buddy. I hope you're at rest now, and I'll miss you always. 🧡

      29 votes
    27. What do you use your extra mouse buttons for?

      I have a mouse with more than the usual 3 clickables (in my case, a Roccat Kova). Originally I got it because I was looking for better gaming performance (higher DPI, polling rate, etc.), and it's...

      I have a mouse with more than the usual 3 clickables (in my case, a Roccat Kova). Originally I got it because I was looking for better gaming performance (higher DPI, polling rate, etc.), and it's symmetrically shaped (re: ambidexterity). However, for some reason (that I can't remember) I ended up mapping two of the extra buttons to Page Up and Page Down.

      Now, I use these paging buttons as complements to the mouse wheel for scrolling, and I have to say that this is one of those "how did live without this before" things. I honestly feel like it's similar to the transition in technology from wheel-less mice to mice with mouse wheels. Nowadays, it's a given that mice have scroll wheels, and everyone uses them, and it's practically unthinkable to want a mouse without one. I feel the same about my mapped paging buttons. I use the wheel for short-distance scrolling, but I use the paging buttons for wide-area jumping around in a scrollable UI element (e.g. web page). This particular mouse also lets me hold down the mouse button to get repeated "keystrokes" just like a keyboard.

      I was curious what things other Tilders do with their extra mouse buttons. Maybe we'd pick up useful ideas from one another.

      17 votes
    28. A proposal for a purely electric-powered commercial airline industry

      Around 3-5 years ago, Elon Musk was teasing that he thought he had a clever idea for how to make electric-powered aircraft viable/profitable with, basically, current technology ... and he was...

      Around 3-5 years ago, Elon Musk was teasing that he thought he had a clever idea for how to make electric-powered aircraft viable/profitable with, basically, current technology ... and he was basically daring people to guess it.

      Regardless of what he actually did or didn't know, it got me thinking, and I came up with an idea. I thought I'd run it past the Tildes Team, see if it passes muster.

      My idea, in a nutshell, is to build airplanes with only 25%-50% of the battery capacity required for their flight (making them much lighter, with much more capacity for people/cargo) ... combined with, I'll call them Maser Cells on the undersides of the wings ... coupled with low-intensity maser beam emitters at all the major airports.

      Airplanes use a ridiculous amount of energy gaining altitude. For short flights, it can be upwards of 50% of their fuel spent just getting from takeoff to cruising altitude. My basic idea is for planes to get up to cruising altitude in large circles over the airport, powered by a combination of battery power and maser energy beamed up from the airport below. Then stay in a taxi-ing circle over the airport until the batteries are fully charged, before departing. Longer flights can plan their route to include one or more detours to pass over other major airports (or other recharging hubs, like the Tesla Supercharging network, but for airplanes) to recharge the batteries along the way.

      Trans-oceanic flights would be more challenging, perhaps requiring some kind of recharging hubs located midway in the oceans.

      To clarify, my "Maser Cells" are similar to traditional solar-electric power cells, except they are optimized to convert either laser or maser beamed energy into electricity. These things already exist (I forget what they're called), although getting them to a high-efficiency commercial-airline level of production, that would take some effort.

      There is, potentially, a lot of inefficiency in the conversion rates, from ground-generated electricity to ground-generated laser/maser, then on the plane, maser converted back to electricity into battery, then from battery into electric engines ... perhaps there are ways to reduce the amount of conversions necessary, or to increase the efficiency of the conversions. Or perhaps this is what kills the idea.

      Similarly, if this were actually implemented large-scale, to largely replace fossil-fuel-driven planes, we would be talking about a LOT of electricity requirements, a lot of laser/maser emitters at every airport, and a massive redesign of flight traffic management, to allow for hundreds of planes routinely in hours-long recharging flights over every airport, all the time ... potential choke-points at various recharging hubs (again, similar to what Tesla sees at overly-popular Supercharging stations on the ground) ... and doubtless lots of other issues I'm not thinking of.

      Anyway, though, that's the notion.


      ETA: This idea could be extrapolated to an extreme degree, with on-board batteries almost completely eliminated.

      With clearly defined flight corridors, and ground-based maser power stations located every 10-20 miles along, planes could fly their entire route on power beamed up to them, with only 20-30 minute battery capacity for emergencies.


      ETA #2: A person who owned his/her own rocket company might also consider putting the maser cells on the tops of the planes, and launching a bunch of solar-power-generating satellites, with maser emitters shooting power down onto them.

      I guess my main point is, if this maser-energy delivery system is even remotely feasible at a commercial level, there's a lot of potential.

      10 votes
    29. Do something

      TW: Violence and language. Just the other night I heard a native dude got capped, white nationalist on the other end, but nobody heard much after that. No news, no cops, no justice no peace, and...

      TW: Violence and language.

      Just the other night I heard a native dude got capped, white nationalist on the other end, but nobody heard much after that. No news, no cops, no justice no peace, and people wonder why we are calling to defund the police. Come to find out that dude had drugs, it was a meth deal gone bad.

      Ain't need to worry about it son, just ignore it and move on...

      Hold the fucking phone, why does it matter? You tellin’ me that dudes life ain't worth the crime blotter, an obit or some sort of after the fact reaction?

      But he had drugs man, shit happens...

      Man I hear this shit from privileged folk all the time but to hear it come from the streets... This dude didn’t matter because he had a problem, this human deduced to drugs and addiction, no longer my problem. I would say he’s just now a statistic but I’m not even sure if he’s that. This town is god damn silent on injustices and violent crime at that. 4 stabbings and 1 shooting, stuff that stokes fear, nobody goes near. Meanwhile all the townsfolk just cry about the homeless problem and drink their bougie beer.

      Dude you need to settle down you didn’t even know him…

      Motherfucker don’t tell me to settle down, don’t tell me it don’t matter because I didn’t even know him. How many white kids get shot in schools every day to get their obit, their memorial, their presidential postmortem? How about the victims in the towers? We went to fucking war over that shit, why did they matter? How can all lives matter when this dude over here lying on a slab can’t seem to become any sort of subject matter?

      Man that’s just how it is…

      No shut the fuck up, that’s not how it is. I refuse to accept an existence in this world where a life ain't worth the bullet that ended it. Don’t hide behind your cynicism and whataboutism because you just can’t be arsed to offer up any sort of emotional reactionism. That dude...

      Dude…

      No, you listen to me while I remind you what the hell humanity and empathy are. That dude had a family and friends, just like you, he had a life and a history and so much ahead of him too. He had ninety nine point nine percent the same genes as you yet you can’t seem to empathize that that could have been you.

      Dude then go fucking do something.

      6 votes
    30. Architecture for untrained software engineers (Python)

      Hey everyone, I've been programming for some time now but notice without any formalized education in CS I often get lost in the weeds when it comes to developing larger applications. I'm familiar...

      Hey everyone,

      I've been programming for some time now but notice without any formalized education in CS I often get lost in the weeds when it comes to developing larger applications. I'm familiar with the principles of TDD and SOLID - which have helped with maintainability - however still feel that I'm lacking in the ability to architect a properly structured system. As an example, I'm currently developing a flask REST API for a website (just for learning purposes). This involves parsing a html response and serializing the result as JSON. I'm still quite unclear as to structuring this sort of thing. If any more experienced developers could point me in the right direction/offer up their opinion I'd be very appreciative. Currently I have something like this (based - I hope correctly? - on uncle bob's clean architecture).

      Firstly, I'm defining the domain model. i.e the structure of the API response. Then, from outside in.

      1. Infrastructure (Flask): User makes request via interface (in my case a request to some endpoint)
      2. Adapters: request object checks if the request is valid (on the way back it checks if the response is valid) - Is this layer only for error handling?
      3. Repository: I'm struggling a bit here, AFAIUI this layer is traditionally a database. In my case however, where the request is valid, is this where I should handle the networking layer? i.e all the requests to return the website source? I'm also confused given at this stage I should be returning the relevant domain model, like an ORM, but as my data is unstructured, in order to do this I need to transform the response first. Where would it be best to handle this?
      4. Use Cases: Here I transform the domain model depending on the request. For example, filter all objects by id. Have I understood this correctly?
      5. Serializers: Encode the domain model as JSON to return from flask route.

      If you got this far, thanks so much for reading. I really hope to hear the opinions of more experienced devs who can steer me in the right direction/correct me should I have misunderstood anything.

      8 votes
    31. If you have pets, what is it like?

      This is a year old repost, BTW. I'll start, in a Q&A format. "What pets do you have?" I have 3 cats, almost in a large, medium small configuration. (M,F,M respectively.) I've named them Rodolfo,...

      This is a year old repost, BTW.

      I'll start, in a Q&A format.

      "What pets do you have?"

      I have 3 cats, almost in a large, medium small configuration. (M,F,M respectively.) I've named them Rodolfo, Penelope and Alfredo (PT-BR) (respectively), but rarely if ever, they're actually called by those names, usually we (me and my parents) call them bichaninho, bichanoca e bichanão. (also PT-BR, also the "bi" (pronounced like bee) can often be silent.)

      All of them are castrated.

      "For how long have you had them?"

      Around 8,7 and 2 years respectively.

      "what pets did you have?"

      I had another "small" cat, we never gave her an actual name, we called her minifufa. She died after 4/5 years of us finding her because her liver practically stopped working. We've buried her at our formerly grandparents' house (because the father went back to his home state 1700 kiliometers away and the mother also died, from cancer.)

      We also took care of a cat who accidentally fell into our house because a part of the roof is made of some less resistant stuff I can't really name. She was female and we took care of her for about 2 weeks.

      "What are they like?"

      Rodolfo is pretty calm and dependent, he often wants to be petted, sometimes late at night. Sometimes I do that, sometimes I hug/squish him.

      Penelope if like that, but more because she unfortunately has some terrible breathing. We don't know what's in her lungs and why it got there, so it's not going away. It makes her the most frail :l

      Alfredo is the most aloof and often gets into fights with the other 2 cats. He seems to be the most hungry, despite being the smallest cat.

      15 votes
    32. Wargasm - Spit (2020)

      Apple Music - https://music.apple.com/us/album/spit/1515933495?i=1515933506 Spotify - https://open.spotify.com/album/4N8vRR39A9ttCbAVW5Gztx YouTube - https://www.youtube.com/watch?v=aigeil9HSWo...

      Apple Music - https://music.apple.com/us/album/spit/1515933495?i=1515933506
      Spotify - https://open.spotify.com/album/4N8vRR39A9ttCbAVW5Gztx
      YouTube - https://www.youtube.com/watch?v=aigeil9HSWo

      Newest single from relative newcomers Wargasm. The London duo have nothing to do with the old Boston, MA thrash outfit of the same name. These two (Sam Matlock and Milkie Way) instead employ a lot of late 90s industrial and nu-metal guitar riffs with some poppy hooks in the instruments. Mix in the dueling vocals of Matlock's raw, unclean shouts and Way's silky smooth, sometimes bubblegum pop level, harmonies and you get a sort of blender of genres that kind of defies typical categorization.

      The two cut their teeth shoving some pop songs through the jaws of their style (like N.E.R.D.'s Lapdance). They've started putting out originals lately. Spit is probably their hardest song so far, eschewing some of the more poppy elements of their first releases.

      5 votes
    33. Reduction of screentime leading to positive changes in daily life

      Hi, I think I have mentioned it here a few times, but I (used to) spend A LOT of time on my phone. I’ve tried to reduce it in the past with more or less success, and recently without any...

      Hi,
      I think I have mentioned it here a few times, but I (used to) spend A LOT of time on my phone. I’ve tried to reduce it in the past with more or less success, and recently without any university work (I finished all exams half a year ago) and varying amounts of work as a freelancer, it crept up to 6+ hours of screen time per day. (this is excluding watching stuff to fall asleep, which I want to reduce but I am taking one step at a time) - So it’s a lot.

      I tried a lot of stuff, reducing the hours, by setting limits for apps, turning off notifications, but that just leads to me extending the time by entering the password myself, or checking my phone more often because I am curious about whether someone texted.
      So last week Wednesday some stuff changed. I took my first long bike ride in a long time, and that day I felt really good, I still had 5 h screen on time that day though. The next day I turned off notifications for Whatsapp, but I left the indicator next to the app on, so I could see that I have messages quickly, I also decided to just force myself to wait a bit until replying to people. Also my girlfriend is the only one that knows my screentime passcode now, so I can't sneakily extend my app time

      That Thursday my screentime was 3h 16 minutes. I was hooked, I wanted to keep my time as low as possible. Since that Thursday, I have not hit the 4h screen on time once. Yesterday I was at 3h 59 min... it was an exhausting day though (Spending 1.5h at the waiting room at the doc) and I wouldn’t have blamed myself, but I still didn’t want to hit the 4h mark. Last Thursday my daily rhythm has changed quite a bit. I got Ring Fit Adventure this week, and I have done sports 4 times this week, I started to pick up playing guitar (literally got one yesterday) and ukulele again, and I just try to find stuff to do that does not involve my phone. I also played Persona 5 Royal on my ps5, I know it’s screen time but I feel less bad about it because I don’t take my PS everywhere with me, and these were the first days I have taken off in a long time… Next, I am trying to maybe work through my books that are on my backlog, finally finishing some more again. (my girlfriend gave me the book "South Sea Vagabonde, and I am meaning to read it, and I am also listening to the Audiobook "The Shallows")
      One change just caused so many good changes. I am stoked and looking forward to how low I can bring my average, I know 4h per day is still a lot for most people. I am aiming at sub 3h next ( I had that once this week).

      This scene from Bojack has been my mantra since then: https://www.youtube.com/watch?v=R2_Mn-qRKjA

      It really does get easier, too. Today I went biking and I managed to go much longer without breaks and I feel way less exhausted.

      I just wanted to share my experience somewhere, maybe someone else is on the same path and this helps.

      22 votes
    34. Which gaming account should I get/setup for my teen daughter?

      Here's the background... So, I tend not to play video games at all any more (not for at least 15 or 20 years). My teen daughter wants to get a Playstation gaming console...but it seems less about...

      Here's the background...
      So, I tend not to play video games at all any more (not for at least 15 or 20 years). My teen daughter wants to get a Playstation gaming console...but it seems less about playing and more about socializing with her friends. Her friends - while i promised my partner not to call them 'idiots' - are not really the best decision-makers and they're quite affluent (and we definitely are not affluent), so their poor choices usually never impact them. (I think it is less about being teens, and more about them being rich, entitled poor decision makers, because my daughter and a few other poorer friends are actually good kids who know that we can not get all the things.) Here's an example: all of my daughter's rich friends will ask their parents to buy them widget X, and so of course my daughter wants one so she can connect with these rich teens. For these rich kids, after they inevitably abandon widget X, there is no issue; they merely drop them off in one of the rooms in their mini-mansions. But for me, i can not always afford to buy widget X and then have my daughter abandon stuff in our little, meager but love-filled house. (Please if possible let's avoid the topic of how I'm raising my daughter, because all of the parents of us poorer kids in town have the exact same issues with our kids.) Now, we come to the part about my daughter wanting a playstation...I don't mind saving up for a PlayStation - especially if she'll use it...However, since she really only wants it to socialize with her rich friends via a couple of games, i was thinking on getting a PC/gaming rig (not as expensive as PS or some sort of AlienWare) instead of the dedicated gaming console, but still plenty usable for some games...So that, after some time if she abandons it (because for example her friends have migrated to other avenues of socializing), i can always re-purpose the machine. In my mind it seems a more worthwhile investment. (I'm a software guy mostly, but over the decades, almost every machine i have/own has been franken-built by me...so i know just enough hardware.) Now, if I go the route of a PC/gaming rig, can i just sign her up for online gaming accounts like PlayStation Network, and that will suffice for her to use her PC but still connect, say via PSNetwork, with her friends playing PS games?? (To help, i should clarify the games these teens play are fortnight, minecraft, and grand theft auto...I think GTA does not support in game chat/comms with friends, though i could be wrong.)

      So, is it possible for me to sign up my daughter on an online gaming account - like PS Network - that would allow her to communicate with hr friends? And, if so, which gaming network should I set up an account, PS Network, Steam, etc.??? Thanks in advance for any suggestions!!!

      15 votes
    35. What can we do to support voter turnout in the US elections this fall?

      There is an important election in the United States this fall, and we've all heard a lot of concern expressed about efforts to suppress the vote. Under the shadow of all the other issues we're...

      There is an important election in the United States this fall, and we've all heard a lot of concern expressed about efforts to suppress the vote. Under the shadow of all the other issues we're currently facing as a society, I know a lot of people who are asking "what concrete actions can I take to make a difference?" It seems like helping to get out the vote is one very important action.

      So here's a question to the Tildes community: what suggestions do you have about how we (as individuals) can help get out the vote this fall? Big or small, donating money or doing physical work -- what can we do?

      15 votes
    36. Fuck you, COVID. I'm in love!

      My virtual relationship is slowly becoming part of Tilde's lore. We met on Tinder shortly before the pandemic and almost met, but I got a little paranoid after dropping my sister at the airport....

      My virtual relationship is slowly becoming part of Tilde's lore. We met on Tinder shortly before the pandemic and almost met, but I got a little paranoid after dropping my sister at the airport. Maybe that was a good thing, Tinder dates are fleeting and we tend to pass judgment too quickly. This way, we were forced to get to know each other. I had other WhatsApp courtships going on, but they all faded out. We had little in common and nothing to talk about. But Lucy (let's call her that) is special! Smart, funny, and extremely curious about every part of my little nerdy universe. She also has interests of her own and is a simple soul -- we don't need to talk about deep stuff all the time. Lucy is deceivingly shy and her emotional world is deep, requiring some incantation to access. From my point of view, it's like deciphering an adorable puzzle. I love her, oh oh god, I love her so much it hurts in my bones. I told her that, and the response was a bit concerning. She felt pressured to say the same (she wasn't). Days later, she reciprocated without any coercion whatsoever. What a relief! hahaha

      We are now in a relationship. We speak every day. We "fight" (or the cute version of fighting new couples have). We do sexy stuff online.

      Because I was in a trauma center last Friday (I was freaking hit by car hahaha), we cannot see each other for about a week. After that, we decided I'll spend 14 days at her house (and possibly more if everything goes okay).

      Today I was at the mall (I know I shouldn't, it was a necessity!) and sent her the message: "I was just walking at the mall and were hit with the realization of how much I love you".

      So that's where I am.

      Anyone wanna share more COVID love stories?

      28 votes