A programming language in 450 lines of JavaScript - <AUTHOR> http://jsfiddle.net/osfnzyfd/ <comment><USER2> Would love to see a little behind the scenes for this, maybe a write up / blog post. Pretty neat little experiment.

<comment><AUTHOR> I agree I should post one, but it usually takes me a lot of time, and I wasn't sure how much interest there would be. I'll start working on one.

<comment><USER3> I started writing my own language in JavaScript last Summer but gave up after only writing the Lexer because I didn't know how to continue. I would LOVE to read this blog post!

<comment><USER4> Kaleidoscope - LLVM Tutorial [0] is an excellent resource with code samples in C++ and OCaml.

[0] [http://llvm.org/docs/tutorial/index.html](http://llvm.org/docs/tutorial/index.html)

<comment><USER5> Agreed, it's an excellent resource. One of the best PL tutorials I've ever read.

But if you use the OCaml version with a recent version of OCaml, you'll run into a few issues. I sent in a patch with a few simple updates to the path mailing list earlier this year, but last I checked it wasn't merged.

Patch is here (it's a text file, despite the "bin" extension):

[http://permalink.gmane.org/gmane.comp.compilers.llvm.cvs/183...](http://permalink.gmane.org/gmane.comp.compilers.llvm.cvs/183464)

I also pasted the patch here:

[http://pastebin.com/YvzB71nJ](http://pastebin.com/YvzB71nJ)

</comment></comment></comment></comment></comment><comment><USER6> Mine's only 157 lines: [http://eloquentjavascript.net/11_language.html](http://eloquentjavascript.net/11_language.html)

<comment><USER7> Yours is a lisp-like, so much easier to parse; and it doesn't have the nice in-dom ast viewer nor nearly the same number of comments (I compared with [http://eloquentjavascript.net/code/chapter/11_language.js](http://eloquentjavascript.net/code/chapter/11_language.js)).

<comment> V-2 Still very interesting

<comment><USER7> It's even more interesting because it's part of book. Just setting the expectations, because it's not an apple-to-apple comparison.

</comment></comment></comment></comment><comment><USER8> Damn, beat me by 6 lines, though I also cheated and translated to JS to interpret the code: [https://github.com/capnmidnight/betty- boop/blob/master/loosp...](https://github.com/capnmidnight/betty- boop/blob/master/loosp.js)

EDIT: though I did end up writing a Pong game in it: [https://github.com/capnmidnight/betty- boop/blob/master/pong....](https://github.com/capnmidnight/betty- boop/blob/master/pong.html)

</comment><comment><USER9> Peter Norvig's lis.py[1] is an oldie but a goodie. It really shows you the beauty and simplicity of Scheme/Lisp interpreters.

[1]: [http://norvig.com/lispy.html](http://norvig.com/lispy.html)

</comment><comment><USER10> The best thing about this is being able to play with the entire mechanism right on jsfiddle. Thanks for this work and want to read the writeup!

</comment><comment><USER11> This is awesome! I wish somebody had shown me this when I learned about compilers in CS. The best way I've found in learning about anything theoretical is to write the code for it.

<comment><USER12> Yup! I found this course pretty useful when I was studying it. Fun to jump right in alongside the theory and all, I find:

[http://createyourproglang.com/](http://createyourproglang.com/)

</comment></comment><comment><USER13> That's a nice example of some elegant and readable code.

</comment><comment><USER14> Just a semi-unrelated comment:

The Fibonacci code example classically has a horrid runtime. Will like likely crash your browser when supplied a number higher than the low thirties. IIRC it has a O(2^n) runtime and can be improved either by a bottom up approach (non-recursive) or a "dynamic-programming" (OOohhhh, buzzwords) method where you use memoization (memo table) to store (or memoize) results.

<comment><USER15> I always thought the fastest was the closed form formula: [http://en.wikipedia.org/wiki/Fibonacci_number#Closed- form_ex...](http://en.wikipedia.org/wiki/Fibonacci_number#Closed- form_expression)

Unless looping and counting is that much faster than doing some floating point math?

<comment><USER16> Only "faster" because you precompute digits of the golden ratio, and will quickly become inaccurate unless you compute more of them

</comment></comment></comment><comment><USER17> This seems to be a language where there are several kinds of blocks: if-elif- else , a let-in-end, begin-end and curly braces, square brackets, and round parenthesis.

There are a few operators, with several levels of precedence, both prefix operators, infix notation, but no sign of post-fix notation like (!) for 3! == 6 and 5! == 120

There also seems to be list data type as well as strings and numbers.

<comment><AUTHOR> Postfix operators do work. Try this:

        let x! = if x == 0 then 1 else x * (x - 1)! end in 5! end

Any operator can be prefix, infix or postfix depending on the relative priority with the operators next to them. For instance, in "1 ^ * 2" the engine interprets ^ as postfix because ^ has higher priority (it just gets null as its right hand side). In "1 * ^ 2", ^ is prefix. Unless specified otherwise operators are given maximal priority, which is why the factorial example works.

The engine just has specific provisions to allow operators in "prefix position" to have different priority than in infix position, otherwise prefix minus would fail to work as expected.

<comment><USER5> I'm trying to figure out how much work it would take to add on OCaml style pattern matching to this language, particularly list matching.

Would you mind pointing me in the right direction? Like a very brief(ie., a sentence or two), high-level overview of how you might approach the task?

<comment><AUTHOR> Not a lot of work. I have implemented pattern matching before, so I just went ahead and did it:

[http://jsfiddle.net/f1ycatas/2/](http://jsfiddle.net/f1ycatas/2/)

See line 266 for the syntax definition (the precedence entry for "->" on line 278 is also relevant) and line 409 for the implementation of pattern matching. I use a few auxiliary functions here: extractArgs just checks that an AST node has a certain form and extracts parts of it, and listify is a kind of normalization function that will give you a list of expressions or statements.

I think the code is relatively straightforward: we have a list of "pattern -> body" statements. For each entry we create a fresh environment for the variables declared by the pattern and we try to match the pattern with the value. For matching, if a pattern is a variable name we set that variable in the environment, if it's a number or string we check for equality, and if it's a list of subpatterns we check that we have a list of the correct length and we check the subpatterns recursively. If there's a match, we execute the corresponding body.

If that interests you, I wrote a compile-to-JS language called Earl Grey ([http://breuleux.github.io/earl-grey/repl/](http://breuleux.github.io/earl- grey/repl/)) using a similar parser and it has rather sophisticated pattern matching. The implementation is quite a lot more than 450 lines, though :)

<comment><USER5> Thanks! Nice explanation and very clear code.

</comment></comment></comment></comment></comment><comment> V-2 Let's live it once again [https://news.ycombinator.com/item?id=7745561](https://news.ycombinator.com/item?id=7745561)

;)

"Have you heard about our Lord and Saviour JavaScript?"

"How to touch yourself at night without JavaScript knowing it."

"Breaking news! POP3 and IMAP written in Javascript!"

"How I ported the control software of a nuclear reactor to reactive Javascript"

"Linux kernel ported to JavaScript running in the browser. See how we did it."

"How I made a filesystem in javascript."

"How I got my girlfriend pregnant using JavaScript."

"How to avoid getting HIV using JavaScript."

"The Linux kernel doesn't have enough javascript."

"I recommended my boss to rewrite the local powergrid infrastructure to javascript and how I lost my job."

"I decided to re-implement Javascript in Javascript. It failed. Here is my story."

"ABC in # lines of JavaScript (400 comments, 1000 points)"

</comment><comment><USER18> Wow, nice project! I would love to see both the lexical and syntactic analyzers broken down a little more.

</comment><comment><USER19> Loving it! It's so nice to see this kind of things around :)

<comment><USER20> You can also check out [http://javascript.crockford.com/tdop/tdop.html](http://javascript.crockford.com/tdop/tdop.html)

The article is also in the book Beautiful Code (O'Reilly)

<comment><AUTHOR> Indeed, that is a very good article. I highly recommend it. TDOP is the combination of recursive descent and Floyd's operator precedence grammars, the latter of which is the technique I used (I find it sufficient for my needs).

<comment><USER21> TDOP of Vaughan Pratt is also used in maxima (that is the way they use an infix language similar to python as a frontend to Lisp. In maxima you can define easily infix, prefix and postfix operator with a left and right binding force for your grammar. I couldn't find with grep the file I was looking for in the maxima source, but for examen Fateman paper "Syntax Extension as a Tool for Application Programming" is a good reference.

</comment></comment></comment></comment><comment><USER22> Since some 150 lines are comments or blank, it's more like a 300 lines programming language. Even more impressive!

</comment><comment><USER23> Thanks so much for this - really looking forward to going through it in the next couple days

<comment><USER24> Yes me too! I am curious to know the motivation behind it as well. I have been putting on the back burner going through the "Dragon Book" and I figured a project like this would be motivation to finally get around to it.

</comment></comment><comment><USER25> Ah this is pretty baddass, kudos!

</comment><comment><USER26> This is great! Specially the AST viewer.

Any inspiration from the Tiger book for the language?

</comment><comment><USER27> can you create your own programming language with python?

<comment><USER26> Any Turing complete language can be used for writing compilers/interpreters, it is just harder in some than other.

Python is actually pretty neat for doing it and you even have tools like PyPy (with RPython) to write a JIT for the language if you wish.

<comment><USER28> You don't even need a Turing-complete language for writing compilers, see CompCert for example.

<comment><USER26> I need to dive into it.

Do you mean it because of the formal logic being used?

<comment><USER28> This is because compilation can be represented as a _finite_ sequence of applying simple rewrite rules. You don't need a true Turing-complete language to do so, because you don't have any indeterminate loops in such process. Any simple total language (like Coq) is more than enough.

</comment></comment></comment></comment></comment><comment><USER29> Dat AST rendering.

</comment><comment><USER30> Or you could use replace() with a fat regex, and then eval(). But this is awesome.

<comment><USER31> That's one of the most terrifying sentences I've read.

<comment><USER32> What? That's actually the way all the compilers/transpilers work. You just take some string and transform it into some other string that happens to be runnable.

<comment><USER31> No, that is actually _not_ the way most compilers/transpilers work.

Using a regex for parsing a whole language is something I've never seen done, in 25+ years of writing and reading compilers as a hobby.

Using a regex for tokenization or parsing simple sub-expressions is _sometimes_ done, but that too is fairly rare outside of toy parsers.

Doing the translation step through replace on the basis of a regex is also not going to work for anything but the simplest translations, not least because the resulting monstrous regex would be nearly impossible for a human to reason about.

But the thing that terrified me about it was the thought of someone lifting something lie that out of the browser sandbox and running it server side: The combination of a near undecipherable regex for parsing/translation coupled with eval() to run the result would be a near certain security nightmare.

<comment><USER32> I think you misunderstood me completely. I was referring to a much more fundamental nature of compilation, not to any particular implementation technique. I agree that "a couple (because I assumed the OP meant this and not a single, giant regexp) of regexes with replace" is not a particularly often used implementation technique for compilers, but it is a workable one. For example, compiling some simple custom markup language to html is a good use case for this. Take a look at "Text processing in Python" ([http://gnosis.cx/TPiP/](http://gnosis.cx/TPiP/)) for a longer discussion.

The `eval()` part is also nothing new or strange. There are many systems which let you input expressions, compile it and run. Scala does this, as does Nim, as did Forth for a longest time.

In general compilation is not magic, on the contrary, it's conceptually simple and it's a good thing to know the basics. This is the view I wanted to express.

<comment><USER31> > I think you misunderstood me completely. I was referring to a much more > fundamental nature of compilation, not to any particular implementation > technique.

Then you seem to have misunderstood the point of my initial comment entirely, which is down to the specific case of suggesting regexes + eval() as a reasonable way to implement a compiler.

> because I assumed the OP meant this and not a single, giant regexp

The linked implementation already uses regexps for tokenization. OPs comment explicitly states "you could use replace() with a fat regex, and then eval()". I find it hard to interpret that as anything other than a suggestion to use a single, giant regexp.

> The `eval()` part is also nothing new or strange. There are many systems > which let you input expressions, compile it and run.

Having an eval() is nothing "new or strange" but that was not what I was reacting to.

> In general compilation is not magic, on the contrary, it's conceptually > simple and it's a good thing to know the basics. This is the view I wanted > to express.

I've implemented several compilers and interpreters, and is writing a multiple-year-long article series on writing a Ruby compiler, so I agree (though Ruby is testing my patience...).

But personally dragging out regexps is the last thing I'd do for illustrating the conceptual simplicity of compilation... Personally, when I see people dragging out regexps, and they're longer than about 5 characters, I assume that's where I'll be most likely to find bugs.

<comment><USER32> > Then you seem to have misunderstood the point of my initial comment entirely

Yeah, I agree, sorry about that.

> I find it hard to interpret that as anything other than a suggestion to use > a single, giant regexp.

Now that I look at this you're probably right. I assumed any meaningful compilation is actually impossible with a single regexp and so tried to interpret original comment in a way which made at least some sense for me.

> But personally dragging out regexps is the last thing I'd do for > illustrating the conceptual simplicity of compilation...

Well, there are some advantages to using regexps as an example: they are widely known and they also are able to describe regular languages. But I have no experience at all talking to people about compilation, so I'll assume that you're right and that using regexps makes it actually harder to explain things :)

</comment></comment></comment></comment></comment></comment></comment><comment><USER33> Actually both are scripting languages. Still impressive though.</comment>


An alternate theory as to why Google killed Reader - <AUTHOR> http://blog.benjaminste.in/post/60651964100/new-revelations-about-google-reader-rss

<comment><USER2> It would be interesting to see if this is really so. The post just cites circumstantial evidence and does not reason why this would happen.

I personally hope the days of amateur, low frequency, niche blogging are _not_ over. It seems to me as one of the fundamental goods that internet has brought and, as the post indicates, a solid reason to have RSS readers.

</comment><comment><AUTHOR> For the record, the title of this post at submission time is / was, "An alternate theory as to why Google killed Reader."</comment>


Synereo: A Decentralized and Distributed Social Network - <AUTHOR> http://www.synereo.com/

<comment><USER2> Oh yeah, I remember Diaspora!</comment>


Ask HN: How to verify a BlockSign transaction in the Bitcoin blockchain? - <AUTHOR> https://github.com/blocksign/blocksign <comment><AUTHOR> ""A BlockSign Transaction is a transaction on the bitcoin blockchain representing legally binding signatures on any document, contract, or agreement. It can be any bitcoin transaction with at least one Pay-To-PubKey- Hash Input and at least one BlockSign Output.

The PubKey Hash (aka. Bitcoin Address) in the Pay-To-PubKey-Hash Input identifies the signer (or signers) while the hash digest embedded in the BlockSign Output identifies the document being signed.""

I can understand how a document can be signed and bound, but the process of verifying the signature is still obscure to me !

Can anyone clarify this please ?</comment>


Zynga sues 2 former employees over alleged massive data heist - <AUTHOR> http://arstechnica.com/tech-policy/2016/11/zynga-sues-2-former-employees-over-alleged-massive-data-heist/ <comment><USER2> Why do people even do this? Not the suing, I understand that, but employee jumps ship from Company A to go to company B and uses the laptop of Company A to access a lot of data just before they go.

I really resonate with the feeling "wow this company is really screwing up/failing this project I've thrown my heart and soul into" but going from there to exfiltrating all of the data so that you can (presumably) take it to a competitor company and make it flourish there? When you step back and think about it you might think several things.

Do I want to hire someone who will steal the IP of the company they are leaving and bring it to me? Why wouldn't they steal my IP and take it to one of my competitors?

Do I want to work for a company that is ok with people bringing in stolen IP? What sort of other unethical behaviors do they tolerate and am I ok with those too?

Reminds me of the Groucho Marx quip that he doesn't want to join any club that would have him as a member :-)

</comment><comment><USER3> Intellectual property stolen _from_ Zynga? Oh, the irony!

</comment><comment><USER4> > Obviously I know you have that clause about not taking people so I am always > careful. :-)

 _sent via text message_</comment>


Adobe Cloud Update Breaks Backblaze - <AUTHOR> https://www.backblaze.com/blog/latest-adobe-creative-cloud-update-breaks-backblaze/ <comment><USER2> Why would an Adobe installer erase files that have nothing to do with it ? This sounds like a really bad installer.

<comment><USER3>
        FILES=`find /Applications/Adobe -type d -name "something that doesn't exist"`
        rm $FILES/*

It's easy to do.</comment></comment>


Will Habari Be The Next WordPress?  - <AUTHOR> http://www.readwriteweb.com/archives/will_habari_be_the_next_wordpress.php <comment><USER2> I'm interested in hearing from other people working on other things that aim to be "The Next Wordpress"?

Habari doesn't seem to be significantly different from WordPress as far as end-users can tell or care. It doeesn't have anything equivalent to Wordpress.com. It isn't clear why a hosting provider recommend and preinstall Habari instead of WordPress for its customers.

I think something could come along and dethrone WordPress-- just as WordPress dethroned Moveable Type--but I don't think Habari's approach of marketing itself as technically superior is going to do much to pursuade the majority of WordPress users. The video on the Habari website shows how easy it os to configure Habari after you have downloaded and (halfway) installed it. However, it is still much, much harder to install Habari than it is to sign up for WordPress.com or use hosting providers' one-click WordPress installs. Askimet, Gravatar, and Intense Debate are (or will) be seemlessly integrated into WordPress, whereas every other blogging system will require extra steps to get those popular (almost essential) features working.

</comment><comment><USER3> Well, it's written in PHP, so I guess it also has the potential to become an awful, writhing mass of horrible, painful code.

<comment><USER4> Yes, thats what it said, "the next wordpress" =P

Wordpress might have a nice admin UI and a large community, but the code and even they way you interact with the code is ugly and in large part PHP3-style... (at least it was when I was looking at it extending it sometime after v2 came out...)

<comment><USER3> Still was 6 months ago.</comment></comment></comment>


On Amish Time - <AUTHOR> http://avidly.lareviewofbooks.org/2015/03/27/on-amish-time/ <comment><USER2> As enjoyable as it might be to romanticize the Amish, the author carefully avoided mentioning the many ethical problems with Amish culture. As devout readers of the Bible, the Amish follow Proverbs 13:24, which is commonly misquoted as, "Spare the rod, spoil the child." Corporal punishment of children is common in both Amish households and schools. Likewise, the Amish positions on divorce, abortion, and homosexuality shouldn't surprise you. Their position on genetic testing is particularly egregious[1]:

> Since almost all Amish descend from about 200 18th-century founders, genetic > disorders that come out due to inbreeding exist in more isolated districts > (an example of the founder effect). Some of these disorders are quite rare, > or unique, and are serious enough to increase the mortality rate among Amish > children. The majority of Amish accept these as "Gottes Wille" (God's will); > they reject use of preventive genetic tests prior to marriage and genetic > testing of unborn children to discover genetic disorders.

We might be happier living more simply in small communities, but the Amish are a terrible example to follow. They reliably inflict needless suffering upon themselves and their children. And even if such a lifestyle was more enjoyable, it would only be available to a select minority. To feed over 7 billion human beings, we need mechanized agriculture and chemical fertilizers.

1\. [https://en.wikipedia.org/wiki/Amish#Health](https://en.wikipedia.org/wiki/Amish#Health)

<comment><USER3> Corporal punishment is really not that bad, pursued at a reasonable level. I don't really understand the zero-tolerance attitude that seems to prevail towards even paddling a misbehaving toddler's ass. Employed correctly, its something that doesn't need to be employed very often, and its a helluva lot better deterrent than making them stand in the corner or whatever liberal shaming-based method of discipline.

<comment><USER2> If you hit an adult, it's assault.

If you hit your dog, it's animal abuse.

If you hit your spouse, it's domestic violence.

Even drill sergeants aren't allowed to hit recruits.

But if you hit your children– people who can't possibly defend themselves, people who depend on you to survive... it's allowed. It's even encouraged by a significant fraction of parents today. To me, this seems like a glaringly immoral exception to a general rule: only use violence in defense of self or others. After all, pets can be controlled without hitting. Why can't kids?

<comment><USER4> > Even drill sergeants aren't allowed to hit recruits.

Nope, they sure don't. Don't need to - the institutionalized psychological attacks and tearing down their worldview to replace it with the army's is much more effective than any physical reprimand could be.

> After all, pets can be controlled without hitting.

And how is this done? With pinch collars, crates, kennels, leashes, shock collars, staking them out, fences, rubbing their noses in their feces...

I'd rather the odd corporal punishment to being treated like a "pet".

<comment><USER5> Many people who don't know dogs think of crates as doggy jails-far from it. Our dog loved her crate; it was a nice, secure area where she could retreat when she was scared or overwhelmed, or when she just wanted a peaceful nap. We taught our kids that when she was in the crate, they had to absolutely ignore her and leave her totally alone.

Yes, we used the crate in order to speed up her housebreaking (working with her natural instincts), but she would also regularly use her crate (with the door open) on her own. Now, we've built her a little pseudo crate with a dog bed under a high-legged dresser. She goes there in any big thunderstorm still and will sometimes sleep there when the house is full of visitors.

I'm in favor of controlling dogs with _appropriate_ use of crates/kennels, leashes, and fences. OTOH, I've never hit my kids, not because I think it's inherently wrong, but because I think it's a terribly slippery slope, especially given the inherent stresses in raising an infant through toddler.

My parents and my (private Christian K-5) school both used corporal punishment on me, and I have to say that I don't feel harmed nor scarred/scared by it. Looking back on the few instances that I specifically recall, it was done with positive intent and was basically effective.

I'm uncertain as to whether it's inherently wrong categorically, or whether it's just wrongly used by lazy parents in >99% of the instances. (There's no doubt that it has an immediate effect. A parent could be quite easily tempted to use that shortcut in an almost addictive fashion.)

</comment></comment></comment></comment></comment><comment><USER6> One of the most shocking difference I found between USA/europe culture and Japan is the approach to technology.

on the western side there is inherent disbilief in technology and what it will do for the society. In popular litterature evil will often come from human hubris who defies god.Technology will go berserk, the robots will kill us all. And so much romantizing of the good old days, the eden, the tropical beach where we all play naked and innocent.

I can't believe the USA have earthquakes on the west side, drought, -40C winters, hurricanes and floodings on the other parts, and still have this idealized idea of a low tech heaven on earth. Or does this view only hold off on mildly nice temperatured places ?

I contrast this to Japan because without cleverly engineered houses and buildings you're probably dead within 10 years. One can still build a house structure solely from wood, heavily relying on traditional arts, but interestingly enough these builders are super knowledgable, have a very broad knowledge of architecture and materials, just as much as any architect has, and improve on the traditional formulas wherever it makes sense. Quite the opposite of "let's gather the neoghboors and build some stuff"

I think both approaches need to exist for diversity, but my heart goes to the ones trying to make the world better one bit of knowledge at the time, more than the one closing in their time shells.

</comment><comment> guard-of-terra "Wendell Berry wrote that American society's inability to see the Amish for what they are is indicative of the most basic flaws of the American progress narrative"

On the other hand, America is a rare society where Amish phenomenon is possible. Because in most of the world it won't. Such a way of life will be either ruined by economics or by regulations.

</comment><comment><USER7> This conversation seems (in general) to be taking polar opposite approaches to this "lifestyle choice".

If I draw a parallel between this conversation and managing an IT project, it appears most of you would be in favor of a "complete rewrite" as opposed to spotting the problem areas and focusing attention on those and fixing the existing code base.

There's nothing inherently wrong with the way Amish people decide to live. Many on this thread seem to think that's not the case.

Are there edge cases? Sure. But in general I think the basic premise that they wish to avoid too much technology in their lives is not necessarily flawed. It's simply a more extreme version of "don't bring your cell phone to the dinner table".

Also I should mention that even though they represent a tiny fraction of the overall world population, there is a huge amount of diversity even among Amish communities. So the idea that someone can generalize about how "all amish" live their lives is patently false.

</comment><comment><USER8> So nicely written. Rumspringa is a practice observed by very few Amish sects, and has not been shown to increase happiness in its participants.

<comment><USER9> Right - take sheltered kids, let them "go wild" irresponsibly, then tell them it's either that or being shunned by everyone you know. Some choice.

The Amish system seems rather vile, but unless you totally take away people's right to associate and indoctrinate children I don't see how we can ethically eliminate it. I suppose mandatory education that includes proper science and so on might be a good first start.

<comment><USER10> The choice got harsher as time passed. When the Amish were founded, the outside society was very similar. People were very pious, most were farmers etc. But since the Amish form a time capsule of the 17th century, Rumspringa became more and more of a culture shock.

<comment><USER11> The Amish are definitely not a time-capsule of the 17th century.

They use technology but are quite selective about what will benefit them and what will interfere with their way of life too much to become a part of it.

It's true that the gap between the Amish and the communities surrounding them is ever expanding but they're definitely not standing still in time, just moving at a much slower pace.

<comment><USER4> The net effect is the same, however. And it's not just technology which separates them from the rest of America, it's the totality of our values, which have changed rapidly throughout the years.</comment></comment></comment></comment></comment>


Design for Hackers: Why Monet Never Used Black, & Why You Shouldn't Either - <AUTHOR> http://www.kadavy.net/blog/posts/d4h-color-theory/ <comment><USER3> Fine painters will almost never use black. The pigment in black paint is very deadening and harsh, it's difficult to work with. It's much better to take the time and create dark hues from the rest of the color wheel. A standard exercise in color theory classes is to create black from the primary colors. Most people end up with brown, but a beautiful, rich black and nearby shades can be accomplished, and it's worth the effort.

It's an entirely different ball game though when you switch from a subtractive color system (which is what painting is, the primaries being cyan, magenta and yellow) to an additive one (which a computer monitor is, with the primaries being the well known RGB). In an additive system dark hues are only accomplished by removing light instead of adding pigment, so the problems a painter faces with black don't exist quite in the same way. So comparing website/app design to Monet is a tiny bit far fetched.

It seemed like a lifetime ago but I used to live and breath this stuff, even got a degree in painting. I guess it wasn't entirely useless :)

<comment><USER4> _Fine painters will almost never use black. The pigment in black paint is very deadening and harsh, it's difficult to work with. It's much better to take the time and create dark hues from the rest of the color wheel. A standard exercise in color theory classes is to create black from the primary colors. Most people end up with brown, but a beautiful, rich black and nearby shades can be accomplished, and it's worth the effort._

Really? I have to admit that this surprises me. Black and white aren't on the same dimension as the hue. Playing with just the primary colours doesn't allow you to change the lightness of the mix. Depending on the lightness of your primary palette, you're going to produce some shade of grey, not black...

That said, I'm not actually trying to contradict you, I'm just stating my understanding of the theory - I'd love it if you can explain to me where I've gone wrong! :)

<comment><USER5> "Black" isn't. There are very dark browns and blues. Despite what the grandparent posting said, fine painters actually do use black, but not to produce darks (at least not in oils); the most common use for lamp black (the most neutral of the black pigments) is to create the iris colour for blue eyes in oil portraiture. For deep shadows, though, black pigments are very problematic in that it is extremely difficult to control the transition out of darkness.

Because painting is a subtractive medium, one can obtain nearly the same level of darkness using other dark pigments in combination. An "old masters" chiaroscuro typically uses burnt umber plus a warm blue, such as aquamarine, for the great lake of "blackness" from which everything else emerges. Each of those pigments alone prevents the reflection of a rather broad segment of the spectrum, and together they approach true blackness. That, then, allows the artist to manage the transition out of darkness into either a warm or cool tone smoothly by decreasing the amount of the unneeded tone before lightening.

Painters who use the Impressionist pallette will never go anywhere near that level of darkness -- their shadows will generally be just below a mid tone using the main colour of the object, cobalt or aquamarine blue, depending on the warmth or coolness of the main tone, and the complementary colour of the main tone, all in juxtaposition rather than as a mixture. The apparent darkness comes from contrast. The same principle, though, is used to create shadows in classical painting techniques (but with mixture) -- a darker version of the main tone plus the complement and often a touch of blue.

These rules apply to oil painting. Pure pigments in oil are darker out of the tube than you might imagine due to the optical properties of the oil (which is why white paints are sold in huge tubes). In a medium like soft pastels, which doesn't encapsulate the pigment in a continuous film of a binding medium, blacks are used to create the bottom end of the spectrum out of necessity. Even then, though, a pure black is almost never used.

</comment></comment></comment><comment><USER6> Nice post. Bookmarked and saved in my folder for great web design resources.

Although I'm not sure why anymore. No matter how much I try, my designs always come out horrible. Every time I ask someone for their opinion on a concept, they're first answer is, "Hire a professional designer."

Funny, I can visualize 9 layers deep into embedded code or enterprise data, but I have trouble with orange, purple, and all fonts.

FWIW, here is a list of the other links in that folder. Maybe they'll help someone else more than they've helped me.

<http://colorschemedesigner.com/#>

<http://websitetips.com/colortools/sitepro/>

<http://www.colorsontheweb.com/colorwizard.asp>

<http://960.gs/>

[http://webdesignledger.com/inspiration/15-stunning- examples-...](http://webdesignledger.com/inspiration/15-stunning-examples-of- data-visualization)

<comment><USER7> FWIW I was once in the same boat as you. About three months ago I decided that being able to create decent designs was a tool I needed to have in my toolbox.

What worked for me: I learned to draw. It took a lot of practice as I really sucked initially. I recommend getting a notebook with grid lines and a ruler.

It takes a lot of patience to pay attention to all of the details but it pays dividends. With drawing as an intermediate step between having something in my brain and having something in pixels I'm much better at capturing a vague visual concept, iterating, and bringing it to life.

I suspect this process will be different for everyone- this is just what helped me (after years of limping through the design process).

<comment><USER8> If you want to learn to draw and don't know where to start, get a copy of _Drawing on the Right Side of the Brain_ by Betty Edwards. You will be stunned at how quickly you can improve.

[http://www.amazon.com/New-Drawing-Right-Side- Brain/dp/087477...](http://www.amazon.com/New-Drawing-Right-Side- Brain/dp/0874774195/)

<comment><USER9> I went from not being able to draw a smiley face to drawing myself in a way that resembled a human and was even recognizable with that book.

A good book to read after you are done with Drawing on the Right Side of the Brain is Nicolaides The Natural Way to Draw. It's a lot of hard work, but it's worth it in the end.

</comment></comment></comment></comment><comment><USER10> _There is still enough contrast as to be readable, but the contrast isn't as harsh as black vs. white._

Still readable, yes, but I find the black _more_ readable. Taking webpage design cues from schools of painting is a fine strategy as long as you remember that webpages have a different goal from paintings. This implies that everytime you transfer something from a school of painting to webdesign, you have to ask yourself "Does this principle undermine the purpose of a webpage?"

<comment><USER11> Maybe you will find this interesting: graphic designers have lots of rules about the proper use of typography when laying out a document, like correct kerning, use of old-style numerals, ligatures, etc. The reason for following those rules has to do with the same principles of harmony and naturalness in this blog post, but when researchers tested the impact of "good" typography vs. "bad" typography, they found no differences in performance measures like reading comprehension or reading speed. They did find differences on other measures - in the good typography condition, participants underestimated the amount of time they had spent reading (a measure of engagement with the task) compared to participants in the "bad typography" condition.

But the most interesting finding was when they tested creative cognition - <USER2> that test, the "good typography" participants scored much better than the "bad typography" participants. This might explain why we designers insist on good typography (and other design principles). Creativity is a big part of our job, and we want to avoid things that might impair the performance of our creative cognition. But for people in other, "left-brained" professions, enhancing creativity is less important and engaging people is less important, so it makes sense that they would see design rules as irrelevant extra work of little value.

Designers rush to judgment when they see "bad" design because it almost literally hurts their brain. But, maybe the person who designed it or the audience for it doesn't have that kind of brain - and that's OK.

<comment><USER10> I think high contrast text _is_ good typography.

 _But for people in other, "left-brained" professions, enhancing creativity is less important and engaging people is less important, so it makes sense that they would see design rules as irrelevant extra work of little value._

If you assume my work requires no creativity, or that I think design rules are irrelevant, then you are mistaken. I don't like design for the sake of design. I do like design that looks good and enhances a things intended purpose.

<comment><USER11> I don't think you're work requires _no_ creativity. But I think you have to explain why visual design that's experimentally shown to impair creative cognition is tolerated and even embraced by people in "left-brained" professions. My explanation is that people just have different needs. Not everyone needs high octane gas, and designers shouldn't assume that they do.

"Design for design sake" is just another way of saying you don't share the designer goals of engaging an audience and enhancing creative cognition. There's nothing wrong with that, people have different needs, so "good" means something different to a designer than it does to you.

<comment><USER12> So, you write a paper on a recent physics experiment. You publish it on Science magazine, or your Lab. Both of them have carefully designed templates (science mag specializes in this). Creativity involved.

You just compiled your CLI program, and you're testing it's output. You're staring at specialized typefaces and an optimized screen. Creativity involved (you aren't a good programmer if you lack creativity).

The other side: you're a store manager, programmer manager, or X manager, you have to make a fast presentation of your key notes. You start PowerPoint, and select some template. (Creativity Involved?)

</comment></comment></comment></comment></comment><comment><USER13> Here's a tip: Open a book. Any book. Note the color of the ink. Now use that color for your fonts and try to ignore the wankers trying to confuse art with information conveyance.

<comment><AUTHOR> Color of ink on a book != color you perceive, when compared to a monitor.

The most pleasing books to read are on a cream stock ( _The Elements of Typographic Style_ comes to mind), and thus have a bit less contrast than #fff vs. #000.

<comment><USER14> Black ink on cream paper may have more contrast than black on white on a screen.

</comment></comment></comment><comment><USER15> I'm a web/logo designer, and here's why this is wrong:

First off it's trying to apply the rules that dictate one medium to another. While certain basic principles often transverse mediums, this does not. They're trying to state that what works for blending colors in an art medium will work for trying to convey information on a content delivery medium. Remember though that in impressionist paintings the focus is on the lighting and the brush strokes, generally with an ordinary subject matter - or rather, the focus wasn't on the information, but on how it was presented. This is almost entirely opposite to what the web brings to the table - the focus is on the information, with the presentation being a way to best show that information. If you focus on the design over the content, you'll end up with a pretty site, but one that isn't functional. As programmers and hackers, all of you should know how well that ends up.

Also though, keep in mind that Monet was one painter out of millions using one style out of thousands. What about ink and wash paintings (<http://en.wikipedia.org/wiki/Ink_and_wash_painting>)? Their entire focus is on the subtle and effective use of absolute black. Remember that there is no universal dos or donts in design, just guidelines. Saying you should "never use black" (or any color for that matter) is like saying you should never use X tool in your arsenal. You should never purposefully limit your tools, rather you should learn how to effectively use all the tools you have. Given the right conditions, even a goto statement can be the correct choice.

</comment><comment><USER16> Color in a painting behaves quite differently than color on the screen. When dealing with a monitor we are looking at additive color, when looking at a painting it's subtractive. The more color I add on the screen the brighter the color becomes e.g., RGB 255 255 255 would be white. The more paints I mix together, the darker the color becomes.

The color wheel given doesn't describe additive color relationships. In RGB land, the complements for the primaries are generally given as follows: red cyan, green magenta, yellow blue. Please see <http://en.wikipedia.org/wiki/RGB_color_model>

The reason that green and red "pop" is because we have the largest number of red and green cone cells in the fovea, that area of the eye responsible for our most central vision. Colors are not by default "cool" or "warm" they are only such in relation to context. We could have a "cooler" blue next to a "warmer" blue.

</comment><comment><USER17> NASA's Ames Research Center has a great site called "Using Color in Information Display Graphics":

<http://colorusage.arc.nasa.gov/>

It has articles, tools, a bibliography, even an entire section devoted to designing with blue:

<http://colorusage.arc.nasa.gov/blue_2.php>

It's geared more for functionality than beauty, but that suits me fine. I mostly do web sites for other departments in my company, and clean, functional, and not actively unpleasant are all I need to deliver. They're also pretty much all I'm _capable_ of delivering. Beauty is way beyond my abilities.

<comment><AUTHOR> It seems ironic that NASA would have something to say about information design, considering... <http://www.asktog.com/books/challengerExerpt.html>

But, maybe they've learned their lesson?

<comment><USER17> Maybe. Or maybe the group that did the above site was already around at the time of the Challenger disaster, but half of NASA had never heard of them. From what I've seen in large organizations, it's not unusual for there to be departments doing valuable work that could make the company millions, if only anybody knew they existed, or understood what they were talking about. I wouldn't be surprised if NASA's color site was originally an under-the-radar project done by three guys who just loved color and information design.

I have reactions similar to yours when I think about Microsoft employing Simon Peyton Jones, or the fantastically advanced people working at IBM's Watson research center. They do not represent the Microsoft or IBM I've come to know.

</comment></comment></comment><comment><USER18> Black is very commonly used in art

<http://www.google.com/search?q=brush+painting>

Impressionists had they fancy rationalizations for why they didn't use black, but in my opinion, because of their painting technique and style, black looks dirty and smudgy.

<comment><USER19> Not just the impressionists. Most of the "classic" western painters and most people trained in those schools don't use black. One reason is that that black does not exist in nature. Or rather, almost never exists in nature, and these schools of art sought to "reality" or whatever.

The rules regarding black in paintings still applies, if you're attempting to create a somewhat 'realistic' scene. Other wise, use of black should be done carefully. One of the things that pure black does in a coloured piece of art (ignoring grey scale and almost greyscale) is automatically flatten the image. You'll notice that most Chinese brush paintings actually use diluted black ink. The fact that many of them are basically greyscale or monochromatic just means they can get away with more black.

Also, mixing in pure black into paint to darken a colour will almost always result in crappy looking shadows. Especially in pigment, but even in digital art. For example, if you tried to drop skin tone into a shadow by putting 20% opacity black it, it would look like crap.

tl;dr, in art, black is to be used carefully to achieve a desired affect. same deal in design.

</comment></comment><comment><USER20> I am not an artist, but my GF is. She never uses black and rarely uses white. Instead she uses two or three pairs of complimentary colors in a painting from a (virtual) color wheel with much more gradation than the one shown in the article. She uses the cool compliment for shadows, for example. The result, using a palate of only four or five colors, is a painting of surprising richness.

</comment><comment><USER21> Wow, articles that are both readable and about design.

The typography examples didn't work for me, they're all black on white.

I use this quite frequently: <http://colorschemedesigner.com/>

<comment><USER22> The author is likely using a high gamma, which is common among designers.

<comment><USER23> Higher than 2.2? I highly doubt it. Every designer I know uses 2.2, which is the standard for the web. Windows has been 2.2 for years. The only hold-out was Apple, who used to be 1.8, but switched to 2.2 in Snow Leopard. Before SL, designers would regularly calibrate to 2.2, of necessity.

</comment></comment></comment><comment><USER24> I remember how surprised I was when a painter friend of mine pointed out that shadows on snow were blue, not gray.

</comment><comment><USER25> And yet the main body text of that page is "black" (well, unhued anyway)

</comment><comment><USER26> > As you can see on the left side of this example, the blue block recedes...On > the right side of the example, you see the opposite effect, with the red > block looking almost as if it is a tower extruding towards you from the blue > block.

I see the opposite, with the red block receding and the blue block extruding. What does that say about me?

<comment><USER27> By any chance, do you wear glasses with a strong prescription? Color fringing makes the apparent depth relationship of bright colors dependent on the viewing angle.

<comment><USER26> Yes I do. You, sir or madam, are a smart one.

</comment></comment></comment><comment><USER28> What is the best color background for showing photos or videos? Flickr is white, for example, but some other sites use black. Is there an optimal choice?

<comment><USER29> The main thing is to not pick a saturated color that will clash with anything in the picture/video.

Otherwise, a very light color (white or close to it) or a very dark color (black or close to it) will probably make the picture/video more visible.

FWIW, older users seem to prefer light backgrounds, and younger users seem to prefer dark backgrounds.

</comment></comment><comment><USER30> Nice link. For the past year of so I've been keeping up with design blogs and trying to do most of the art and design I need on my own.

a hacker's mindset leads surprisingly well to design, and I think the design side of my brain has helped in my coding.

</comment><comment><USER31> That's a really nice explanation, and although I wasn't sure about the effect when I saw the orange square on the black background, the text hierarchy example is fantastic. Duly noted and voted!

<comment><AUTHOR> Hehe - if you saw an orange square on a black background, something is either wrong with your monitor or your vision :) Did you mean something else?

<comment><USER31> Ah, it was pink, whoops.

</comment></comment></comment><comment><USER32> When I got to the part about "Warm Colors Pop, Cool Colors Recede", I was startled by the text. My eye had already been drawn to the figure, and for me, blue popped and red receded.</comment>


How to resume a SSH encrypted and x11 forwarded session - <AUTHOR> https://dwaves.org/2019/01/21/how-to-resume-a-ssh-encrypted-and-x11-forwarded-session/ <comment><USER2> Xpra is pretty nice, though if you look at the details, it's more similar to vnc than it is to X11 forwarding.

Compositing each window is done on the server, the image is then compressed (it can use png, jpeg, mpeg, webp, bmp and a lot more) and sent down, displayed as a child window of the xpra client, and composited on the client computer.

The wayland equivalent is waypipe, though I am not sure it handles disconnections and graceful link quality as well.

That said, I've often had to manually adjust the frame encoding format, to gain pixel-perfect accuracy at the cost of a few seconds of latency on a sloppy connection, for instance.

</comment><comment><USER3> I usually use x2go to accomplish this. It lets you do full desktop, or floating app windows. I might have to see how this compares, but x2go is in the EPEL repos for RedHat.

</comment><comment><USER4> I've FUDded about needing to have exactly the same version on client and server in the past [https://news.ycombinator.com/item?id=23493005](https://news.ycombinator.com/item?id=23493005) , but this blog post mentions installing from apt and from yum, so maybe the project has figured out back/forwards wire compatibility? That would be huge.

<comment><USER2> For what it's worth, I'm regularly using it between Arch Linux current and CentOS 7.5 (presumably older versions as well, I can't check right now, but I've been doing so for at least two years). I never thought backwards compatibility was an issue.

</comment></comment><comment><USER5> The Xpra latency is really good. It makes remoting XWindow GUI apps almost bearable.</comment>


This is how the universe will end: not with a bang but a rip - <AUTHOR> http://www.kurzweilai.net/this-is-how-the-universe-will-end-not-with-a-bang-but-a-rip <comment><USER2> Is it just me or does the graphic show the end of the Earth long after the Sun goes nova?</comment>


The future of Microsoft's languages: C# to be powerful, Visual Basic friendly - <AUTHOR> https://arstechnica.com/information-technology/2017/02/microsofts-developer-strategy-c-for-fancy-features-visual-basic-for-beginners/ <comment><USER2> Java never took off on Linux, but maybe C# will have a better chance once the .net core gets a bit more stable?

<comment><USER3> > Java never took off on Linux, but maybe C# will have a better chance once > the .net core gets a bit more stable?

What? look at this page :

[https://github.com/apache](https://github.com/apache)

Most these products are written in Java.</comment></comment>


BLESS: SSH Certificate Authority for Ephemeral SSH Sessions - <AUTHOR> https://github.com/Netflix/bless <comment><USER2> So a couple of things. First off, this is using AWS for two important services. That is probably a no go for a whole bunch of people right away.

But where it really lost me is that it is "yet another thing with a custom installer" or YATWACI (tm). Let me say it again: if you want wide adoption of your software, get it $@&!ing packaged for popular OS's. It is not hard, and is way nicer than "well first, create a virtualenv..."

<comment><USER3> [https://github.com/Netflix/bless/blob/master/Makefile](https://github.com/Netflix/bless/blob/master/Makefile) shows that it's pretty standard Python stuff, just wrapped up in a Makefile for ease of use.

Packaging Python apps really really sucks - at least for Debian there's stdeb - [https://pypi.python.org/pypi/stdeb/0.8.5](https://pypi.python.org/pypi/stdeb/0.8.5). No idea if it's lintian-clean though.

<comment><USER4> Packaging almost anything sucks. Use fpm.

Https://github.com/alanfranz/fpm-within-docker for native packages.

<comment><USER5> FPM-created packages suck. They often have incorrect metadata format, most of the time they don't have _any_ dependencies encoded, they often have crappily written initscripts (less of a problem today, with systemd everywhere) and similar infrastructural things.

All that while writing RPM specs and proper(ish) debianization are quite easy.

<comment><USER6> > (less of a problem today, with systemd everywhere)

Systemd is far from everywhere. Ubuntu 14.04 doesn't use it and is supported until 2019. Debian Wheezy is supported until 2018. RHEL 6 has support through to 2021.

Overall this means it'll start to be reasonable to presume systemd sometime around 2020, and be realistically almost everywhere from say 2025.

Software changes take 5-10 years to roll out everywhere. This is such a core change that it'll be on the longer side.

<comment><USER5> Even though I agree with you here (I still use Wheezy, personally and professionally), most projects don't target that old releases, so they build mainly for modern mainstream (Debian/Ubuntu and Red Hat/CentOS), which means systemd.

And that still doesn't change the fact that most programmers produce shitty packages, if any, so every time I use somebody's software I need to package it myself to have it properly built.

<comment><USER3> If the packaging files are in Git(Hub), raise an issue. A packaging bug is still a bug.

<comment><USER5> And for each and every package/project I would need convince the maintainer that he doesn't understand what he's doing, he's doing it wrong, and he should learn a correct method? Because it all boils to this (barring a more polite way of stating the fact).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> Oh gosh, I thought it's going to be yet another fancy name for a new vulnerability.

</comment><comment><USER8> Can someone explain what this is for? I read the readme but still have no clue

<comment><USER9> Besides the usual public/private key system, OpenSSH supports a less-used system called user certificates.

User certificates achieve the same purpose as your normal key but instead of pre-installing your public key on the server, you present a certificate during authentication and the server checks that it's signed by a trusted authority - it's more or less a PKI similar to that used for HTTPS, etc.

One of the key advantages of this approach is that the CA can enforce limits on the key, such as validity periods and disabling SSH features like port forwarding, binding a certificate to only run a particular command, or only allowing it's use from a specific IP.

BLESS appears to be a piece of infrastructure for autonomously signing these certificates - on it's own that gives you benefits like a proper audit log, but it seems that it's real purpose is to enable an SSH bastion host[0] to generate ephemeral keys for the servers it accesses.

[0]: [http://blog.scottlowe.org/2015/11/21/using-ssh-bastion- host/](http://blog.scottlowe.org/2015/11/21/using-ssh-bastion-host/)

</comment></comment><comment><USER10> While not completely related, can anybody suggest a good, clean way of implementing centralised login under Linux?

With yp/nis being out of date (and not considered secure?) most things seem to point to using Kerberos for auth, but how do people then go about syncing passwd or some other method of getting all user accounts consistent across all machines?

Then what about files, is nfs still the preferred method of sharing the home directories?

Some questions. Sorry

<comment><USER11> Set up an LDAP server to handle authentication, and configure PAM to talk to that LDAP server.

Edit: s/and/an/</comment></comment>


MuteTab Chrome Extension: Find tab playing sound, automute background tabs - <AUTHOR> http://www.mutetab.com/

<comment><AUTHOR> I am the developer of this extension. Interested in feedback on the extension, the ideas, and the writeup.

Also posted to reddit: [http://www.reddit.com/r/chrome/comments/j1ylm/new_mutetab_ex...](http://www.reddit.com/r/chrome/comments/j1ylm/new_mutetab_extension_find_tab_playing_sound/)</comment>


Ask HN: How to grow user submitted content based site? - <AUTHOR>

As a fun side project I built a site which lets users make and take quizzes. I've now hit a wall where users seem to be happy to take quizzes but no one has made any. I tried seeding the site using MTurk; the results were hilarious but not very useful. Does anyone have any suggestions for motivating users to create quizzes? Should I raffle off gift certificates maybe? The site is at www.quizfiz.com for reference. <comment><USER2> It's useful to think about your use case. Why would anybody ever make a quiz?

It's much more fun to take the quizzes. The payoff for somebody to take a quiz is to learn something about themselves even if it's meaningless. In comparison, it looks very very difficult to make a quiz with little payoff. Why do I REALLY care about quizzing random people I don't know? I have to come up with clever titles, clever questions, clever answers, etc? I think I'd rather just take another quiz or go do something else.

That said, the main thing I'd do is come up with some interim calls to action between making a full quiz and taking a quiz. Maybe give people the ability to modify existing quizzes. Maybe give people the ability to make a question and give other people the ability to come up with fake answers. Anything at all to give the site some sort of learning curve towards making full quizzes.

</comment><comment><USER3> I guess my first question is, how will the site make money? It's only useful to give away gift certificates as an incentive to create quizzes if quiz creation leads to making money.

I'm guessing you plan to make money from ads, which is why you're trying to get more quizzes (so that it will attract more users to take the quizzes). If that's the case, then you also need to account for advertising to actually inform users of newly created quizzes, etc., before figuring out how much to give away for creating quizzes.

As for other ideas to get users to create quizzes, maybe more prominently asking quiz-takers to create quizzes. Adding in more of a narcissism factor for people who create quizzes (I notice you don't even put the creator's name for popular quizzes on the front page).

Another possiblity: get a hold of Ben Huh at Pet Holdings, Inc (of lolcatz, loldogs, and failblog fame), as they seem to be interested in this sort of thing, as shown by their most recent site, <http://graphjam.com>.

</comment><comment><USER4> How much did you try with mechanical turk? My experience is that when describing a HIT (Human Intelligence Task) it takes a few tries to get the results you want. I suspect that if you asked for an entire quiz you'd get bad results. If I were setting up a HIT I would give the user three sample quiz topics and only have them create a single question for the quiz. I would then only use the top percentage of questions answered yet still accept people's responses even if they were not used but still within the HIT's requirements.

Also, I think you can still benefit from seeding some more on your own.

</comment><comment><USER5> Make them make quizzes one question at a time instead of multiple ? (lower barrier to entry)

Give them an incentive ?

Make it seem like the ability to make a quizz is a privilege awarded only to special users ?

Attach their username to quiz questions that they've added ?

Offer to send them results on how well people scored in their quizzes.

Hope there is anything useful for you in there!

greetings,

Jacques

</comment><comment><USER6> It can't hurt to make the call to action to make quizzes more prominent. "Make" listed among other plain text menu options hardly screams for action. Perhaps put some sort of call to make a quiz along with the list of quizzes. Or put a big "Make your own" at the end of the list of quizzes. I also really like the idea JangoSteve suggested of creating incentive (in the form of bragging rights) for making popular quizzes.

</comment><comment><USER7> Check out how <http://hunch.com> gets people involved, there are some good lessons there.

</comment><comment><USER8> Well, I suppose your first step is to market to people who need to make quizzes. Who are you marketing to?</comment>


Lessons from a Startup Acquisition - <AUTHOR> http://gigaom.com/2008/08/24/lessons-from-a-startup-acquisition/

<comment><USER2> #4 reminded me of "7 Habits of Highly Effective People"

Habit 2: Begin with the end in mind. <http://www.leaderu.com/cl- institute/habits/habit2.html>

</comment><comment><USER2> 1, 2, 4?

<comment><USER3> 3 is unlucky.</comment></comment>


FavColors - <AUTHOR> http://vaddo.github.io/FavColors/ A smart color collection tool for webdesigners <comment><USER2> I'm confused about what this actually does; tried dragging and dropping; tried shift clicking multiple; nothing...

A list of pretty colors is cool, but in flash? I have a list of pretty colors also!</comment>


Green Graffiti or marketing SXSW for under $1,000 - <AUTHOR> http://blog.loku.com/the-making-of-green-graffiti/

<comment><USER2> While this is cool, it is neither new or good.

The result looks great, no paint used! Must be ok?

To me it would still seem there was a cost of cleanup, therefore damage has been done. For the council to remove the graffiti they would have to clean the surronding pavement.

edit: I knew this would be downvoted, but my personal opinion still stands. This is not free to cleanup... Chalk is easier[to cleanup], chalk disapears with rain.

<comment><USER3> Encouraging public services to clean up the streets isn't damage in my book.

<http://www.wired.com/underwire/2007/10/dirty-trick-cau/>

<comment><USER4> Public services weren't leaving the streets dirty because they were lazy, they were leaving the streets dirty because they were rationing water due to drought...

</comment></comment></comment><comment><USER5> Ok, this one is just great. We had the Microsoft 'stickers on the street' fiasco, we had the 'chalk goes into the bay' fiasco, this however, hard to argue with. And well cleanup is kind of part of the city's job in the first place.

Genius.

Now we need to do this for dusty windshields. Put the stencil across the back window of a dirty car, wipe with damp cloth, done.

<comment><USER6> Devil's advocate: Austin was under stage 2 water restrictions at the time of SXSW (and still is). It is illegal, and unethical, to use water for outdoor cleaning like this during a drought in a thirsty city like Austin (i.e. no power washing sidewalks, etc.). That's probably _why_ the sidewalks were so dirty, providing a nice dirty canvas for their graffiti.

Certainly, this is better than stickers and chalk, but it's still not very environmentally friendly on a large scale, in a city like Austin, where everyone is watching their gardens and grass get crispy due to lack of water. Water matters in Texas.

</comment></comment><comment><USER7> Also known as reverse graffiti: <http://en.wikipedia.org/wiki/Reverse_graffiti>

Often times used by street taggers to force the city into cleaning a particular area. Cool example: [http://www.youtube.com/watch?v=JwsBBIIXT0E&feature=relat...](http://www.youtube.com/watch?v=JwsBBIIXT0E&feature=related)

</comment><comment><USER8> Cool video of "Moose" doing a big reverse graffiti mural in San Francisco's Broadway tunnel.

<http://www.youtube.com/watch?v=5lX-2sP0JFw>

</comment><comment><USER9> I live in Austin, please don't do this. Not to mention our sidewalks aren't nearly as dirty as say LA, and it won't look as nice. A few years ago whrrrl put down a bunch of chalk on the sidewalks and never cleaned it up, it's still there and now it's just embarrassing. Graffiti is graffiti. Etching your name into dirt is still etching your name into something.

</comment><comment><USER10> Hard to achieve without local help: where does one get a powewasher, water, etc. But the effect is cool, and cleaning public streets must be legal.

<comment><USER11> Cleaning the streets might be legal, but public advertising without permission is illegal in the UK at least.

</comment></comment><comment><USER12> Cool. And for fun there should be a game of hopscotch appended with the ad.

</comment><comment><USER13> Great idea!

In the UK however the Town & Country Planning Act 1990 means advertising without permission could land you n hot water.

Shame though, I'd love this in my city centre!

</comment><comment><USER14> Cool idea, incredibly lame use.

</comment><comment><USER15> Great implementation! This is a superb method of guerilla marketing. I actually mentioned a few of mine in a blog post a while back: <http://blog.zaheer.me/2012/05/guerilla-marketing.html>

</comment><comment><USER16> I say do it until a city official tells you not to.

</comment><comment><USER17> That's actually rather cool.</comment>


Neo.mjs is looking for more contributors - <AUTHOR> https://github.com/neomjs/neo/blob/dev/CONTRIBUTING.md <comment><AUTHOR> In case you want to jump into a lovely #opensource project and make an impact on the way UIs are getting created, now is the time.

Step1 => Follow the tutorial: How to create a webworkers driven multithreading App — Part 1 (published by "The Startup" and officially selected by Medium into JS)

[https://medium.com/swlh/how-to-create-a-webworkers-driven- mu...](https://medium.com/swlh/how-to-create-a-webworkers-driven- multithreading-app-part-1-fa0cc78a4237)</comment>


The case for an IAP off button in mobile games - <AUTHOR> http://www.gamasutra.com/blogs/EthanLevy/20131217/207167/The_case_for_an_IAP_off_button_in_mobile_games.php Android monetization expert finds in-app purchases inappropriate for his grandmother. <comment><USER3> If anyone wants to see a good example of why you can't just toggle off IAP you should check out Jonathan Blow's talk about "Free to Play" games and how the business model deeply corrupts the game through the metaphor of bad 70's TV shows vs HBO:

[http://www.youtube.com/watch?v=AxFzf6yIfcc](http://www.youtube.com/watch?v=AxFzf6yIfcc)

The solution isn't to toggle IAP off in the game, it's the ability to toggle it off in the App Store. The difficulty is some IAP is legitimate and some is not. For example, Carcassonne has an IAP to upgrade the game into a slightly different game with additional tiles. It's only when the IAP is part of the core game mechanic that is troubling. I think categorising them and relegating them to a particular category like we do with FPS, RPG, RTS, etc.. would help.

</comment><comment><USER4> Huh... what's an IAP? The article seems to take it for granted.

<comment><USER5> I believe it is "In App Purchasing".

<comment><USER6> Yes, I was mystified as well and had to Google it.

Not a commonly used acronym, at least in my circles.

I searched the article for a "first use" definition or expansion, to no avail. I guess the readership knows it well.

</comment></comment></comment><comment><USER7> So, to be clear. He wants a game. A game that he knows is is fun and high quality. A game that Nana will enjoy for hours, hopefully months. And he wants it for free. Presumably with no ads. And, he already has exactly what he's hoping for except for one detail: he also want to hide all opportunities to give money to the creators of the game. But, without "breaking the fundamental experience" of the game.

Sounds to me like what he actually wants is to do the footwork (research effort) to find a high quality, pay-up-front game. And then pay for it, _up front_ , so that Nana can enjoy the game without being confronted with iaps.

It is unfortunate that the vast majority of market apparently prefers instead to wade through 9 f2p games until settling on 1 that they like enough to pay into. That market environment makes it much harder to find a good game for Nana that does not involve iaps. I wish him luck in his search for that game.

But, as for hiding iaps in f2p games... I don't see how that is tenable in any way. Creating the game he wants requires a surprisingly large up-front and ongoing investment on the part of the creators. A major, if not _the major_ , part of how the creators can expect to recoup their investment is in the opportunity to pitch you on iaps. Disabling that pitch changes the business model to "I'll pay them when I'm compelled by overwhelming guilt/appreciation". That's an incredibly idealistic business model which even the world-class awesomeness of Wikipedia has difficultly maintaining. Frankly, I doubt that any of the games he enjoys would survive it.

<comment><USER8> Thats... well, that's not what I got from it.

He paid for some of the IAPs in the game, but if those developers are monetising it correctly there will be dozens of other ways to buy more IAPs

Do you have kids? I don't, but I'm very close to my 5 and 2 year old cousins. My Aunty would love to be able to turn off IAP, temporarily, for a session so the kids can play and not worry. You can do that sort of already, but the buttons and UI being hidden would make it better.

Also, I've bought games, expensive ones, that have even more IAP in them that I won't be purchasing. This is not just free games we are talking about.

</comment></comment><comment><USER9> There should be an organization that provides a seal of approval to apps, something like IAP-free, marketed similar to gluten-free foods, et. al.

</comment><comment><USER10> I may be misunderstanding the author's target for his rant, but why would Google or Apple want to turn off in-app purchasing? They make an immense amount of money off it, which has to outweigh any reason I can imagine for turning it off, including this one. Similarly, why would the developer want to hide their main source of revenue?

<comment><USER11> Apple already offer the ability to turn off in-app purchasing. It's a global setting (which can also be password protected if you're setting up the device for your kids, say) and does the job well. It sounds exactly like what the author needs.

<comment><USER12> I don't think this is what the author was talking about. I think his complaint is less about control over his spending, but about the intrusiveness and confusion the constant up-selling causes.

He's not afraid of Nana spending a boatload on IAPs (though that has happened...), he's frustrated that these games are bombarding Nana with bright flashing buttons that have nothing to do with the core gameplay which he has already bought (either upfront or via IAPs), and making it harder for her to play the game.

This is basically the native app equivalent of complaining about intrusive omnipresent banner ads, overlays, and interstitials. They're grossly damaging to the user experience. It's the mobile gaming equivalent of "okay, I clicked your ad and paid a subscription for your online magazine, can you stop bombarding me with even more ads now?".

<comment><USER13> But surely an "off" button for all those intrusive and omnipresent IAP buttons is what he is looking for, then? And this is what is provided in the iOS settings.

<comment><USER14> Does it actually turn off the IAP-promoting game mechanics? I think not - <USER2> likely you just get bounced at the point you actually try to make the purchase.

<comment><USER13> That's true, it doesn't do that. However, a good developer can simply check [SKPaymentQueue canMakePayments] and disable those IAP nagging screens (as they are now ineffective). I am unsure if any actually do this.

</comment></comment></comment></comment></comment></comment><comment><USER15> This sounds to me more like "old person cannot understand the visual design language of user interface" than anything. Not that I'm pro-IAP, I just think the author pushes a very good idea based on completely wrong reasoning.</comment>


How Stories Deceive - <AUTHOR> http://www.newyorker.com/science/maria-konnikova/how-stories-deceive <comment><USER2> How ironic that the magazine that hosts Malcolm Gladwell would post a piece on how effectively one can use stories to promote oneself, even (especially) if you don't care about its accuracy.

His stories aren't of the sort of those in the article, but he's certainly no stranger to abandoning accuracy in favor of a story, and profiting from it.

<comment><USER3> While Gladwell himself is notorious for lack of factual rigor (as a former math person, I especially wince at his "Igon value"), the New Yorker itself is famous for its rigorous fact-checking. In this age of fast-food quality writings littered with half-assed research or mere speculations, I appreciate the time and the effort that the New Yorker team puts into their craft.

At the same time, the New Yorker is indeed known for their over-the-top narratives. There's both pros and cons to this approach. For example, a great work of literary journalism like "In Cold Blood" and "Hiroshima" were first published on the New Yorker because of this editorial tendency. On the other hand, their long-form content makes their subjects less approachable to a large swath of English-reading (especially those who aren't native readers of the language) population.

</comment></comment><comment><USER4> This is precisely why every time someone pitches a business idea to me using a story I flag it as one that requires addition validation of facts. Not because I think all story tellers are charlatans (some definitely are)but because I want to make sure that I compensate for the activation of the non-rational parts of my brain.

</comment><comment><USER5> I wonder how many people bought this story wholesale without fact-checking it? :)

</comment><comment><USER6> Reminds me a little of _Catch Me If You Can_.</comment>


NoOps: Developer operations manifesto - <AUTHOR> http://tqdev.com/2016-noops-developer-operations-manifesto <comment><USER2> This shows a profound lack of understanding into why operations does things the way it does. Our primary task, above all else, is to make sure that the infrastructure and thus the application keep running. We often take the blame if a developer's app is deployed into prod, runs for 3 days, and then dies. When their app dies in prod, I'm the first person to get paged (and there's a really good chance your developers don't even carry a pager).

> You use hand-overs, procedures & documentation requirements to slow us down.

Which we do not to irritate you, but because we need to support your application in production. I need to know if/when/how your application needs to be shut down, because I've shut down things like Tomcat before and gotten yelled at because they've done something weird that prevents a normal shutdown from being safe.

> You hide behind bureaucracy and use ISO standardization as an excuse.

Developers often don't realize this, but there's a lot more communication that needs to happen on our side to make a change than yours. Every change I want to make needs to be verified with half of infrastructure to make sure it won't impact their processes. Security has enabled an IDS that then broke applications by screwing with TCP negotiation on database connections. We've had SMB authentication be broken by reverse proxies. Everything we do can impact someone else, and can impact all of the however many apps we manage.

> You make the infrastructure overly complex, using SPOF as an argument.

This is an almost scary comment. The infrastructure isn't overly complex, it's just as complex as it needs to be to support that ancient app from 1995 that none of the developers want to take ownership of that has no HA or clustering built in, but is still a required service for 75% of the business. That HA isn't there for that fancy new app with clustering built in that was designed to not require hardware redundancy.

You get paid to write software so the business can work more efficiently, I get paid to make sure that your software stays up so the business can use it.

</comment><comment><USER3> > We do not like meetings, documentation or other waste in this process

I should add:

"We like to try a fancy languages no one else is familiar with, and when we leave the company we make sure we leave a nice piece of shitty, completely undocumented code running in the infra, which has some bugs that never had time to address and which has been packaged manually and links to a very special library that was downloaded in a zip file attached to some blog post."

Bonus points if it involves and old Gentoo box.

</comment><comment><USER4> That's probably the most short-sighted list of excuses I've ever read.

Recently I had an interview with a developer candidate who questioned or derided every design decision I made as CTO at our company, because he had no concept of the _realities_ involved with those decisions. What appears illogical or a waste of time from a single point of view is actually perfectly logical and will save a ton of time later when you take the overall view.

The constant discounting of decades of experience is particularly grating. One of the reasons I did X was because I dealt with Y twenty years ago, and I'd rather not deal with it again.

</comment><comment><USER5> I wouldn't want to work with the author of the manifesto.

I think the answer to a better Dev and Operations relationship is to involve people who can deal with any types of situations without being adversarial.

Yes, you can scrap operations sometimes, but sometimes you can scrap development and use off the shelf or 3rd party software as much as you possibly can.</comment>


Microsoft cancels WP7 dev unlock - <AUTHOR> http://www.xda-developers.com/feature/enjoying-chevron-say-goodbye-to-your-developer-unlock/

<comment><USER2> I didn't know that Microsoft made phone software... Does anyone use it?</comment>


20,000 Person iPad Survey Reveals Owners are Elites, Critics are Geeks - <AUTHOR> http://mytype.com/blog/?p=109

<comment><USER2> The numbers are interesting, but I think mtype projects too much of their opinion on the data.

For instance, they describe the "elites" as "selfish elites". They also go on to say that _"the selfish are more likely than non-selfish elites to jump on the opportunity to take work and the web deeper into their lives. The unselfish are less likely to be single-mindedly ambitious and more likely to be attuned to the needs of their families and other private, offline pursuits. Also keep in mind that all of these personality correlations are independent. Perhaps simply the willingness to shell out hundreds of dollars for an unproven personal device correlates with selfishness"_

Interestingly, their data shows that iPad owners listed "Greed" and "Pride" as their biggest sin to a much lesser extent than iPad critics. However, compared to critics, to a much greater extent, iPad owners listed "lust" and "overeating" as their biggest sin.

The mytype guys seem to think that the "lust" and "overeating" data confirm the "selfish" nature of elites, while conveniently ignoring the data on "greed".

Regardless, it is possible that X's greatest "sin" may be overeating and Y's greatest sin may be "Pride". Yet, if you compare X and Y on "overeating" alone, you may well find that Y overeats a lot more than X. The mytype guys don't seem to consider this scenario at all

<comment><USER3> I'm the author of the post. Admittedly I got into some speculation in the post, and I tried to frame it as such, not as unequivocal facts "proven" by the data. The only thing that's solid is the data. There are a number of interpretations that can be made from it, mine is just one of them.

We labeled owners "selfish" because they scored low on measures of kindness (our official term is benevolence) and altruism. These are solid psychological measures. The "biggest sin" question is more just for fun and wasn't taken into account in summarizing the Owners and Critics.

There's a lot of data there, trying to paint a picture that is consistent with all of the data is pretty much impossible. I did my best to pull out the main theme from the data.

</comment></comment><comment><USER4> Allow me to add another data point to your survey: software developer/entrepreneur own a four-year old crappy laptop and a netbook dual- booting Linux/win xp, have a MacBook pro for work. Just got an iPad and there really is no better way to keep a bunch of technical books on-hand. My favorite sins are lust and vanity :)

</comment><comment><USER5> I wonder which category the huge amount of Apple fans that have every Apple product fall into? I know a good number that I wouldn't consider geeks, elites, or critics (though they may consider themselves elite).

(I don't mean for this comment to be anti-Apple)

</comment><comment><USER3> The study is getting top-of-front page coverage right now from wired.com

</comment><comment><USER6> Only in US. Not representative for the iPhone users in other countries.

</comment><comment><USER7> So the sample was 20,000 Facebook users out of 3M+ iPad owners. Take with a grain of salt.

<comment><USER8> 20,000 is a massive sample. Political polls are based on a few thousand respondents even though there are millions of voters. It's basic statistics. The MyType sample was weighted to reflect the age, location, gender and personality distribution of the US. (Note that very few samples are weighted by personality. This is an important consideration because certain personality types are more prone to respond to surveys.)

A better critique is that the survey was held exclusively on Facebook. But even then, every online survey has to be held somewhere. As the most popular site on the web, Facebook has minimal sample bias.

The post also notes how the MyType results are in line with Forrestor and Sybase survey results, so the data appear to be very valid.

<comment><USER9> A _random_ sample of 20,000 is massive. A non-random sample of even a million can easily be worthless.

Political polls are very careful about getting a sample representative of the country which is why they can have some value. They also have very detailed models, which a lot of thought have gone into, about what the general population looks like and how to get accurate results. The weighting from this facebook poll is not based a bunch of well-developed knowledge but just guesses at what to do.

<comment><USER3> Our sampling rigor cannot be compared to political polls, it's true. However we do weight the sample not based on guesses but on official data about the gender, age, and personality distribution in the US. We did not use geographic weights because our respondents were more or less properly distributed.

Any poll can be attacked. Even political polls are subject to bias in who picks up the phone, who responds to the surveyor, etc. This bias is partially driven by personality type, which we are able to nearly eliminate through weighting by personality traits. How many polls can do that?

Most polling is much less random than political polls, and yet the results are still treated as worthwhile. Some firms put up surveys on sites (site audience bias), or have carefully selected paid volunteers (bias to incorporate people who are willing to do that), etc.

The fact that our results are corroborated by Forrestor and Sybase, to the extent that we can be compared, is very satisfying to me personally. Sure, we may be a few percentage points off on some things, but are the overall results invalid? No. I challenge anyone to point to any result in the study and give a reasonable explanation why that result is likely way off. The only things that are suspect to me are the major outliers, subsets like native americans for which we did not have much data. I'll give you that. Anything else? Let me know.

<comment><USER10> "I challenge anyone to point to any result in the study and give a reasonable explanation why that result is likely way off."

plan to buy: forrester 3.8% plan to buy: you 2.0%

so your results differ markedly from the forrester report itself?

Your results are different (and likely differ from reality) because you did not use a random sample, you used a self selected sample of people who belong to facebook and wanted to respond to a poll. That is simply a fact.

Having taken a non-random sample you then projected your own opinions into all your conclusions. Its an amusing post, but not really an interesting one.

<comment><USER3> There's two explanations for that difference:

1) Forrestor's 3.8% was collected in June 2010, whereas our data was collected from March through May. Clearly the iPad is gaining momentum, as time goes on more people are planning to buy one (at least for now).

2) More importantly, Forrestor said that "no time frame was specified in the survey question". So they asked people who don't own an iPad if they intend to buy one. That's fairly different from our question, which allowed the respondent to choose from:

1) plan to buy one 2) want to play with one first 3) will wait for later versions 4) waiting for the consensus opinion

Clearly, with the variety of options, some people who might have simply answered "yes" to the "intend to buy" Forrestor question would pick 2, 3 or 4 in our question.

Does that settle that? And by the way, these are people who wanted to take a personality quiz, not answer a poll. Their motivation had nothing to do with the iPad, that question was randomly inserted into the personality quiz.

While you seem to be "amused" by a blogger who in your mind completely makes stuff up, I'm amused by a commenter who after 5 minutes of review feels confident enough to slam a study that took multiple people dozens of hours to complete.

We're not publishing this in a science journal. That's not what we're going for. It's not complete BS either though. We do normalization, we have lots of data, and our psychological measures are based on the best contemporary research. The results are worthwhile. I'll say again: I challenge anyone to point out a major flaw in our data (not my interpretation of it).

<comment><USER10> So, in summary, you asked different questions during a different time period and came up with different responses, but still feel happy claiming that the forrestor report somehow validates your own results? why?

"these are people who wanted to take a personality quiz"

that is exactly my point. what subset of iPad users want to take a personality quiz? there is a clear self-selection bias there that you are, for some reason I dont understand, entirely ignoring.

"I'm amused by a commenter who after 5 minutes of review feels confident enough to slam a study that took multiple people dozens of hours to complete"

mytype, Im not slamming it, its amusing, Im just pointing out the obvious. its not science you were engaged in, its opinionated blogging. Your blog post would have lost nothing if you had just skipped the dozens of hours work to implement the poll.

Its not a useful poll in any sense of the word.

Its a non-random poll of self-selected facebook users and gives your post about the same degree of additional validity as the personal anecdote below regarding the people I know who own iPads gives my posting.

"It's not complete BS either though"

in what sense of the word?

from a scientific POV it is a poll from a totally non-random sample with entirely unreliable results, into which you manage to project conclusions that happen to suit you.

That is not intended as a slam, it is simply a fact.

If you are unhappy with that fact, you should try harder next time to use a decent user sample.

 _or_ phrase things differently. Although the poll doesn't talk about iPad users as a group; not even close; it _does_ give a clear result of what a subset of iPad owners, who belong to facebook and chose to take a personality quiz, might be intending.

<comment><USER3> Yes, it's a biased sample. I've already admitted that. My point is that it's not egregiously more biased than any other sample from academia or professional surveyors, and in many cases it's less biased.

Do you reject most academic psychology research because it is based on students at the college of the researcher? Certainly that's a more biased sample.

Do you reject political polls because they're based on who answers calls from random phone numbers and then does not hang up once they realize it's a poller?

Do you reject most commercial research based on paid volunteers or visitors to sites with much smaller and more biased audiences than Facebook?

I state upfront in the article that this is based on MyType users who are on Facebook. What more do you want? If you want no bias, just do math and don't believe any data based on people, written by people, spoken by people, anything having to do with people.

The bottom line point is, this is much more rigorous than much of the crap blogs and media report on. I'll take a random example that I googled for the iPad: <http://techcrunch.com/2010/04/06/ipad-sentiment-analysis/>. "87% of tweets indicate intent to purchase the iPad". Give me a break. Talk about bias. The sampling errors there are horrific.

I'm just trying to maintain a reasonable perspective on MyType's data, not hide any facts about the shortcomings of it. There are shortcomings, they're just not so bad to make the results "entirely unreliable".

<comment><USER10> "87% of tweets indicate intent to purchase the iPad"

oddly enough, I have less of a problem with that article than I do with your post.

They _clearly_ acknowledge all the limitations of the data right up front.

I can read that article and understand within the first 2-3 sentences that they are playing a game of mental masturbation, and then grin at the conclusions.

Its clearly a pointless piece of puff, and perfectly enjoyable as such.

My problem with your blog post arises because it is inviting me to take it more seriously than that.

You state upfront that it is based on MyType users who are on Facebook and who participated in a personality quiz.

The question you never speak to, and need to answer, is why on earth do you believe that a narrow sample like that can reasonably be used to draw conclusions about the broader set of iPad users?

do you fully intend that the blog post be a pointless piece of puffery similar to the techcrunch article? in that case, make that explicit.

do you actually believe that you can, using the statistics you have available, speak usefully about the broader set of iPad owners? explain why, giving your confidence level and other assumptions you have made.

If you want me to take it seriously, you need to take it seriously.</comment></comment></comment></comment></comment></comment></comment></comment></comment>


The target="_blank" vulnerability by example - <AUTHOR> https://dev.to/ben/the-targetblank-vulnerability-by-example <comment><USER2> Better article on this topic: [https://mathiasbynens.github.io/rel- noopener/](https://mathiasbynens.github.io/rel-noopener/)

</comment><comment><USER3> So forgive my ignorance, but this would only be an issue if links can be placed on your site by others, where they also can embed javascript as part of the link, yes?

EDIT -

I mean aside from cases where you're intentionally using this on your site for unscrupulous reasons.

<comment><AUTHOR> If you link to my site with target="_blank" and without rel="noopener" or some other preventative measure, that's all that needs to happen. The JavaScript is run on the other person's website. So all you have to do is link to their site and they get access to the location of the tab of the original site. No XSS or anything needed.</comment></comment>


Show HN: Aws-upload – A delicious CLI Tool for uploading files to ec2 - <AUTHOR> http://aws-upload.com/ <comment><AUTHOR> I got a new landing page + docs. If you have any feedback/opinion is super welcome. Especially about the docs.

Thanks

</comment><comment><USER2> Delicious?

<comment><USER3> "Delicious" has replaced "made with love", "curated", and "machine learning" in on-trend marketing.

<comment><AUTHOR> Do you have any interesting case about the use of "delicious"? I would love to see them, I'm a case collector.

Thanks

<comment><USER4> The curious case of del.icio.us

</comment></comment></comment></comment><comment><USER5> a simple alias for rsync in bash wouldn't suffice? Don't get me wrong, I like the project. What was the motive behind it? The "Why?" section doesn't go it justice.

<comment><AUTHOR> Another point that probably it's worth explaining a little bit more is the concept of exploration. aws-upload has been designed with the idea of brain zero.

Which it means: I'm lazy, I don't want to remember all the projects or environments I got.

When I was using the aliases without the scope I had to remember each label for at least each project.

With the trick of the scope I could tab, but with 10 projs with 3 envs each, you start to have 30 suggestions.

Too much noise for my taste.

With aws-upload the only thing to remember it's aws-upload itself. Then I tab.

I hope it clarifies a little bit more.</comment></comment>


Ask HN: Online RTS game back end tutorial, any help? - <AUTHOR>

Starting one up, but finding it hard to understand how it should work.. <comment><USER2> Which language?

<comment><AUTHOR> I was planning on using php for backend and javascript+html5 for front end.

<comment><USER2> I could say to propose you to use NodeJS instead but probably you already heard that. First at read this:

[http://buildnewgames.com/real-time- multiplayer/](http://buildnewgames.com/real-time-multiplayer/)

This will describe you complexity of real time client-server communication.

Start with login, go slowly to current game session state and updating it. Better make couple dummy games before you sit down on something really serious.</comment></comment></comment>


Newbie indie dev's Android game income stats for October - <AUTHOR> http://www.ziggysgames.com/android-game-income-stats-october

<comment><USER2> Trying not to be overly critical, but the three games I looked at seem quite simplistic and the artwork is minimal. Putting a little more time into the artwork should pay off. These recent tutorials on Gamesutra could help: <http://www.gamasutra.com/blogs/author/ChrisHildenbrand/6036/>

<comment><AUTHOR> I agree, the games I've created so far are very basic, and all the art is taken from free clip-art sites. The biggest critic on that so far has been my wife :) I'm (slowly) working on a more substantial game idea, and I've been updating a dev journal on my blog as I make progress.

Thanks for taking the time to look through the games, and for the feedback, I really appreciate it.

<comment><USER3> Great Blog, I like reading your progress. I'm new to Android Dev myself so it's nice to see how others are doing.

<comment><AUTHOR> Thanks. Glad you found it useful.

</comment></comment></comment></comment><comment><USER4> Keep up the good work.

Since you're a one man band, I might also suggest you try to copy a successful app on the Android market. Find an app that is relatively high priced that you think you could copy and then sell at a lower price. They've already proven that the market exists. Once you have the app built, then iterate by adding features that the competition may not have thought of.

Good luck.

<comment><AUTHOR> Thanks. That's good advice on app ideas. So far I've been trying games, and I think apps are a fairly different dynamic, from the development side as well as what drives someone to purchase one. I'll probably try my hand at a non- game app some day.

</comment></comment><comment><USER5> Making 400 quick bucks with a game called "BUS JUMP" is quite motivating I think!

<comment><AUTHOR> Thanks :)</comment></comment>


Mastering Modern Payments Using Stripe with Rails - <AUTHOR> http://www.petekeen.net/mastering-modern-payments

<comment><USER2> Just signed up, sounds like a great idea. However, it would be nice to know what your planning on charging for it.

Good sales page too, way to address problems that relate to the business rather than focusing on technology.

Looking forward to reading it!

<comment><AUTHOR> I'm not the author, just stumbled upon the website while searching for a a thorough tutorial on integrating Stripe and Rails. I agree that he should let us know the pricing ahead of time.

<comment><USER3> Hi, author here. I updated the page with pricing information. Thanks for posting!</comment></comment></comment>


Integrating Zend Optimizer+ into the PHP distribution - <AUTHOR> https://wiki.php.net/rfc/optimizerplus

<comment><USER2> Very interesting. Also check the benchmarks with APC: <http://bit.ly/116BnnB></comment>