Show HN: Moon – 3kb JavaScript UI compiler - <AUTHOR> https://kbrsh.github.io/moon <comment><USER2> This looks like it takes Vue.js's approach of creating a brand new language that you have to learn (in this case MVL which is similar to HTML). It's definitely a preference for a lot of people, but I prefer React.js style, which lets you use languages you already know (HTML and JavaScript) to do literally _everything_. It may be inconvenient at times, but you don't have to reference a new language's manual every time you want to do a for-loop to figure out whether the @for attribute should go on the li or the ul.

<comment><USER3> > I prefer React.js style, which lets you use languages you already know (HTML > and JavaScript)

No, you also have to relearn, just not as much. The React docs rightly state "JSX is not HTML" because you cannot use comments, doctype and it's a shame that JSX deviates from HTML in attribute names. Having to use className instead of class annoys me to no end and is why I prefer preact (they use class). Also autoComplete and spellCheck - just why? Converting this-that to thisThat makes sense but renaming attributes without necessity was a stupid decision.

<comment><USER2> With a good IDE that suggests these as you type, it shouldn't matter. I recommend VS Code, it does this out of the box. I like how it even suggests the right thing if I get the letters a little mixed up, like typing "speclh" suggests spellCheck={...} for me. It's great!

<comment><USER4> is it weird that i prefer vim rather than fancy IDE for almost everything?

</comment></comment></comment></comment><comment><USER5> How does this compare to Svelte, which also compiles itself away and at first glance, looks quite similar? What was your motivation for making this? (other than making something cool, ofc)

<comment><USER6> What do you mean by "compiles itself away"?

<comment><USER7> No runtime gets included in the build.

</comment></comment></comment><comment><USER8> How are variables in "<p>{text}</p>" replaced? Is the security of it just an implementation detail left to the programmer who use it? Safe way would be finding the P and then doing p.textContent = data. But how do you find element by value efficiently? Or do you just to text replace?

<comment><AUTHOR> Your views are compiled down to JavaScript beforehand. Your example would be compiled to something like:

      m2.textContent = instance.text;

Use Moon.compile(template) to get a better idea of outputs.

</comment></comment><comment><USER9> I continue to advocate MarkoJS as "the best" HTML templating language. [https://markojs.com](https://markojs.com)

It is the best mix of expressiveness, ease, and clarity I've found.

</comment><comment><USER10> I believe Angular has a similar mechanism of compiling templates to code that corresponds directly to the template much like this, and they're now backing away from it. The reason is that you end up with a lot of code per template. Some indirection, like stuffing the template parameters via a key-value map, lets you generate more generic code that is overall smaller.

<comment><AUTHOR> To prevent large bundles, Moon uses a lightweight runtime that is about the same size as the equivalent compiled virtual DOM render function (using React.createElement for example).

</comment></comment><comment><USER11> Maybe it's just me but if you're submitting something to Show HN then it's helpful if your "Examples" navbar link doesn't send me to a `//TODO`!

<comment><AUTHOR> That's a ToDo app example

</comment></comment><comment><USER12> Previous (2017, 192 comments): [https://news.ycombinator.com/item?id=15105726](https://news.ycombinator.com/item?id=15105726)

<comment><AUTHOR> It's been rewritten completely and hit 1.0 beta a week ago :)

</comment></comment><comment><USER13> Looks like a neat project. What is the ultimate goal of it? I gather it's to do a subset of what e.g. Vue does, with simplified API and a small footprint. Is that accurate?

<comment><AUTHOR> Thanks! It used to be a smaller version of Vue aiming to be a small subset of it. For the v1 beta (what the current documentation is for) I decided to change up the API to be something more simple that can still scale well for larger projects.

<comment><USER14> Is this still a non-keyed implementation? Will you ever be adding mix-ins? Both of these kept me from using this library prior to the current re-write.

<comment><AUTHOR> For now, it is non-keyed. As I mentioned in some other comments I just wanted to get a beta out as I've been rewriting Moon for about a year and it's finally gotten to a semi-usable state.

A keyed implementation, single-file components (multi-file components exist with Moon CLI but I've started to like single-file components), custom DOM events, component inserts, and an official router are on my todo list. Hopefully you'll get to use the library this time :)

</comment></comment></comment></comment><comment><USER15> Very simple concepts. So easy to try. Saw the code. There are almost no type checks or null/undefined checks anywhere. Is this library used in any production application?

<comment><AUTHOR> It's currently in beta and although that's no excuse for the lack of warnings I just wanted to get a beta out as I started v1 almost a year ago.

</comment></comment><comment><USER16> I kind of like that this feels like a vanilla JS, simple version of components. Any reasoning behind by this was created? I read the about but it was limited.

<comment><AUTHOR> Glad you liked it. If you read some of the original Moon articles ("Introducing Moon") you'll find that I was frustrated with other libraries and strived to create a smaller and faster alternative.

Now I have worked on designing a new structure for web applications that I'm planning on writing further about. The view API of components in Moon closely models my vision for the future of the web. Moon's philosophy is to have a consistent API in order to create views to display data.

<comment><USER16> I do like that you have presentation vs data separated by default. Something I wish React had. ;)

</comment></comment></comment><comment><USER17> Congratulations on the release. I know we talked about using Moon for AppShare, and I'll keep watching the progress. Thanks

</comment><comment><USER18> Love the design of the site (or lack of it). Apparently similar to marko.js, but no bootstrap header, etc.

<comment><USER19> Looks to be the Wing css framework, by the same author:

[https://kbrsh.github.io/wing/](https://kbrsh.github.io/wing/)

</comment></comment><comment><USER20> Are you still claiming to be 14 years old?

<comment><USER21> This is what you do with your precious time on this planet?

<comment><USER22> 10 months ago they apparently registered their account to cast doubt that OP was 13 years old.

A weird fixation.

<comment><USER20> OP was the one trying to convice everyone. [https://news.ycombinator.com/item?id=15156363](https://news.ycombinator.com/item?id=15156363)</comment></comment></comment></comment>


Samsung Galaxy Tablet Coming in September - <AUTHOR> http://www.pcmag.com/article2/0,2817,2368214,00.asp

<comment><USER2> Yet another product that's "promised" to come out. There have been more than enough promised tablets and e-readers that have failed to make it to sale lately. Let's believe it when we see it.

I wish companies would take Apple's approach of shutting up until they have something concrete to show, rather than giving vague announcements of announcements.

<comment><USER3> Another point about Apple is that they are the grand masters of hyping a products while at the same time shutting up. There where vague announcements of the iPad (and before that the iPhone) for many months before it was actually announced. It's just that Apple manage to convince other people to do this PR work for them. Most companies aren't so lucky and have to do their own PR work.

<comment><USER4> Of course it would have nothing to do with their track record of consistently bringing to market game changing products starting with the iMac; clearly it must be some kind of buyers remorse induced self-hypnosis....honestly, just listen to yourself.

<comment><USER3> What are you reading into my message that I'm missing? Of course Apple's track record has a lot to do with it, where did I claim otherwise? Are you claiming that the Apple PR machine hasn't perfected the art of making other people do all their hyping for them while they can sit quietly in the corner denying everything.

</comment></comment></comment></comment><comment><USER5> I'm not sure how big the market is for something /between/ the iPhone and the iPad. It's too big to fit in your pocket, and probably too small to view normal web pages comfortably.

<comment><USER3> I'm not sure either, but I really like it. It looks like a comfortable size for reading and watching videos. Although I've only played a couple of times briefly with an iPad, my initial reaction has always been "cool, but slightly too big for what it is".

<comment><USER6> I have an iPad and this is the first impression it gives. But the more you use it the more you realize that this is the right size for a lot of things: reading books, browsing web pages or content in applications (calendar, address book). Moreover you have a decent sized keyboard that helps you avoiding typing errors, which are quite common given that you don't feel the keys.</comment></comment></comment>


ClojureScript and the Blub Paradox - <AUTHOR> http://wildermuthn.github.io/2015/08/04/clojurescript-and-the-blub-paradox/

<comment><USER2> Author here, lead front-end at NowThis ([https://nowth.is/](https://nowth.is/)). Over the past two months we rewrote our Angular/React application in ClojureScript, and it's been the most productive (and fun) time I've ever spent coding.

Yesterday we pushed the app into production. And to my total surprise, after two full days, I don't have a single bug report. What I do have are a lot of requests for features!

I'd like to say we just wrote good code for once, but I think that ClojureScript and its community deserve most of the credit. It's easy to build great applications when you have the right tools.

If you're interesting in joining a team that's pushing the boundaries of tech, and a company that's transforming the way people get their news, NowThis would love to hear from you. Email me at firstname.lastname@example.com, and I can fill you in with details.

<comment><USER3> I enjoyed your article, and I think the notion about running close to the "human metal" is an important selling point for Clojure. The thing is, it is very hard for outsiders to see how this works, as you have to have some grasp not only about the (to most people) relatively foreign syntax, but also about how evaluation works, in order to begin to grasp how powerful macros are. And then, there's still some convincing left to do, because isolated examples A and B of macro usage can reflect stuff that you can do as easily in other language Y and X respectively. It took me a long time to get to my current understanding, and, being a Clojure/ClojureScript beginner, I still don't fully fathom what can and cannot be done with macros. Articles like this one continues to inspire me in my quest for understanding :) And they strengthen my belief that there is something to be won by adopting Clojure. Good job!

</comment></comment><comment><USER4> _puts fundamental limits on problem-solving_

I wouldn't quite go that far. I don't see any problems that aren't being solved in Javascript, but that certainly doesn't mean that its easy and that there aren't languages that are better suited for the task. I personally don't worry about it too much though, because I also use and love Clojurescript :)

</comment><comment> j-pb I really like this fizz-buzz implementation in clojure.

      (map #(or (not-empty %1) %2)
           (map str
                (cycle (conj (repeat 2 nil) "fizz"))
                (cycle (conj (repeat 4 nil) "buzz")))
           (range))</comment>


Show HN: The concept of hover on touch devices - <AUTHOR> http://mcarter.me/movver/

<comment><AUTHOR> I built this in my spare time to solve a problem I was having with pre-loading content behind tappable tiles on a web-app. It's easy to know when a user is hovering over a tile with a mouse, less so when they're on their phone.

I'd very much appreciate any tips for improvement or other feedback. :-)</comment>


All things being equal, the simplest solution tends to be the right one... - <AUTHOR> http://fridayreflections.typepad.com/weblog/2007/10/all-things-bein.html

<comment><USER2> All things being equal, the simplest solution tends to be the right one -- but not in this case. Graphite pencils are a really bad idea in zero gravity: They can break easily, freeing hazardous splinters (not a problem with gravity, since if you encounter them it's likely to be with your feet -- but without gravity, splinters could easily end up in your eyes), they are flammable (obvious issues here), and when you use them graphite dust is released which (in zero gravity) can end up causing short circuits in electronics.

</comment><comment><USER3> The Russians use pens now as well.

<http://www.snopes.com/business/genius/spacepen.asp></comment>


Ask HN: Upvoted stories - <AUTHOR>

Where can I see stories, that I upvoted? I'm looking for a specific one. <comment><USER2> Your profile (top right corner of screen, click your username) -> "saved stories" link.

</comment><comment><USER3> Click on your username to get to your profile, then click on "saved stories".

</comment><comment><USER4> Saved stories under your profile page.</comment>


Exchangel adds Pied Piper for fantasy investing - <AUTHOR> http://exchangel.co/company/PP

<comment><USER2> Context:

Exchangel is a fantasy angel investing site with real companies, Pied Piper is a fictional company on a real TV show (Silicon Valley on HBO).</comment>


Air-to-Air Photo Shoot with Ukrainian Su-27 [video] - <AUTHOR> https://youtube.com/watch?v=JT9Jk8sOTps <comment><AUTHOR> And here is resulted photo/wallpaper[0] by _SkyPrestige Fotografia Lotnicza_ [1]

[0] [https://twitter.com/Ukraine_AF/status/1162588217914396673](https://twitter.com/Ukraine_AF/status/1162588217914396673)

[1] [https://www.facebook.com/skyprestigephoto](https://www.facebook.com/skyprestigephoto)</comment>


Using Starbucks As Your Office? Here Are Some Tips From Om Malik - <AUTHOR> http://gigaom.com/2010/07/01/using-starbucks-as-your-office-here-are-some-tips/

<comment><USER2> I would love to see an actual business modeled after The Black Danube, in Robin Sloan's novella _Annabel Scheme_ : <http://robinsloan.com/annabel- scheme> (Read the whole thing, it's an awesome story)

Directly from the book (don't worry, it's CC):

\-----

They showed me a coffee shop stretched out to warehouse scale. There was a long, foreshortened espresso counter up front. The rest of the concrete floor was dotted with wooden tables, dozens of them, all different shapes, spaced evenly through the field of gray. Every single one was occupied. Men in shiny suits and long coats—one in white New Fleet livery—milled from table to table like customers at a flea market.

 _[...]_

All of the tables at this coffee shop were reserved for new internet companies. The price was a nine percent stake in your new venture, but you'd happily give nineteen or ninety-nine. With a table, you got, in addition to the simple, precious space: a thick, luxurious fiber-optic connection to the internet; a server or two or sixteen in the data center next door; and, most important by far, the attention of Octav Erdos.

I saw him at a table near the front. He was tall and wide, bald, wearing gray overalls. He could have been an auto mechanic. He was blustering at the semicircle of skinny faces around the table, tracing his fingers in little spirals, drawing something in the air. Everyone was nodding.

Octav was more than an espresso impresario. He was also the director of Black Danube Ventures, and he spent every waking hour of every day here in his camouflaged incubator, migrating from table to table, advising, cajoling, berating. Sometimes even coding. When you got a table, you held on to it. You crowded as many people around it as you could. You took shifts in sleeping bags. And you subsisted on Octav's pitch-black brew.

When a company got sold, or graduated into an office of its own, Octav ceremonially smashed an espresso cup across its table. The dinged-up, dark- brown tables were the lucky ones.

\-----

The story is set, of course, in San Francisco.

</comment><comment><USER3> Some pretty obvious tips there. Does this really warrant a whole blog post and then to post it as news here? Come on!

</comment><comment><USER4> Just use a public library. Most have free wifi, almost complete quiet, large tables with quality chairs, and--best of all--nobody cares if you're there for 8 hours without giving up a penny.

</comment><comment><USER5> Three drinks plus tipping up to $10, per day, is very roughly $300 - $600 per month. It may or may not work for you, but it is not a trivial expense.</comment>


Cling: An Interactive C++ interpreter - <AUTHOR> https://root.cern.ch/cling <comment><USER2> Can somebody please shine some light on why such an endeavor was undertaken by CERN? What was so important about JIT C++ that they had to write such a sophisticated piece of software?

<comment><USER3> What a lot of people aren't mentioning is the legacy factor.

We had a "C++ interpreter" called CINT for a long time, which the ROOT data analysis framework was built around. It was, to put it bluntly, a mess: it had inconsistent scoping and syntax with C++, gave worthless debugging messages, and couldn't handle a lot of standard C++ code.

It was also the way that a lot of physicists at CERN ran their analysis code. We needed an interactive language to make graphs and histograms and to fit our data, and when CINT was conceived the only other solutions were proprietary packages like MATLAB. So CERN went with a homegrown solution and wrote a C++ interpreter many years ago.

Flash forward 15 years. "Big data" is all the rage. Python, R, and the huge list of packages built around around them would easily solve the problems CINT was designed for. But the codebase for the larger experiments at CERN is maintained by physics graduate students, a good fraction of whom had no programming experience before grad school. We don't have the time or the resources to rewrite our existing code in scipy, and the older generation doesn't have the experience to supervise such a transition.

Given that so many physicists are still using CINT, the ROOT developers had to make a choice: they could continue to maintain CINT, which would have been nearly impossible with their resources and the evolution of C++, or they could rewrite something that did almost the same thing using more modern tools. They opted for the later.

<comment><USER4> actually, there was another choice besides llvm/clng: python.

cint (M. G.) was in maintenance-mode for a long time by then.

ph-sft group was more for python (P. M.), and fnal wanted llvm/c++ (P.C.).

fnal then put down the money for an IC contract (A.N.) at ph-sft for the llvm/c++ based implementation and joined the iso body.

cling is almost orthogonal to the whole ROOT mess (graphics, histogramming, partially the analysis etc.)

<comment><USER3> I'm confused by all the acronyms, and I know CERN pretty well… what is M.G.? What is P.M.?…

</comment></comment></comment></comment><comment><USER5> I want to see something like this available from gdb. Following code that uses shared_ptr in gdb is still awful. It would be great to be able to explore the stack frame properly, looking at STL containers without hassle and calling functions and everything.

<comment><USER6> Modern gdb does have Python plug-ins, and e.g. I'll get "std::vector of length 3, capacity 4 = {10, 20, 30}" when printing a vector, and "std::shared_ptr (count 1, weak 0) 0x8059e10" when printing a shared ptr. But oh yes, it could be so much better. For instance, often you cannot call methods on template stuff (that is, everything) because 'it may be inlined'

<comment><USER7> "May" ought to be translated as "must". Templated C++ is incredibly sluggish without inlining. People are comfortable debugging C programs with more advanced optimizations turned off because performance will still be decent. In C++, the optimizations are the only reason it ever performs reasonably.

<comment><USER8> Not really. Calling a C++ template-generated function is no different than calling a C function. If you have a lot of tiny template-generated functions then sure, it would be slow. But no slower than a C program with a bunch of tiny functions.

<comment><USER9> Maybe they are thinking of specializing for static dispatch?

</comment></comment></comment></comment></comment><comment><USER10> Tried to build it and git is asking for username/password

        git clone https://root.cern.ch/git/root.git src
        Username for 'https://root.cern.ch':
        Password for 'https://root.cern.ch':
        fatal: Authentication failed for 'https://root.cern.ch/git/root.git/'

<comment><AUTHOR> [https://root.cern.ch/download/cling/](https://root.cern.ch/download/cling/)

</comment></comment><comment><USER11> Windows is unfortunately not yet supported and so far it doesn't look like they are even thinking about it. A few people have managed to build on Windows, but with considerable difficulty.

</comment><comment><USER12> As an aside, I wonder if browser vendors could agree to just use something like the LLVM intermediate representation instead of javascript as a common denominator. Everyone agrees that LLVM is awesome and everyone compiles their personal favorite language to whatever browsers eat anyway.

<comment><USER13> WebAssembly is essentially that.

[https://en.wikipedia.org/wiki/WebAssembly](https://en.wikipedia.org/wiki/WebAssembly)

</comment></comment><comment><USER14> Cool, but I'm having trouble imagining how I'd use it in my workflow.. Is there a demo or something?

I've only used interpreters in MATLAB/R where you have to write one-liners to massage data into the format you need - which seems pretty orthogonal to the way you work in C++

<comment><USER15> I use the python shell in two ways: to try/explore things in isolation, without having to muck with the larger thing I'm working on; and similarly, just learning things in general without a focus on a particular project.

And now with the ipython notebook (jupyter) I use the shell in a third way, to repeatably explore and demonstrate larger, less isolated things that are still sort of one-offs.

That said, I think the fact that there is a significant handful of C++ compiler/implementations in use, and some latitude in behavior for each, means that a C++ user is very much a user of the compiler as much as the language. Play but verify, I guess.

</comment></comment><comment><USER16> "Cling is capable to parse everything that Clang can do. In addition, Cling can parse some interpreter-specific C++ extensions."

Punchline!

</comment><comment><USER17> Kling och Klang!

</comment><comment><USER18> That must have been pretty hard to build.

<comment><USER3> It was a replacement for the old C++ interpreter, CINT, which was already a central part of a lot of CERN code. Building Cling was probably easier than maintaining CINT.

<comment><USER18> Still, since C++ is a statically compiled language by design, doesn't that make it difficult to make it run as an interpreted language ?

<comment><USER3> Sure, and no one is saying it was a good idea in the first place. CINT was notoriously bad as a C++ interpreter, in fact it was marketed as being able to parse 90% of valid C++ code. Imagine someone selling a compiler that way?

But CERN developed a huge amount of CINT code anyway, and all of CERNs legacy sort-of C++ code that ran on CINT became a maintenance nightmare. Cling is a huge upgrade in the sense that it supports all this legacy code with a _lot_ less overhead than before.

</comment></comment></comment></comment><comment><USER19> Very interesting project. I am not that into clang/llvm, neither I don't have it on my machine nor know anything about clang/llvm. But a c++ interpreter is something I always wanted to use, how do I make it work for g++ 4.8.4 ?

</comment><comment><USER20> Apart from all the awesomeness, it'll be so great to troll people who take language holywars seriously with this.

<comment><USER21> You mean those who claim C or C++ are always compiled and not interpreted? This has been around for a long time:

[https://root.cern.ch/cint](https://root.cern.ch/cint)

<comment><USER22> There was also the Sabre C interpreter, early releases of X11 and X10R4 came with the scripts to run it, it didn't do C++ though.

<comment><USER4> truth be told, Masaharu Goto wrote the CINT C++ interpreter at HP Japan and cern/root just embraced it and rolled it into its own floss distribution (F.R. was also an HP-CERN liaison for a very long time).

[http://www.hanno.jp/gotom/Cint.html](http://www.hanno.jp/gotom/Cint.html)

(Saber-C, the Saber company has become Centerline, and the software itself has been renamed to CodeCenter. saber, xsaber, and sabertool have become codecenter, xcodecenter, and codetool. DEC offered Saber-C on ULTRIX. It never appeared to do very well in the marketplace, which is some kind of tragedy. It was, and is, a terrific piece of software. The fact that a product as useful as Saber-C could fail to do well in the market is an indicator of the impoverishment of software "engineering" practices industry-wide. Anyway, it ended up being ObjectCenter from Integrated Computer Solutions doing C++ and having an IDE with class browsing, with xobjectcenter)

<comment><USER23> @Create you are confusing. Did Saber-C end up being codecenter or xobjectcenter? Is the company Centerline or Integrated Computer Solutions. Who is F.R.?

</comment></comment></comment></comment></comment><comment><USER24> Does this work with windows? I'm still not clear where Clang stands.

</comment><comment><USER25> I guess this will finally allow to build full-fledged IDE for C++

<comment><USER6> Eclipse CDT has gotten pretty good in the last few years. Its code scanner is practically a full C++ front-end, and if I pay attention to the red ink I practically never break my builds. That being said, _instant_ C++ is a fantastic thing

<comment><USER14> Last time I tried Eclipse (2-3 months ago) it wasn't usable on high DPI screens. Have they fixed tat?

</comment></comment></comment><comment><USER26> Wasn't some of that available in LLDB for a year or two?

</comment><comment><USER27> Any homebrew formula?

</comment><comment><AUTHOR> for download : [https://root.cern.ch/download/cling/](https://root.cern.ch/download/cling/)</comment>


Body hacking and losing weight. - <AUTHOR> http://ebobby.org/2013/10/10/Body-hacking.html

<comment><USER2> You changed your diet and started exercising. Did I miss the "hacking" part?</comment>


Facebook apologizes after wrong translation sees Palestinian man arrested - <AUTHOR> https://www.theverge.com/us-world/2017/10/24/16533496/facebook-apology-wrong-translation-palestinian-arrested-post-good-morning <comment><USER2> Given how ridiculously common the phrase "Good morning" is in Arabic, (I mean, look at any Arabic 101 textbook, the Sabah Al-khair / Sabah al-noor exchange is one of the first things they teach you), it's puzzling why Facebook's translation algorithm didn't see that as a fixed phrase, rather than trying to translate it word by word.

So much for machine learning.

<comment><USER3> Most sources for machine translation from Arabic-English pairs are data from US Army / anti-terrorist data.

So the data are learned to translate terrorist messages very well, as well as army terms. However, it doesn't translate day-to-day use that well.

Machine learning is only as good as the source data - and Arabic-English language pair specifically has data from US military complex, that loves translating terrorist messages. So translating Al Qaeda messaging will be good, translating regular message boards will be worse. The machine learns to translate everything as an attack, since that is what it knows.

(I cannot give you exact sources, but I knew people from inside Google. Facebook uses Bing, but I think the data sources will be similar.)

<comment><USER4> > Most sources for machine translation from Arabic-English pairs are data from > US Army / anti-terrorist data.

Interesting! This is HN, where's the source?

> I cannot give you exact sources

I find your claim hard enough to believe but this seals the deal.

<comment><USER5> It'll turn out in due time that Bin Laden was just sending the US his best wishes.

Joking of course, but up to a point. There are cases of words from the "enemy" deliberately translated in their more literal sense when their sense is figurative (one for all, "death to America"\- even the _official_ translation is "down with America"). And statements by Bin Laden himself have been deliberately ignored in the parts that made more sense from a political point of view, to reduce them to a more comfortable "we hate you because you're free".

</comment></comment></comment></comment><comment><USER6> The operative quote from the article is: "no Arabic-speaking officer had read the man's Facebook post."

This reminds me of the kind of alarmist, ham fisted policing we often see in America, where police will barge into an elderly person's home and trash the place because they forgot to double check the address.

<comment><USER7> I would consider obvious it'd be enormously advantageous for Israeli police to have, at least, a basic understanding of Arabic.

It's like a Miami policemen without any Spanish/Portuguese knowledge.

<comment><USER8> A lot of them do, it's very common for Israeli's to be fluent in Arabic. But not all of them obviously.

And in this case, considering what someone with evil intent and a bulldozer can do, I can understand arrest first, figure out what's going on second.

It's not like arresting someone after the fact - in that situation you can take some time. Here it's before the fact, and seconds count.

<comment><USER6> You'd think they'd take the 30s required grab literally the first person in the office they could find who can understand the language it's written in.

Moreover, how did they arrest him without someone speaking a modicum of Arabic? Or did they just run into his home and snatch him by force?

I personally find this kind of behavior by the armed representatives of government to be horribly undemocratic.

</comment></comment></comment></comment><comment><USER9> This is scary and 1984 ish. A man was __arrested __because of a bad translation.

<comment><USER10> Collateral damage. People are routinely murdered for being in the same area as people who are suspected of terrorism on the basis of evidence which has never seen a courtroom.

<comment><USER11> Not sure if you're saying that makes it OK. I don't think that makes it OK.

</comment></comment></comment><comment><USER12> What an awful society that is where you can get arrested for posting two words on social media by a police department run by politicians you can't vote for.

</comment><comment><USER13> The predator will not eat a bad tasting butterfly, but we can trick it to do so.

They talk about a "linguistic translation" error in the attempt to deflect focus away from the meta data triggers that this person generated.

Cyber phrenology is real.

[https://www.cultstate.com/2017/10/13/The-Butterfly- War/](https://www.cultstate.com/2017/10/13/The-Butterfly-War/)

<comment><USER14> An amusing read, but the overbearing narcissism (I did this; something happened; that something is therefore caused by my action) makes it hard to read as a rational argument and not a psychoanalysis case study.

<comment><USER15> This is where I saw the author being a blackhatter parading as a greyhatter. Or maybe even worse, a blackhatter who doesn't know he's a blackhatter.

The idea that _increasing_ the noise/signal ratio (ie: "make them eat more butterflies") is going to cause Facebook and their ilk to see the flaw in reasoning is not only malicious (Milo's 20,000 fake followers + residuals did not go away), but it also betrays a profoundly scary naivete over the subject matter.

It makes it worse when you write off your body of work as "for research" but fail to set up a methodology more complex than "provoke social justice people into attacking each other, algorithmically."

The entire piece neglects to consider the "rm monkey" ie: the trolls that don't have such motives but chaos. Some of us, growing up, just liked to see systems implode. He surrounds himself with them on 4chan but fails to recognize the complexity of their brigading.

The author, a self-perceived "arbiter of truth" waving his scepter (an infantile of scripts), finds himself far more intelligent than both his merry band of trolls on 4chan, Google/Facebook, and protected groups all at the same time - but he may be wrong on all 3 accounts.

Dunning Krueger is not understanding that many on 4chan prefer the butterfly war.

<comment><USER13> The author performed all of this during a three year period, I believe.

If ego was the only driving focus, wouldn't he have revealed himself earlier? Especially during the rise of alt-right micro-celebrities? How can you be a mere narcissist with a Hollywood background and completely avoid intentionally giving yourself the limelight?

This strikes me as something far more methodical.

</comment></comment></comment></comment><comment><USER16> The fact that you can get arrested for a Facebook post in Israel is already alarming.

<comment><USER17> In what country can you never be arrested for a Facebook post?

<comment><USER16> In the US which has freedom of speech laws. But which country has arrested users for Facebook posts other than authoritarian countries? Particularly for such a relatively innocuous post.

<comment><USER18> People have been arrested over facebook in the US, for example:

[https://www.theguardian.com/us-news/2017/may/18/facebook- com...](https://www.theguardian.com/us-news/2017/may/18/facebook-comments- arrest-prosecution) [http://www.businessinsider.com/people-arrested-for- facebook-...](http://www.businessinsider.com/people-arrested-for-facebook- posts-2013-7?IR=T)

AFAIK most of the countries have had arrestations over facebook posts, those who have not are following this global trend.

<comment><USER16> Interesting I did not know that. Of course there are limits to free speech. Threats, and involvement in criminal activity, like if I order somebody to shoot someone, that's not protected by free speech. This was a pretty innucous statement not a threat.

</comment></comment></comment></comment></comment><comment><USER19> Facebook often asks me if I want to translate posts that are already in English. I'm not surprised that "mistakes may happen".

</comment><comment><USER20> This is both the fault of Facebook and the police. Unfortunately, not all police forces require evidence to arrest people. I would argue that the larger problem is actually the way in which the police handled this and not so much Facebook's inaccurate translation.

</comment><comment><USER21> It remains me to this: [http://www.smh.com.au/content/dam/images/g/i/3/2/d/a/image.r...](http://www.smh.com.au/content/dam/images/g/i/3/2/d/a/image.related.articleLeadwide.620x349.gi31y6.png/1435790539118.png)

</comment><comment><USER22> Maybe they feared he was preparing an attack using a goedendag [1] (itself named after a possibly mythical shibboleth [2])?

[1] [https://en.wikipedia.org/wiki/Goedendag](https://en.wikipedia.org/wiki/Goedendag)

[2] [https://en.wikipedia.org/wiki/Shibboleth](https://en.wikipedia.org/wiki/Shibboleth)

</comment><comment><USER23> Note that in Arabic there are no vowels. Also note that it's not the common "good morning" (Sabah Al-khair), but a rarer term: one word, 6 letters, no vowels. The equivalent in english would be "gdmrng".

<comment><USER24> No, seeing as there are no vowels in Arabic, the equivalent is not an English word with vowels, with the vowels removed.

It is a shortened form though, and is equivalent to "Morning!"

<comment><USER23> Arabic text has much higher entropy than English. The last two letters in the Arabic word he used (H M) is also the common suffix for "them". That's not strictly equivalent to simply "Morning!" in English.

Maybe the translation algorithm confused "Yisbah-hum" (good morning) with "Yitbah-hum" (Kill them)?

<comment><USER25> Thank you! all this reading, including the source article, and finally someone gives a likely source for the mistake.

</comment></comment></comment></comment><comment><USER26> How does that happen?

I know that "googlebombing" google translate used to be a thing as i have seen it done fairly often(usually stuff like translating android to iphone etc) in the Danish/English translator, where the fact that a few votes could change a words meaning.

I wondering if what happened here is a less harmless version of that were a group of people deliberately messing with crowd sourced translation tools, and if facebook have any kind of sanity checking on their translate function or if they are as vulnerable as google translate to that kind of manipulation?

</comment><comment><USER27> I'm not exactly a Facebook fan but the blame for this needs to be shared by the Israeli police.

<comment><USER28> Blame should rest mostly on the police.

<comment><USER18> IMHO responsibility is 90% facebook, 8% people who reported it and 2% police. I do not expect police officers to be expert in using facebook.

<comment><USER29> I think it is 99% police. I do not use FB translate, but Google translate. Sometimes it works, sometimes it does not. I expect that it is not 100% reliable, and anybody who frequently uses the automated translation tools for critical tasks (presumably the police in this case) should know this. My suspicion is that this was just an excuse for the police to arrest somebody.

</comment></comment></comment></comment><comment><USER30> I pasted the offending Arabic into Google translate and got "Become them" ([https://translate.google.com/#auto/en/%D9%8A%D8%B5%D8%A8%D8%...](https://translate.google.com/#auto/en/%D9%8A%D8%B5%D8%A8%D8%AD%D9%87%D9%85)).

Bing just says "become", Translate.com and Cambridge dictionaries have "Come in the morning to them".

Yandex says "ISG world"!

All a bit odd or downright weird but none so threatening as Facebook's. Was Facebook's translation engine sabotaged?

</comment><comment><USER15> The trend will continue as long as the 0 accountability standard remains.

<comment><USER31> For Facebook or the Israeli state?

<comment><USER32> Both?

<comment><USER15> precisely - but Facebook sits upstream here

<comment><USER33> I have no love for Facebook, but it should always be the LEO's duty to verify everything, even if just to save their own ass.

</comment></comment></comment></comment></comment><comment><USER34> [https://gizmodo.com/382026/a-cellphones-missing-dot-kills- tw...](https://gizmodo.com/382026/a-cellphones-missing-dot-kills-two-people- puts-three-more-in-jail)

</comment><comment><USER35> Crazy!!! ... let's take politics aside for a sec. What if the man was actually planning an attack? That would be really crazy that an AI tool could actually find that with the context of the picture.

Let's give another example ... let's say I pose with a fake gun and I write: "Ready to party" would the algorithm render a different translation than if I posed with balloons?

</comment><comment><USER36> That's strange. I'm sure it could just as easily have happened to an Israeli citizen. (Just kidding!)</comment>


Digging Up Troy - <AUTHOR> http://www.laphamsquarterly.org/roundtable/digging_troy <comment><USER2> Eric Cline, the author of the piece, wrote the book "1177 B.C.: The Year Civilization Collapsed", a book on the bronze age collapse I found very interesting. In the 1980's, the BBC produced a series called "In Search of Troy", written and presented by Michael Wood, the historian. Cline brings this up to date with Manfred Korfmann's findings from the 1990's, expanding the size of Troy with the "lower city" and adding much to our knowledge. I think the BBC series can be found on YouTube and is worth watching still, as it covers a lot of the same ground. I wish Schliemann had been more careful.

<comment><USER3> I can confirm the series are interesting, just purchased it on DVD. In the series we learn that the gold from Troy disappeared from german museums during WW2, perhaps forever. But since the end of the cold war it has appearently turned up in a russian museum.

</comment></comment><comment><USER4> Was it common to really build cities on top of one another? It seems weird to me that one would simply build over top another ruined building. And actually, what did this look like? Did they simply build on top of some rubble? I imagine this happens over a long period of time but I don't know enough to understand. Anyone can explain or send references?

<comment><USER5> Not an expert, but groundworks are expensive. Building on an existing foundation would be easier. Include the fact that ancient cities were usually founded in advantageous locations (rivers, etc) and the existence of infrastructure (roads, local farmland) then staying put makes sense. In fact, without modern communications, if you moved, no one would be able to find you.

<comment><USER6> I'm no expert on the matter, but I can imagine how it might be possible to maintain address records and update them as required without the aid of electronic communication.

Also, you could move home locations but still go to the same market, tavern, workplace, fields, etc, and be located there, or just tell your old neighbour you moved.</comment></comment></comment>


Show HN: Branch iOS Share Sheet – add links with automatic share tracking - <AUTHOR> https://blog.branch.io/oversharekit-launch?hn=1

<comment><USER2> iOS Developers: how much time would it take to implement this on your own? I couldn't find good documentation from Apple about "deep linking" for fresh installs. (searching for "deep linking" found me affiliate references and registering URL schemes).

<comment><AUTHOR> Here's how to build it on your own. [http://stackoverflow.com/questions/15955798/ios-app-store- pa...](http://stackoverflow.com/questions/15955798/ios-app-store-pass- parameters-in-store-download-link/27466164#27466164)</comment></comment>


Jason Calacanis' response to Aaron Wall - <AUTHOR> http://calacanis.com/2010/01/31/my-response-to-the-wonderful-seo-aaronwall-whos-been-giving-us-great-free-advice/ <comment><USER2> I like how on Hacker News, Calacanis was getting his throat bitten out by Aaron and the community, while he was trying to feebly defend himself and do damage control.

However, when you read this article, it makes them sound like great friends, and it reads as if Mahalo is this awesome little indie site that wants the community to help. I especially love the comment by Dorfman reinforcing how he was ecstatic about Aaron's advice and had a great time noodling it over.

It's like if your dog takes a dump on the sidewalk and, like usual, you don't pick it up. When someone [and an angry mob of your peers] makes a big enough stink about it, you argue and argue, until it degenerates into a fiasco. Finally, you write on your blog, "Thanks for helping us be even better, buddies! You guys are awesome! Gonna think about picking up the shit real soon. We are all so excited about what you guys said! Let's grab sushi, ya?"

There's a lot of ways to lie, and I've just learned a new one. It would be cool to see an apology with an accurate representation of the scandal.

<comment><USER3> Calacanis is obviously a smart guy and a master of controlling the perception.

He may get away with the ignorance alibi just yet because the SEO aspect is technically nuanced enough that most people won't understand it.

<comment><USER4> If he were a master of controlling perception we would not be having this discussion.

<comment><USER3> We are 1% of 1% of the people he cares about.

<comment><USER5> I care about you.

</comment></comment></comment></comment></comment><comment><USER6> in my opinion, the slimiest thing that mahalo is doing is scraping content and then nofollowing the attribution links. nofollow was designed for outgoing links that a publisher cannot vouch for - ie links in blog discussions.

but mahalo is nofollowing attribution links to content that THEY have decided to scrape.

jason is conflating two things when he says "Do you think we should remove nofollow from our links? we added this to avoid the problem of SEOs coming in and turning Mahalo into a link farm"

you can nofollow links created by users but you should not nofollow links to content that YOU decided was worthy of inclusion on your site.

it seems very clear to me, that this guy is playing dumb.

<comment><USER7> _you can nofollow links created by users but you should not nofollow links to content that YOU decided was worthy of inclusion on your site._

To be fair, he can do whatever he likes - as long as it's legal. Aside from the murky spammy waters Mahalo seems to wading in, the "nofollow" is merely a hack devised by Google (that's also acknowledged by Bing and poorly implemented by Yahoo).

Jason can put anything legal on his pages with no qualms or being a "scammer" or whatever. It's Google's job, then, to remove Mahalo from the index if it doesn't like his "content." The ethical argument should be around this scraping, not the use of a proprietary hack Google came up with to get around an indexing problem they couldn't be arsed to solve properly.

<comment><USER6> i agree that mahalo is not doing anything illegal, the simple point is their actions are unethical.

scraping content is allowed under fair use, but going the extra step of nofollowing is an intentional attempt to use someone else's content without passing pagerank.

it is a deliberate attempt to outrank the sources. this is pretty much akin to a mid-level manager taking credit for the work performed by one of the people that reports to him. illegal? no. lame and worthy of being called out for? yes.

i also agree with you that the real onus is on google to not rank sites that engage in this tactic.

<comment><USER7> _it is a deliberate attempt to outrank the sources._

Of course it is. That's like saying Obama's presidential campaign was a deliberate attempt to win the election.

The issue, though, is that Mahalo could not rank higher than original sources unless Google is doing a shoddy job of indexing the Web. Just because Mahalo has a few good pages doesn't mean the rest should automatically be trusted. Google need to figure that out - and fast.

<comment><USER8> This domain authority exploit is exactly what many business models are being built on...Demand Media, Mahalo, Aol, etc etc etc

</comment></comment></comment></comment></comment><comment><USER9> Wow. Just...wow. Ugh.

Given all the posts on this forum, and even his direct participation in the discussion, I honestly thought that he would've recognized both the technical problems in Mahalo's content & linking stratagems as well as the hollow tenor of his words.

Sadly, no. More duplicitous ignorance and classic "PR framing" piece straight out Political Communications 101.

1\. Couch direct criticism as "feedback". Do not directly apologize for any perceived or actual misdeeds as that is seen as an admission of purposeful dis-service and guilt.

2\. Enumerate an ill-defined set of seemingly concrete, but very porous, actions to be enacted within an indefinite time frame. This overtly defines a 'scorecard', albeit one without any measurable boundaries for future compliance. In other words, the Overton Window is wide open.

3\. Within the context of the response, inject positive spin on (any) tangentially related side-issue to serve as a defensive soundbite reservoir against any possible pointed questions within the limited time-windows of future radio and t.v. media interviews.

4\. Make offers to "work more closely" with the opposite party, but exclusively on your turf/terms while (un)subtly highlighting your strengths and their weaknesses to continue business as usual. In this case, Aaron's individual "free" time & attention versus their "paid" team of developers.

5\. Release "off-cycle" (e.g. late Friday, holidays, weekend) and in a forum where you can have as much control as possible in 'shaping the break' of the story as it makes its way through the media ecosystem.

This is just sad from every angle and, quite honestly, bumming me out. I wish I hadn't clicked on Hacker News this afternoon.

</comment><comment><USER10> The tone of Jason's responses to Aaron is so different than his normal writing. It doesn't feel authentic Calacanis.

<comment><USER11> Agree...yet, it's a catch-22 for him. If he is his typical self, he gets attacked for trying to make it a joke(as he makes a lot of things). If he is serious(as he _appears_ to be now), he is inauthentic.

</comment></comment><comment><USER12> Sounds like good damage control now.

First he made fun of Aaron and even this post almost comes off as sarcasm (although who knows if Jason's going to stick to his word, so it may very well be sarcasm). But the comment on the blog makes it seem like people at Mahalo actually care about not being branded as a content-less SEO cesspool.

Kudos to Aaron for making Mahalo right its wrongs!

<comment><USER13> Don't give kudos, till you see results.

<comment><USER12> Surely, Aaron deserves kudos for atleast bringing the issue to light and causing trouble!

<comment><USER13> oh yeah, but I mean wait on seeing the changes actually take place.

</comment></comment></comment></comment><comment><USER14> I wanted to learn a little more about the company, so I clicked on the "about Mahalo" link at the bottom of most pages.

<http://www.mahalo.com/mahalo>

How many other web companies serve ads on their "about" page? It seems like a really odd thing to do.

</comment><comment><USER15> I thought Aaron went a bit personal in the last rant; but if it works (and was supposed to work rather than just be malicious) then fair enough.

Lots of ifs though.

<comment><USER16> Agreed. I wish Aaron Wall had not went personal in his last post. Ironically, Aaron Wall called out Calacanis the way Calacanis usually frames debates.

I am actually learning a ton about SEO from this debate. I wish both sides would frame the debate with just the facts and keep the name calling out of it. (IIRC, Calacanis called out SEOs a couple years back.)</comment></comment>


It's Official: Warren Buffett's Berkshire Buys Stake in Paytm - <AUTHOR> https://www.livemint.com/Companies/eHEd0FaBESIBZXh9hGU2OM/Its-official-Warren-Buffetts-Berkshire-buy-stake-in-Paytm.html <comment><USER2> Just removed this post from dead. Not sure why a investment by Warren Buffet in tech startup and in India is not worth discussion.</comment>


Git commit messages - <AUTHOR> https://github.com/atom/atom/blob/97d697f1952eaa4bb0d5d71f4895877183ad53ba/CONTRIBUTING.md#git-commit-messages <comment><USER2> Very funny applicable emoji on commit message</comment>


San Francisco Controller Publishes Candid Report On How Badly They Need Twitter - <AUTHOR> http://techcrunch.com/2011/03/16/san-francisco-controller-publishes-candid-report-on-how-badly-they-need-twitter/ <comment><USER2> How is taxing stock option gains more 'audacious' than taxing income gains? They both are taxing work. Why is one more 'audacious' than another?

<comment><USER3> Fair point. The real question we should be asking is for what purpose and how is the money being spent.</comment></comment>


Cooking with Science at the Home Food Lab Project - <AUTHOR> https://www.urbancottage.net <comment><AUTHOR> Pasta is a wonderful food to cook and joy to eat. Everyone loves it, specially children. It is winning ticket to kids heart. It is my food to go when I had no idea to cook. With some dried pasta and coloured thick liquid (tomato sauce, pesto, white cream), and happy live. Cooking it is easy and straight forward.

You need to be mindful with few steps while cooking pasta. It is not about ingredients as much as the method to achieve what you desire.

I started with a plan. I wanted to feed the children more veggies "hidden" in the sauce. This plan allowed me to be creative and add as much vegetables as I wanted, as long as it "taste and looks" like tomato sauce. Challenge is on

As always "Mise en place" which is a French culinary phrase means, everything in its place. So, on my cutting board I gathered all ingredients that I thought it will play well together.

Dried pasta. Green and black olives. Green onion. Garlic. Onion. Tomato paste. Parsley. Carrot. Zucchini. Broccoli stem. Lemon. White cabbage. And but not showing (Red chilli. Ginger powder. Coriander powder. Can of Sardine).

As I mentioned above when it comes to pasta, there are few rules you have to be mindful of.

Let us cover most of them from ingredient and science perspectives.

TIME

Dried pasta takes 8-10 minutes to cook in boiling water. More time will break the pasta and become mushy. Let us jump on boiling pasta timeline to understand what happens:

0 minute mark: Dry pasta made of wheat and it forms a network of glutens. Cooking breaks down this network.

.....

The rest of article at our website [https://www.urbancottage.net/the-home- food-lab-project/pasta...](https://www.urbancottage.net/the-home-food-lab- project/pasta-with-veggies-red-sauce)

Look forward for your feedback...

Cheers</comment>


Reasons why hacking Facebook for more customers goes wrong for so many - <AUTHOR> http://blog.antavo.com/en/reasons-why-hacking-facebook-fails/

<comment><USER2> Someone needs to write a post on what happens to your brand after you astroturf HN.

<comment><AUTHOR> Lessons learnt. Have just started using HN and happily shared with a few that our post went live. Have to be more diligent not to harm the integration of the community. A+ for the whole forum.

</comment></comment><comment><USER3> Key takeaway from this is critical. Too many ventures focus on traffic volume rather traffic quality, especially when doing competitions, and as the article points out this means wasting money! In effect "You build non-engaging contests that address a general audience." is spot on. It's actually refreshing to see actionable steps regarding targeting and filtering. Would love to see a follow up with a more indepth case study.

<comment><AUTHOR> Great comment. Heard so many odd stories marketers even being served with dead databases just to reach volume. There are plenty of ways to attract the right traffic, but education is key. Part of this we are working CSs to show this new concept in work.

</comment></comment><comment><USER4> Antavo has been excellent marketing key tool until now. From now on, with targeted emails new feature, you went one giant step beyond and it will be even more useful. Thanks for the great tips.

<comment><AUTHOR> Sure. What do you think, what will be the primary purpose of your email campaigns from now on?

<comment><USER4> Primary purpose, for sure, will be to send emails to audience that cares for the offer.

<comment><AUTHOR> Great. Would love to hear your results!

</comment></comment></comment></comment><comment><USER5> Antavo is the best solution in finding the missing link between social and email.

<comment><AUTHOR> Have you been using other products to compare?</comment></comment>


Consciously quantum: How you make everything real - <AUTHOR> https://www.newscientist.com/article/mg23631510-200-consciously-quantum-how-you-make-everything-real/?cmpid=SOC%7cNSNS%7c2017-Echobox&utm_campaign=Echobox&utm_medium=Social&utm_source=Twitter#link_time=1510848116 <comment><USER2> Why the hell do you post a paid article here??</comment>


A Get Shit Done script - <AUTHOR> https://github.com/sjhcockrell/gsd

<comment><USER2> These kinds of projects are the epitome of the "using technology to solve human problems" fallacy.

If you are having trouble staying motivated to work, then you need to fix that. For me, browsing facebook et al is a palette cleanser of sorts. If I lock myself to only being able to view 'work' sites, I'd become too stressed to do my best work.

<comment><AUTHOR> It's most definitely in the "tech to solve human problems" camp.

Interesting to hear that you feel more stressed when you lock yourself out of palette cleansing sites. For me, I sometimes get this background anxiety/agitation when working in front of a computer for long periods of time, which can tip me into distraction when I hit something frustrating.

My computer is a shared leisure/work machine, which means that it can fall into the "working in the bedroom effect:" I find that I don't work well in that space because it's where I sleep and relax at the end of a day.

I create a boundary between relaxing/working states by changing environment: going to a coffee shop, office, or another room.

For some reason, this script has a similar boundary/environment effect on me: an intentional step to create a different "space" where I am working.

</comment></comment><comment><USER3> I think there is a bug in the 'off' function (though I haven't had the chance to run it yet).

        # Read from the array, and remove files from /etc/hosts
        for site in $*; do
            sed -i '' "/127.0.0.1 $host/d" $hosts
        done

it should be $site instead of $host (the latter is never referenced elsewhere in the file)

<comment><AUTHOR> Yup, that's a bug. Thanks for looking through the code!

Now I need to figure out why it seemed to work in the first place.

</comment></comment><comment><USER4> Adding to the "I already use this" chatter:

<http://visitsteve.com/made/selfcontrol/>

1\. Permanent for a time period. It is incredibly, incredibly hard to undo. This is what makes it different from the others 2\. Applescriptable 3\. GUI with whitelist/blacklist

</comment><comment><USER5> I did this a while ago as a surrogate distraction. I don't ever use it, but here's a link to it. I am not a bash artist and am well aware there is much to improve. This is a scratched itch, nothing more:

<http://nullcompany.com/scripts/work.firewall.sh.txt>

It wasn't meant for public consumption, but mine takes care of IPv6 access.

*edit: this is for os x.

</comment><comment><USER6> Rather than looping through the lines of the config file and removing commented lines, you may consider just using grep and letting the shell take care of the whitespace:

        # NB: left unquoted so it's split by the IFS.
        blocked_sites=$(grep -v '^#' "$blocked_hosts")

</comment><comment><USER7> Have you taken a look at <https://github.com/leftnode/get-shit-done> ? It's basically the same thing. I have been using this one for a while now.

<comment><AUTHOR> I haven't actually; I do know there's a number of these scripts out there, though.

I'll take a look, thanks for the suggestion!

</comment></comment><comment><USER8> Everyone has made his/her own flavor of this little tool in the past :)

Mine: <https://github.com/vannitotaro/procrasticazzi>

</comment><comment><USER9> > #!/bin/bash

If there's nothing bash-specific you may wish to use "#!/bin/sh" (or "#!/usr/bin/env bash" if bash is required.)

<comment><USER10> It's full of bashisms. Arrays, double equals (==) in conditionals, and the function keyword stand out to me.

</comment></comment><comment><USER11> Problem with these is I end up turning it off.

<comment><USER12> The one I've found that's worked best for me is a Chrome extension called Delayed Gratification that actually only delays my access to the site for 30 seconds. It's enough that I can convince myself to sit there and wait for 30 seconds rather than turn it off when I really want access to the site and feel it's justified.

But 30 seconds is also a decent amount of time to convince myself that I don't _really_ need to see that site right now, and often I'll just close the tab a few seconds in and get on with work.

<comment><USER13> I've started to use this (Chrome extension): [https://chrome.google.com/webstore/detail/strict- pomodoro/cg...](https://chrome.google.com/webstore/detail/strict- pomodoro/cgmnfnmlficgeijcalkgnnkigkefkbhd)

and it as really helped me (serial redditor) be more productive.</comment></comment></comment>


Patent Trolls: Make Them Pay - <AUTHOR> http://www.rackspace.com/blog/patent-trolls-make-them-pay/ <comment><USER3> I've posted this a few times on HN. The solution to this problem is, in my humble opinion, very simple. Rather than presenting a divided community to trolls, we have to present a united front. This would come in the form of a legal support organization that would be 100% dedicated to fighting trolls on behalf of it's members.

Call it insurance, if you will. Member companies would pay a monthly or yearly membership fee. In exchange for this the organization would evaluate any and all patent lawsuits and consider them for representation. It's stated mission would be to defend members from trolls.

How?

Well, for starters, imagine a legal organization with hundreds of millions of dollars in the bank. How many trolls would dare risk going up against them?

Second, I am not a lawyer, but I imagine that there would be a way for this organization to also create a cross-licensing ecosystem for member companies. Maybe this is ridiculous. I don't know. Imagine that every patent of every member company becomes an automatic IP license --only for the purpose of patent defense-- for all members. This means that for my annual fee I could have a virtual shield consisting of tens of thousands, if not hundreds of thousands of patents protecting me.

How much is that worth? Any company doing anything at all that is not trivial should easily be able to afford a $10K per year fee. larger companies could do a lot more. Smaller ones less. It is not hard to imagine raising tens of millions of dollars per year and even reaching a hundred million. With careful management this organization could easily amass a billion dollars in the bank over a number of years.

This would effectively destroy the troll business without legislation and it would probably do wonders towards decimating bullshit software patents (or bullshit patents in general).

<comment><USER4> While this is certainly a good idea, what happens when one member from the organization tries to sue another? Back to square one?? I'm just curious, I'm no patent lawyer either.

<comment><USER3> I obviously didn't work out all the details. I would imagine that there would have to be some kind of a mutual agreement to not go after member companies.

Also, in order to be accepted you can't be a pure IP business. You have to actually have products in the market. In other words, a real business.

Lots of details to work out mostly by legal minds.

<comment><USER5> The fundamental problem is that it assumes that all patents are invalid, and that no legitimate grievance can exist over the companies' intellectual property. While this may be a popular opinion on HN, I doubt many actual companies are going to be willing to sign away their right to sue when another member company brazenly steals their work.

</comment></comment></comment></comment><comment><USER6> I was curious where Rackspace stands with their own portfolio, and it seems they have actually avoided patents, which surprised me somewhat for a large, public company:

[https://www.google.com/search?tbm=pts&hl=en&q=inassi...](https://www.google.com/search?tbm=pts&hl=en&q=inassignee%3Arackspace&btnG=)

The tone of the article -- specifically focusing on patent trolls being problematic, but less focus on the other systemic problems with the patent system -- made me wonder if they were just going after the cases that annoy _them_.

<comment><USER7> One of the entities RS acquired was SGI. Whom I suspect may have had a patent portfolio.

Not sure who got that though. Oh ... crap. Looks like they were retained by Graphics Properties Holdings, who is, you guessed it, a patent troll themselves:

[http://www.techdirt.com/articles/20120419/02113518553/sgi- ba...](http://www.techdirt.com/articles/20120419/02113518553/sgi-back-dead- again-suing-tons-companies-patent-infringement.shtml)

<comment><USER8> Oops, Rackspace never acquired SGI. That acquisition was done by a company called Rackable Systems.

<comment><USER7> Doh! Thanks, I've been making that error for quite some time now.

It never really did make sense to me that Rackspace == SGI, especially since they weren't using the mark at all.

</comment></comment></comment></comment><comment><USER9> What's to stop patent trolls from forming a corporation with no assets, suing people, and then declaring bankruptcy if they lose their case? They could forfeit their patents, but it would be worthless anyway if they lost the case.

<comment><USER10> I think you've summed up one of the major problems precisely, yes.

Ideally, such a transparent attempt at patent trolling ought to result in a pierced corporate veil and personal liability on behalf of the owners, but in practice that seems unlikely to happen.

</comment></comment><comment><USER11> What about legitimate inventors, rather than patent trolls? There is a large element of uncertainty in any patent suit that has a trial by jury, and it is not at all uncommon for clearly legitimate patents to be found invalid by the jury.

The SHIELD Act sounds like it would make it effectively impossible for any small inventor who is not wealthy to sue a large infringer, because the risk of total ruin would be too high.

The way to address the patent troll problem is to address the ACTUAL cause of the problem (standards for issuing patents are too lax).

<comment><USER12> > The SHIELD Act sounds like it would make it effectively impossible for any > small inventor who is not wealthy to sue a large infringer, because the risk > of total ruin would be too high.

Worse. It would make it effectively impossible for anyone who isn't wealthy to sue anyone or any company that is. At a minimum, those pesky environmental laws would no longer be a concern.

</comment></comment><comment><USER13> A big thank you to all of you who are thinking about this issue and posting your ideas. There is no one right way to fix the patent troll problem, but hopefully Congress will figure out that this is a serious problem for tech companies and will do something.

There is a long history here. These terrible software patents have been around a good while now, and they have been a curse on Internet companies for over a decade. The "America Invents Act" which passed about a year ago was the culmination of a lengthy process which started with the proposed Patent Reform Act of 2005. It went nowhere, nor did the later iterations in 2007, 2009 etc. These earlier bills definitely targeted patent trolls, but did not pass because of significant opposition by a coalition of interests that did not (and do not) want to accept the changes necessary to hammer the patent trolls. Take a look at the organizations against and for at the wikepedia entry for the Patent Reform Act of 2009 and you will see what I mean.

Now, those opponents are still powerful; therefore to pass any legislation a bill will need to be acceptable to most of them. That means any bill that passes will not be ideal. My goal is to try to get a bill that at least levels the playing field and puts plaintiffs in a position where they have economic risk. The status quo is simply untenable and it is getting worse.

Many of the comments here correctly point out flaws in the SHIELD Act. We will try hard to convince the sponsors to correct these flaws to ensure the bill has teeth. However we must not lose sight of the real issue, namely whether the bill can get out of committee and receive a majority of the House and 60 Senators. It will be hard, and it will take a lot of public support. Please write Congressmen DeFazio and Chaffetz, as well as your own Members of Congress and give them your point view. They will pay attention. If they do not hear from thousands of people, nothing will change.

</comment><comment><USER14> The SHIELD Act is a great step, but I wonder how this will fare against the patent troll practice of setting up separate legal entities specifically for litigating individual patents? If they lose, they declare bankruptcy and move on to the next shell corporation.

<comment><USER15> If they file bankruptcy they have to sell off their assets to raise money for their creditors- assets which include the patents themselves.

<comment><USER14> True, but doesn't losing mean having the patent declared invalid anyway? Which renders it worthless whether or not loser pays.

<comment><USER15> No, it's just one way they could lose. The other side can be found to be non- infringing, or it could be found that a very very specific clause of the patent is invalid as opposed to the whole thing.

</comment></comment></comment></comment><comment><USER16> Patents _ARE_ the problem... not some vague notion of a poor implementation of them.

It will still be profitable to troll for patents even with the SHEILD act. The problem is the very idea of owning information/process.

</comment><comment><USER17> PG had a modest proposal to deal with the problem - name and shame lawyers who work for trolls, create a blacklist and refuse to deal with those lawyers. Trolls don't care about their reputation, but lawyers do. If we as an industry come together on this one the trolls will have no one to do the dirty work for them.

<comment><USER18> That's a dangerous place to go. Next there will be a call to name and shame lawyers who defend accused corporate polluters. After that, lawyers who defend alleged child molesters. Then, alleged murderers. Lather, rinse, repeat until we end up with a hopelessly-politicized legal profession.

Plus, it's not clear why a patent lawyer might stay up at night worrying about his reputation with someone like myself who is almost violently opposed to patents. It's not as if I was thinking of hiring him to sue somebody.

</comment></comment><comment><USER19> Patent trolls aren't the problem. The problem is that it's a profitable business model to have an idea, patent it, and then sit on it waiting for somebody to accidentally recreate it.

The reason this is a profitable business model is because too many obvious patents are granted. If granted patents were truly non-obvious, the likelihood of accidental infringement should be exceedingly low.

Patent trolls are merely a symptom of this issue. Hurting trolls does little to attack the wider problem.

</comment><comment><USER20> >They are just another patent troll attempting to take advantage of bad law. It is their nature. They look for opportunity, and patent litigation can be very profitable. The real problem is the law.

Disagree. Assholes will always be able to abuse the law. We should name and shame the trolls responsible. The lawyers and investors behind patent trolls should have severe social consequences.

</comment><comment><USER21> The SHIELD Act does not strike me as the most effective way to attack this problem.

Presumably there are legitimate innovators who will not be as quick at execution as incumbent competitors. They may leverage themselves highly in order to try to scale up production, and afterwards will have scarce resources to hire legal representation.

Depending how open and shut the case looks, representation may take them on as clients anyway. This act would marginally decrease the likelihood that they would, whether it decreases it too little or too much is a legitimate concern.

Other industries than software are far more capital intensive. For instance most new drugs are not developed at the same companies that are the best at synthesizing compounds at scale and have the best distribution networks. However, investors assume the risk of funding expensive research, specifically because they know that in the rare case that it is successful, the large companies will buy the property rather than simply make it themselves.

The SHIELD Act could very well create a different model where all drug research had to take place under the umbrella of larger corporations that could fund expensive legal fights on short notice.

There is an overwhelming presumption that intellectual property is a sham in the software industry. Perhaps, software patents (and patents of business practices) generally slow progress more than they reward innovation. However, I don't understand how skepticism about the role of intellectual property protections has turned into uncritical acceptance that it only causes harm.

<comment><USER22> > However, I don't understand how skepticism about the role of intellectual > property protections has turned into uncritical acceptance that it only > causes harm.

Is not uncritical acceptance, there has been plenty of research and evidence that shows intellectual property harms innovation:

[http://levine.sscnet.ucla.edu/general/intellectual/against.h...](http://levine.sscnet.ucla.edu/general/intellectual/against.htm)

</comment></comment><comment><USER23> There is no need for elaborate laws to address the issue of patents for software and business methods. Nor a lawyer witch hunt. Nor some giant protection scheme like those mentioned in other comments.

The Constitution grants Congress the power to regulate patents. Everybody interested in solving this problem should ignore the half measures and demand the elimination of software and business method patents entirely. Other solutions will undoubtedly be gamed and the problem will persist.

</comment><comment><USER24> I'm wondering if you can analyse the problem of Patents from a game theoretic point of view.

The problem is this, those that don't Patent or were unable or disincentivized to Patent (different country, or different time period) cannot compete on a level playing field.

They do not gain sufficient arsenal to defend against Patents.

Patent law is fundamentally incompatible with the past. In a different era or different arena some ideas were not considered suitable for patenting (lack of utility, novelty, and nonobviousness).

An example is software patents or business process. As money pours in to create changes to the rules those not playing the same game are at a disadvantage.

That is their past IP unprotected by Patent law is now differentially disadvantaged in the marketplace.

The only way to rectify this is to reduce the power of Patents over time until they are eliminated.

</comment><comment><USER25> It would seem like there could be legislation that says if you are not actively developing a product from a patent then you can't sue. I'm sure there's too much legal BS involving what "active" means, but it would seem like there must be some way to have a law that limits lawsuits to those people who are actually using their patent to create something.

Having the loser pay I think would also be a good step, however it probably would affect honest innovators when they're victims of patent infringement. Because it would be a huge risk to protect your patent. I know the argument against that is just get rid of patents, but I don't think that's realistically going to happen.

I can see why it's a tricky issue to legislate but it's so frustrating that seemingly nothing is being done.

</comment><comment><USER26> Notice that there is nothing in this blog post that indicates how vigorously they will fight the lawsuit and certainly no bravodo type language. Only essentially a call to action "We encourage all of our customers, partners, open source collaborators and friends to support Reps. DeFazio and Chaffetz in their effort to discourage these abusive patent troll lawsuits."

I takes this as potentially meaning that they might very well settle this out of court w/o paying -or- they are planning some other atypical legal action and don't want to telegraph anything. Even if they get this dismissed because of the github assumption that doesn't prevent it from being refiled correctly I believe.

</comment><comment><USER27> This isn't going to work, the majority of trolls are NPE's and can simply declare bankruptcy. How many defaults on payments are we going to have before lawyers simply refuse to act as defence?

I think we should require half of the money spent on legal teams for lawsuits to go to paying for the other party's legal expenses. I think this would reduce frivolous lawsuits because, whereas now the wealthiest party always wins, if the defendant/plaintiff has equal support the legally correct party might win.

</comment><comment><USER28> Perhaps someone could patent the business method of patent trolling. Then sue the trolls for patent infringement.

I suppose this is wishful thinking. No doubt some patent troll company has already patented the idea of suing patent troll companies, and will sue you for infringing their patent if you try to sue them.

Personally I think it would be best to just abolish the entire patent (and copyright) system. But I know how impossibly unlikely that is.

</comment><comment><USER29> How about ending software patents in USA?

I have never heard from serious european company which argue that it need software patents to protect its IP.

</comment><comment><USER30> Call 'em out and take action. Well done.

Now if Congress can tighten patent regs and eliminate the ability to troll altogether.

</comment><comment><USER31> Patent troll's about page -> <http://www.personalweb.com/About.html>

</comment><comment><USER32> So what exactly can we do to make them pay?

<comment><USER33> > This bill would require plaintiffs to pay defendants' legal costs if the > suit is unsuccessful. Under current law, the patent trolls don't have any > meaningful risk in bringing litigation. The defendants, on the other hand, > are subjected to enormous legal expenses and discovery costs. The SHIELD Act > is designed to level the playing field and take away the trolls' unfair > advantage. We encourage all of our customers, partners, open source > collaborators and friends to support Reps. DeFazio and Chaffetz in their > effort to discourage these abusive patent troll lawsuits.

Contact your elected officials and make them understand why it's critical they support SHIELD.

<comment><USER34> That America does not have a "Loser Pays" legal system is completely terrifying. British law, which is followed in various forms by many countries, imposes severe penalties on those that lose cases. The risk for a plaintiff is significant and the damages done to a victim of wrongful prosecution while not negligible are at least off-set by the fees paid by the loser instead of the losing party being able to walk away without obligation.

<comment><USER35> The American system isn't "terrifying" it's just different. You can't look at the European system without understanding that a lawsuit means a lot more in Europe than it does here. Many of the things that Europe does through administrative processes, the US does through litigation. It's easy to fixate on the costs of litigation, but realize that other systems don't necessarily eliminate those costs, but move them around by organizing things differently.

If a suit is truly meritless, it will be dismissed very early in the litigation process (summary judgment) before costs have piled up. The American legal system tries very hard to be "lazy" (in the CS sense), backloading costs as much as possible. Yes, it can cost millions of dollars to defend a suit at trial, but if a suit has made it that far it means that it was not a meritless suit. Why should the loser pay if he brings a meritorious case in good faith? Remember, in the US a lawsuit is usually the process through which the facts underlying a dispute are discovered. It often happens that someone legitimately thinks he has been wronged, but the process of litigation uncovers facts that show otherwise.

Loser pays systems chill litigation against big corporations. People focus on the situations in which they perceive there to be too much litigation, but in many areas there is not enough litigation. Litigation is the process through which citizens force corporations to fix unsafe products or clean up polluted land and water. Individuals are already at a huge disadvantage in these situations, and the threat of a corporation running up the bill in a loser pays system would do great injustice. Europe gets away with it because it has far more active government oversight and prosecution of such things.

<comment><USER34> I don't know if you sleep on a mattress filled with hundred dollar bills, but even engaging a lawyer to fend of a possible lawsuit can cost thousands with costs escalating quickly from there if you need to do more prep-work before you even show up at court.

Even getting a case dismissed can cost a small firm more money than it can afford. A fifty thousand dollar dent in the cash-flow of a small business is not an easy thing to weather. Good luck collecting on damages from a wrongful suit, too.

You say it chills litigation against big corporations? It tempers it. Where you cite examples of lawsuits against companies promoting the greater good, I see ambulance chasers trying to siphon extraordinary class-action settlements. Very little of that money goes towards consumers and instead of making companies more responsible it simply paralyzes them with paranoia.

It may sound rather peculiar, but in some countries the government plays the role of advocate for the voters. It doesn't necessitate suing anyone and everyone to send a message. Too many things that used to be taken for granted have been completely eliminated because one individual decided to press ahead with a lawsuit over something that, in many cases, was either a random act of bad luck or a case of irresponsible behavior that can be blamed on another on a technicality.

<comment><USER35> > You say it chills litigation against big corporations? It tempers it. Where > you cite examples of lawsuits against companies promoting the greater good, > I see ambulance chasers trying to siphon extraordinary class-action > settlements.

Read up on the economics of externalities. In the US, the legal system is pretty much the only thing we have to deal with companies trying to externalize costs. And the amount of these externalized costs is huge. $500 billion or so for the coal industry alone ([http://wvgazette.com/static/coal%20tattoo/HarvardCoalReportS...](http://wvgazette.com/static/coal%20tattoo/HarvardCoalReportSummary.pdf)).

The narrative popularized by corporate America is the ambulance chasers just looking for a quick settlement, and while that no doubt exist the truth is that lawyers are the only thing that stand between the big corporations and everyone else.

</comment></comment></comment></comment></comment></comment><comment><USER36> Solution: If a court finds you to be a patent troll you get the death penalty.

That should solve things. :)

</comment><comment><USER37> Just curious, how much do vague patents like this cost? Are they cheap? Expensive?

<comment><USER38> Think about it. What would happen if they were cheap?

Anyone could amass a large portfolio. We could all block each other's every move. No one would have any leverage.

But the second question you have to ask is what does it cost to sue? What if that were cheap?

<comment><USER37> I'm trying to determine the difference between vague and worthless. I assume a lot of vague patents are worthless. But where is the line?

<comment><USER38> Here's how it's done, in simple terms. This is not some new thing. IBM was doing this before there was a Microsoft and before there was a WWW.

If you amass enough vague patents, any one of which on its own isn't worth the paper it's printed on, then automagically they no longer remain worthless. Suddenly you have something valuable: a patent portfolio! This is because it costs a significant sum to pay someone (e.g. a patent attorney) to go through your wonderful portfolio of junk and determine which ones are worthless. And that is in turn because patent law firms charge very high fees to do that work. And that is in turn because not every lawyer is permitted to become a patent lawyer - so there's only a limited number of patent lawyers - <USER2> they have less competition to drive prices down. The uncertain validity of a bundle of patent claims that I can allege others are infringing is the value. Threat == value.

Therefore if I have several hundred vague patents of which a definitely large proportion are worthless and I sue you alleging you have infringed a significant number of them, you are screwed. Because it is going to cost you a lot of time and money to have someone go through each and every claim and convince me you are not infringing. So you just concede it's not worth it to fight me and my deep portfolio of junk software patents. And we start negotiations. Needless to say everyone at the negotiating table is not going to be in a happy mood going into this given that we had to start the whole process off with threatened or actual litigation. This is "business", American-style. A model for the world to follow.

</comment></comment></comment></comment><comment><USER37> It seems like PersonalWeb is trying to develop software...

<http://www.personalweb.com/>

Interesting that their CEO was involved early on in P2P.

<comment><USER39> Does it, though?

First red flag for me is that they are based in "East Texas": [http://en.wikipedia.org/wiki/United_States_District_Court_fo...](http://en.wikipedia.org/wiki/United_States_District_Court_for_the_Eastern_District_of_Texas#Patent_litigation)

On their "How we do it" page, they mention some Natural Language Processing software that they're developing, but primarily highlight their "valuable" patent portfolio.

<comment><USER40> Any company that lists that they own "some really amazing patents" in bold on their home page can't possibly be real.

</comment></comment></comment><comment><USER41> I wonder if Microsoft or Apple will oppose this bill. They haven't won all their patent lawsuits.

<comment><USER42> When did those two organizations become non-practicing entities? How are they relevant to a discussion on non-practicing entities who sue startups for protection money?

</comment></comment><comment><USER43> The key is making congressmen pay attention to this is to translate it into words they can understand. Money. All the techno babble about who own's what and morality and fairness is like telling a dog to eat vegetables.

When patent trolls sue organizations for infringing on their patents with no intention of innovating, it creates less GDP which means less revenues for the big corporations which pay the most taxes, less taxes means less happy bottom feeder voters, which means you don't get re elected. When they get that through their heads, legislation will happen to fix the "injustice".</comment>


How to build a doomed E-Commerce platform - <AUTHOR> https://tantaluslabs.com/populace/how-to-build-a-doomed-e-commerce-platform/

<comment><USER2> Writer must be high, says websphere is ecommerce platform and that zencart is better than Drupal Ubercart.</comment>