• Activity
  • Votes
  • Comments
  • New
  • All activity
    1. Grey

      Grey sky not so high crushing my soul it is full dark thoughts, cynicism seeing all these whataboutisms. Grey scale looking like the silver screen can’t inhale makes me wanna scream no voice,...

      Grey sky
      not so high
      crushing my soul
      it is full
      dark thoughts, cynicism
      seeing all these whataboutisms.

      Grey scale
      looking like the silver screen
      can’t inhale
      makes me wanna scream
      no voice, representation
      guess they’re all on vacation.

      Grey paper
      thrown to the stoop
      next to the phone book
      a tattering of what was
      accountability
      reduced to tabloid scoops,
      fake news.

      Grey matter
      on the wall
      in its place after all
      silence, finally silence
      no more dealing with all the violence
      the vitriol, all that was left
      control, I finally have control.

      11 votes
    2. Does a trustworthy VPN provide privacy? If so, how do you know if a VPN is trustworthy?

      It's hard to get a straight answer on this because there are allegations of shilling everywhere when it comes to VPNs (particularly when you discuss specific providers). There's also this post...

      It's hard to get a straight answer on this because there are allegations of shilling everywhere when it comes to VPNs (particularly when you discuss specific providers). There's also this post which gets linked pretty frequently and which seems to throw a wrench in the whole idea.

      For context, I ask because I have two main concerns:

      1. I have been the subject of a mild internet stalking/doxing, and I have no wish to relive that experience.
      2. I live in the United States and, if I am understanding things correctly, my ISP now has the right to sell my browsing data without my consent.

      I have no love for my ISP and am all about the idea of blocking them from gathering data about me, but it seems the only other option is to hand all of my data over to another company who simply promises not to do anything with it. While I'm sure some of them are legitimate, how can you tell the difference between a genuine privacy tool and a honeypot?

      23 votes
    3. Parents: have your kids been affected by age-inappropriate content?

      I was having a conversation with one of my coworkers who mentioned that her child showed a fascination with scary, Halloween-type stuff starting around age 6. She and her husband had a hard time...

      I was having a conversation with one of my coworkers who mentioned that her child showed a fascination with scary, Halloween-type stuff starting around age 6. She and her husband had a hard time with whether they should let him enjoy it or limit it. They weren't sure whether to let him read scary books or watch spooky stuff on YouTube, particularly because it's the type of content that can very easily be age-inappropriate--especially for a 6 year old. Nevertheless, it was relatively easy for them to keep it to stuff like Jack-o-Lanterns and black cats since he was so young.

      The boy is now older but has retained his interest, and the parents are still struggling with decisions about allowable content, especially because he is starting to age into books and movies that deal with much darker stuff, particularly ideas about death/violence.

      I'm not a parent, but I am a teacher, and I have to admit that I'm uncomfortable with some of the stuff my students are exposed to. Over the years I've heard students as young as twelve discuss horror movies like the Saw series or The Human Centipede. I've had middle school students bring books like Gone Girl and 50 Shades of Gray to class. On one hand, I think kids are resilient, and I think a lot of the more difficult or disturbing stuff doesn't quite land for them because they don't really have a context into which to put it yet. I also believe that fictional media is a mostly safe way for us to explore troubling or disturbing ideas.

      On the other hand, I think the internet has caused our children to grow up a lot faster than they used to, as they are exposed to mature content (whether intentionally or accidentally) from a very early age. When I was growing up the worst I could do was check out a slightly-risqué book from the school library and hope my parents never found it in my backpack. Now kids are watching violent (often real-world) and pornographic content starting as young as elementary school. Nothing can make your heart sink quite like sixth graders talking excitedly over lunch about a video of a real person getting crushed to death.

      What I genuinely don't know is if this has any negative developmental effect. Am I just clutching my pearls here? I'd love to hear some parents talk about how they've handled the decision of what's right for their kids and whether they've had fallout from their kids consuming content that's not appropriate for them.

      26 votes
    4. Baseball rules/scoring question

      It's the bottom of the 9th. Bases are loaded, and the home team's cleanup batter hits a home run. What is the final score? Does the game end immediately at 1-0 when the first runner crosses the...

      It's the bottom of the 9th. Bases are loaded, and the home team's cleanup batter hits a home run. What is the final score? Does the game end immediately at 1-0 when the first runner crosses the plate, or is it 4-0 with all runners allowed to score?

      5 votes
    5. When did rap turn into this? We need to start over.

      hey all! just wanted to share a really interesting response to the title question i came across today. this discussion spawned on the /r/justfuckmyshitup subreddit, a page dedicated to those with...

      hey all! just wanted to share a really interesting response to the title question i came across today.

      this discussion spawned on the /r/justfuckmyshitup subreddit, a page dedicated to those with bad haircuts, and was based around rising (you guessed it) emo rapper, bexey.

      as with many others in the genre, most of bexey's following is still very underground even though popular tracks like 'cutthroat smile' and 'stay alive' have reached 2.9 million and 7 million hits, respectively, on youtube.

      while a bit of controversy surrounds bexter as he was once a good friend of late emo rap frontrunner
      lil peep
      (linked: 'your favorite dress') though has been rumored to have stolen several of peeper's clothes after his death, the musical point of discussion quickly turned to the question in the title:

      when did rap turn into this? we need to start over.

      not shortly after, user /u/GNAR-gemniii responds.

      This is natural progression in genres of music.
      Hip hop starts somewhere, has it's defining characteristics established, then people start pushing the genre in different directions because the same old same old has been done before.
      We're in a weird sort of teenage state with hip hop right now, where people are taking the genre and mixing in characteristic of other genres - some good, some bad. This, combined with the 'viral' nature of social media means we get people who do crazy things to stand out like the above, as part of pushing the genre in all these weird directions. This guy specifically is a blend of modern trap production with goth and emo influences (if you couldn't tell).
      as always, there are gonna be people who do it better than others, and people who rely on gimmicks for attention. This guy is a solid 6/10 talent wise, but has an image that appeals to a younger generation. This pattern is as old as music and culture, and people said the same things about every genre when we start getting some really wacky stuff that doesn't really fit within the confines that we would normally associate with the genre.
      Nu-metal is a great example of this. traditional rock and metal music had been done to death, so we had this infusion of hip hop characteristics in to metal. In its infancy, a lot of it is really bad as people figure out what works, then as the subgenres become more popular you have people who hit a nice groove that combines the best characteristics of both genres into something that actually appeals to people who might like one or the other, and can now appreciate the other part of the blooming subgenre. something like Limp Bizkit or Kid Rock vs. Linkin Park or Korn. They're very similar genre wise but you can see maturation of the style and the progression of people doing it well.
      We've already had some really nice subgenres blooming out of hip hop. Cloud rap is one that I think blends very well, and has been around long enough for people who were inspired by the artists at the forefront to come out and do it themselves, sometimes pushing it even further. Recently Lil Peep was an artist that many felt blended nicely the attitude of punk rock / emo / grunge with the banging beats that dominate modern hip hop currently. In the past couple years NY has had a surge of artists who grew up listening to the boom bap greats that paved the way for hip hop and are now blending that into the modern trap beats. The Underachievers are a personal favorite who demonstrate their understanding and respect for the origins of hip hop by showing master of both old and new styles (infused with the ideals of hippy counter culture) on their album Evermore: The Art of Duality. Seriously it's great, give it a listen. If you like old hip hop you will definitely like some of the songs at least, and it could open your eyes a bit and see how they translate traditional skills on top of more modern production.
      As the genre continues to dominate main stream music we're going to have people inspired by artists in these weird hip hop subgenres come out and do it better than their idols, giving us a further refined and more tasteful progression of the subgenres that are currently in their infancy.
      As time goes on, we forget the gimmicky trash that tends to flare out quickly and tend to remember the ones that did it well. Within the next 10 years i feel we're going to see some of the subgenres really shine and define themselves separately from the genres they have their roots in.
      I just love the culture so on some level I can enjoy some objectively not that great music because I appreciate the art and what these artists are trying to do.
      e. Don't even get me started on how metal has stagnated and it's energy has evolved into modern dubstep.

      10 votes
    6. Programming Challenge: Merge an arbitrary number of arrays in sorted order.

      It looks like it's been over a week and a half since our last coding challenge, so let's get one going. This challenge is a relatively simple one, but it's complex enough that you can take a...

      It looks like it's been over a week and a half since our last coding challenge, so let's get one going. This challenge is a relatively simple one, but it's complex enough that you can take a variety of different approaches to it.

      As the title suggests, write a program that accepts an arbitrary number of arrays, in whatever form or manner you see fit (if you want to e.g. parse a potentially massive CSV file, then go nuts!), and returns a single array containing all of the elements of the other arrays in sorted order. That's it!

      Bonus points for creative, efficient, or generalized solutions!

      24 votes
    7. How do you store your bookmarks?

      I'm curious what Tildes uses to organize and store their web bookmarks. Do you rely on your browser, or do you trust some proprietary service like Pocket? Maybe you have a self-hosted solution?

      13 votes
    8. teagritty.

      howdy there. had a good day today, landed a new contract! but of course i can't close out the week on a happy post, where's the fun in that? so i put some drugs in my tea and wrote a thing....

      howdy there. had a good day today, landed a new contract! but of course i can't close out the week on a happy post, where's the fun in that?

      so i put some drugs in my tea and wrote a thing.

      jouissez.


      manny couldn't stand in his corner
      for his last fight
      wilbur turned around, downwind
      on his last flight
      osipova sat down, and rolled
      off her tights
      big sigh
      tongue-tied
      tryna get their words right
      don't cry big guy
      i know you'll be alright
      life builds character out
      of all the bad times
      why do my characters
      always end up bad guys
      even james evans is
      falling in some bad times

      had a pet, but she
      left and took it with
      every time he close his eyes,
      her visions dance around his head
      doesn't want to sleep, so
      he's turning to the cigarettes
      kinda hard to cuddle up
      next to a slilhouette
      he craved depth, but
      he had nowhere to lay his head
      so he grabbed a shovel, headed
      out and dug a grave instead
      no more confidence, put
      some holes in his esophagus
      crossed his arms and fell back
      into his own sarcophagus

      blind optimists start
      to make his stomach sick
      you say he'll be fine,
      how are you so sure of it

      (beat.)

      how are you so sure of it

      times are hard, sui-
      cide epidemic
      one heated moment,
      rash decisions
      one year feeling this shit
      i can't live with
      remember when you made
      me liberated

      used to be a loverboy
      now i'm all jaded
      look at myself in the mirror
      and i hate it
      wonder if i'm thought about
      well, or i'm hated
      tryna forget, get
      numb in this krater
      wondering now if
      you were a sadist
      otherwise how could you
      lie to their faces?
      tell em that you'd be
      there when they need it?
      i'm not the only body
      you left bleeding

      he craved depth, but
      he had nowhere to lay his head
      so he grabbed a shovel, headed
      out and dug a grave instead
      no more confidence, put
      some holes in his esophagus
      crossed his arms and fell back
      into his own sarcophagus
      "FUK LUV" blood-etched,
      tatted on his chest
      eyes closed, smile wide, now
      that he can get some rest.
      high hopes that there's
      life in the next.
      what he wouldn't give,
      just to start over again.

      10 votes
    9. Many updates to The Feature Formerly Known as Comment Tagging

      A couple of weeks ago, I re-enabled the comment tagging feature. Since then, I've been keeping an eye on how it's being used, reading all the feedback people have posted, and have made a few other...

      A couple of weeks ago, I re-enabled the comment tagging feature. Since then, I've been keeping an eye on how it's being used, reading all the feedback people have posted, and have made a few other small adjustments in the meantime. Today, I'm implementing quite a few more significant changes to it.

      First, to try to head off some confusion: if you're very new to Tildes, you won't have access to this feature yet. Currently, only accounts that are at least a week old can use it. Also, the docs haven't been updated yet, but I'll do that later today.

      Here's what's changed:

      • The name has changed from "tag" to "label". I think it's better to use a different term to separate it more easily from topic tags since the features are very different, and "label" shouldn't have the implications that some people attach with "tagging".

      • As suggested by @patience_limited, "Troll" and "Flame" have now been replaced with a single label named "Malice". I don't think the distinction was important in most cases, and the meanings of them were a bit ambiguous, especially with how much the word "troll" has become over-used lately.

        Basically, you should label a comment as Malice if you think it's inappropriate for Tildes for some reason - whether the poster is being an asshole, trolling, spamming, etc.

      • This new Malice label requires entering a reason when you apply it. The reason you enter is only visible to me.

      • Another new label named "Exemplary" has been added, which is the first clearly positive one. This label is intended for people to use on comments that they think are exceptionally good, and it effectively acts as a multiplier to the votes on that comment (and the multiplier increases if more people label the comment Exemplary). Like Malice, it requires entering a reason for why you consider that comment exemplary, but the reason is visible (anonymously) to the author of the comment.

        Currently, you can only use this label once every 8 hours - don't randomly use it as a test, or you won't be able to use it again for 8 hours.

      The interface for some of these changes is a bit janky still and will probably be updated/adjusted before long, but it should be good enough to start trying them out. And as always, beyond the interface, almost everything else is subject to change as well, depending on feedback/usage. Let me know what you think—comment labels have a lot of potential, so it's important to figure out how to make them work well.

      105 votes
    10. Programming Challenge: Compute the shortest path to visit all target spots on a grid.

      Let's do something a little more challenging this time. Given an MxN grid of arbitrary size, and given a random starting place on that grid and a list of points to visit, find the shortest path...

      Let's do something a little more challenging this time.

      Given an MxN grid of arbitrary size, and given a random starting place on that grid and a list of points to visit, find the shortest path such that you visit all of them. Path lengths will be computed using taxicab distances rather than strict coordinate distance calculations.

      There are no restrictions on expected input this time. Output should be the total distance traveled between points.


      Example

      Assume that we use the character # to denote a spot on the grid, the character @ to denote your starting point, and the character * to denote a place on the grid that you're required to visit. One such grid may look something like this:

      ######
      ######
      **####
      #*####
      #*#*##
      #@####
      ######
      

      In this case, let's say that the bottom-left point on the grid is point (0, 0) and we're starting on point (1, 1). One valid solution would be to move to point (3, 2), then (1, 2), then (1, 3), then (1, 4), and finally (0, 4). The shortest path available is thus 8. Note that it's not enough just to visit the next nearest point on the grid!

      15 votes
    11. When the need arises, what is your go to late night snack?

      For me, its a bowl of cereal, usually grape nuts or cheerios. Sometimes with blueberries. Quick and easy. Also, weird fact; I put table cream or half and half in my cereal. My grandmother grew up...

      For me, its a bowl of cereal, usually grape nuts or cheerios. Sometimes with blueberries. Quick and easy.

      Also, weird fact;

      I put table cream or half and half in my cereal. My grandmother grew up on a dairy farm on PEI and when they were kids the best cream was always used by her family for cereal or tea. Well, she had 6 kids, who then had 13 more and all of us use cream like weirdos (and drink lots of tea). And no, we are not all obese because of it, everything in moderation. =)

      ^ I may or may not be eating grape nuts and cream right now.

      11 votes
    12. An informal look at the concept of reduction (alternatively: problem-solving for beginners).

      Preface One of the most common questions I see from prospective programmers and computer scientists is "where should I start?". My answer to that is a pretty consistent one: learn how to solve...

      Preface

      One of the most common questions I see from prospective programmers and computer scientists is "where should I start?". My answer to that is a pretty consistent one: learn how to solve problems effectively. But that's vague and not really all that helpful, so I figured that I should actually tackle this in a little more depth by touching on something more specific.

      Specifically, I want to touch on the subject of how to think about complex problems.


      The Rationale Behind Learning

      Before we can better understand how to effectively solve problems, it's important to consider how it is that we learn. With any subject, the standard approach is to begin with the bare basics. For programming, that's writing a Hello, World! program in the new language you're working with. For foreign languages, you learn basic common words and sentence structure. For math, you learn your basic arithmetic operations like addition and multiplication.

      From there, we add on more additional complexity and string together everything we've learned. For a foreign language, this looks like learning about new words, stringing them together in your own sentences, then learning about verb tenses and throwing them into the mix as well. With math, you take your normal number crunching and suddenly throw the concept of order of operations into the mix, then variables and how to solve for them.

      As a general rule, we first get comfortable with solving a simple problem and gradually build up toward solving increasingly more difficult ones.


      The Missing Piece

      Odds are that we've all sat in a math class at one point, and when the teacher asked a student how to solve a problem, they received an immediate "I don't know". You may or may not have been that kid yourself. I have no intention of shaming the kids who struggled (or those who still struggle) with math. Rather, I want to point to what I believe is the fundamental cause of that mental barrier that has frustrated students for generations.

      Learning is not simply a matter of adding more complexity to problems. A key part of learning, and one that I don't recall ever having emphasized during my grade school studies, is your ability to break problems down into the steps that you know how to complete and combine the different, simpler skills you've already learned to arrive at a solution. Instead, you were expected to solve many of those complex problems and learn through practice, or through pure rote memorization.

      What determined whether or not you could solve those problems was then a question of whether or not you could intuit or memorize how to solve those specific problems, and brand new problems that still made use of the same skill sets but had completely different forms would throw a wrench in that. Those who could solve any of those problems--those who, I would argue, were often mistakenly referred to as "geniuses" or "talented"--were really just those who knew how to break a problem down into simpler pieces.

      This isn't a failing on the students, but on the way they've been taught to think about problems.


      Reducing Problems

      What does it mean to "break down" a problem, though? The few times I recall a teacher ever touching on the subject, "break down the problem" and "use the skills you've already learned" were the kinds of pieces of advice passed around, completely vague and devoid of meaning for anyone who didn't already understand. How can we better grasp this important step?

      There's a term in complexity theory known as "reduction". The general idea is that if you have problems A and B, where you already know how to solve B, then if you can transform problem A so that it looks like problem B, then you can use your solution for B to solve at least part of A.

      In other words, finding the solution to a more complex problem is just a matter of finding a way to make it look like a problem you already know how to solve.

      The advice to "break down" a problem really means to perform this process of "reduction", of transforming your more complicated problem A into your simpler, known problem B.


      In Practice

      We're still discussing a vague concept, but now that we have more specific language to work with, we can more easily see how it works in practice (a reduction of its own!).

      Let's consider a conceptually simple problem: grabbing the kth largest (or smallest) item from a list. How do we solve this problem? Probably the most obvious and straightforward answer is to sort the list then grab the kth item, right?

      Notice that we gave two high-level descriptions of the steps we need to solve this problem: sorting, then grabbing the appropriate item. We can therefore then state that the problem of "grab the kth largest/smallest item from a list" can be reduced to the two problems "sort a list" and "grab the kth item from a list".

      Now, let's say we're given the problem "take this list of competitor times from the race and tell me what the top 10 race times were". What do we know about this problem? We know that we're being given a list, and we know that we need the 10 smallest items from that list. We also know that "10 smallest items" is just shorthand for "the 1st smallest item, the 2nd smallest item, ..., and the 10th smallest item". We can therefore reduce this problem to the previous one we solved by transforming it into "grab the kth smallest item from a list" and "repeat for values 1-10 for k".


      Practical Advice

      In the end, my explanation may not have helped much at all in actually grasping the concept of reduction. My intent isn't necessarily to help you understand it immediately, but to provide you a framework for a way of thinking. Even if you do grasp the general concept, you may even wonder how you're supposed to recognize these kinds of reductions out in the wild in non-academic environments. The answer, perhaps annoying, is practice. Much like an appraiser can only become good at discerning details through experience, a programmer or computer scientist can only recognize these patterns through repeated exposure.

      In general, if I had to narrow it down to a small list of tips for improving your problem solving skills, this would be it:

      • Work on grasping the concept of reduction itself.
      • Expose yourself to lots of new problems.
      • Don't shy away from difficult problems. Reduce them as much as you can and solve the pieces you're able to. Try to research the pieces you're struggling with. Return to the problem later when you have more experience if you have to, but take a crack at it first.
      • Don't accept "I don't know" as an answer in itself. Ask yourself why you don't how to solve a problem. Narrow down which pieces you're able to solve and which pieces you're not.
      • Just solve problems. Any problems. Easy ones, hard ones, and anything in between. Solving problems is a skill, and practicing it will make you better at solving problems in general, and better at recognizing the simpler problems inside of more complicated ones.
      • Don't just come up with a solution to a problem. Ensure that you understand how each piece of it works and why it works. Copy-pasting from StackOverflow can be a valid tool at your disposal, but doing so mindlessly isn't nearly as valuable as reviewing the solution, being able to determine whether or not it works before ever executing the code, and being able to discard anything unnecessary from it.

      Final Thoughts

      I'm not an authoritative voice on this subject. I'm not an educator. More than anything, I'm a life-long student and an enthusiast. There's seldom a day when I don't have to research something new in order to solve a problem I'm not familiar with, or remind myself the syntax for a function I've used several times in the past. I don't know anything about teaching others, but I do know plenty about learning, and if there's anything that has stood out to me over the years, it's the fact that I find it easier to learn about something or to solve a problem if I can transform the concept into something that's easier for me to grasp.

      Moreover, I'm human and thus prone to mistakes. Call me out on them if you notice them. I'll take any of my mistakes as learning opportunities :)

      11 votes