• Activity
  • Votes
  • Comments
  • New
  • All activity
  • Showing only topics with the tag "recurring". Back to normal view
    1. This week's album and EP releases

      Here's a list of a lot of things that came out in this past week, including many which are set to release on Friday. Of course, there's no way to be completely comprehensive with this and I...

      Here's a list of a lot of things that came out in this past week, including many which are set to release on Friday. Of course, there's no way to be completely comprehensive with this and I avoided including things where information was too lacking, so feel free to mention anything that isn't on here that you think is worth mentioning. Beyond that, if you have any thoughts of any of these albums, it would be great to hear them :)

      (oh and don't bully me for the genre tags, a lot of these things have very limited resources available and I couldn't individually listen to everything and determine what fits best, so I'm pulling from third parties and an artist's past work a lot of the time)


      American Football - American Football (Midwest Emo)

      Andrew Bird - My Finest Work Yet (Chamber Pop, Singer/Songwriter)

      Anteros - When We Land (Indie Pop)

      Aoratos - Gods Without Name (Black Metal)

      Apparat - LP5 (Techno)

      Aubrey Logan - Where The Sunshine Is Expensive (Vocal Jazz)

      Avey Tare - Cows on Hourglass Pond (Neo-Psychedelia, Psychedelic Folk)

      Bad Suns - Mystic Truth (Alternative Rock, Indie Pop)

      Ballout - T.I. (Drill)

      Battle Beast - No More Hollywood Endings (Heavy Metal, Power Metal)

      Bill MacKay - Fountain Fire (Folk Rock)

      Blue Angels - Sue EP (Ambient Folk)

      Bonnie Tyler - Between The Earth And The Stars (Pop Rock)

      Brian Carpenter’s Beat Circus - These Wicked Things (Avant Prog, Dark Cabaret)

      Brim Liski - Duels (Shoegaze, Electronica)

      Cellar Darling - The Spell (Folk Metal)

      Christian Scott aTunde Adjuah - Ancestral Recall (Jazz Fusion)

      Crows - Silver Tongues (Post Punk)

      Dean Lewis - A Place We Knew (Singer-Songwriter, Pop)

      Delta Heavy - Only in Dreams (Drumstep)

      Dominanz - Let The Death Enter (Death Metal)

      Donna Grantis (of 3rdEyeGirl) - Diamonds & Dynamite (Hard Rock)

      Dos Monos - Dos City (Experimental Hip Hop)

      Emily Wells - This World Is Too ____ For You (Chamber Pop)

      Everglow - Arrival of Everglow (K-Pop, Dance-Pop)

      Ex Hex - It's Real (Power Pop, Alternative Rock)

      Extortionist - Sever the Cord (Deathcore)

      Famous Dex - Wave Creator (Trap Rap, Pop Rap)

      Flora Cash - Press (Indie Folk)

      Flume - Hi This Is Flume (Wonky)

      Fred Everything - Long Way Home (Deep House)

      From Sorrow to Serenity - Reclaim (Deathcore, Groove Metal, Metalcore)

      Heize - She's Fine (K-Pop, Contemporary R&B)

      Ian Daniel Kehoe - Secret Republic (Pop)

      Ibibio Sound Machine - Doko Mien (Afro-Funk)

      Jayda G - Significant Changes (Deep House)

      Jenny Lewis - On the Line (Pop Rock, Indie Pop)

      Jeon Se Woon - Plus Minus Zero (K-Pop)

      Johnny Booth - Firsthand Accounts (Metalcore)

      Kevin Garrett - Hoax (Singer-Songwriter)

      La Casa Azul - La Gran Esfera (Bubblegum, Indie Pop)

      La Dispute - Panorama (Emo)

      Lafawndah - Ancestor Boy (Alternative R&B, Art Pop)

      Lambchop - This (is what I wanted to tell you) (Sophisti-Pop, Art Pop)

      Leiva - Nuclear (Pop)

      Lil Xan - Heartbreak Soldiers pt. 2 (Trap Rap, Emo Rap)

      Lil Yee - Live 4 It, Die 4 It EP (West Coast Hip Hop)

      Lucy Rose - No Words Left (Singer/Songwriter, Contemporary Folk)

      Luther Dickinson And Sisters Of The Strawberry Moon - Solstice (Southern Rock, Blues)

      Mary Lattimore And Mac McCaughan (of Superchunk) - New Rain Duets (Electroacoustic)

      Matt Anderson - Halfway Home By Morning (Blues)

      Maverick Sabre - When I Wake Up (Neo-Soul)

      Mayfield - Careless Love (Post-Hardcore)

      Meridian - Margin of Error (Heavy Metal)

      Momoland - Show Me (K-Pop, Dance-Pop)

      NAV - Bad Habits (Alternative R&B, Trap Rap, Pop Rap)

      Niggght - Violent Delicacy EP (Doom Metal, Blues)

      Nilüfer Yanya - Miss Universe (Indie Pop, Indie Rock)

      No Win - Downey (Indie Rock, Power Pop)

      Obsidian Sea - Strangers (Progressive Rock)

      Orville Peck - Pony (Singer/Songwriter, Alt-Country)

      Parting Gift - Ensom (Alternative Rock)

      PnB Rock - TrapStar Turnt PopStar (Trap Rap)

      Problem Daughter - Grow Up Trash (Pop Punk)

      Queen Key - Eat My Pussy Again (Trap Rap)

      RPWL - Tales From Outer Space (Progressive Rock)

      Rachael Sage - PseudoMyopia (Singer Songwriter)

      Red Sun Rising - Peel EP (Post Grunge)

      Rich the Kid - The World Is Yours 2 (Trap Rap, Southern Hip Hop)

      Ritual Howls - Rendered Armor (Gothic Country, Gothic Rock, Post-Punk)

      Robin Trower - Coming Closer To Day (Blues Rock)

      Ruth B - Maybe I'll Find You Again (Singer/Songwriter)

      Sermon - Birth of the Marvellous (Alternative Metal, Progressive Rock)

      Shawn James - The Dark & The Light (Contemporary Rock)

      Shlohmo - The End (Electronic)

      Sleep In. - The Stars On Your Ceiling (Emo)

      Sleeper - The Modern Age (Britpop)

      Slow Caves - Falling (Indie Rock)

      Spiral Stairs (Pavement’s Scott Kannberg) - We Wanna Be Hyp-No-Tized (Alternative Rock)

      Stillhound - Stillhound (House, Indie Rock)

      Strand of Oaks - Eraserland (Indie Folk, Indie Rock)

      Suzi Wu - Error 404 EP (Indie Pop)

      Taali - I Am Here (Art Pop)

      Tamaryn - Dreaming The Dark (Synth Pop, Dream Pop)

      Terry Allen And The Panhandle Mystery Band - Pedal Steal + Four Corners (Singer Songwriter)

      The Flaying - Angry, Undead (Death Metal)

      These New Puritans - Inside The Rose (Art Pop, Darkwave)

      They Hate Change - Clearwater EP (Experimental Hip Hop)

      Trevor Daniel - Restless (Pop Rap, Emo Rap)

      Truth Corroded - Bloodlands (Thrash Metal, Death Metal)

      Tyson Meade - Robbing The Nuclear Family (Indie Rock)

      VAV - Thrilla Killa (K-Pop, Dance-Pop, Electropop)

      Vendredi sur mer - Premiers émois (Electropop, French Pop)

      Wallows - Nothing Happens (Indie Rock, Indie Pop)

      We Show Up On Radar - Zanzibar Whip Coral (Indie Pop)

      Wild Belle - Everybody One of a Kind (Pop Reggae, Indie Pop)

      Yawners - Just Calm Down (Indie Rock)

      Yerin Baek - Our Love Is Great (K-Pop)

      13 votes
    2. What have you been watching/reading this week? (Anime/Manga)

      What have you been watching and reading this week? You don't need to give us a whole essay if you don't want to, but please write something! Feel free to talk about something you saw that was...

      What have you been watching and reading this week? You don't need to give us a whole essay if you don't want to, but please write something! Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of.

      If you want to, feel free to find the thing you're talking about and link to its pages on Anilist, MAL, or any other database you use!

      11 votes
    3. What have you been listening to this week?

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! If you've just picked up some music, please update on that as...

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! If you've just picked up some music, please update on that as well, we'd love to see your hauls :)

      Feel free to give recs or discuss anything about each others' listening habits.

      You can make a chart if you use last.fm:

      http://www.tapmusic.net/lastfm/

      Remember that linking directly to your image will update with your future listening, make sure to reupload to somewhere like imgur if you'd like it to remain what you have at the time of posting.

      19 votes
    4. What have you been listening to this week?

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! If you've just picked up some music, please update on that as...

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! If you've just picked up some music, please update on that as well, we'd love to see your hauls :)

      Feel free to give recs or discuss anything about each others' listening habits.

      You can make a chart if you use last.fm:

      http://www.tapmusic.net/lastfm/

      Remember that linking directly to your image will update with your future listening, make sure to reupload to somewhere like imgur if you'd like it to remain what you have at the time of posting.

      14 votes
    5. What have you been watching/reading this week? (Anime/Manga)

      What have you been watching and reading this week? You don't need to give us a whole essay if you don't want to, but please write something! Feel free to talk about something you saw that was...

      What have you been watching and reading this week? You don't need to give us a whole essay if you don't want to, but please write something! Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of.

      If you want to, feel free to find the thing you're talking about and link to its pages on Anilist, MAL, or any other database you use!

      12 votes
    6. what creative projects are you working on?

      it's been a month since the last thread, so i think it's time for a new one of these. here you can share some of the projects that you're working on (of any kind, be they digital, physical, or...

      it's been a month since the last thread, so i think it's time for a new one of these. here you can share some of the projects that you're working on (of any kind, be they digital, physical, or whatever) that wouldn't really work as its own post.

      12 votes
    7. What have you been watching/reading this week? (Anime/Manga)

      What have you been watching and reading this week? You don't need to give us a whole essay if you don't want to, but please write something! Feel free to talk about something you saw that was...

      What have you been watching and reading this week? You don't need to give us a whole essay if you don't want to, but please write something! Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of.

      If you want to, feel free to find the thing you're talking about and link to its pages on Anilist, MAL, or any other database you use!

      9 votes
    8. What have you been watching/reading this week? (Anime/Manga)

      What have you been watching and reading this week? You don't need to give us a whole essay if you don't want to, but please write something! Feel free to talk about something you saw that was...

      What have you been watching and reading this week? You don't need to give us a whole essay if you don't want to, but please write something! Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of.

      If you want to, feel free to find the thing you're talking about and link to its pages on Anilist, MAL, or any other database you use!

      7 votes
    9. Workshop Wednesday II: we're back!

      Hey everyone, thanks to you who posted in the original Workshop Wednesday; I think it went really well! Here we are for week 2 (sorry it took me til noon, I was busy this morning!) Some questions:...

      Hey everyone, thanks to you who posted in the original Workshop Wednesday; I think it went really well! Here we are for week 2 (sorry it took me til noon, I was busy this morning!)

      Some questions:

      • do we need a new topic every week? Or will one be enough?
      • any other comments/suggestions?

      Please begin your comment with [META] to discuss these. Otherwise, I'll copy and paste the guidelines from last week.


      What's a workshop?

      Basically, a workshop is when you have a bunch of people with poems or stories they've written, and everyone gets together, reads everyone's work, and comments on it, sharing what they got out of it and what the author could do to improve the work for publication. I used to do a lot of them in college, and I've missed the dynamic since graduating. I thought others might also be interested, so here goes nothing.

      How this'll work (for now, anyway)

      Each week, I'll post a "Workshop Wednesday" post. If you have a poem or (short) story you'd like workshopped, post that as a top comment. Then, read others' top comments and reply with what works/doesn't work/questions you have/ideas you have for the piece that could make it better. If you post some writing, try to comment on at least two other people's pieces as well -- we're here to help each other improve.

      10 votes
    10. What have you been listening to this week?

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! If you've just picked up some music, please update on that as...

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! If you've just picked up some music, please update on that as well, we'd love to see your hauls :)

      Feel free to give recs or discuss anything about each others' listening habits.

      You can make a chart if you use last.fm:

      http://www.tapmusic.net/lastfm/

      Remember that linking directly to your image will update with your future listening, make sure to reupload to somewhere like imgur if you'd like it to remain what you have at the time of posting.

      21 votes
    11. Workshop Wednesday: Post a poem/story/writing-thing and get feedback!

      So I was talking to @cadadr in this thread about starting a workshop on Tildes, and since today makes for an alliterative title, I thought I'd start one now. What's a workshop? Basically, a...

      So I was talking to @cadadr in this thread about starting a workshop on Tildes, and since today makes for an alliterative title, I thought I'd start one now.

      What's a workshop?

      Basically, a workshop is when you have a bunch of people with poems or stories they've written, and everyone gets together, reads everyone's work, and comments on it, sharing what they got out of it and what the author could do to improve the work for publication. I used to do a lot of them in college, and I've missed the dynamic since graduating. I thought others might also be interested, so here goes nothing.

      How this'll work (for now, anyway)

      Each week, I'll post a "Workshop Wednesday" post. If you have a poem or (short) story you'd like workshopped, post that as a top comment. Then, read others' top comments and reply with what works/doesn't work/questions you have/ideas you have for the piece that could make it better. If you post some writing, try to comment on at least two other people's pieces as well -- we're here to help each other improve.

      Going forward

      Since this is the first one, obviously we can change the format or do something else. Please start meta-discussions with the word [META] so that we know it's not a poem you're trying to workshop!

      I'm excited. Let's do this!

      20 votes
    12. What have you been listening to this week?

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! If you've just picked up some music, please update on that as...

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! If you've just picked up some music, please update on that as well, we'd love to see your hauls :)

      Feel free to give recs or discuss anything about each others' listening habits.

      You can make a chart if you use last.fm:

      http://www.tapmusic.net/lastfm/

      Remember that linking directly to your image will update with your future listening, make sure to reupload to somewhere like imgur if you'd like it to remain what you have at the time of posting.

      14 votes
    13. What are you reading these days? #14

      What are you reading currently? Fiction or non-fiction, any genre, any language! Tell us what you're reading, and talk a bit about it. Notes: I could not start the thread yesterday on Friday like...

      What are you reading currently? Fiction or non-fiction, any genre, any language! Tell us what you're reading, and talk a bit about it.

      Notes: I could not start the thread yesterday on Friday like I used to, I'm sorry for the delay.

      Past weeks: Week #1 · Week #2 · Week #3 · Week #4 · Week #5 · Week #6 · Week #7 · Week #8 · Week #9 · Week #10 · Week #11 · Week #12 · Week #13

      16 votes
    14. What have you been listening to this week?

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! If you've just picked up some music, please update on that as...

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! If you've just picked up some music, please update on that as well, we'd love to see your hauls :)

      Feel free to give recs or discuss anything about each others' listening habits.

      You can make a chart if you use last.fm:

      http://www.tapmusic.net/lastfm/

      Remember that linking directly to your image will update with your future listening, make sure to reupload to somewhere like imgur if you'd like it to remain what you have at the time of posting.

      12 votes
    15. Code Quality Tip: Cyclomatic complexity in depth.

      Preface Recently I briefly touched on the subject of cyclomatic complexity. This is an important concept for any programmer to understand and think about as they write their code. In order to...

      Preface

      Recently I briefly touched on the subject of cyclomatic complexity. This is an important concept for any programmer to understand and think about as they write their code. In order to provide a more solid understanding of the subject, however, I feel that I need to address the topic more thoroughly with a more practical example.


      What is cyclomatic complexity?

      The concept of "cyclomatic complexity" is simple: the more conditional branching and looping in your code, the more complex--and therefore the more difficult to maintain--that code is. We can visualize this complexity by drawing a diagram that illustrates the flow of logic in our program. For example, let's take the following toy example of a user login attempt:

      <?php
      
      $login_data = getLoginCredentialsFromInput();
      
      $login_succeeded = false;
      $error = '';
      if(usernameExists($login_data['username'])) {
          $user = getUser($login_data['username']);
          
          if(!isDeleted($user)) {
              if(!isBanned($user)) {
                  if(!loginRateLimitReached($user)) {
                      if(passwordMatches($user, $login_data['password'])) {
                          loginUser($user);
                          $login_succeeded = true;
                      } else {
                          $error = getBadPasswordError();
                          logBadLoginAttempt();
                      }
                  } else {
                      $error = getLoginRateLimitError($user);
                  }
              } else {
                  $error = getUserBannedError($user);
              }
          } else {
              $error = getUserDeletedError($user);
          }
      } else {
          $error = getBadUsernameError($login_data['username']);
      }
      
      if($login_succeeded) {
          sendSuccessResponse();
      } else {
          sendErrorResponse($error);
      }
      
      ?>
      

      A diagram for this logic might look something like this:

      +-----------------+
      |                 |
      |  Program Start  |
      |                 |
      +--------+--------+
               |
               |
               v
      +--------+--------+    +-----------------+
      |                 |    |                 |
      |    Username     +--->+    Set Error    +--+
      |    Exists?      | No |                 |  |
      |                 |    +-----------------+  |
      +--------+--------+                         |
               |                                  |
           Yes |                                  |
               v                                  |
      +--------+--------+    +-----------------+  |
      |                 |    |                 |  |
      |  User Deleted?  +--->+    Set Error    +->+
      |                 | Yes|                 |  |
      +--------+--------+    +-----------------+  |
               |                                  |
            No |                                  |
               v                                  |
      +--------+--------+    +-----------------+  |
      |                 |    |                 |  |
      |  User Banned?   +--->+    Set Error    +->+
      |                 | Yes|                 |  |
      +--------+--------+    +-----------------+  |
               |                                  |
            No |                                  |
               v                                  |
      +--------+--------+    +-----------------+  |
      |                 |    |                 |  |
      |   Login Rate    +--->+    Set Error    +->+
      | Limit Reached?  | Yes|                 |  |
      |                 |    +-----------------+  |
      +--------+--------+                         |
               |                                  |
            No |                                  |
               v                                  |
      +--------+--------+    +-----------------+  |
      |                 |    |                 |  |
      |Password Matches?+--->+    Set Error    +->+
      |                 | No |                 |  |
      +--------+--------+    +-----------------+  |
               |                                  |
           Yes |                                  |
               v                                  |
      +--------+--------+    +----------+         |
      |                 |    |          |         |
      |   Login User    +--->+ Converge +<--------+
      |                 |    |          |
      +-----------------+    +---+------+
                                 |
                                 |
               +-----------------+
               |
               v
      +--------+--------+
      |                 |
      |   Succeeded?    +-------------+
      |                 | No          |
      +--------+--------+             |
               |                      |
           Yes |                      |
               v                      v
      +--------+--------+    +--------+--------+
      |                 |    |                 |
      |  Send Success   |    |   Send Error    |
      |    Message      |    |    Message      |
      |                 |    |                 |
      +-----------------+    +-----------------+
      

      It's important to note that between nodes in this directed graph, you can find certain enclosed regions being formed. Specifically, each conditional branch that converges back into the main line of execution generates an additional region. The number of these distinct enclosed regions is directly proportional to the level of cyclomatic complexity of the system--that is, more regions means more complicated code.


      Clocking out early.

      There's an important piece of information I noted when describing the above example:

      . . . each conditional branch that converges back into the main line of execution generates an additional region.

      The above example is made complex largely due to an attempt to create a single exit point at the end of the program logic, causing these conditional branches to converge and thus generate the additional enclosed regions within our diagram.

      But what if we stopped trying to converge back into the main line of execution? What if, instead, we decided to interrupt the program execution as soon as we encountered an error? Our code might look something like this:

      <?php
      
      $login_data = getLoginCredentialsFromInput();
      
      if(!usernameExists($login_data['username'])) {
          sendErrorResponse(getBadUsernameError($login_data['username']));
          return;
      }
      
      $user = getUser($login_data['username']);
      if(isDeleted($user)) {
          sendErrorResponse(getUserDeletedError($user));
          return;
      }
      
      if(isBanned($user)) {
          sendErrorResponse(getUserBannedError($user));
          return;
      }
      
      if(loginRateLimitReached($user)) {
          logBadLoginAttempt($user);
          sendErrorResponse(getLoginRateLimitError($user));
          return;
      }
      
      if(!passwordMatches($user, $login_data['password'])) {
          logBadLoginAttempt($user);
          sendErrorResponse(getBadPasswordError());
          return;
      }
      
      loginUser($user);
      sendSuccessResponse();
      
      ?>
      

      Before we've even constructed a diagram for this logic, we can already see just how much simpler this logic is. We don't need to traverse a tree of if statements to determine which error message has priority to be sent out, we don't need to attempt to follow indentation levels, and our behavior on success is right at the very end and at the lowest level of indentation, where it's easily and obviously located at a glance.

      Now, however, let's verify this reduction in complexity by examining the associated diagram:

      +-----------------+
      |                 |
      |  Program Start  |
      |                 |
      +--------+--------+
               |
               |
               v
      +--------+--------+    +-----------------+
      |                 |    |                 |
      |    Username     +--->+   Send Error    |
      |    Exists?      | No |    Message      |
      |                 |    |                 |
      +--------+--------+    +-----------------+
               |
           Yes |
               v
      +--------+--------+    +-----------------+
      |                 |    |                 |
      |  User Deleted?  +--->+   Send Error    |
      |                 | Yes|    Message      |
      +--------+--------+    |                 |
               |             +-----------------+
            No |
               v
      +--------+--------+    +-----------------+
      |                 |    |                 |
      |  User Banned?   +--->+   Send Error    |
      |                 | Yes|    Message      |
      +--------+--------+    |                 |
               |             +-----------------+
            No |
               v
      +--------+--------+    +-----------------+
      |                 |    |                 |
      |   Login Rate    +--->+   Send Error    |
      | Limit Reached?  | Yes|    Message      |
      |                 |    |                 |
      +--------+--------+    +-----------------+
               |
            No |
               v
      +--------+--------+    +-----------------+
      |                 |    |                 |
      |Password Matches?+--->+   Send Error    |
      |                 | No |    Message      |
      +--------+--------+    |                 |
               |             +-----------------+
           Yes |
               v
      +--------+--------+
      |                 |
      |   Login User    |
      |                 |
      +--------+--------+
               |
               |
               v
      +--------+--------+
      |                 |
      |  Send Success   |
      |    Message      |
      |                 |
      +-----------------+
      

      Something should immediately stand out here: there are no enclosed regions in this diagram! Furthermore, even our new diagram is much simpler to follow than the old one was.


      Reality is rarely simple.

      The above is a really forgiving example. It has no loops, and loops are going to create enclosed regions that can't be broken apart so easily; it has no conditional branches that are so tightly coupled with the main path of execution that they can't be broken up; and the scope of functionality and side effects are minimal. Sometimes you can't break those regions up. So what do we do when we inevitably encounter these cases?

      High cyclomatic complexity in your program as a whole is inevitable for sufficiently large projects, especially in a production environment, and your efforts to reduce it can only go so far. In fact, I don't recommend trying to remove all or even most instances of cyclomatic complexity at all--instead, you should just be keeping the concept in mind to determine whether or not a function, method, class, module, or other component of your system is accumulating technical debt and therefore in need of refactoring.

      At this point, astute readers might ask, "How does refactoring help if the cyclomatic complexity doesn't actually go away?", and this is a valid concern. The answer to that is simple, however: we're hiding complexity behind abstractions.

      To test this, let's forget about cyclomatic complexity for a moment and instead focus on simplifying the refactored version of our toy example using abstraction:

      <?php
      
      function handleLoginAttempt($login_data) {
          if(!usernameExists($login_data['username'])) {
              sendErrorResponse(getBadUsernameError($login_data['username']));
              return;
          }
      
          $user = getUser($login_data['username']);
          if(isDeleted($user)) {
              sendErrorResponse(getUserDeletedError($user));
              return;
          }
      
          if(isBanned($user)) {
              sendErrorResponse(getUserBannedError($user));
              return;
          }
      
          if(loginRateLimitReached($user)) {
              logBadLoginAttempt($user);
              sendErrorResponse(getLoginRateLimitError($user));
              return;
          }
      
          if(!passwordMatches($user, $login_data['password'])) {
              logBadLoginAttempt($user);
              sendErrorResponse(getBadPasswordError());
              return;
          }
      
          loginUser($user);
          sendSuccessResponse();
      }
      
      $login_data = getLoginCredentialsFromInput();
      
      handleLoginAttempt($login_data);
      
      ?>
      

      The code above is functionally identical to our refactored example from earlier, but has an additional abstraction via a function. Now we can diagram this higher-level abstraction as follows:

      +-----------------+
      |                 |
      |  Program Start  |
      |                 |
      +--------+--------+
               |
               |
               v
      +--------+--------+
      |                 |
      |  Attempt Login  |
      |                 |
      +-----------------+
      

      This is, of course, a pretty extreme example, but this is how we handle thinking about complex program logic. We abstract it down to the barest basics so that we can visualize, in its simplest form, what the program is supposed to do. We don't actually care about the implementation unless we're digging into that specific part of the system, because otherwise we would be so bogged down by the details that we wouldn't be able to reason about what our program is supposed to do.

      Likewise, we can use these abstractions to hide away the cyclomatic complexity underlying different components of our software. This keeps everything clean and clutter-free in our head. And the more we do to keep our smaller components simple and easy to think about, the easier the larger components are to deal with, no matter how much cyclomatic complexity all of those components share as a collective.


      Final Thoughts

      Cyclomatic complexity isn't a bad thing to have in your code. The concept itself is only intended to be used as one of many tools to assess when your code is accumulating too much technical debt. It's a warning sign that you may need to change something, nothing more. But it's an incredibly useful tool to have available to you and you should get comfortable using it.

      As a general rule of thumb, you can usually just take a glance at your code and assess whether or not there's too much cyclomatic complexity in a component by looking for either of the following:

      • Too many loops and/or conditional statements nested within each other, i.e. you have a lot of indentation.
      • Many loops in the same function/method.

      It's not a perfect rule of thumb, but it's useful for at least 90% of your development needs, and there will inevitably be cases where you will prefer to accept some greater cyclomatic complexity because there is some benefit that makes it a better trade-off. Making that judgment is up to you as a developer.

      As always, I'm more than willing to listen to feedback and answer any questions!

      25 votes
    16. This Week's Releases 01/03 - Solange, Pond, 2-Chainz and more.

      Releases of the week 23/02/2019 - 01/03/2019 Featured Release Solange - When I Get Home (Neo-Soul, Alternative R&B) Solange has unveiled her new album, When I Get Home. Spanning 19 tracks, it...

      Releases of the week 23/02/2019 - 01/03/2019


      Featured Release

      Solange - When I Get Home (Neo-Soul, Alternative R&B)

      Solange has unveiled her new album, When I Get Home. Spanning 19 tracks, it marks Solange’s fourth album to date and serves as the follow-up to her 2016 opus, A Seat at the Table.
      When I Get Home was written, performed, and executive produced by Solange herself, but she was hardly in the studio. Among the album’s many contributors were Earl Sweatshirt, Panda Bear, Tyler the Creator, Blood Orange’s Dev Hynes, Sampha, Pharrell Williams, Gucci Mane, Playboi Carti, Raphael Saadiq, Metro Boomin, The-Dream, Cassie, Abra, and The Internet’s Steve Lacy.
      “Y’all! I’m filled w so much joy right now!!! Wow! I can’t thank y’all enough for this moment and for all the feelings i feel in my body!” Solange wrote in a tweet. “I’m bringing home w me everywhere I go yalll and I ain’t running from shit no more. Your love lifts me up so high. Thank you!”

      Source: Consequence of Sound

      Listen to single

      Stream

      Other Notable Relases

      Pond - Tasmania (Neo-Psychedelia, Psychedelic Pop)

      Listen to single
      Stream

      2 Chainz - Rap or Go to the League (Trap Rap, Southern Hip Hop)

      Listen to single
      Stream

      Sun Kil Moon - I Also Want To Die In New Orleans (Contemporary Folk, Spoken Word)

      Listen to single
      Stream

      T-Pain - 1UP (Alternative R&B, Trap Rap)

      Listen to single
      Stream

      Feel free to discuss or feature any and all other releases in the comments below

      Discussion Points

      Have you listened to any of these releases?
      What are your thoughts?
      What are you looking forward to listen to?
      What have you enjoyed from these artists in the past?

      // All feedback on this format welcome.

      7 votes
    17. what creative projects are you working on?

      this seems like a good time to bring back this question and maybe make it more consistent and recurring since there's just been an influx of new people. i last asked this about three months ago...

      this seems like a good time to bring back this question and maybe make it more consistent and recurring since there's just been an influx of new people. i last asked this about three months ago and i'm sure there are both new people to answer this question and new ideas that people who already answered or would answer have come up with since.


      for my part, i did this post just now as a short little thing. on the larger scale, i've been intending to get back into editing my personal worldbuilding wiki because there's a bunch of shit i want to do with that, but college isn't exactly leaving a lot of time for it and every time i try to start on stuff gets tedious so i've been holding off on it for a little bit. i've also been chipping away at the fun that will be one of several religious books, but i don't really know how i want to structure it yet so the verses pictured and others are liable to get shuffled around at this point.

      33 votes
    18. What have you been watching/reading this week? (Anime/Manga)

      What have you been watching and reading this week? You don't need to give us a whole essay if you don't want to, but please write something! Feel free to talk about something you saw that was...

      What have you been watching and reading this week? You don't need to give us a whole essay if you don't want to, but please write something! Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of.

      If you want to, feel free to find the thing you're talking about and link to its pages on Anilist, MAL, or any other database you use!

      15 votes
    19. What are you reading these days? #13

      What are you reading currently? Fiction or non-fiction, any genre, any language! Tell us what you're reading, and talk a bit about it. Notes: I could not start the thread yesterday on Friday like...

      What are you reading currently? Fiction or non-fiction, any genre, any language! Tell us what you're reading, and talk a bit about it.

      Notes: I could not start the thread yesterday on Friday like I used to, I'm sorry for the delay.

      Past weeks: Week #1 · Week #2 · Week #3 · Week #4 · Week #5 · Week #6 · Week #7 · Week #8 · Week #9 · Week #10 · Week #11 · Week #12

      23 votes
    20. What have you been listening to this week?

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! If you've just picked up some music, please update on that as...

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! If you've just picked up some music, please update on that as well, we'd love to see your hauls :)

      Feel free to give recs or discuss anything about each others' listening habits.

      You can make a chart if you use last.fm:

      http://www.tapmusic.net/lastfm/

      Remember that linking directly to your image will update with your future listening, make sure to reupload to somewhere like imgur if you'd like it to remain what you have at the time of posting.

      31 votes
    21. What have you been watching/reading this week?

      I'm gonna move this to Fridays from now on, it's easier for me to remember to post. Anyway, what have you been watching/reading this week? Feel free to talk about something you saw that was cool,...

      I'm gonna move this to Fridays from now on, it's easier for me to remember to post.

      Anyway, what have you been watching/reading this week?

      Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of.

      If you want to, feel free to find the thing you're talking about and link to its Anilist, MAL, or any other anime/manga database you use!

      10 votes
    22. What have you been watching/reading this week? (Anime/Manga)

      Picking these threads up from @Cleb after talking to her about it :) What have you been watching and reading this week? You don't need to give us a whole essay if you don't want to, but please...

      Picking these threads up from @Cleb after talking to her about it :)

      What have you been watching and reading this week? You don't need to give us a whole essay if you don't want to, but please write something! Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of.

      If you want to, feel free to find the thing you're talking about and link to its pages on Anilist, MAL, or any other database you use!

      20 votes
    23. What have you been listening to this week?

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! If you've just picked up some music, please update on that as...

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! If you've just picked up some music, please update on that as well, we'd love to see your hauls :)

      Feel free to give recs or discuss anything about each others' listening habits.

      You can make a chart if you use last.fm:

      http://www.tapmusic.net/lastfm/

      Remember that linking directly to your image will update with your future listening, make sure to reupload to somewhere like imgur if you'd like it to remain what you have at the time of posting.

      17 votes
    24. What are you reading these days? #12

      What are you reading currently? Fiction or non-fiction, any genre, any language! Tell us what you're reading, and talk a bit about it. Edit 2019-01-16: Add the link for Week #11 below. Past weeks:...

      What are you reading currently? Fiction or non-fiction, any genre, any language! Tell us what you're reading, and talk a bit about it.

      Edit 2019-01-16: Add the link for Week #11 below.

      Past weeks: Week #1 · Week #2 · Week #3 · Week #4 · Week #5 · Week #6 · Week #7 · Week #8 · Week #9 · Week #10 · Week #11

      11 votes
    25. What have you been watching/reading this week? (Anime/Manga)

      Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of. If you want to, feel free to find the thing you're...

      Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of.

      If you want to, feel free to find the thing you're talking about and link to its Anilist, MAL, or any other anime/manga database you use!

      11 votes
    26. What have you been watching/reading this week? (Anime/Manga)

      Forgot to post the thread yesterday. Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of. If you want to,...

      Forgot to post the thread yesterday.

      Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of.

      If you want to, feel free to find the thing you're talking about and link to its Anilist, MAL, or any other anime/manga database you use!

      6 votes
    27. What have you been listening to this week?

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! If you've just picked up some music, please update on that as...

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! If you've just picked up some music, please update on that as well, we'd love to see your hauls :)

      Feel free to give recs or discuss anything about each others' listening habits.

      You can make a chart if you use last.fm:

      http://www.tapmusic.net/lastfm/

      Remember that linking directly to your image will update with your future listening, make sure to reupload to somewhere like imgur if you'd like it to remain what you have at the time of posting.

      10 votes
    28. What have you been listening to this week?

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! If you've just picked up some music, please update on that as...

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! If you've just picked up some music, please update on that as well, we'd love to see your hauls :)

      Feel free to give recs or discuss anything about each others' listening habits.

      You can make a chart if you use last.fm:

      http://www.tapmusic.net/lastfm/

      Remember that linking directly to your image will update with your future listening, make sure to reupload to somewhere like imgur if you'd like it to remain what you have at the time of posting.

      15 votes
    29. What are you reading these days? #11

      What are you reading currently? Fiction or non-fiction, any genre, any language! Tell us what you're reading, and talk a bit about it. Past weeks: Week #1 · Week #2 · Week #3 · Week #4 · Week #5 ·...

      What are you reading currently? Fiction or non-fiction, any genre, any language! Tell us what you're reading, and talk a bit about it.

      Past weeks: Week #1 · Week #2 · Week #3 · Week #4 · Week #5 · Week #6 · Week #7 · Week #8 · Week #9 · Week #10

      14 votes
    30. What have you been watching/reading this week? (Anime/Manga)

      I'd say something here about thinking a monthly thread for this is better or something, but that would be a lie and the truth is that I was busy during Christmas and subsequently forgot to post...

      I'd say something here about thinking a monthly thread for this is better or something, but that would be a lie and the truth is that I was busy during Christmas and subsequently forgot to post this thread for about three weeks running. Sorry about that.

      Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of.

      If you want to, feel free to find the thing you're talking about and link to its Anilist, MAL, or any other anime/manga database you use!

      9 votes
    31. This Week's Releases 18/01 - James Blake, Sharon Von Etten, Future and more.

      Releases of the week 12/01/2019 - 18/01/2019 Featured Release James Blake - Assume Form (Alternative R&B, Art Pop) "After dropping two new songs yesterday — the subtle trapper “Mile High” and the...

      Releases of the week 12/01/2019 - 18/01/2019


      Featured Release

      James Blake - Assume Form (Alternative R&B, Art Pop)

      "After dropping two new songs yesterday — the subtle trapper “Mile High” and the haunting “Lullaby For My Insomniac” — James Blake reveals today the entirety of Assume Form, his fourth full-length to date and follow-up to 2016’s The Colour In Anything. It’s available to stream in full below via Apple Music and Spotify.
      The album spans 12 tracks, including last year’s excellent “Don’t Miss It”, and features guest spots from Travis Scott, Metro Boomin, Rosalía, André 3000, and Moses Sumney. Blake previously contributed to the most recent full-length efforts from Oneothrix Point Never and Travis Scott, as well as on singles from Kendrick Lamar, André 3000, and Moses Sumney.”

      Source: Consequence of Sound

      Listen to single

      Stream

      Other Notable Relases

      Sharon Van Etten - Remind Me Tomorrow (Indie Pop, Synth)

      Listen to single
      Stream

      Future - The WIZRD (Hip Hop, Trap)

      Listen to single
      Stream

      Deerhunter - Why Hasn’t Everything Already Disappeared (Neo-Psychedelia, Indie Rock)

      Listen to single
      Stream

      Toro Y Moi - Outer Peace (Alternative R&B, Synth Funk)

      Listen to single
      Stream

      Feel free to discuss or feature any and all other releases in the comments below

      Discussion Points

      Have you listened to any of these releases?
      What are your thoughts?
      What are you looking forward to listen to?
      What have you enjoyed from these artists in the past?

      // All feedback on this format welcome below.

      4 votes
    32. A Brief Look at Webhook Security

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

      Preface

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

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


      Background

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

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

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

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

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

      Method #2 is what we call a webhook.


      May I see your ID?

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

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

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

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


      Class is in Session

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

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

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

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

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


      Final Thoughts

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

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

      8 votes
    33. What have you been listening to this week?

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! If you've just picked up some music, please update on that as...

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! If you've just picked up some music, please update on that as well, we'd love to see your hauls :)

      Feel free to give recs or discuss anything about each others' listening habits.

      You can make a chart if you use last.fm:

      http://www.tapmusic.net/lastfm/

      Remember that linking directly to your image will update with your future listening, make sure to reupload to somewhere like imgur if you'd like it to remain what you have at the time of posting.

      7 votes
    34. What have you been listening to this week?

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! Feel free to give recs or discuss anything about each others'...

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something!

      Feel free to give recs or discuss anything about each others' listening habits.

      You can make a chart if you use last.fm:

      http://www.tapmusic.net/lastfm/

      Remember that linking directly to your image will update with your future listening, make sure to reupload to somewhere like imgur if you'd like it to remain what you have at the time of posting.

      16 votes
    35. What are you reading these days? #10

      What are you reading currently? Fiction or non-fiction, any genre, any language! Tell us what you're reading, and talk a bit about it. Past weeks: Week #1 · Week #2 · Week #3 · Week #4 · Week #5 ·...

      What are you reading currently? Fiction or non-fiction, any genre, any language! Tell us what you're reading, and talk a bit about it.

      Past weeks: Week #1 · Week #2 · Week #3 · Week #4 · Week #5 · Week #6 · Week #7 · Week #8 · Week #9

      14 votes
    36. What have you been listening to this week?

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! Feel free to give recs or discuss anything about each others'...

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something!

      Feel free to give recs or discuss anything about each others' listening habits.

      You can make a chart if you use last.fm:

      http://www.tapmusic.net/lastfm/

      Remember that linking directly to your image will update with your future listening, make sure to reupload to somewhere like imgur if you'd like it to remain what you have at the time of posting.

      11 votes
    37. What have you been listening to this week?

      Hi, I'm covering this week at Whom's request again. What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! Feel free...

      Hi, I'm covering this week at Whom's request again.

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something!

      Feel free to give recs or discuss anything about each others' listening habits.

      You can make a chart if you use last.fm:

      http://www.tapmusic.net/lastfm/

      Remember that linking directly to your image will update with your future listening, make sure to reupload to somewhere like imgur if you'd like it to remain what you have at the time of posting.

      13 votes
    38. What are you reading these days? #9

      Edit: #9, not #8; sorry for messing the title up. Would be glad if someone can fix it for me, I can't edit it apparently. Thanks a lot, Deimos, for fixing it up! What are you reading currently?...

      Edit: #9, not #8; sorry for messing the title up. Would be glad if someone can fix it for me, I can't edit it apparently. Thanks a lot, Deimos, for fixing it up!

      What are you reading currently? Fiction or non-fiction, any genre, any language! Tell us what you're reading, and talk a bit about it.

      Past weeks: Week #1 · Week #2 · Week #3 · Week #4 · Week #5 · Week #6 · Week #7 · Week #8

      12 votes
    39. What have you been watching/reading this week? (Anime/Manga)

      Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of. If you want to, feel free to find the thing you're...

      Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of.

      If you want to, feel free to find the thing you're talking about and link to its Anilist, MAL, or any other anime/manga database you use!

      10 votes
    40. ~music Listening Club 24 - Intro to Shoegaze

      So, it's time to switch things up a little as discussed in the last thread. We're going to have multiple records a week from now on and follow themes rather than the alternating weeks we've had...

      So, it's time to switch things up a little as discussed in the last thread. We're going to have multiple records a week from now on and follow themes rather than the alternating weeks we've had until now.

      The first week of our new format is the beginning of a genre introduction series that I'm running: Intro to Shoegaze! We will likely have several different themes switching off each week, and I'll kick off a few over the next couple weeks. These aren't intended to be tailored for genreheads (at least not right now), but rather a way to have a conversation about the all-time greats of specific genres, scenes, labels, etc. while also having something fresh that those already into that kind of music might not already be familiar with.

      Shoegaze

      Shoegazing (or shoegaze, initially known as "dream pop") is a subgenre of indie and alternative rock that emerged in the United Kingdom in the late 1980s. It is characterised by its ethereal-sounding mixture of obscured vocals, guitar distortion and effects, feedback, and overwhelming volume. The term "shoegazing" was coined by the British music press to ridicule the stage presence of a wave of neo-psychedelic groups who stood still during live performances in a detached, introspective, non-confrontational state with their heads down. This was because the heavy use of effects pedals meant the performers were often looking down at the readouts on their effects pedals during concerts.

      Most shoegazing bands drew from the glide guitar template set by My Bloody Valentine on their early EPs and 1988 debut Isn't Anything. A loose label given to the shoegazing scene and other affiliated bands in London in the early 1990s was The Scene That Celebrates Itself. In the early 1990s, shoegazing groups were pushed aside by the American grunge movement and early Britpop acts such as Suede, forcing the relatively unknown bands to break up or reinvent their style altogether. In the 2000s, there was renewed interest in the genre among "nu gaze" bands.

      Essential Album: My Bloody Valentine - Loveless - Listen to it!

      The shoegaze genre has a pretty much univerally agreed-upon "Big 3" records, the most prominent and influential of which being My Bloody Valentine's Loveless, which is undoubtedly the #1 starting place if you're looking to check out shoegaze for yourself. It's the darling of the genre and of internet music nerdom in general for a reason.

      Loveless is the second studio album by English-Irish rock band My Bloody Valentine. It was released on 4 November 1991 in the United Kingdom by Creation Records and in the United States by Sire Records. The album was recorded over a two-year period between 1989 and 1991, with vocalist and guitarist Kevin Shields leading the recording sessions and experimenting with guitar tremolo techniques and tuning systems, samplers, and meticulous production methods. The band cycled through nineteen different studios and many engineers during the album's prolonged recording, with its production cost rumoured to have reached £250,000.

      Preceded by the EPs Glider (1990) and Tremolo (1991), Loveless peaked at number 24 on the UK Albums Chart and was widely praised by critics for its sonic innovations and Shields's "virtual reinvention of the guitar". However, after its release, Creation Records owner Alan McGee removed the band from the label, as he found Shields too difficult to work with, a factor alleged to have contributed to the label's eventual bankruptcy. My Bloody Valentine struggled to record a follow-up to the album and broke up in 1997, and Loveless was their last full-length release until MBV in 2013.

      Since its release, Loveless has been widely cited by critics as one the greatest albums of the 1990s, a landmark work of the shoegazing subgenre, and as a significant influence on various subsequent artists. In 2012, it was reissued as a two-CD set, including remastered tracks and a previously unreleased half-inch analogue tape version, and peaked on several international charts. In 2013, Loveless was certified silver by the British Phonographic Industry.

      Minor Album: Vyva Melinkolya - Vyva Melinkolya - Listen to it!

      This one is a shoegaze record which lies a little more on the dream pop / ethereal side of the genre than Loveless, and is my personal album of the year for 2018 so far by a longshot. I would suggest this for anyone who wants to to live in that wonderful dreamy yet noisy middle ground. The artist is also nonbinary, and while I can't speak for everyone, I find that this speaks to gender dysphoria in a way that only the best shoegaze can.

      Here's the place to discuss your thoughts on the records, your history with them or the artists, and basically talk about whatever you want to that goes along with Loveless and Vyva Melinkolya! Remember that this is intended to be a slow moving thing, feel free to take your time and comment at any point in the week!

      Again, if you'd like to stream or buy the albums, they can be found on most platforms here (Loveless) and here (Vyva Melinkolya).

      12 votes
    41. This Week's Releases 14/12 - Charlotte Gainsburg, Kodak Black, Vic Mensa and more.

      Releases of the week 8/12/2018 - 14/12/2018 Featured Release Charlotte Gainsburg - Take 2 - EP (Art Pop, Synth Pop) "Charlotte Gainsbourg has announced a new EP called Take 2. The five-track...

      Releases of the week 8/12/2018 - 14/12/2018


      Featured Release

      Charlotte Gainsburg - Take 2 - EP (Art Pop, Synth Pop)

      "Charlotte Gainsbourg has announced a new EP called Take 2. The five-track project, which features her cover of Kanye West’s “Runaway,” is out December 14 via Because Music. Today, she’s shared the EP’s first song “Such a Remarkable Day.” Check it out below with a video of Gainsbourg’s live performances.
      Take 2 is produced by Frank Ocean collaborator SebastiAn and mixed by Tom Elmhirst. See the artwork below. Last year, Gainsbourg released Rest, which featured on Pitchfork’s “50 Best Albums of 2017.”

      Source: Pitchfork

      Listen to single

      Stream

      Other Notable Relases

      Kodak Black - Dying To Live (Hip Hop, Trap)

      Listen to single
      Stream

      Vic Mensa - Hooligans EP (Conscious Hip Hop)

      Listen to single
      Stream

      $ilkMoney - *I Hate My Life and I Really Wish People Would Stop Telling Me Not To * (Hip Hop, Trap)

      Listen
      Stream

      Feel free to discuss or feature any and all other releases in the comments below

      Discussion Points

      Have you listened to any of these releases?
      What are your thoughts?
      What are you looking forward to listen to?
      What have you enjoyed from these artists in the past?

      // All feedback on this format welcome below.

      4 votes
    42. What have you been listening to this week?

      Whom couldn't make it today so here I am with the weekly post. What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something!...

      Whom couldn't make it today so here I am with the weekly post.

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something!

      Feel free to give recs or discuss anything about each others' listening habits.

      You can make a chart if you use last.fm:

      http://www.tapmusic.net/lastfm/

      Remember that linking directly to your image will update with your future listening, make sure to reupload to somewhere like imgur if you'd like it to remain what you have at the time of posting.

      10 votes
    43. ~music Listening Club 25 - 1992

      On the second week of the new format, we're going to try out themes based on periods of time, this time being the year of 1992. Themes, both years like this one or whatever else you think would...

      On the second week of the new format, we're going to try out themes based on periods of time, this time being the year of 1992. Themes, both years like this one or whatever else you think would work well for the listening club, can be suggested in this thread or if you join the unofficial Tildes Discord server in the #listening-club channel.

      Essential Album: Aphex Twin - Selected Ambient Works 85-92 - Listen!

      While a lot of excellent and long-lasting work was released in 1992, Selected Ambient Works 85-92 stands out as one of the most influential and has stood the test of time as well as any of them. As much as everyone hates the label of "Intelligent Dance Music" (IDM), there's no doubt that SAW is one of the cornerstone records of that genre that has an impact in the world of music at large that can't be ignored.

      Selected Ambient Works 85–92 is the debut studio album by the English electronic musician Richard D. James under the pseudonym of Aphex Twin, released as a very limited import in late November 1992 by Apollo Records, an imprint of the more prominent label R&S Records, and later widely in February 1993. The 1992 LP was James' third release overall, and collected tracks dating back as early as 1985. An analogue remaster was released in 2006, and a digital remaster in 2008.

      Selected Ambient Works 85–92 received widespread acclaim and has been characterised as a landmark of electronica, ambient music, and IDM. It was followed by Selected Ambient Works Volume II (1994). On the week ending 27 September 2014, the album entered at #30 in the UK Dance Albums Chart after the release of his 2014 album Syro.

      Widely regarded by critics as one of the pioneering works in early IDM and modern electronic music, retrospective reviews mention its influence on electronic artists. Warp Records refers to it as "the birthplace and the benchmark of modern electronic music" and has stated that "every home should have a copy." In 2003, the album was placed #92 in "NME's 100 Best Albums" poll. Nine years later, it was named the greatest album of the 1990s by FACT Magazine. The album was also featured in the book 1001 Albums You Must Hear Before You Die.

      Minor Album: Divine Styler - Spiral Walls Containing Autumns of Light - Listen!

      This is a strange one, possibly the strangest hip hop album released as of 1992. It's so disjointed and all over the place that instead of describing it myself, I'll steal the descriptors from RateYourMusic: "Islamic, psychedelic, anxious, cryptic, conscious, abstract, introspective, surreal, eclectic, male vocals, avant-garde, noisy, spiritual."

      Spiral Walls Containing Autumns of Light is the second album by hip hop artist Divine Styler, released in 1992 on Giant Records. This album marked a significant change in Divine Styler's musical direction, incorporating a much broader range of styles and influences than 1989's Word Power. Despite the album's unusual style, it was actually released by a major label but, perhaps inevitably, failed to sell as well as record executives expected. Although the album was largely regarded as a commercial failure, it has since developed a large cult following. Styler was signed to Giant because of Ice-T’s relationship with Warner Bros. Records.

      The album is notoriously experimental—Allmusic referred to the album as being like '"The Residents meets Funkadelic"—and takes influence from a wide variety of music genres such as hip hop, rock, electronic, funk and even elements of spoken word and noise.

      The majority of the album was produced and arranged by Divine Styler himself, which included him performing and processing all of the vocals, playing the guitar, drums (and drum programming), and keyboards, among other instruments. Due to the artist's dominance over the album's direction, it is generally regarded as a very introspective and personal album.

      Here's the place to discuss your thoughts on the records, your history with them, the artists, or music in 1992 in general and basically talk about whatever you want to that goes along with Selected Ambient Works 85-92 and Spiral Walls Containing Autumns of Light! Remember that this is intended to be a slow moving thing, feel free to take your time and comment at any point in the week!

      Again, if you'd like to stream or buy the albums, they can be found on most platforms here (Selected Ambient Works 85-92) and here (Spiral Walls Containing Autumns of Light).

      4 votes
    44. What have you been watching/reading this week? (Anime/Manga)

      Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of. If you want to, feel free to find the thing you're...

      Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of.

      If you want to, feel free to find the thing you're talking about and link to its Anilist, MAL, or any other anime/manga database you use!

      6 votes
    45. What are you reading these days? #8

      What are you reading currently? Fiction or non-fiction, any genre, any language! Tell us what you're reading, and talk a bit about it. Past weeks: Week #1 · Week #2 · Week #3 · Week #4 · Week #5 ·...

      What are you reading currently? Fiction or non-fiction, any genre, any language! Tell us what you're reading, and talk a bit about it.

      Past weeks: Week #1 · Week #2 · Week #3 · Week #4 · Week #5 · Week #6 · Week #7

      17 votes
    46. What have you been listening to this week?

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! Feel free to give recs or discuss anything about each others'...

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something!

      Feel free to give recs or discuss anything about each others' listening habits.

      You can make a chart if you use last.fm:

      http://www.tapmusic.net/lastfm/

      Remember that linking directly to your image will update with your future listening, make sure to reupload to somewhere like imgur if you'd like it to remain what you have at the time of posting.

      12 votes
    47. What have you been watching/reading this week? (Anime/Manga)

      Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of. If you want to, feel free to find the thing you're...

      Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of.

      If you want to, feel free to find the thing you're talking about and link to its Anilist, MAL, or any other anime/manga database you use!

      8 votes
    48. This Week's Releases 30/11 - Earl Sweatshirt, The 1975, J.I.D., Jeff Tweedy

      Releases of the week 24/11/2018 - 30/11/2018 Featured Release Earl Sweatshirt - Some Rap Songs (Hip Hop, Abstract) It’s always been Earl versus the world. Fame found him at the age of 16, making...

      Releases of the week 24/11/2018 - 30/11/2018


      Featured Release

      Earl Sweatshirt - Some Rap Songs (Hip Hop, Abstract)

      It’s always been Earl versus the world. Fame found him at the age of 16, making him an internet sensation, then a meme, then an enigma, and finally, an icon. For an introverted kid who knew he could rap but was reluctant to accept the exposure and invasions of privacy that came with being a bona fide pop culture phenomenon, it’s been an uncomfortable evolution. Voracious fans threatened to consume not just his music but his personal life too. That same entitlement caused the “FREE EARL” campaign to mutate from eager appreciation to scary obsession and stoked fans’ demand for music during the three years since his last album—even as he was mourning his father’s death earlier this year. Rather than bask in the attention, he recoiled from it, setting himself apart from peers who maintain relevance through carefully strategized ubiquity. As he receded from the spotlight, his mystique grew—as did fans’ desire to hear him to do what he does best.

      Source: Pitchfork

      Listen to single

      Stream Links

      Other Notable Relases

      The 1975 - A Brief Inquiry Into Online Relationships (Pop, Synthpop)

      Listen to single

      J.I.D. - DiCaprio 2 (Hip Hop, Trap)

      Listen to single

      Jeff Tweedy - Warm (Indie, Alt-Country)

      Listen to single

      Meek Mill - CHAMPIONSHIPS (Hip Hop, Trap)

      Listen to single

      Feel free to discuss or feature any and all other releases in the comments below

      Discussion Points

      Have you listened to any of these releases?
      What are your thoughts?
      What are you looking forward to listen to?
      What have you enjoyed from these artists in the past?

      // All feedback on this format welcome below.

      6 votes
    49. What have you been watching/reading this week? (Anime/Manga)

      Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of. If you want to, feel free to find the thing you're...

      Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of.

      If you want to, feel free to find the thing you're talking about and link to its Anilist, MAL, or any other anime/manga database you use!

      8 votes
    50. What have you been listening to this week?

      Oops, just noticed I didn't post this week! My mistake. What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something! Feel...

      Oops, just noticed I didn't post this week! My mistake.

      What have you been listening to this week? You don't need to do a 6000 word review if you don't want to, but please write something!

      Feel free to give recs or discuss anything about each others' listening habits.

      You can make a chart if you use last.fm:

      http://www.tapmusic.net/lastfm/

      Remember that linking directly to your image will update with your future listening, make sure to reupload to somewhere like imgur if you'd like it to remain what you have at the time of posting.

      11 votes