Why I Pull Out My Hair - <AUTHOR> https://mosaicscience.com/story/why-i-pull-out-my-hair-trich-ocd-bfrbs-therapy/ <comment><USER2> I went through some very traumatic experiences during my sophomore year of high school. I can't say 100% that it "started" my trich, but within that same year, I began pulling coarse/kinky black hairs from my head because I felt like they were out of place. I was fascinated by their presence among all my blonde hair. Moving into college I started targeting other more subtle areas like sideburns and my beard. I found that I could pull on these areas in the middle of class without drawing much attention to myself. Back in the privacy of my dorm room, I would pull pubic hairs to relieve the stress I felt while racking my brain over challenging math problems (I was a math major). During this same time, I also developed an addiction to pornography.

Fast forward, I just had my 33rd birthday. I haven't looked at pornography in over 5 years. But I'm still struggling with pulling out my hair. And that's how I know how much of a stronghold this has on my life. I do it mainly when I'm self-soothing or just under a lot of stress. I know my triggers and I still can't defeat this thing. I have tried N-acetylcysteine, shaving my hair short, prayer. My wife will even swat my hand down (bless her heart) if she sees me reaching for a hair. But then I end up getting mad at her for not letting me have my fix.

My theory is that I don't truly value and love myself and that's why I'm willing to inflict damage upon myself. Sometimes I even use pulling to "punish" myself for not understanding technical things. It's self-mutilating and there is a lot of shame and guilt associated with it.

I'm still hopeful that one day I can overcome this habit (disorder?). I sure as hell don't want to have kids and have them grow up watching daddy pull hairs.

<comment><USER3> Have you tried redirecting the habit? While changing at the core is ultimately the goal, redirecting actions into a set of more neutral ones might help. For example, having a bracelet that you can play with, or even in some cases pull on to feel it snap back in place.

It's very hard to redirect all the activity that our mind produces at all times, I have very similar issues and I understand that too.

</comment></comment><comment><USER4> I've been picking my beard every since I was a teenager. I do it when I'm thinking about a coding problem so my desk is full of little hairs at the end of the day. I also did it during driving long distances and when watching television.

I think it's related to stress and when I have nothing to do with my hands. This is not happening when being active outside in nature.

I've noticed that I'v actually started touching and searching for hairs in my beard while thinking about this next sentence...

When I search for a hair with my fingers and found one I can find that particular hair without looking, I know what it feels like, where it is and it has to come out. I keep picking until it's gone. Sometimes I throw it away, sometimes I put the hair softly against my lips, the lips are very sensitive and able to feel the shape of a single hair.

Shaving helps for a bit, but a couple days later it's the worst because all the hairs have the perfect length... Just long enough to find, just short enough so it's a challenge to grab them.

Sometimes I close my eyes to really focus on the feeling of the fingers and concentrate on grabbing that hair.

Sometimes I use both hands, one to grab the skin and make the hair go up a little bit so it's easier to grab.

My partner gets mad on me when I do it, but none of my colleagues ever said anything about but I'm sure they noticed.

It's definitely a disorder and very hard to stop by yourself.

While thinking of a closing remark I picked another hair, I guess that speaks for itself.

<comment><USER5> Yeah I decided to grow my beard out into a full one my freshman year of college and I got in the habit of picking at it. Very often I ended up with a big pile of hairs in my dorm that I'd have to sweep up. I've since shaved to a much smaller, cleaner beard and I can notice a few patches that I'm almost certain are from picking. I'm really hoping they eventually fill in. It's been several month since I shaved to a much thinner beard.

</comment></comment><comment><USER6> I developed this habit for a few years during adolescence, which I think was a reaction to the anxiety that developed at that time of life, relating to things like social pressures, academic challenges and parental expectations.

I can recall visiting the bathroom multiple times per evening to find new hairs to pluck out of a particular area on the side of my face, as a form of procrastination and distraction from stresses I was feeling.

I think it stopped when I finished high school, and I haven't exhibited this particular habit ever since.

However, it was in the year after I finished high school (1995) that the internet started becoming a thing, and I jumped on board quickly and developed the habit of frequently checking things (news sites, and, ahem, discussion boards) online.

I can't help but ponder that if it weren't for having a phone in my pocket and being able to reach in and check Twitter or HN every time I needed a dopamine hit or a distraction from anxiety, I might instead be carrying tweezers in my pocket and plucking hairs every hour or two :)

</comment><comment><USER7> If you wanna break unwanted habits you have to break bad neural paths and force your body to develop the new neural connections.

Try to scratch your beard gently, caress a cat, etc. Lace your shoes differently, switch from one loop wrap to bunny ears. Since I watched "Dealt" movie I've been shuffling a deck of cards while reading from screen, it feels very comforting.

You have to foster these good habits the hard way, through repetitions. Don't be hard on yourself plucking hairs or skin picking has occurred once again, but praise yourself for how much of a cat lover or agile deck shuffler you are.

<comment><USER8> That's a great way to quit a lot of bad habits including smoking. When you feel the urge to smoke or vape, take that energy and use your hand on something positive such as a quick workout, cleaning parts of your home, etc.

You can try to smoke and workout at the same time but that'll just likely make you sick and vomit. heh

</comment></comment><comment><USER9> I do the same with picking certain spots on my scalp and have done so ever since I was abbot ten or so. They just feel bumpy and not smooth and I feel like I have to smooth them. Of course, it only makes things worse. In reality, they look no different than the rest of the scalp. After I had chicken pox the bad habit never went away. At one point I was also picking my arms. Until this year, I never talked to anyone about it and thought of it as some sort of ridiculous addiction. At times I have managed to get it under control. The longer I go without it the easier it is. It's freeing to be able to talk about it in real life and here after over thirty years of denial and secrecy. The turning point for me was reading an article about it and realizing it is a disease, similar to OCD which I likely also have, and that I'm not crazy or messed up in a unique way. Thanks for listening and to others who share their own stories of this affliction.

<comment><USER10> I tend to do the same, picking at uneven feeling bits. What sucks is how it turns into a vicious cycle. If I can somehow keep away long enough for the skin to heal, I can usually stop.

Until I find another spot.

</comment></comment><comment><USER11> I basically do the same with my beard within the chin… I usually pick those "not perfect" and also those who are grown slightly longer than their neighbors…

<comment><USER12> I have also started doing this with my beard from my high-school years. As in the article, there are "special" hairs that you feel a need to pull out and offer some strange pleasant feeling.

I forced my self to stop several times for a few months, but in times when I am stressed or less mindful I do it again -_-

<comment><USER13> I've started shaving myself regularly to stop myself from doing this.

</comment></comment></comment><comment><USER14> I do this, but not out of compulsion or stress; I do it out of specific irritants: ingrown hairs.

Oftentimes a beard hair will grow into my skin and I will unconsciously pick at non-ingrown hairs in the general region until there is a small hairless hole surrounding the actual ingrown hair.

I have to consciously tell myself to get a needle and fish it out preemptively so that this doesn't happen.

</comment><comment><USER15> I pick at my facial hair whenever I'm reading or thinking, it's a big problem for me since I like having a beard. I have to shave it every so often because it gets scraggly with bald patches of plucked hair. Thankfully growing facial hair is my super power so I typical have a full beard again soon enough.. only to start the cycle all over again. When I shave it off I'll pluck at my eyebrows instead which take longer to grow back and patchy eyebrows look more weird (to me) than a patchy beard.

I've tried all sorts of ways to stop but the activity is sub conscious and by the time I'm aware of it its too late.

</comment><comment><USER16> Fuck, this isn't normal?

This is like when I discovered that my tinnitus isn't normal, and that most people don't have an incessant ringing in their ears.

Luckily, like the writer of this blog post, it isn't really noticeable on my head (my hair is already quite thin), which is why I've never realise it's not normal.

<comment><USER17> Wait, you thought a persistent ringing noise in ears is a normal human trait?

<comment><USER16> I guess so?

My father has it too (and my grandfather had shit hearing), so I think it's in part hereditary. Years of construction work with power tools and target shooting (often without hearing protection) hasn't helped though.

I've had tinnitus since as long as I can remember. It doesn't bother me, I usually don't even notice it unless I'm specifically thinking about it. I've had it so long that I don't actually have a baseline of what true silence is, my brain usually just filters it out (although depressive episodes and drinking often bring it out).

I've read stories about people who've been driven mad by their tinnitus. Thankfully it barely affects my life. Like, now that I'm thinking about it, I can hear it above everything, but when I wake up in the morning I'll forget I have it.

<comment><USER18> Hey, me, too! Since I was way too young to attend my first rock show or hold an air tool. Doesn't bother me a lick because, well, that's apparently the way I was built. Like you, I don't even notice unless I think about it. Can't say about the rest of my family, never asked.

I've always wanted to go to one of those acoustically-dead rooms, where you can hear the blood pumping through your veins. Or will I?

<comment><USER19> Being in a room so quiet you can hear your own bloodflow drives me _insane_. It gets louder, and louder, and louder ...

Give me just a bit of actual noise to hear, please and thank you.

</comment></comment></comment></comment></comment><comment><USER20> My wife used to do this shit nonstop for years - drove me crazy. She seems to have stopped since having a baby - reason being too busy?

<comment><USER21> With respect, "this shit" and "drove ME crazy" don't sound all that empathetic. This is a disorder that people can't help, and are often very embarrassed by. I think the right way to handle it is to be supportive in trying to help get treatment, while making clear it has zero impact on how you view them as a person.

Not saying you're not doing that, but just a good reminder. I have someone close to me that suffers from this (and is embarrassed by it) and it's helped both of us to sort of view it as a biological quirk/defect (like wearing glasses) vs something really shameful.

<comment><USER22> With respect, the full quote included the word "nonstop". Someone with OCD- like behaviour can drive you crazy. My partner has autism like I do (and my autism drives her crazy, at times, though I also omit e.g. picking my nose around her), and she's on a witchhunt with certain things such as pimples on my and her body (even though its less painful if I do it myself), dark (small) hairs on her chin/legs (she's brunette), the few hours which form a vague unibrow on me, hair on our ears. I get it if the reason is ingrown hairs, I really do. But the other stuff seems over the top. She also has a plethora of cleaning and hygiene rules which might make sense but are outliers (for example the cats are exempt). I can totally imagine someone who's going through such can sometimes use harsh words to vent their frustration. It isn't chique, I agree.

</comment></comment></comment><comment><USER23> > Others are skin picking and cheek or lip biting.

Cheek and lip biting isn't normal? I mean just kinda gently chewing on the inside of your cheeks/lips while you're thinking.

<comment><USER24> It probably feels normal to many people, but damaging yourself while nervous or distracted, even a little, isn't really healthy.

That isn't to say I don't do it. But when I do, I recognize that I shouldn't be.

</comment></comment><comment><USER25> I started pulling out my beard hairs as a replacement to cheek biting, which was a replacement to nail biting... Now I try to make sure I just keep a pack of gum on me.

</comment><comment><USER26> This is a disorder, what is the recommended course of action and how effective is it in treating this disorder?

<comment><USER27> Aside from visiting a psychiatrist, N-acetylcysteine supplementation seems promising: [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3500061/](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3500061/)

</comment></comment><comment><USER28> When I was young I'd wrap my hair around my finger and pull out giant chunks. My parents would tell me to stop, so I just began hiding the hair in vases and stuff lol. I stopped eventually, no idea why I started doing it.

</comment><comment><USER29> I do this too. Particularly when I'm reading something online or thinking. I was smoothing my sideburns whilst reading this post, looking for "that special hair". I favour my sideburns and beard.

<comment><USER30> Heh, I was just doing it with my eyebrow. Noticed a harder, thicker hair among the softer hairs. Pulled out five other hairs before getting it. Probably have a hole in my brow now.

</comment></comment><comment><USER31> I admit I plucked out a few gray hairs when they first started showing up, but I mostly leave it alone.

</comment><comment><USER32> My own experience is that I would do this (specifically pull the hair from the back of my head behind my ear causing a bald patch) whenever I'm stressed or feeling particularly anxious... the latter part being fairly often. However I found that the trichotillomania stops if I cut my hair very short with clippers and so now this is my hair style. Thank god I'm a bloke.

<comment><USER33> I'm the same way. It is interesting though, because when I would cut my hair shorter my mind somehow knew the second that my hair was long enough to be pulled because I would start up again. I also grew my hair out pretty long (for me at least, maybe 2 or 3 inches long) and would twist my hair to knot it up and then pull on the knots. It would cause pain but it the pain felt so good. Similar to when I pull my hair and I have cuts on my fingers (typically from when I pick the skin near my finger nails). The pain of the hair running over the nails is so satisfying.

<comment><USER34> Im the exact opposite. I pull my beard and when I shave, I still have the urge to pull except the hair is shorter now and I have to work harder to pull it out. I continue to pick and pluck at it with my fingernails until I damage the skin and it gets swollen.</comment></comment></comment>


Semicolons matter - <AUTHOR> http://blog.rrowland.com/2016/04/11/semicolons-do-matter/ <comment><USER2> It still surprises me that this discussion pops up so often. Even more surprising is that people assume as a matter of fact that forgetting to put a semi-colon is the problem.

> When your code's intention is ambiguous, your JavaScript engine will attempt > to fill in the gaps.

This is kind of misleading. The JS engine isn't making some guess. There are clearly defined semantics on how ASI (automatic semi-colon insertion) operates. Let's put aside whether ASI is good or bad-it's just part of JavaScript. Ending all your lines with semi-colons won't save you, only understanding ASI will do that.

Take this example:

        function foo() {
          return
            'A really long string that I've put on another line';
        }
        console.log(foo());

You'll see that `foo` returned undefined here. Why? Because ASI terminated `return\n` as a statement.

Isaac Schlueter wrote a post on this years ago that pretty much says everything I'd want to say on this topic: [http://blog.izs.me/post/2353458699/an-open-letter-to- javascr...](http://blog.izs.me/post/2353458699/an-open-letter-to-javascript- leaders-regarding)

<comment><USER3> > Ending all your lines with semi-colons won't save you, only understanding > ASI will do that.

It will save you if you use JSLint/JSHint/ESLint/etc.

In your example you will get an error about a semicolon missing after the return statement.

If your convention is to always use semicolons your editor can let you know you have made a mistake. If you don't use semicolons then you have to turn off these warnings from your Linter and you won't catch the error until you see weird results at runtime.

And that's the purposing of always using semicolons, so you can have automated tools help you.

<comment><USER2> Sure, a linter can handle that situation. But linters can handle the semicolon-free style just as well[1]. There is no real value-add from semicolons; they're just a matter of stylistic preference.

[1]: [https://github.com/feross/standard](https://github.com/feross/standard)

</comment></comment></comment><comment><USER4> Non-ambiguous titles also matter, in this case it should be "Semicolons matter in JavaScript". Too many links have this problem and it makes it difficult to find an article when searching for something on HN.

<comment><USER5> Agreed. Even though Hacker News obviously leans towards articles about programming and such, I was half-hoping this was an article about grammar.

<comment><USER6> Good idea for my next topic. ;)

For the record, I didn't post my article here, but if I had I would have specified the language.

</comment></comment></comment><comment><USER7> His example has at least 2 missing semicolons.

function Logger() { }

// Log something to the console at a specified level

Logger.prototype.log = function(level) {

      console[level || 'log'].apply(console,[].slice.apply(arguments, 1));

}; // here

// Sugar functions for Logger.log

['info', 'warn', 'error'].forEach(function(level) {

      Logger.prototype[level] = function () {

        return this.log.apply(this, [level].concat(Array.from(arguments)));

      }; // here

});

<comment><USER8> And yet, not only does it still function as it should without those missing semicolons, the author didn't notice them missing. Hmm. Hmmmmm.

<comment><USER9> Not sure what you're trying to insinuate, but the first "// here" is the one that broke the code as mentioned in the article.

</comment></comment></comment><comment><USER10> Seems like everyone should just be using an automated tool to catch missing/extra semicolons. No reason not to at this point, and eslint even autofixes them for you.

<comment><USER11> That was my exact reaction too--I wonder how many people who spend any meaningful amount of time in javascript do so without a good linter.

<comment><USER12> Outside of work, I spent a month or two writing little demos for my kids in javascript using notepad. My old computer had died and I was borrowing one. This was in ~2014 maybe?

</comment></comment></comment><comment><USER13> "Error establishing a database connection" \- caching matters.

<comment><USER6> My baby DigitalOcean droplet was not prepared for HN traffic.

</comment></comment><comment><USER14> Kind of insane that this still hasn't been fixed. You should be able to put something like `strict_semicolons;` at the start of a JS file to tell the interpreter to _require_ semicolons for that file.

</comment><comment><USER15> Flame-on: I wish I could blacklist other people's code that don't use semicolons. Perhaps that flagging should be put into a linter. That linter will then update a global list of semicolon-optional code. Flame-off.

</comment><comment><USER16> Semicolons cannot save you: [https://www.youtube.com/watch?v=Qlr- FGbhKaI](https://www.youtube.com/watch?v=Qlr-FGbhKaI)

Gist: Adding semicolons won't help, because you still have to know how JavaScript inserts them automatically to add them in the right places.

<comment><USER17> Correct me if I'm wrong, but the only case you have to worry about is having "return" on the same line as the thing you want to return. And you have that problem whether or not you use semicolons in the rest of your code.

<comment><USER16> The blog post mentions, that starting a line with [ or ( can be dangerous too.

But till hat example I didn't even know why this would make sense in the first place.

I only use excessive parenthesis for math and store arrays, like the example, in constants that describe their purpose, so I guess I dodged a bullet there :)

</comment></comment></comment><comment><USER18> >> Be unambiguous with your code. If you're ending a statement, use a semicolon.

We're still going over this? _Javascript, The Good Parts_ came out close to 10 years ago and went over this.

<comment><USER19> The problem here is that the assignment to Logger.prototype.log superficially looks like a function definition, not like an assignment statement, especially when you don't look too hard at the beginning.

</comment></comment><comment><USER20> Honestly when you already have to keep track of JavaScript's other gotchas, having to remember to look for likes that start with ( or [ and precede then with a semicolon is not that much to ask. It seems silly anyway, but not particularly damaging.

</comment><comment><USER21> I never used semicolons and I have never had a problem. Just avoid ambiguous code.

<comment><USER22> I have a short anecdote where not using semicolons caused problems. Or well, not even in our code.

We were using (IIRC) a version of underscore.js that did not use or did not end the final line thing (probably one of them self-executing functions) with a semicolon. Because of reasons, our application would break in production builds; the lack of semicolons would, in some cases, cause an issue after concatenating that file with another vendor's file. A very obscure and hard to track one, too - it took us weeks if not months to find it.

<comment><USER19> I've seen recommendations to _start_ an included Javascript file with a semicolon to avoid this problem.

<comment><USER23> Just concat using a semicolon instead of just a new line.

</comment></comment></comment></comment><comment><USER24> Can someone explain what's happening here? I'm a JavaScript dev, perfectly familiar with JS and with semi-colon insertion, but I'm not following the code after "This is how V8 sees it:"

I don't see how or why the two lengthy statements using `apply` are being omitted entirely. I also don't see how that's "perfectly valid code" . . . I tried running it and got an error 'cannot read property forEach of undefined.'

<comment><USER25> To quote the article: "I've removed the internals for clarity"

The content of the functions is just not relevant to the point he's trying to make

<comment><USER24> Oh. I read over that. Thanks.

</comment></comment></comment><comment><USER26> Isn't it as simple as: You only need a semi colon if the next line starts with "[" or "(" ?

<comment><USER27> The idea is that leaving out a semicolon saves an almost imperceptible amount of time but requires you to be deeply familiar with the rules of every JavaScript engine, any minifiers/transpilers/etc. which will ever see that code, etc. and also commits you to rigourously applying that logic to every future change.

That's where I'd expect this to come up most frequently – someone writes code, tests it, it works and they move on but later someone makes a change and doesn't notice that the original author left a trap for them. It's easy to avoid that in the "ASI is cool" examples but real programs evolve over time and you never want to make maintenance programming harder.

<comment><USER26> If you're writing idiomatic modern javascript you're using modules -- we no longer have the issue of two JS files being concatenated together in a shared lexical scope. The only rules you need to be familiar with are the 2 I mentioned. In my work, I've never thought about it as "imperceptible" time savings: I worked on a codebase without semi-colons, and then didn't want to go back. It was easier code to work with and write, and the feared downsides never materialized.

I still use them to conform with existing code bases or linters that require them, of course, but given the preference..

<comment><USER27> > It was easier code to work with and write

This is the part I'm still having trouble with – hitting ";" at the end of a statement is harder than having to look at the next line and reason about it? I mean, we're talking about a single character on the home row of most keyboards – just how fast are you cranking out code?

EDIT: just to be clear, I don't see this as a huge factor either way – a formatter can easily add or remove to your preference – so I surprised by the way ASI proponents talk about it as a big deal. To me it seems like a minor aesthetic preference on the level of "2 spaces or 4?" which doesn't meaningfully change the way you're writing code and is significantly outshone by something like switching to ES6, etc.

<comment><USER26> I never have to "look at the next line and reason about it" \-- you simply do not find yourself in a position very often of starting a line with an open brace. I'm not going to list all of the little reasons why I found it more enjoyable and easier to omit the semicolons. If you're interested, try it on a project yourself. Suffice to say, I found several cases where my life was just easier. Here's just one, from the very top of a file. It's easier to add another import to this list:

      let states    = require('../data/states.json')
        , cloneDeep = require('lodash/cloneDeep')

<comment><USER27> Again, I have tried this and fail to see any more benefit than, say, changing the indent size in my editor. Personally, I prefer

      let states    = require('../data/states.json'),
          cloneDeep = require('lodash/cloneDeep');

to

      let states    = require('../data/states.json')
        , cloneDeep = require('lodash/cloneDeep')

but that's an unimportant aesthetic preference. The structure of the code is the same and my experience working with it is fundamentally unchanged. In either case we're talking about a fraction of a percentage of the time it takes to understand what the application is or should be doing.

Now compare that to something which actually matters: arrow functions, classes, modules and imports, the newer data structures, generators, etc. In that case, the time spent adopting a new style actually changes the structure of the code you're writing and, hopefully, makes it easier to clearly convey your intention to the next person who works on it.

<comment><USER26> You have strong opinions about this. That's cool, and if you believe one way is more correct that's also cool. My advice to everybody is the same advice I gave you: try it. Try project without them and see. The only risk is that you might find out you're wrong. If you want to add them later there are tools for that.

<comment><USER27> > You have strong opinions about this.

It's odd that you appear to have ready my comments but missed the point where I repeatedly said that I do not have a strong opinion about this and was expressing my surprise that some people do.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER28> Google cache version - [http://goo.gl/x6jLVW](http://goo.gl/x6jLVW)

</comment><comment><USER29> The trend towards optional semicolons isn't good. Javascript, Go, and Rust all have different semicolon syntax and semantics.

<comment><USER30> The essential difference between Javascript and Go is that in Go, the semicolons are inserted by the lexer[0], while in JS, they're inserted by the parser. I don't know how Rust does it.

This means that Go's semicolon insertion rules are really simple: to judge if a statement will end in a semicolon, you only need to examine that line (actually, the last token of that line).

In Javascript, on the other hand, the start of the next line needs to be considered as well. If the two lines could possibly be interpreted as one statement together, then they are (except for restricted productions). [ and ( are common offenders that cause lines to "pick up" other lines, but unary + and - can also be candidates when they get promoted to binary operators.

[0] [https://golang.org/doc/effective_go.html#semicolons](https://golang.org/doc/effective_go.html#semicolons)

<comment><USER31> Rust doesn't do any special insertion/deletion, but take an expression and add a ; and it becomes a statement.

</comment></comment></comment><comment><USER32> Whether you are writing semicolons or not. Don't start a new line with (, [, /, +, ++, or --. And never have a line break after return, break or continue.

</comment><comment><USER33> I would prefer finding a subset of JavaScript in which omitting semicolons is okay. Maybe this could be enforced in a linter. For example, if you never begin statements with [ or (, would it be okay to omit all semicolons?

A semicolon doesn't seem like much but that's a lot of extra typing over the course of a career.

<comment><USER34> There is a growing number of us moving away from semicolons. I find Typescript useful as the language is (of course) ASI-aware and you can double check that the Typescript compiler's output looks about how you would "expect it". ESLint and TSLint both now have semicolon never options and StandardJS is a simple NPM install standard away towards such an ESLint configuration.

Yeah, pretty much the only "rules" are to know never to add a line break after keywords such as return (which is the same rule as languages such as Python and which is also something you have to know, regardless of semicolons) and the "Winky Frown Rule": (, [, and ` all have to be winky frowns if you start a line with one: ;(, ;[, ;`

It's pretty liberating writing JS/ES/TS without semicolons, and with ES2015 syntax things, makes the language feel like Python or an OCaML relative (which it sort of is).

</comment></comment><comment><USER35> I don't mind putting them in (not really true) but am still not always certain where they go.

<comment><USER22> You should install eslint or a similar tool; they have configurable warnings about things like that and will tell you where you should be putting semicolons.

</comment></comment><comment><USER36> Meh. I don't use semicolons at all in JavaScript, except in for loops. I've never once had a bug from it.

I'll stick to caring about he myriad issues that actually cause quality problems for me rather than worry about obscure theoretical bugs.

</comment><comment><USER37> Are Semicolons Necessary in JavaScript? [https://www.youtube.com/watch?v=gsfbh17Ax9I](https://www.youtube.com/watch?v=gsfbh17Ax9I)

</comment><comment><USER38> Obligatory: [https://pbs.twimg.com/media/B5LU4F7CUAELcIU.png](https://pbs.twimg.com/media/B5LU4F7CUAELcIU.png)

</comment><comment><USER39> OMG. Reasonable people already learned that Clojurescript, Elm and Purescript are much, much, much better, so why are you still debating about semicolons?

</comment><comment><USER8> My team doesn't use them (except in a for-loop), hasn't for years, and it's never actually been a problem. Folks need to let this one go, imo.

<comment><USER40> I'm with you and I will stoke the fire now that we are in full "productivity" mode:

Tabs or spaces?

Brains are wired differently plus we "higher" monkeys take our habits seriously serious!

</comment></comment><comment><USER41> I will write the function,

While you go have a beer

Where is my module support?

Where is my linter library?

Where is my code ending?

Where have all the semicolons gone?

\--- Sing to Paula Cole's "Where have all the Cowboys Gone?"

</comment><comment><USER42> When I click on the link, I get "Error establishing a database connection". Probably a semicolon missing somewhere.

</comment><comment><USER43> Why is this discussion always attached to JavaScript and not to Ruby or Go?

</comment><comment><USER44> they don't matter unless necessary

</comment><comment><USER45> Knowing what you're doing matters.

</comment><comment><USER40> Feelings matter

</comment><comment><USER46> I like working on code bases without semi colons better than those with, because the choice to drop is indicative of the team's attitudes, and I often find many other things I like about those softwares.

The rules to drop them are simpler than the rules to keep them.

<comment><USER17> > The rules to drop them are simpler than the rules to keep them.

Hmm. "Semi-colon at the end of each statement" is a pretty easy rule, and I think it'll be hard to top that in simplicity. But I'm open if you've got one.

<comment><USER46> Hm, there are statements where it's not required, like function definitions[1], so it's more confusing than just "after each statement", no?

[1] [http://stackoverflow.com/questions/1834642/why-should-i- use-...](http://stackoverflow.com/questions/1834642/why-should-i-use-a- semicolon-after-every-function-in-javascript)</comment></comment></comment>


Downloadable Free Printable Papers - <AUTHOR> https://www.printablepaper.net/ <comment><USER2> For people who want to make their own: a lot of these are very easy to create in LaTeX. I made a bunch of templates a few years ago ([https://michaelgoerz.net/notes/printable-paper-with-latex- an...](https://michaelgoerz.net/notes/printable-paper-with-latex-and- tikz.html)) that I still regularly use in GoodNotes on the iPad.

<comment><USER3> Great work. It does not have any watermarks. Gonna be very useful for my kid's school work. Thank you very much.

</comment></comment><comment><USER4> The watermark on those makes this incredibly distasteful

</comment><comment><USER5> I stashed away a whole lot of (expensive) graph paper. Never used it and now never will. I can easily do a log-log plot or log-lin plot on a spreadsheet. I think I even have some polar paper. I can see the point for cricket scoring paper as a way of capturing information, but for processing information, a computer is just too darn easy.

</comment><comment><USER6> I was really expecting this to be a joke site that printed blank pages

</comment><comment><USER7> ISO paper size?</comment>


EBook price war breaks out on Cyber Monday - <AUTHOR> http://www.beyond-black-friday.com/2012/11/26/80-discounts-on-kindle-ebooks-for-cyber-monday/

<comment><USER2> Not much sign of such deals on <http://www.amazon.co.uk> \- pity I could have topped up the kindle. Most are more than the paperback price.</comment>


Dell XPS 13 Developer Edition (Linux) Review - <AUTHOR> http://arstechnica.co.uk/gadgets/2017/01/dell-xps-13-ubuntu-review-2017/ <comment><USER2> These are definitely the awesome laptops Apple should have made. I just really don't want to give up macOS. I've literally put this thing back and forth into my cart, twenty times by now. But there is just too much I'm giving up environment wise. Either I go with Windows, and lose unix, or I go Linux, and lose everything but unix. That's why MacOS works for me, and I'm sure others. It's what Linux should have been by now, a hybrid Windows/Unix experience. Apple is really pissing me off, forcing me even to contemplate this.

I KNOW Linux isn't Unix.

<comment><USER3> What's getting in the way of buying the XPS 13 and dual-booting it in order to have it both ways?

Sure, you couldn't use both at the same time, but that seems like it'd take care of most (of at least my) use cases.

<comment><USER4> You'll probably need a larger hard disk to accommodate both operating systems if you dual boot. I prefer to run virtualbox/vmware and have both running side by side while using the best tools/software on each platform.

</comment></comment></comment><comment><USER5> Does anyone know if the XPS 13 with linux suffers the issue where you can't rest your thumb on the bottom of the touchpad like a button [https://bugs.launchpad.net/ubuntu/+source/xserver-xorg- input...](https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input- synaptics/+bug/1026046) ?

This issue has been my bane, and the biggest reason I haven't upgraded from my old thinkpad (has dedicated mechanical buttons). I would have thought there would be a resolution by now since more and more laptops do away with the dedicated buttons, but I've never found one.

<comment><USER6> I'm on my XPS 13 right now, on Arch Linux using xf86-libinput, thumb rested on the bottom left of the trackpad ready to click. Moving my finger on the trackpad towards the top moves the cursor. Using two fingers (with my thumb rested) scrolls the page.

However, if I use my thumb to move the cursor first, this doesn't work and instead scrolls the page.

Hope that answers your question.

</comment></comment><comment><USER7> An interesting review would be to compare this XPS13 with the upcoming Lenovo Carbon X1 as a Linux laptop.

</comment><comment><USER8> I'll bite the bullet and be that guy. What about dual monitor support? What about suspend/resume? Do WiFi and Bluetooth work without issues?

<comment><USER9> I've run it with one monitor, two would be hard since it only has a single USB C and I don't have any monitors that can daisy chain.. if that's even a thing. The issue is that Linux doesn't play nicely with having different pixel densities on each monitor. You can try to make it scale, but then apps appear in different sizes depending on which screen you open them on. It's pretty horrible, so I run the laptop at half-res (1600x900) so that it matches the monitor and everything is the same size.

Suspend/resume works fine.

I've had to restart the network-manager service just once to get WiFi to refresh. Otherwise it's fine reconnecting when you come in/out of suspend.

Other things: battery isn't great but I don't use it away from a desk. On the first couple of days the Ubuntu Software Centre kept crashing; I think it's fine now but I don't tend to use it anyway. I disabled the Dell apt source because it was failing - I don't know if that was a one-off problem or it's just broken.

But, I'm running Linux as my primary development environment again and it just feels _so good_ after a few painful months on OS X.

<comment><USER10> > But, I'm running Linux as my primary development environment again and it > just feels _so good_ after a few painful months on OS X.

Can you expand on that, please. Why were you months on OS X painful? Just curious to hear the use case that caused this.

<comment><USER9> I've been using Linux of some flavour at home for the last 15 years, only straying onto Windows for gaming. I've been lucky to use Ubuntu at work for most of my professional career too (6-7 years?) - so it's what I know and what I'm used to.

I started a new role a few months ago that forced me onto OS X and found physical and software issues. Physically OS X does not let you configure mice properly without installing third party drivers. Of course I ditched the "magic" mouse pretty quickly after my hand started hurting after a couple of days, but even with a normal mouse you simply cannot configure mouse sensitivity and acceleration properly - it cannot treat a mouse on par with what Linux or Windows will. You need extra drivers to even enable mouse buttons 3,4 and 5.

The keyboard shortcuts hurt too, sometimes using Ctrl, sometimes using Cmd, but that could be just fighting 15 years of muscle memory - so take that with a grain of salt (but it indirectly caused more physical finger pain).

Software-wise I don't know how objective I can be, but it feels faster/simpler to install software and things like the terminal are much better integrated - I can auto-complete git branch names on the command line for instance. Maybe OS X can do that kind of thing, but certainly not out of the box. To me, OS X feels like a 95% emulation of Linux, just that slightly bit lacking.

Then there are the embarrassing things like I couldn't find the shortcut to go to the end of the current line. On Linux it's the End key - on Mac I assume it's some combination somewhere.

<comment><USER11> > Then there are the embarrassing things like I couldn't find the shortcut to > go to the end of the current line. On Linux it's the End key - on Mac I > assume it's some combination somewhere.

Crt+a. Every emacs shortcuts work everywhere in MacOS.

<comment><USER12> The canonical way for the End key is fn + right arrow, fn + left arrow for Home, and fn + up/down arrow for Page Up/Down. And you can even use Del with fn + Backspace! But me too, I prefer the emacs shortcuts.

</comment></comment></comment></comment></comment></comment><comment><USER13> After having actually read the EULA/TOS shipped with Dell ubuntu versions, I would rather order the hardware with no OS and install my own if possible.

<comment><USER14> Can you elaborate a bit for those of us that haven't read it? What stood out as particularly bad for you? I am asking since I am considering one of these machines.

<comment><USER13> Here it is or at least a variation in the past: [http://sprunge.us/DQhC](http://sprunge.us/DQhC)

"By placing your order for Product, you accept and are bound to the terms of this Agreement."

"12\. Governing Law. THE PARTIES AGREE THAT THIS AGREEMENT, ANY SALES THERE UNDER, OR ANY CLAIM, DISPUTE OR CONTROVERSY (WHETHER IN CONTRACT, TORT, OR OTHERWISE, WHETHER PRE-EXISTING, PRESENT OR FUTURE, AND INCLUDING STATUTORY, CONSUMER PROTECTION, COMMON LAW, AND EQUITABLE CLAIMS) BETWEEN CUSTOMER AND DELL arising from or relating to this Agreement, its interpretation, or the breach, termination or validity thereof, the relationships which result from this agreement, Dell's advertising, or any related purchase SHALL BE GOVERNED BY THE LAWS OF THE STATE OF TEXAS, WITHOUT REGARD TO CONFLICTS OF LAW. 13\. Dispute Resolution and Binding Arbitration. YOU AND DELL ARE AGREEING TO GIVE UP ANY RIGHTS TO LITIGATE CLAIMS IN A COURT OR BEFORE A JURY OR TO PARTICIPATE IN A CLASS ACTION OR REPRESENTATIVE ACTION WITH RESPECT TO A CLAIM. OTHER RIGHTS THAT YOU WOULD HAVE IF YOU WENT TO COURT MAY ALSO BE UNAVAILABLE OR MAY BE LIMITED IN ARBITRATION. ANY CLAIM, DISPUTE, OR CONTROVERSY (WHETHER IN CONTRACT, TORT, OR OTHERWISE, WHETHER PRE-EXISTING, PRESENT OR FUTURE, AND INCLUDING STATUTORY, CONSUMER PROTECTION, COMMON LAW, INTENTIONAL TORT, INJUNCTIVE AND EQUITABLE CLAIMS) BETWEEN CUSTOMER AND DELL, its agents, employees, principals, successors, assigns, affiliates, subsidiaries (collectively "Dell") arising from or relating in any way to your purchase of Product, this Agreement, its interpretation, or the breach, termination or validity thereof, the relationships which result from this Agreement (including relationships with third parties who are not signatories to this Agreement), Dell's advertising, or any related purchase SHALL BE RESOLVED EXCLUSIVELY AND FINALLY BY BINDING ARBITRATION.The arbitrator shall have exclusive authority to resolve any dispute relating to arbitrability and/or the enforceability of this arbitration provision including any unconscionability challenge or any other challenge that the arbitration provision or the Agreement is void, voidable, or otherwise invalid."

"This Retail Purchaser End User Agreement ("Agreement") governs your retail purchase and use of products and/or services and support ("Product") sold in the United States by Dell, including its affiliates or subsidiaries. BY PURCHASING AND USING THE PRODUCT, YOU ("CUSTOMER") AGREE TO BE BOUND BY THE TERMS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT USE THE PRODUCT, AND RETURN THE PRODUCT TO YOUR PLACE OF PURCHASE (subject to its return policy)."

This is a legal agreement ("Agreement") between you, the user, and Dell Products L.P., a Texas limited partnership, or Dell Global B.V. (Singapore Branch), a Singapore branch of a company incorporated in The Netherlands with limited liability, on behalf of itself, Dell Inc., and Dell Inc.'s other subsidiaries and affiliates (together "Dell"). This Agreement covers all software ("Software") and any upgrades, updates, patches, hotfixes, modules, routines, feature enhancements and additional versions of the Software that replace or supplement the original Software (collectively "Updates") distributed by Dell unless there is a separate license agreement between you and the manufacturer or owner of the Software or Update."

Pretty standard overzealous boilerplate that companies get away with these days, but I don't like it so I don't agree to it.

</comment></comment></comment><comment><USER15> As usual "battery" is repeated multiple times in the article but without any number. When will reviewers understand that "battery life is not great" means absolutely nothing and replace it with something like "battery lasts 3 hours and 4 minutes while repeatedly streaming a youtube video in 4K on Chrome 52"? Notebookcheck is the only consumer tech website worth reading for the reviews (if you know others please share them) because of their precise, standardized tests from the display to the noise and heat produced by the chassis.

<comment><USER16> For what it's worth, my XPS 13 (with the 3200x1800 screen) lasts a good six hours on battery. I typically don't bother bringing the charger with me. The power brick on the charger is also very small and lightweight, making bring it with you not a big deal either.

<comment><USER17> Despite the 22 hour number, dell only promises 12 on the 3200x1800 screen. Rather frustrating that they limit the good cpu/ram configurations to the 3200x1800 touch screen. So if you want more ram you are forced to switch from a matte screen that gives you 22 hours on battery to a shiny screeen that lasts 12 hours.

</comment></comment></comment><comment><USER18> Can anybody say whether the ANSI-style keyboard shown is the "Internal US/International Qwerty Backlit Keyboard" option that's available on Dell's shop on the website, or whether this place just got sent a US-spec laptop for whatever reason?

The word "international" is rather worrying, suggesting it might have one of those upside down L return keys...

<comment><USER19> US International keyboards have a AltGr key instead of right Alt and a € symbol on the 5 key. Afaik there are no other differences.

</comment></comment><comment><USER20> This sounds like a great replacement for my aging MacBook Air, but, having been bitten by its non-upgradeable 4 GB of RAM, I'm wondering whether I should just get a 32 GB laptop.

I think I'll spring for the XPS 15 in the end, since it has a better graphics card as well, and I could do some light gaming on it.

<comment><USER21> I'll be going for the XPS 15 too. I've been using an XPS 13 9333 from 2014 with 8GB RAM and recently I've struggling to keep things under that limit.

The XPS 15 has the advantage that the RAM is user replaceable, and as I understand it, the 16GB model comes with a single 16GB module, so should be fairly cheap to upgrade to 32GB yourself if you'd like to save a few $ initially.

<comment><USER20> You mean it has two slots but only one module? That's great news if so, it means I can just buy the 16 GB model and upgrade later, if/when I need the 32 GB (possibly replacing both modules).

<comment><USER22> Last year XP15 (8gb) model has two 4gb sticks inside. Still, two easily accessible slots.

</comment></comment></comment></comment><comment><USER23> Anyone know how the XPS 13 2 in 1 is w/ Linux support? I don't think they have a DE for the 2 in 1, but thinking about snagging one for a light work/entertainment laptop.

<comment><USER6> The main difference in hardware between the DE and the non-DE is the wireless card, which isn't impossible to get working but definitely a pain in the ass. I can only imagine with the touch screen and tablet-mode combined it would be a tall order for out-of-the-box Linux compatibility.

<comment><USER24> For the previous version, DE used a different wifi card (intel for DE, otherwise Broadcomm), but I don't think that's true for this latest version. I think DE and non-DE both ship with the same Qualcomm "Killer 1535"

</comment></comment></comment><comment><USER25> The keyboard is shit according to the reviews. Every developer needs a good keyboard. This is why I exclusively use ThinkPads, even if they aren't as good under Lenovo as they were before.

</comment><comment><USER26> > What's more disappointing for some Linux fans is the fact Dell still uses > the Windows logo on the super key.

It's the first thing I look for and most often the first source of disappointment.</comment>


Sold to the highest bidder - <AUTHOR> http://venturebeat.com/2007/06/22/sold-to-the-highest-bidder/ <comment><USER2> "My advice to entrepreneurs is simple, and that is to focus on building products that customers are willing to pay for."

He could have replaced the entire article with that.

<comment><USER3> I think he has more good info than just _that_. What do you do once you HAVE assets people will pay for?

"Never sell your company for shares in a VC backed startup, there are just too many ways you can end up playing the role of Rube Suckerman in that story."</comment></comment>


Why Consumers Won't Buy Tablets - <AUTHOR> http://news.cnet.com/8301-19882_3-10303158-250.html?tag=newsLeadStoriesArea.1

<comment><USER2> If apple makes one, especially if there is some kind of cellular data plan attached, it is going to be a big hit. Newsflash, all those iPhones are basically tablets and it has gotten enough people used to that kind of interface that a certain segment of users will happily start replacing their laptops or skipping the netbook class all together in favor of this kind of device.

<comment><AUTHOR> I don't expect to be able to type quickly, accurately or prolifically on my iPhone the way I would on something the size of a tablet. I suspect many people feel the same way...that was the whole point of this article.

<comment><USER3> I agree that these devices risk falling between two categories, not quite big enough, not quite portable enough, but I'm not sure about the keyboard thing. The on-screen keyboard on a decent sized tablet will be about the same size as a netbook keyboard and - unlike a phone - you can put the tablet down on a desk and type using both hands. I would imagine that a sensibly designed tablet might have little fold out feet on the underside to provide some elevation/rake at one end to support this mode better.

I definitely agree that an Apple tablet at ~700 USD would be massively too expensive - but then I think that most existing Apple products are fairly outrageously overpriced - and well off Americans don't seem to mind too much.

I actually think that with a good enough tablet, having external accessories/peripherals like keyboards, mice, storage etc.. would be a good thing, not a bad thing. When you're at home/work, you could use the propped-up tablet as the 'screen', with the rest of the 'computer' spread out on the desk, plugged in via USB. When you want to go out, just unplug the tablet and go. Lots of people use laptops in exactly this way now, as their primary 'desktop' & laptop computers - they just plug more stuff in when it's in 'desktop' mode. Using one like this would probably require a more general purpose OS, rather than something fairly phone specific like the iPhoneOS though.

</comment></comment></comment><comment><USER4> I think these kinds of stories are interesting because all these tech pundits act like they are the only people who have thought of these shortcomings. I think one of the reasons there hasn't been a product from Apple yet is for precisely the UI issues discussed in the story. If Apple indeed has a product in this space, it's likely to be different from what people have been envisioning. Remember that before the iPhone, people were picturing something much like an iPod. What Apple actually released was something few (if any) people predicted beforehand. Apple will either innovate their way through these issues, define a new product category where many of them are irrelevant, or keep it mothballed (until one of the previous two points is possible).

</comment><comment><USER5> These same people were just _overflowing_ with insightful commentary about how a touch-screen phone wouldn't work and how people wouldn't pay that much either.

I think it's fair to assume that if Apple is going to release a piece of kit, they'll make sure it works. It might be as expensive as all get out, short some hardware and suffer arbitrary limitations. But have they even made a major usability mis-step in the last decade?</comment>


How the FBI raided Anonymous  - <AUTHOR> http://arstechnica.com/tech-policy/news/2011/01/two-real-guns-pointed-at-me-how-the-fbi-raided-anonymous.ars <comment><USER2> "We have noted that similar attacks have also been carried out against Wikileaks itself, yet so far, nobody has been arrested in connection with these attacks, nor are there even any signs of an investigation into this issue at all,"

I think that is one of the most important points of this article.

<comment><USER3> Does the FBI even investigate this sort of thing internationally? Does anyone?

<comment><USER4> _Does anyone?_

Countries outside America do have law enforcement agencies for the most part, so yes.

<comment><USER3> I meant, does anyone investigate them end-to-end, and not just in their own country? I find it hard to believe that the FBI interacts well with law enforcement in, say, Poland.

<comment><USER5> well the RCMP and the FBI work together very closely, for one. An American FBI agent can get more done in Canada through RCMP connections than a rich and powerful Canadian can.

RCMP is the Canadian FBI by the way.

<comment><USER6> Yes, and vice versa, lets say the RCMP needs someone sent to Syria for 'questioning', then they'd phone the FBI and tip them off that such a person is coming to the US. And the FBI would promptly send them to Syria for 'questioning' of course also ignoring their citizenship and duty to deport people back to their country of citizenship.

<http://en.wikipedia.org/wiki/Maher_Arar>

</comment></comment></comment></comment></comment></comment><comment><USER7> _TWO %REAL% GUNS POINTED AT ME_

I love this part. It's obvious that, for the first time in the lives of these Anons, sh%t actually got real.

(I don't mind any downvotes you see fit to give me, I have always found it laughable when Anons expect to break the law and suffer no consequences. Whether or not it is a good law has no bearing, that's not how civil disobedience works.)

<comment><USER8> I'm not a fan. These are guns we are talking about, not paperwork. Paperwork is the shit that's real, guns are just there to make you feel helpless. And also to kill you.

<comment><USER9> But the kids would have laughed at paperwork until it was all over, and then possibly still laugh at it. With the guns, they just experienced the severity of their action that a whole armed FBI-team had to come in to deal with the situation.

<comment><USER8> Yeah, I don't agree with that.

If it's a paper in the mail that says "we know it's you", I'd be pretty scared.

If it's a policeman at the door saying "come in for questioning", I'd be shitting my pants.

If it's three policemen saying "we've come to take all your PCs", I'd be confused and seriously contemplating future involvement with the group.

If it's a bunch of thugs breaking the door, grabbing my pcs, iphone, xboxes, lady gaga cd's and threatening to kill me if I object, I'd start looking into getting more involved with political activism.

At least, that's how I think I would react, before dealing with the paperwork.

<comment><USER10> Entering with an armed team is SOP, mostly to protect policemen. These are just guys doing a job, in the vast majority of cases a good and just job, who want to go home to their wives and children in the evening. Some (most) raids could theoretically be done by just knocking on the door; but sometimes some crazy man will start shooting back, or running away, or try to destroy evidence. Rush-entry raids with flashbangs etc. are designed to cause maximum confusion so that the people in the house are disoriented for a short time, hopefully long enough to be cuffed.

Anyway like I said sometimes these could be done by one guy with a briefcase, but how are you going to decide when to raid and when to knock on the door? And who is going to decide? When somebody makes a wrong call and a policeman gets killed, there's going to be a ruckus (police union, other policemen feeling unsafe causing worse performance, etc.) So the safe thing to do is to err on the side of caution. Sucks for those being raided when it wasn't really necessary, and even worse for those being raided in error, but as always it's a trade off.

That's how it came to be. IMO perfectly reasonable. One can disagree with specific cases, I do too; but try to put yourself in the shoes of someone designing or managing a law enforcement organization or system. If you have a solution that mitigates the problems yet addresses all the points and many more I brought up above, many many people would love to hear about it.

<comment><USER11> I'm sorry, but this is FUD. I have at least two objections to what you say (for the record, I'm not american).

1\. Do you really want to live in a society where a visit from the police means a busted door _just in case_? If things degenerated so badly, the police has already failed, and failed hard. I mean Rwanda/Congo hard.

2\. Since we both know this is not the case, and most visits from the police are done in the old-fashioned knock-on-the door manner, we have to wander if a pimpled faced computer hacker has _any_ quality making him more dangerous then average. I suppose a bureaucrat might go and say hacking was an act of terrorism and terrorists use bombs, but for any sane person it's pretty clear he is not above average. He's scraping the bottom of the barrel, statistically speaking.

I therefore tend to conclude that the busting of the doors is uses as a deterrent. A message for the Anonymous that if you play with fire, you'll have FBI agents with guns in your room.

<comment><USER10> (I'm not American either)

Re: 1, maybe I didn't make it clear enough in my original post, but indeed in general police _do_ knock on the door, so I think we agree on this point - raids are the exception rather than the norm, but my point was that _if_ there is any doubt at all whether or not a raid would have _any_ advantages, then the raid option will be chosen over the knock-on-the-door option.

With this clear - re: 2, and in the specific case of computer crime, raids are SOP because suspects have a high probability of destroying evidence; at least here in the Netherlands (and policy here are, to put it mildly, not the Wild West type) this is the reason and practice. There have already been a number of cases where suspects (in child pornography cases) were literally forcefully pulled from behind a computer because they were deleting files as soon as they got wind of the police.

So yes, in case of computer crimes, entering with force does make sense (maybe not always - there have also been cases of 16 year olds where the police showed up when they were in school).

We don't know the real circumstances of these raids. Maybe there was a deterrent/revenge component (which would be illegal and undesirable), we don't know. Point is that the knee-jerk reaction(s) I was replying to are just that, and lacking any nuance. Many interests have to be weighed and safety of police officers and having a reasonable chance to save evidence are some of the factors that have to be weighed against the interests of the suspects. This may sound, in the limited context here, like I'm advocating a police state and anyone who knows me IRL knows that I usually am on the far opposite of that; but some force on entry is not a big a deal as some people make it out to be.

My (admittedly long-windedly made) point: no you're not being oppressed because the police put a hole in your door in the course of investigating your malicious disturbance of someone else's business.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> >The FBI yesterday reminded the public that "facilitating or conducting a DDoS attack is illegal, punishable by up to 10 years in prison, as well as exposing participants to significant civil liability."

What exactly is the relevant statute? As the other Ars article on the subject states, it's the digital equivalent of a sit-in.

<comment><USER13> It's silly to pretend that a DDoS attack is the same as a sit-in, such a contention is intellectually and morally bankrupt.

Moreover, sit-ins are not legal either. If you choose to attempt to disrupt a place of business and you refuse to leave private property when asked to do so you can be arrested.

<comment><USER14> > such a contention is intellectually and morally bankrupt.

Could you expand on this a bit? I actually believe that it's very close to the same thing, but I'd like to hear your reasoning.

> Moreover, sit-ins are not legal either.

You are correct. This is why it's called 'civil disobedience.' Sometimes, the best way to change a law is to break it. And break it publicly. It doesn't mean that you'll be spared a sentence, but the idea is that the sentence is worth it.

<comment><USER13> Sit-ins are inherently sacrificial acts.

The purpose of a sit-in is to stage a non-violent, disruptive protest which forces a response, typically being arrested, from a business owner or government. If there is no response because, for example, the business owner is too shamed to respond then either the disruption continues until the protesters demands are met or the protesters eventually give up. If there is a response, such as use of law enforcement, then there is the opportunity for the protesters and their cohorts to get the message out, raise awareness, and gain sympathy and support from the public at large.

Anonymity changes the equation entirely. Sit-in protesters blatantly flout the law and beg to get arrested, so as to demonstrate their conviction for the rightness of their cause and to gain publicity. Anonymous DDoSers aim only to disrupt, whatever message they have is lost to the public because nobody can know for sure who the people responsible (4chan also apparently DDoS'd minecraft.net for a while, what was the purpose of that? wikileaks itself was DDoS'd for sometime, what was the purpose of that? it's hard to say because these are just anonymous _attacks_ rather than actual, disciplined protests). DDoS participants don't expect to get caught, let alone to be arrested, as witness the reactions of the folks in the main article.

An anonymous, or attempted anonymous, denial of service attack is more akin to throwing bricks through a storefront window or arson. It is disruption completely unmoored from personal sacrifice, civil disobedience, or the context of a cause.

It is thus properly a more _violent_ form of protest than a sit-in and we have all the more reason to despise such things because of it.

<comment><USER15> If you're smart and _know_ that using your home PC for DDoS attacks is likely to result in trouble for you, a DDoS attack is no less sacrificial than a sit- in (in fact, due to the propaganda against "hackers", you're quite likely to get a harsher sentence).

Also, where do you get the idea that non-violent protest doesn't hurt the people being protested against? If someone chains himself to a tree about to be cut down, cutting the chain _will_ disrupt the tree logging operation. Greenpeace isn't violent, but some people/organizations _hate_ them, and with good reason. Gandhi wasn't violent, but he did cost the British a sizable chunk of their empire (which they'd arguably have lost anyway, but still.)

Now, DDoS is likely not as effective a protest as a sit-in, and it's entirely possible that most of the anons figured they'd never get caught - but that's not the point.

<comment><USER13> As I mentioned, sit-ins are non-violent, _disruptive_ protests designed to raise awareness.

This does not mean that any form of disruption is analogous to a sit-in. If you know that you'll be arrested for a DDoS attack then certainly that's a sacrificial act (though to map closely to a sit-in you'd have to announce publicly what you are doing). However, even then that doesn't necessarily account for the damage participating in a DDoS can bring. Sit-ins rarely cause the loss of hundreds of thousands of dollars in business.

As it stands the debate is academic and the comparison is irrelevant. To date the number of DDoS attacks that have been carried out in public with full listings of the names and contact information of the participants is precisely zero.

You can hide behind a mask, or an IP, and you can throw your packets or your molotov cocktails at those folks you consider "the bad guys", securely smug in your knowledge that you're fighting the good fight. But that's an illusion. You're not Ghandi, you're not Rosa Parks. You're just another jerk with an ax to grind who doesn't have the guts to accept any consequences for his actions.

The reason sit-ins are lauded and DDoS's are shunned is because people who abuse the disruptive power of a sit-in to fight for worthless causes or their own self interest are simply sent to jail. Whereas most perpetrators of DoS attacks go uncaught.

</comment></comment></comment></comment></comment></comment><comment><USER16> What's the justification for no-knock raids here?

<comment><USER17> Whole drive encryption. I've seen docu-drama's where they actually break in when they know the suspect has gotten up to go the the bathroom/kitchen so that he can't reboot the computer.

Then, like all things with a shred of reasonableness too them, they become an awesome "check this box every single time" way of doing business for the guys who get their thrills kicking in doors.

<comment><USER18> > I've seen docu-drama's where they actually break in when they know the > suspect has gotten up to go the the bathroom/kitchen so that he can't reboot > the computer.

Any specific examples? I'm interested in watching them.

<comment><USER17> sorry no, all I can say is watch a lot of msnbc/cnbc/discovery-channel at terrible odd hours or weekends, but thats just about the worst advice ever

</comment></comment></comment></comment><comment><USER19> "...and the first FBI agent in the door could be heard yelling 'FIRST'!..."

</comment><comment><USER20> My tax dollars are going to this. I feel robbed.

<comment><USER6> Thats why taxes like robbery is done by threat of force. Otherwise no one would hand their money over to be wasted.

</comment></comment><comment><USER21> I'm concerned about the knock-down approach by the FBI.

Say I live in a state which allows one to kill home intruders on sight, could I not legally set up an alarm system that sprays some bullets in the direction of the door if it's opened without being disabled? By knocking I can disable it and let them in instead of having a few dead FBI agents on my doorstep.

<comment><USER22> Of course you couldn't legally set that up, are you insane? On what planet would that be justifiable? Even in Texas, you need to demonstrate a reasonable belief that you were in imminent danger of being robbed or attacked before you are permitted to use deadly force on an intruder in your home.

<comment><USER23> Somebody bursting down your door in the middle of the night isn't "reasonable belief that you were in imminent danger of being robbed or attacked"? What world do _you_ live in?

Ignore the silly mechanism described, and imagine you're sleeping in bed with your wife at 3am, and are a completely law abiding citizen as far as you are concerned. Why would you possibly have any reason to believe that the people violently breaking down your door and and yelling have good intentions?

This isn't hypothetical, this kind of shit has actually happened. _Both_ innocent people, _and_ cops, have died in these sort of situations.

<comment><USER22> The grandparent post wasn't asking what would happen if you woke up at 3 AM and shot a policeman mistakenly. He was asking whether it would be legal to rig a booby trap to do it! Those are extremely different situations, to say the least! You're arguing with a straw man.

<comment><USER23> _As I interpreted it_ , the grandparent post foolishly tried to express his more general question by coming up with a silly hypothetical^ device. The purpose of the device was to injure a police officer as a result of the home- owner not being aware of what was going on.

I've taken the hypothetical device out of the question by pointing out that there are real-life situations where no-knock raids have causes unnecessary loss of life. I'm not arguing with a strawman, but rather restating the grandparents original point/question in a less absurd and tangential fashion.

^I sure as hell hope it was hypothetical anyway...

<comment><USER21> Yes, my hypothetical wasn't taken so well. I may set up a simple audio alarm with an analog circuit if I ever feel like it, but of course a rigged gun is stupid. (I'd end up making it disabled via remote control too but then I'd worry about it not actually being disabled as I'm opening the door, even if it makes a disabled noise...)

I should have stuck with the Microwave example below, that's cooler anyway.

</comment></comment></comment></comment></comment></comment><comment><USER24> Reminds me a moment from the movie Hackers.

"You hacked a bank across state lines from your house?"

"...Stupid..."

</comment><comment><USER25> It's funny that Mastercard can't defend against an attack that my home router is capable of defending against. (A big limit on connections per /24 per minute should solve this problem. So will using a smart webserver or frontend proxy that doesn't care how many idle connections there are. Then all you have to worry about is bandwidth saturation rather than your servers crashing.)

But the lesson here is, when you visit a web page, a line in a log that identifies you is generated. Generate too many of these lines, and, one line of Perl later, the cops are going to be asking you some questions. Don't participate in a DDoS attack unless you're absolutely sure that nobody is logging your traffic. And that is something that's impossible to be sure of these days.

<comment><USER26> You can get people to participate in DDoS attacks with a malicious website though.

Just use some JS to create image elements, script tags, iframes etc all with sources pointing at the target, should be able to do a few hundred a second at least.

Even trivial to get people to participate without using javascript. Just pop in a hidden iframe with a million <img> tags in the source.

As things move on, I don't think individuals who happen to fire off a few hundred requests at a website should be investigated/prosecuted/etc. Website owners just need to get better at protecting their systems.

<comment><USER27> _Just pop in a hidden iframe with a million <img> tags in the source._

Mostly agree, but thought it worth pointing out that no browser will respond to this by parallelizing the million requests - most browsers don't ever open more than a dozen or so concurrent connections to one site. So this wouldn't do as much as you might think, unless you could get lots of users to stay on your page for a long time.

<comment><USER28> How about Flash? I'm pretty sure you can have as many open connections as you want that way.

<comment><USER29> not only that, in Flash you can write a for {} loop that will bombard the target with requests, as long as the movie is running. The ultimate example would be compromising Youtube's SWF player, and using it as a DDOS bot.

</comment></comment></comment></comment></comment><comment><USER30> It won't be long before someone get's shot over all this, and it'll be the "powers that be" that drive the escalation.

Petty, fearful little people.

</comment><comment><USER31> I love the first quote: I'm not retarded ... Yes, I'm f __king dumb.

</comment><comment><USER32> Let me get this straight. All this fanfare, and all they got was a bunch of teenagers (who most likely are not even legally liable) + their moms?

<comment><USER33> What does being a teenager have to do with being liable? If they're criminally liable, they'll be tried by a juvenile court. If they're civilly liable, their parents will face civil suits.

<comment><USER34> Are parents civilly liable in the US when their kids do something? That's under most circumstances not the case in Germany. It is possible but the barriers are extremely high.

A thirteen year-old downloading software off the internet and using it is age appropriate (i.e. it is not reasonable for parents of teenagers to check everything they are doing online), the parents would consequently not be civilly liable in Germany.

(This is my personal extrapolation of the respective German laws. The case I know about is the following: Two twelve year-olds walk home unaccompanied from a nearby playground and decide on their way home to slash the tires of a neighbor's car with a small swiss army knife one of the kids received as a present. The parents aren't civilly liable in this case because it is age appropriate for twelve year-olds to walk to a nearby playground and back alone and it is also appropriate for one of the kids to own a small swiss army knife. There is nothing reasonable the parents could have done to directly prevent the incident.)

<comment><USER33> The laws vary from state to state, but, generally, yes.</comment></comment></comment></comment>


A Famed Hacker Is Grading Thousands of Programs - <AUTHOR> https://theintercept.com/2016/07/29/a-famed-hacker-is-grading-thousands-of-programs-and-may-revolutionize-software-in-the-process/ <comment><USER2> It'll be very interesting to see how this develops. whilst I'm sure it'll attract criticism as being an inexact benchmark, I'd say that any progress is welcome.

From a security perspective, there's a well known "market for lemons" in software and if this can help address that, good!</comment>


Roses and Thorns - <AUTHOR> http://meagher.co/blog/2016/08/25/roses-and-thorns/ <comment><USER2> This is a great way to build relationships. I have been a part a mentor for iMentor ([https://imentor.org/](https://imentor.org/)) for the last four years. Their mentoring curriculum expects one email per week between mentor and mentee and every email starts with a "roses and thorns" exchange. They call it "highs and lows" but it's the same thing. I was surprised how significant this seemingly innocuous thing was to building a relationship with my mentee. I imagine it would also have a significant affect in a marriage or other long term partnership to help the people stay connected.

</comment><comment><USER3> Interesting habit! I think I'll try this...</comment>


Perl 5.26.0 released - <AUTHOR> http://www.nntp.perl.org/group/perl.perl5.porters/2017/05/msg244573.html <comment><USER2> Wow, I haven't looked at Perl in a while, but all sorts of numbers mentioned in the announcement really surprise me.

Btw., as mentioned in announcement. The actual changes are here, if you missed that:

[https://metacpan.org/pod/release/XSAWYERX/perl-5.26.0/pod/pe...](https://metacpan.org/pod/release/XSAWYERX/perl-5.26.0/pod/perldelta.pod)

<comment><USER3> Yes, impressive community effort for a language that... Well... I have heard nothing good about in any "at the water cooler" conversation that I was ever in, over the past fifteen years or so. Except, of course, that Perl is awesome at regular expressions, an advantage that most languages must have caught up on, no? Not for nothing Perl shows up in most hated-lists all around town (top 10 at Stack Overflow).

<comment><USER4> Perl is still the only language I've seen that has a dedicated syntax for regular expressions. Every other language requires you to write your regexes as strings, which puts you squarely in backslash hell.

(I'm sure there must be other languages with dedicated regex syntax, but I'm not aware of any.)

<comment><USER5> Ruby is a direct descendant of Perl and borrows its regex syntax.

<comment><USER6> Ruby used Oniguruma (and now Onigmo) for RegEx [https://github.com/k-takata/Onigmo](https://github.com/k-takata/Onigmo)

<comment><USER7> Yes (well, for MRI at least; I'm not sure other implemebtations use the same regex engine) and it used a different regex engine before Oniguruma. But engines and syntax are unrelated; Ruby has a dedicated regex literal syntax which was directly inspired by Perl.

</comment></comment></comment></comment></comment></comment><comment><USER8> Reading through the changes it becomes abvious how rich a language Perl is. Just look at all the edge cases and fine tunings that this long time of development and improvement has generated. Its impressive. Anyone starting their own little programming language should really consider how big a task that actually is. This is not to stop anyone or discourage them.

<comment><USER9> Isn't the point of that comment precisely to discourage someone who might otherwise think the task to be smaller than it is? It's okay to discourage if it helps people understand scope.

</comment></comment><comment><USER10> Guys I am genuinely asking this and I have zero intent on bashing on Perl. What is the position of Perl industry right now? how much it can compete with Python. Where does it compete? is it on losing side ?

P.S. I am student and I have no real perspective on what is going on in industry right now.

<comment><USER11> The only big company I know that uses Perl extensively is booking.com, and I think that has more to do with any technical merit from the language, and just that is what they started and it was working for them.

To be honest, I think Perl still powers a whole lot of systems, and certainly is a powerful tool for someone who is a Unix sysadmin, but this kind of job is dying. And as a language, I think Perl has nothing on Python or even Ruby, or even PHP nowadays.

<comment><USER12> Why do you think unix sysadmin function is dying? Just curious.

<comment><USER13> As an ex-sysadmin I find that a lot of what I used to be responsible for is now outsourced to "the cloud" and most of my old tasks are being handled by other people as a secondary responsibility. Back when I started it wasn't uncommon for a 20-50 man company to have a dedicated sysadmin, whereas now I hardly ever see that.

<comment><USER12> I see this too, and i think it is a shame/mistake, i'd recommend to keep such people on board, and expand their workload/responsibilities when sysadmin work is on the low. (though when needed they should be able to dedicated their full time on sysadmin related work).

I then see it happen they no longer have any knowledge about systems and their processes, just outsourcing. And often, things then go downhill quite fast in service which leads to less happy customers which leads to lower company/employee moral etc.

People not knowing what computing power certain processes need or what its worth in money (over/under specced nodes), or backup processes not properly monitored or setup.

</comment></comment></comment></comment></comment><comment><USER14> Perl is awesome. Its like writing a sentence or paragraph. I decide how I want to present each sentence or paragraph. Then I get to write it in Perl.

Its a very easy language to learn. My first language was C back in 1994. I was in high school and encouraged to learn C before I learned Perl.

I read my books. I kept on going after it. Then finally six years later I started learning Perl.

Perl is a great language.

I haven't touched Perl6 yet - I bet its even better. It might take me 20 years just to do a hello world in it and optimize it.

Larry gave us a great place to start. Guido is awesome too.

"I don't like big bloated snakes though" \-- I heard this back in 1996 or so...

We have been focusing on languages for 20k years or so. We have built computers for about 100 years - and invented languages to talk to them.

</comment><comment><USER15> I'm excited for the whitespace stripping heredoc operator, it's always a bummer having to put all heredocs all the way left.

</comment><comment><USER16> Great work! Excited about the direction Perl 5 is going!

</comment><comment> ibn-alfatal Perl always reminds me of this guy :) [https://media.ccc.de/v/32c3-7130-the_perl_jam_2](https://media.ccc.de/v/32c3-7130-the_perl_jam_2)

<comment><USER8> I watched the video some time ago and what bothers me is that the author pretends to have hacked Perl while in fact he just found that some people are using a commonly used Perl module (DBI) the wrong way whereas the right way is well documented. A similar thing would be to blame PHP for allowing SQL injections through unescaped user input: I am sure it happens a lot, but who would blame PHP.

<comment> ibn-alfatal Actually, he breaks examples from the manual. I think his point was that programmers inherently write exploitable Perl code as they assume certain types are secure.

<comment><USER17> The types point is actually meh. The real hilarious part is the combination of the ARGV <> "feature" and the open("...|") "feature". What. The. Fuck.</comment></comment></comment></comment>


The Biggest Supermoon in Nearly 70 Years - <AUTHOR> http://sciencebulletin.org/archives/7310.html <comment><USER2> The article fails to mention by how much the distance to the moon varies.

Max=407.000 km

Min=363.000 km</comment>


How to automatically adapt website images to Retina and HiDPI devices - <AUTHOR> http://cloudinary.com/blog/how_to_automatically_adapt_website_images_to_retina_and_hidpi_devices

<comment><AUTHOR> This article details how you can easily and automatically scale your website images to the resolution most appropriate to your viewers mobile devices or screen pixel density. Code samples included for Javascript (jQuery), PHP, Ruby on Rails, Django, Node.js, Java and .Net.</comment>


How to Find Great Software Developers - <AUTHOR> https://medium.com/@mikeleeorg/how-to-find-great-software-developers-15355bfb5880

<comment><USER2> Fantastic advice. As a software developer, this is how I'd like to be recruited. A strong signal for me is when the first contact contains: a personally crafted appeal (why specifically are you interested in me?), a "technical vision" as described in the article, and evidence that there's developers in the recruiting system, such as the first contact coming from a tech lead or engineer.</comment>


Dislike Button in Facebook - <AUTHOR> https://addons.mozilla.org/en-US/firefox/addon/47023 This addon add a "Dislike" feature on facebook. Watch screenshot to see it in action. ;)
To select language : Tools > Add-ons > Facebook Dislike 1.0 > Preferences
"How to" YouTube Video : http://www.youtube.com/watch?v=UAM_PdS4vaY
Facebook fan page : http://www.facebook.com/pages/FBDislike/186845260403
Send Translation in your language here : http://www.facebook.com/pages/FBDislike/186845260403 <comment><USER2> A user script would be preferable.</comment>


Facebook Scrambles to Police Content Amid Rapid Growth - <AUTHOR> https://www.nytimes.com/2017/05/03/technology/facebook-moderators-q1-earnings.html?rref=collection%2Fsectioncollection%2Ftechnology&action=click&contentCollection=technology&region=rank&module=package&version=highlights&contentPlacement=1&pgtype=sectionfront&_r=0 <comment><USER2> Frankly, this is a "problem" we would be better off solving outside of Facebook. They should not have so much power in the first place. And people should not be living so naively as to "need" a company to "police" something before they can trust it.</comment>


The South American city just 5% visit - <AUTHOR> http://www.bbc.com/travel/story/20190723-colombias-buzzing-comeback-city <comment><USER2> I like the Colombians, have been to Bogota and Catedral de Sal. Cheers!</comment>