YAPF – A formatter for Python files - <AUTHOR> https://github.com/google/yapf <comment><USER2> > YAPF is not an official Google product (experimental or otherwise), it is > just code that happens to be owned by Google.

Just in case anyone thought "by Google" meant "a Google product" like me.

</comment><comment><USER3> This passed HN duplicate detector, despite same URL and submission title.

[https://news.ycombinator.com/item?id=9260786](https://news.ycombinator.com/item?id=9260786)

</comment><comment><USER4> I definitely would like to see configuration options for the vertical alignment of arguments. If the arguments don't fit within the line length then having the option to put them on separate lines (still pep8) would be nice.

</comment><comment><USER5>
      --style STYLE         specify formatting style: either a style name (for
                            example "pep8" or "google"), or the name of a file
                            with style settings. pep8 is the default.

> pep8 is the default.

I can breathe again.

<comment><USER6> I don't think there was any other option. If the default wasn't pep8, the tool would have no chance of seeing wide adoption in the Python community, unless someone forked it and changed the default to pep8.

</comment></comment><comment> Pirate-of-SV I've been using YAPF for a while and I really like the idea. Be aware that there are still some nasty bugs that haven't been fixed yet so be careful if you use it for something important.

Do anyone of you guys know what the name YAPF comes from? (The only thing I can think of is "Yet Another Python Formatter", but I'm just guessing)

<comment><USER7> Indeed, it's just "Yet Another Python Formatter"

</comment></comment><comment><USER8> Also see go fmt

<comment><USER9> Thought experiment: wouldn't it be just awesome if Google decided to promote an alternative to the format used by go fmt, so that newbies could learn that instead and then have a constant conflict with the core Go community?

edit: this is directly relevant to the thread, which is about Python formatting and Google promoting its weird style

</comment></comment><comment><USER10> Is it possible to YAPF it in Sublime?

<comment><USER11> For sublime 2 yes:

[https://github.com/jason-kane/PyYapf](https://github.com/jason-kane/PyYapf)

It isn't in Sublime package control yet.

</comment></comment><comment><USER12> i use autopep8 and haven't been thrilled. it gets the job done, but i'll switch in a heartbeat if this is better. we'll see.

<comment><USER13> YAPF is still brand spanking new, so please use it and report any bugs you find.

We mention in the documentation that data literals are a sticking point to most people and most automatic formatters. Even clang-format tends to balk on them. We try our best at them, but it might be best to just disable formatting them if they are already formatted to something you like. :-)

</comment></comment><comment><USER14> >YAPF is not an official Google product (experimental or otherwise), it is just code that happens to be owned by Google.

<comment><USER15> Sounds like one of those "20%" kind of project and Google GitHubers just happened to have the permission to release this project under google/ wow ...

<comment><USER16> True, but that category also includes protobufs, LevelDB, Snappy, Gumbo, Guice, re2, gtest, and Angular (initially; it soon became an official thing when it got popular). While the "official" open-source projects are things like Chrome, Android, GWT, Go, Dart, gRPC, and Bazel.

Paul Graham once said that you should use the tools that programmers build to solve their own problems, not the tools that big corporations build to solve their ideas of what other peoples' problems are. That doesn't mean every little library is a good one (Sturgeon's Law applies - 90% of everything is crap), but it does mean that being "official" is usually a negative signal on product quality.

This applies to other companies' code as well; I've never used a buggy piece of shit quite so bad as Sun's JSF (which was supposed to be the "official" way to build webapps with Java, circa 2004-2006), while BSD and Linux continue to be great pieces of software 25 years later.

</comment></comment></comment><comment><USER17> Interesting to see the formatter is written using 2 space indentation when both pep8 and google's style guides say 4.

<comment> Pirate-of-SV I think the original Python Google Style guide did use 2 spaces. [https://code.google.com/p/soc/wiki/PythonStyleGuide#Indentat...](https://code.google.com/p/soc/wiki/PythonStyleGuide#Indentation)

And it seems like that's used in YAPF as well: [https://github.com/google/yapf/blob/master/yapf/yapflib/styl...](https://github.com/google/yapf/blob/master/yapf/yapflib/style.py#L122)

<comment><USER18> This was submitted not long ago, and that was pointed out there too.

[https://news.ycombinator.com/item?id=9260786](https://news.ycombinator.com/item?id=9260786)

I suggested to the author that they restore "google" style to the public one and rename the existing one to "chromium" style, since that's the most prominent public project still on Google's internal style.

</comment></comment></comment><comment><USER19> I've got a python project where I've been pretty naughty with long lines containing sql queries.

I found that running this tool over it resulted in some strange new lines.

For example, this was my old hideously long line:

query_qual = "INSERT OR REPLACE INTO Qualifying (poleid, seasonid, race_week_num, carclassid, pole) values (%s%s, %s, %s, %s, %s)" % (race[u'seasonid'], race[u'race_week_num'], race[u'seasonid'], race[u'race_week_num'], race[u'carclassid'], pole)

Changed to this:

query_qual = "INSERT OR REPLACE INTO Qualifying (poleid, seasonid, race_week_num, carclassid, pole) values (%s%s, %s, %s, %s, %s)" % ( race[u'seasonid'], race[u'race_week_num'], race[ u'seasonid' ], race[u'race_week_num'], race[u'carclassid'], pole)

<comment><USER20> To my eye, HN has rendered them identically. You can preserve literal whitespace on HN by indenting by two spaces (and a newline to separate the code formatting from ordinary text).

      it appears     like  this

</comment></comment><comment> alok-g Off-topic, but why is no space before opening parenthesis the norm in programming ("class foo(object):") when normal English usage is to have one? I know myself as the only one who puts this space.

<comment><USER21> Because the convention in mathematics, from whence the function call syntax used in programming (from which many of the other programming uses then derive), is no space.

<comment> alok-g While I take your answer, in mathematics, people often use shorter variable names like y(x). Meaningful names given to functions make them read a lot more like English than mathematics.

<comment><USER22> Though mathematics has also longer names like arcsin, arctan, etc.

</comment></comment></comment></comment><comment><USER23> I'm sure there are some cases where this is useful, but I'm not really sold. The pitch at the beginning is "satisfying PEP 8 doesn't mean it looks good!" But then it seems most of the changes cleaned up in the code (indentation level, indents on split lines, spacing between operators) are just PEP 8 violations. I think you could find a more convincing demonstration.

The warning about choking on large data literals (which are probably one of the places where prettifying would be most useful, at least to me) also seems ominous.

edit: for my personal use, I tend to use flycheck with flake8 in emacs. This keeps me honest. Is the primary use case for something like this cleaning your own code or other people's?

<comment><USER24> The point is there are things that don't violate pep8 that are still atrocious

for example:

        some_function(long_variable_name_and_stuff, long_variable_name_and_stuff,
                                      long_variable_name_and_stuff)

The lower indentation level doesnt actually matter at all says flake8

edit: To below, that's possible. I can't remember the exact case right now but there are things along these lines that are valid and shouldn't be. Multiple possible indentation formats is not necessarily something you want to allow as an org, which is where something like YAPF comes into play

<comment><USER23> I wonder if that's a configuration thing. Mine gives me a "continuation line over-indented for visual indent" here.

</comment></comment></comment><comment><USER25> There seems to be a problem parsing backslash escapes:

echo 'foo="\\\"' | PYTHONPATH=/tmp/yapf/yapf python /tmp/yapf

Raises a lib2to3.pgen2.parse.ParseError.

Also crashes on \n, but not, strangely, on \t.

I'm guessing that the backslashes get interpreted twice, somehow.

<comment><USER7> Are you sure this is not a shell artifact? Does the same problem happen when there's a \\\ in a file? In any case, feel free to open a Github issue for yapf, we'll take a look

<comment><USER25> Yes, it was when parsing a file I encountered it. The one-liner shell command is just a minimal repro of the bug.

Apparently I need to "Sign in" to report a Github issue, so I won't.

<comment><USER7> Sorry, I can't reproduce this. I'm trying on this file: [https://gist.github.com/eliben/9727758f4847d2e7d86e](https://gist.github.com/eliben/9727758f4847d2e7d86e)

And yapf runs just fine on it. Does this file work for you?

<comment><USER25> Nope.

      Traceback (most recent call last):
        File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
          "__main__", fname, loader, pkg_name)
        File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
          exec code in run_globals
        File "/tmp/yapf/yapf/__main__.py", line 18, in <module>
          sys.exit(yapf.main(sys.argv))
        File "/tmp/yapf/yapf/__init__.py", line 104, in main
          verify=args.verify))
        File "/tmp/yapf/yapf/yapflib/yapf_api.py", line 99, in FormatCode
          tree = pytree_utils.ParseCodeToTree(unformatted_source.rstrip() + '\n')
        File "/tmp/yapf/yapf/yapflib/pytree_utils.py", line 100, in ParseCodeToTree
          tree = parser_driver.parse_string(code, debug=False)
        File "/usr/lib/python2.7/lib2to3/pgen2/driver.py", line 106, in parse_string
          return self.parse_tokens(tokens, debug)
        File "/usr/lib/python2.7/lib2to3/pgen2/driver.py", line 71, in parse_tokens
          if p.addtoken(type, value, (prefix, start)):
        File "/usr/lib/python2.7/lib2to3/pgen2/parse.py", line 116, in addtoken
          ilabel = self.classify(type, value, context)
        File "/usr/lib/python2.7/lib2to3/pgen2/parse.py", line 172, in classify
          raise ParseError("bad token", type, value, context)
      lib2to3.pgen2.parse.ParseError: bad token: type=55, value=u' ', context=('', (1, 5))

<comment><USER7> Interesting. Can you cite the exact version of Python 2.7 you're using?

Mine is 2.7.6

I'm asking because bugs get fixed in lib2to3 occasionally, and we see differences between minor Python versions in this regard.

<comment><USER25> Python 2.7.3, the normal one from the current Debian stable.

<comment><USER7> The time diff between 2.7.3 and 2.7.6 is a year and a half, and lib2to3 got a bunch of fixed merge in during that period. I peeked at the CPython logs, and there's a number of changes so this bug may very well have been plugged.

I guess we should be recommending the latest Python 2.7 possible, since it's very difficult for us to work around lib2to3 bugs in yapf - we're basically limited to whatever it can parse. Some things can be monkey-patched, but core parsing bugs are challenging.</comment></comment></comment></comment></comment></comment></comment></comment>


How Superman Defeated the Ku Klux Klan - <AUTHOR> http://mentalfloss.com/article/23157/how-superman-defeated-ku-klux-klan

<comment><USER2> I just read about this in a book Freakonomics by Steven D. Levitt and Stephen J. Dubner.

I was amazed how well the Superman stories worked.

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

</comment><comment><AUTHOR> Episodes 985-1000 here: [http://www.botar.us/superman.html](http://www.botar.us/superman.html)

</comment><comment><USER3> Someone else watches Drunk History I guess.

<comment><AUTHOR> Guilty :)</comment></comment>


I Was the Fastest Girl in America, Until I Joined Nike - <AUTHOR> https://www.nytimes.com/2019/11/07/opinion/nike-running-mary-cain.html <comment><USER2> So, the coaches of an athletics program underfed an athlete to the point where she "lost her period for three years and broke five bones". Sounds terrible. The article claims:

> A big part of this problem is that women and girls are being forced to meet > athletic standards that are based on how men and boys develop. If you try to > make a girl fit a boy's development timeline, her body is at risk of > breaking down. That is what happened to Cain.

I wish they would expand on this a little more - are the coaches broadly incompetent or do they have a specific misconception about how to train women? What do they belive that is causing them to underfeed their athletes?

<comment><USER3> Thinner is faster, up to a point, but as noted in the article if you take it too far it leads to injury. I suspect a lot of the grey area stuff NOP was infamous for, i.e. abuse of prescription drugs and therapeutic use exemptions, allowed Salazar to be more successful with this approach with other athletes. For most runners, the short term speed gains of losing weight ultimately do not outweigh the lost training from injury, but if you can get a shady doctor to help with the negative side effects then the calculus changes.

Also, I wouldn't say Salazar is incompetent, but he was supposed to be this distance running genius and it seems more and more like he was no better than the dozens of crappy DI college coaches out there who get a lot of talented athletes, grind them up, and see who survives, leaving a trail of injury and burnout in their wake. Salazar just had access to better talent and drugs.

<comment><USER2> Interesting, thanks!

</comment></comment></comment><comment><USER4> Is there a high profile, competitive environment where children perform that has not resulted in a lot of damaged children?

Examples from music (Jackson Five), TV and Movie child actors, this example, and the USA gymnastics all come to mind.

<comment><USER5> Wrestling. I've found that the people that fall short at each level leave the sport with a discipline and sense of accomplishment unlike any other sport.

While the unhealthy weight cuts aren't completely in the past, they have been addressed and greatly mitigated.

<comment><USER6> Wrestling is notorious for eating disorders, performance enhancing drug use, dehydration (via cutting water weight - sweatsuits specifically), etc.

But also has its own historical accusations of drug use, abuse, murder with its own documentary [https://en.wikipedia.org/wiki/Foxcatcher](https://en.wikipedia.org/wiki/Foxcatcher)

If we choose time periods closely enough, most sports are probably scandal free 5-15 years at a time.

<comment><USER5> Your right, I misread. Historically wrestling has been awful. It's the rare example of something coming out better from lessons learned.

</comment></comment></comment></comment><comment><USER7> No dietician? That's honestly shocking for a "program" coming out of Nike.

</comment><comment><USER8> Wow. With programs like that, sweatshops, and general bad acting, Nike is some rotten company.

<comment><USER9> But their marketing is great! That's really all that matters anymore.

</comment></comment><comment><USER10> No pay wall:

[http://archive.is/6JMAR](http://archive.is/6JMAR)

</comment><comment><USER11> She thought she was joining Nike to be an athlete, but she was really joining to sell shoes. Can't have a thick muscular woman as a poster girl, that won't sell shoes!

Edit: It's sarcasm. Clearly Nike doesn't actually care about athletic ability if the only goal of their coaching was to get their female athletes to lose weight.

<comment><USER4> >Can't have a thick muscular woman as a poster girl, that won't sell shoes!

Serena Williams would beg to differ.

Instead of shrinking from her body shape or her age or her motherhood, she has embraced them and she and her brand are stronger for it. Of course, not everyone has the ability and confidence of Serena Williams.

<comment><USER11> Yeah she jumped out to me as the exception. I don't really think she represents "fitness" in the eyes of the consumer though, she's more of a "power and determination" person. Her sponsors are a bank, Gatorade, and a sporting goods company. None of those companies sell their product based on beauty/fit-ness.

</comment></comment></comment><comment><USER12> So is the story that the coaching was more ambitious than she could take or was it just misguided in general?

<comment><USER13> > In a program that should be tailored to every individual athlete, "more > ambitious than [any given athlete] can take" sounds like a fundamental > failure.

<comment><USER12> It _may_ have been a calculated "go big or go home" gamble.</comment></comment></comment>


It's time to reappraise the humble Choose Your Own Adventure book - <AUTHOR> https://www.prospectmagazine.co.uk/arts-and-books/the-oulipo-of-the-1980s-why-its-time-to-reappraise-the-humble-choose-your-own-adventure-book <comment><USER2> I'm currently finishing my PhD on interactive storytelling--how rhetoric works in interactive stories, how they can function as models or simulations of social realities (and thereby help us understand the dynamics of positionality, race, etc.), and how they represent a broadened view of what K-12 CS might look like.

I'd love to talk more if anyone's interested!

* [Unfold Studio]([https://unfold.studio/](https://unfold.studio/)) is a web app for reading and writing interactive stories, using the programming language Ink.

* [A draft]([http://chrisproctor.net/media/publications/proctor_2018_unfo...](http://chrisproctor.net/media/publications/proctor_2018_unfold_studio.pdf)) article offering a conceptual framework, documenting the web application, and analysis of how student authors used it.

<comment><USER3> A tool I have used in the past (and one of the favorites for folks doing full Visual Novels) is "RenPy" which is based on Python - [https://www.renpy.org/](https://www.renpy.org/)

Not involved with the tool itself, but have created a few works with it and enjoy the fact it can run on so many platforms and target so many others.

<comment><USER4> Another one that's been around for decades at this point is the Inform[1] platform. There's still an active group of people who produce all sorts of interactive fiction books in the vein of CYOA books that are of surprisingly great quality.

[1]: [http://inform7.com/](http://inform7.com/)

<comment><USER5> Yet another tool of note for writing CYOA interactive fiction is Twine ([http://twinery.org/](http://twinery.org/)), which has become a defacto standard of sorts of an interactive narrative writing tool more specifically for hypertext CYOA.

For example of its growing ubiquity, it was admitted that most of the Black Mirror Bandersnatch CYOA episode was written and tested in Twine.

</comment></comment></comment></comment><comment><USER6> What rekindled my love of CYOA was the Fabled Lands series of books (unfortunately unfinished currently). Rather than linear progression, it used a hub and spoke style to make essentially an open world RPG. Each book extended the world and you could travel from one book to the other. Plenty of tasks to complete. This page shows the difference in layout vs a typical CYOA: [http://www.squidi.net/three/entry.php?id=204](http://www.squidi.net/three/entry.php?id=204) And here's the main page: [http://fabledlands.blogspot.com/p/fabled-lands- gamebooks.htm...](http://fabledlands.blogspot.com/p/fabled-lands- gamebooks.html?m=1) which also has links to extras to play (even an app). I recommend anyone interested in CYOA check them out.

<comment><USER7> Fabled lands is great, a real masterclass in building a freely traversable world with persistent state using very minimal notation. I love how they wrote little adventures that are triggered in one location in one book, require you to go to a location in another book, complete some task and the return to the starting point, all tacked with a few simple check boxes. Great stuff. One of the authors has a great gaming blog.

[http://fabledlands.blogspot.com/](http://fabledlands.blogspot.com/)

<comment><USER8> > require you to go to a location in another book,

That's some very powerful and clever up-selling, but was it not enraging in practice?

<comment><USER9> Well, if they haven't included any connection to other books, people could complain that it's too self-contained, there is no way to win.

</comment></comment></comment></comment><comment> m-i-l The only Choose Your Own Adventure book I had was "Inside UFO 54-40". The objective was to reach the paradise planet called Ultima Thule. Looking through all the pages in the book, there was a page for Ultima Thule, but working backwards there didn't seem to be any page "linking" to it. I assumed it must have been a "bug" (I'd had several low budget paperbacks with missing pages or other assembly errors by that time), but only found out relatively recently that it was actually a "feature": "As the series progressed, both Packard and Montgomery experimented with the gamebook format, sometimes introducing unexpected twists such as endless page loops or trick endings. Examples include the 'paradise planet' ending in Inside UFO 54-40, which can only be reached by cheating or turning to the wrong page by accident"[0].

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

<comment><USER10> So that's where the name Ultima Thule [1] came from! I remember this book, and I remember stumbling upon the ending and coming to the same conclusion: The only way to get there is to break out of the storyline imposed by the author. A nice sophisticated bit of meta-narrative there.

[1] [https://www.nytimes.com/interactive/2018/12/31/science/new-h...](https://www.nytimes.com/interactive/2018/12/31/science/new- horizons-ultima-thule-flyby.html)

<comment><USER11> Ultima Thule was classic/medieval Latin name for a supposed place beyond the northern borders of the known world.

From time to time the name was used to refer to Norway, Iceland or Greenland but no real place is really consistent with all the stories that were told about it. The historian Polybius refers to Pythea "telling us also about Thule, those regions in which there was no longer any proper land nor sea nor air, but a sort of mixture of all three of the consistency of a jellyfish in which one can neither walk nor sail, holding everything together, so to speak."

Some Nazis also thought it was the mythical origin place of the Aryan race and there's been some fuss made about that, but Nazis thought (and think) a lot of stupid stuff.

The CYOA book was just making reference to this mythology.

</comment></comment></comment><comment><USER12> It seems like Netflix is thinking the same way. Their "Bandersnatch" Black Mirror special (released recently) has a choose-your-own adventure interactivity to it. I'd consider it a spiritual successor to the books.

[https://mashable.com/article/black-mirror-bandersnatch- revie...](https://mashable.com/article/black-mirror-bandersnatch-review/)

<comment><USER13> I assumed this article was either or written by someone watching or reading about the episode. It seemed nearly impossible to not know about it in the internet world I inhabit. For what it's worth, I understood the genesis of that project to be in the series creator's mind, that it was then brought to Netflix who developed a system to accommodate the project.

From what I've read I imagine the CYOA conceit leads to the the same kind of tradeoffs relative to more linear storytelling as in the books. The story ends up serving the structure, and the necessity of generating more content leads to a decrease in attention paid to to the stor[y,ies] as a whole. And there's nothing exactly wrong with that, I guess, since many pieces of art are dominated by structure over content. In particular, the interactivity leads to better engagement with the viewer, and may be used to explore concepts such as free will. Or it can allow there creator or viewer to engage in solipsism. Or it can just be a cheap gimmick that gains attention (clicks, hours of user engagement, sales, etc.).

<comment><USER14> I don't know for sure, but I don't think Bandersnatch drove the Netflix interactivity work, rather vice versa. Charlie Brooker (whose previous work includes reviewing video games and TV shows, both of which underpin aspects of Bandersnatch, not least the name itself) is an obvious choice for Netflix to approach to see if this has wings, because if Brooker can't do anything with it, then it's not going to come off any better in someone else's hands. Also the Black Mirror anthology style means a misstep is easily forgiven / forgotten by fans. If you hate "San Junipero" (you are a weird person and don't deserve love) that doesn't taint "Nosedive" or "White Bear". If you found "Shut Up And Dance" too awful to think about, you can enjoy "Hang The DJ" or "The National Anthem" despite that. If "Bandersnatch" failed it wouldn't change anything else, at worst fans would be annoyed that time was wasted filming for Bandersnatch instead of some other episode.

Netflix had previously landed several less important interactive works in 2018, such as Puss in Boots, before attempting Bandersnatch. And this approach is effective at reducing bootlegging - there aren't existing tools that let "pirates" make an interactive video, so if you want the actual experience you'll be stumping up for Netflix. That means it helps underpin their financials.

</comment></comment></comment><comment><USER15> To me the greatest author of these types of books is Steve Jackson ( [https://en.wikipedia.org/wiki/Steve_Jackson_(British_game_de...](https://en.wikipedia.org/wiki/Steve_Jackson_\(British_game_designer\)) ) who worked on the Fighting Fantasy books and the amazing Sorcery series ( [https://en.wikipedia.org/wiki/Steve_Jackson%27s_Sorcery](https://en.wikipedia.org/wiki/Steve_Jackson%27s_Sorcery)! - HN URL parser breaks on this link - add the ! at the end )

His greatest book IMO was Creature of Havoc ( [https://en.wikipedia.org/wiki/Creature_of_Havoc](https://en.wikipedia.org/wiki/Creature_of_Havoc) ) - as a 12 year old I took me and a friend of mine several months to finally complete - it had game elements which made it very hard to cheat.

<comment><USER16> You can replace the ! with a %21 and the parser will handle it: [https://en.wikipedia.org/wiki/Steve_Jackson%27s_Sorcery%21](https://en.wikipedia.org/wiki/Steve_Jackson%27s_Sorcery%21)

Inkle studios did an interesting adaptation for the Sorcery series for mobile. Their games feel a little closer to CYOA than traditional interactive fiction: [https://inklestudios.com/sorcery/](https://inklestudios.com/sorcery/)

They've also open-sourced a markdown format for CYOA games along with a compiler to json and an engine to execute it: [https://github.com/inkle/ink](https://github.com/inkle/ink)

<comment><USER17> I really like those games, I got all of them and they feel very immersive to play. I would recommend them wholeheartedly.

<comment><USER18> I agree. I got the first Sorcery game for free when it was available and frankly I didn't imagine me playing it (text only game didn't look good) but after 15 minutes I was completely immersed. I bought the rest of the series and spent weeks replaying them with various choices. For me now they are the best original mobile games I've ever played (and I buy a lot of stuff).

<comment><USER17> That's exactly my experience as well, I never really play mobile games but Sorcery! had me hooked.

</comment></comment></comment></comment></comment><comment><USER19> >> The simplicity, clarity and imaginative capacity of literature offers something that games, which immerse the player in immaculately-rendered environments, can lack.

Right? No matter how many polygons, what analysis, how many months spent rendering a single tentacle, there will never be a CGI Great Cthulhu that will make me step out of my house in the middle of the night shining a flashlight at the shadows _to make sure nothing is hiding there_. But good old H.P.'s purple, racist prose did that to me. Or, I guess, my own imagination did.

(I was just small, OK?).

<comment><USER20> Supposedly, the Monster is never described in detail in Frankenstein precisely because Mary Shelley agreed with you.

</comment></comment><comment><USER21> This article tries to draw some link between CYOA books and adventure games such as Monkey Island which I don't believe exists at all.

Adventure games, in general, do not have branching narratives of any kind. They use interactive mechanics to amplify/guarantee the thrill of relevation. Apart from this interactive twist, they are very close to normal Detective Fiction (which also tries to deliver similar things through non-interactive mechanics).

I actually really resent CYOA's influence on gaming. This idea of Audience Control being a kind of grand distinguishing feature of gaming as an art form is an absolute cancer.

The actual experience of branching narrative fiction is in my experience, without fail, shit. To the extent Bandersnatch works at all it's due to the meta nature of the story. Can you imagine any other Black Mirror story adapted to this format?

<comment><USER22> Much stronger similarity is found in the "Visual novel" style games, although those are not so popular in the US. That also they have been to some degree influenced by the CYAO book format seems plausible.

<comment><USER23> I'd say they used to be unpopular in the west, but that's changed. See [https://itch.io/games/genre-visual-novel](https://itch.io/games/genre-visual- novel) for a sampling of games that are mostly made in the west, as well as Russia and Southeast Asia.

</comment></comment></comment><comment><USER24> I used to be a great fan, but now I find this format tedious and anything but fun, especially for a completist like me. I'm not going to work my way through all the menus in Bandersnatch to see 5 hours of content just like I'm not going to really read all of a CYOA book.

The format demands something of you, but it gives very little in return (except for accessing new content). But novelty hidden in the thing I bought, when it's locked not behind some clever puzzle but just a wall of time, well, I'm not interested.

Yes to interactive stories (aka "Games"), No to CYOA tedium. The only thing worth doing with these things is reading/watching them through and making a diagram of the branches. Otherwise it's the storytellers job to pick the branches, and to show me a good sequence.

<comment><USER25> Do you also hate games with branching paths? It's the same in the end. Either you play the branches of the game or you read the branches of the book. Based on your comments you must hate games like Witcher 3 since you can (and do) make choices that choose one branch over another.

</comment></comment><comment><USER26> I've had some fun writing interactive stories with my kids lately using [http://twinery.org/](http://twinery.org/) – it has a very usable interface, though I've been doing all the typing and helping them organize their thoughts and the choices.

Here's an example story written with my four-year-old (with some help from her older sister): [https://ianb.github.io/Choose-Your-Own- Adventures/Alphabet-F...](https://ianb.github.io/Choose-Your-Own- Adventures/Alphabet-Finding-Their-Names.html) – if you've had a four-year-old tell you a story, it makes as much sense as you would expect!

<comment><USER27> Tell your daughter that the exploding banana caught me. Next time I will not trust the monkeys.

</comment></comment><comment><USER28> Reminds me of second grade, when I showed my teacher a CYOA book I was reading and she contacted my parents to warn me about it being a bad influence. Apparently some Christian sects expanded the fearmongering about D&D to CYOA, which made it a tool of the devil.

Ah, the days of growing up in the American South!

<comment><USER29> It works without religion, too. I'm a parent of elementary age kids in California and I've seen both Minecraft and Fortnite completely demonized by people with no religious concern.

I've noticed that in many of these cases, the parent's conclusion is never "my kid needs help and IDK what to do," but rather it's always the object that's _external to the kid and parents_ that's at fault.

</comment></comment><comment><USER30> This article was written well before the announcement or release of Netflix's "Bandersnatch". While I liked the concept, and probably spent at least an hour with it, I thought it underscored the weaknesses of the genre, when compared to traditional linear narrative, such as how the alternate paths/realities almost necessarily dilutes the themes and characterizations.

In any case, I don't see the need to bring back the CYA book. As video games get more and more book-like, including the "interactive novel" genre, they seem to fill the role better than any CYA book ever could.

</comment><comment><USER31> This may be unfair, but I tend to not trust the quality of "Choose Your Own Adventure"-style books to be particularly high just because it's hard enough to write a great novel to begin with; throw in a maze of branching possibilities and unless the author is willing to put in vast amounts of effort (even relative to the massive effort already required to write a great novel)—it's likely quality will have to be compromised. (I think the exception may be when the structure of the particular story is somehow related to branching narratives to begin with, e.g. Bandersnatch.)

That said, I did enjoy reading some Choose Your Own Adventure books as a kid and haven't actually revisited them in close to two decades.

Writing interactive fiction has also appealed to me, but I've been discouraged from even trying for the same reasons mentioned in my first paragraph.

<comment><USER32> The same could be said about Hypertext Fiction in the 15+ years ago time, but that doesn't mean it can't be improved upon (look at cave paintings).

We're still in the silent movie era of internet media and content, where pretty much everybody could (and did) try something, and there were a (relative) zillion releases to prove it. Either by attention or chemistry a lot of it didn't survive, but it eventually built concepts that are still in use today.

<comment><USER11> You can't argue from cave paintings. Cave paintings are incredible.

If you found an Unfrozen Caveman Painter you'd put him or her to work at a design firm with zero hesitation and arguably it took us until the early 20th century to understand what made cave paintings so powerful.

</comment></comment></comment><comment><USER33> I'm not sure if the author is actually keeping track of things but CYOA are still popular. I was literally one of the first wave of kids who got the books (I have a first printing, first edition of Cave of Time) and thought it would be fun for my kids to read.

But you can't find it for less than $6-8 per used book, even on eBay. They are pretty expensive and very popular. Very disappointing from the point of someone who wants to buy them cheap but it's nice to see that they are still appreciated.

<comment><USER34> [https://www.cyoa.com/](https://www.cyoa.com/)

They have reissues for most of them through Chooseco.

<comment><USER35> They have reissues for the books by R.A. Montgomery through chooseco. The books by Edward Packard are not included. I did a bit of Googling, and found an interview where he explains that it was a trademark thing, where Random House let it lapse, Montgomery snagged it and put his books out under the trademark of 'CYOA', while Packard instead made some into mobile apps under the name U-Ventures: [http://www.gradyhendrix.com/edward-packard- interview/](http://www.gradyhendrix.com/edward-packard-interview/)

</comment></comment></comment><comment><USER36> I feel like there is a giant gaping hole of information, which is that visual novel games in Japan are cyoa style stories, and are very popular. The article here has a lot of words, but nothing much to say.

</comment><comment><USER4> Choose your own adventure books, notably the RL Stein "Give Yourself Goosebumps" variety were the books that swept my imagination away and really lit the spark for reading as a young kid.

There's an art to driving curiosity that I think CYOA books really plays well with. It's accessible by anyone to anyone without the need for technical skills, given all you really need is a basic understanding of free text editors and maybe some mind mapping software to keep structure. We've seen countless CYOA book-style games out within recent years, including "the uncle who works for nintendo"[1], "Buried"[2], and I don't know who could forget "Stories Untold"[3] which to me shows that the art is expandable from the text form up to a more immersive experience. It lends itself to be improved upon, from base story to games, movies, and more.

I would be absolutely thrilled to see a CYOA revival, and if somebody did a kickstarter or indiegogo where they gathered some notable authors to do something a la "Bandersnatch", I'd happily toss some money at it. It's a facet of my childhood I feel wasn't properly respected and I'm glad to see it getting some recognition at last.

[1]: [https://ztul.itch.io/the-uncle-who-works-for- nintendo](https://ztul.itch.io/the-uncle-who-works-for-nintendo)

[2]: [https://store.steampowered.com/app/434370](https://store.steampowered.com/app/434370)

[3]: [https://store.steampowered.com/app/558420](https://store.steampowered.com/app/558420)

<comment><USER37> Don't forget Ryan North's "To Be or Not To Be: A Chooseable-Path Adventure" and "Romeo and/or Juliet: A Chooseable-Path Adventure".

</comment></comment><comment><USER38> There is also Julio Cortázar's "Rayuela" book. Which could be read in the traditional order or begin in chapter 37 and at the end it would tell you which other chapter to go. [https://en.m.wikipedia.org/wiki/Hopscotch_(Cort%C3%A1zar_nov...](https://en.m.wikipedia.org/wiki/Hopscotch_\(Cort%C3%A1zar_novel\))

</comment><comment><USER39> One of the most popular (with children in particular I imagine) Alexa skills[1] is a 'choose your own adventure' type interactive storybook.

The parser style of IF lends itself well to the medium, I believe.

[1]([https://www.amazon.com/The-Magic-Door- LLC/dp/B01BMUU6JQ](https://www.amazon.com/The-Magic-Door-LLC/dp/B01BMUU6JQ))

</comment><comment><USER40> Very timely for me. My wife bought a bunch of choose your own adventure books at a antiques store just before Christmas, and she's been engrossed in them since.

I always thought of them as a sort of offline version of Zork.

</comment><comment><USER41> I recently got into the CYOA world by trying a text based game and an interactive story. I found the story a lot more enjoyable because it provided complex characters and a rich world that would get revealed as the story continued. The text based game was more driven by the player by choosing where to walk and what to look at. It was a puzzle game more than a story.

The story I am reading is an app called "Magium." It is a CYOA with an RPG element. I have really enjoyed it so far as my first CYOA story (it is currently unfinished and is being released chapter by chapter).

</comment><comment><USER42> I think CYOA books and e-book readers are made for each other.

Sadly, I have not know any push on that direction.

</comment><comment><USER43> I think they have been revived by one of the original authors [1]. A friend who bought these for his son mentioned these a while back, but said the books are no longer violent. I only remember reading one CYOA, but I think I was burned to death on an electric fence or something. Anyway, something to look into if you care about that.

[1]([https://www.cyoa.com/](https://www.cyoa.com/))

</comment><comment><USER44> > "If you decide to fight the squid with your spear gun, hoping to scare it > off, turn to page 17," one book says. "If you decide to signal Maray to pull > you up at top speed, knowing you will get the bends, turn to page 19."

I died to that very squid when I was 11 :-/ :D Though that was already in the 2000s, our school library still had a couple of CYOA that I quite enjoyed.

</comment><comment><USER45> A couple of years ago I did an experiment to try to mix interactive fiction with a book from the Lone Wolf series (available freely via Project Aon): [https://projectaon.org/staff/christian/gamebook.js/](https://projectaon.org/staff/christian/gamebook.js/)

<comment><USER46> I came here to post a comment about the Lone Wolf books, but this is even better!

</comment></comment><comment><USER47> I've been working on an text-based interactive storytelling RPG called Danger World[1] for iOS and Android. If anyone in the HN crowd is interested in checking it out, I'm happy to send out beta (alpha?) links.

[1] [https://danger.world](https://danger.world)

</comment><comment><USER48> If this piqued your interest in playing one, I wrote a modern audio-based CYOA and accompanying app to play it: [https://playroadtripadventures.com](https://playroadtripadventures.com)

It's great for playing with others while you travel!

</comment><comment><USER49> It's funny, I think I've only ever opened a handfull of CYOA books and was never really interested in the genre, but I've had more fun with forum-based CYOA games, where one player is writing the story (and doing lots of ass-pull along the way) and the end-of-chapter choice is voted by the forum members. It gets really fun, with the interactivity between the writer and the player.

Or even just playing a CYOA style game (we did with sabres & guns of infinity) like this, we ended getting the worst possible ending short of dying but it was fun.

</comment><comment><USER50> The thing about 80s nostalgia that's strange to me is that it's lasted so long. It kicked off around 2000 or whenever _The Wedding Singer_ came out, after what seems like a brief flicker of '70s nostalgia, and somehow it just keeps going. I'm looking forward to the '90s coming back around, but it doesn't seem to be on its way yet.

</comment><comment><USER51> If you like CYOA books, you might also enjoy playing the Sherlock Holmes Consulting Detective games[1], which have a similar mechanic.

[1] [https://boardgamegeek.com/boardgame/2511/sherlock-holmes- con...](https://boardgamegeek.com/boardgame/2511/sherlock-holmes-consulting- detective-thames-murder)

</comment><comment><USER52> There's a board game of sorts, that plays like a CYOA:

Legacy of Dragonholt

[https://boardgamegeek.com/boardgame/234669/legacy- dragonholt](https://boardgamegeek.com/boardgame/234669/legacy-dragonholt)

Works well in groups of 4 or 5, with people taking turns reading from the book.

</comment><comment><USER53> Web platform designed for interactive storytelling: [https://fiction.live](https://fiction.live)

</comment><comment><USER54> We made one in Facebook messenger; people seemed to like it and it helped us grow our audience.

</comment><comment><USER55> The author is mentioning 'Stranger Things' as being nostalgic for the growing old kids born in the 80s, but last time I checked Steanger Things audience are teens... he got this wrong

<comment><USER56> Where/how did you check that? I am in my mid-30s and know several people who are my age and a bit older who like Stranger Things.

I don't think real data on Netflix viewership is public, is it? My presumption is Netflix guards that data way too much to share it.

<comment><USER57> Yeah, from my experience people from their mid-twenties to mid-forties are fans. People outside those ranges don't seem to care much. I'm in my early 40s (I'd have been closest to Will's age I think) and a huge fan of the show.

The best I could find was this:

[https://variety.com/2017/tv/news/stranger-things- season-2-ra...](https://variety.com/2017/tv/news/stranger-things- season-2-ratings-nielsen-1202605585/)

> According to Nielsen ... each episode of ... season (2) drew more than 4 > million viewers per episode, and with more than 3 million of those falling > in the key adults 18-49 demographic within the first three days of its > release (Oct. 27-29).

The article goes on to quote other statistics (including 15 million + viewers of the first episode). And then:

> "The data that Nielsen is reporting is not accurate, not even close, and > does not reflect the viewing of these shows on Netflix," the company said in > a statement at the time of the original announcement.

I'm not certain how Nielsen collects data these days, but in the early aughts, our local Fox station waged a campaign to get younger viewers to participate in Nielsen studies because the data Nielsen had showed no one was watching syndicated episodes of the Simpsons, so advertisers wouldn't pay. (I suspect the advertisers knew people were watching and just wanted a discount.) The campaign seemed to work (and was also the one and only time I was in a Nielsen household).

Since then, I still take Nielsen ratings with a huge grain of salt, so I'm inclined to believe the Netflix statement that we really don't have any idea.</comment></comment></comment>


Sanctimoniously self-made - <AUTHOR> http://baweaver.com/blog/2014/10/18/sanctimoniously-self-made/ <comment><USER2> _By listing so much on a requirement, you may well be scaring off some truly brilliant people with a greater than average amount of modesty, a trait this industry sorely needs more of._

Going a bit deeper on this, men and women tend to have a very different threshold for applying to jobs when they don't meet 100% of stated requirements. If, when you look around your team and see a bunch of self- aggrandizing dudes, realize that is what your job listings and hiring processes are optimizing for.

<comment><AUTHOR> OP here.

Which really gets me, and I mention it in another comment on site. It's probably a good portion of the reason we don't have a great deal of women in the tech industry.

They tend to have a lot more modesty on their resumes, and a nightmarishly disturbing amount of impostor syndrome dragging them down like cinder blocks. What's annoying is that without a woman on team, it legitimately feels like you're missing something.

Put simply, we think differently, and that manner of different thinking is critical to preventing some really unruly code and architectural patterns from happening. I get worried every time I see an all-male team because there's not that dissonance there to keep things more on the level.

<comment><USER3> It's worth remembering that the number of women in the tech industry tracks pretty well with the number of women in the tech industry training pipeline.

<comment><USER2> There are a lot of men in the industry who come from an alternative training pipeline. Brash men without CS degrees (like me) have no problem applying to listings having "CS or equivalent" as a requirement.

<comment><USER3> And yet the net percentage of women tracks pretty well with that in the training pipeline. So perhaps that doesn't skew things as much as you might think.

<comment><USER2> I don't understand your (repeated) point. Are you defending the status quo? Are you claiming that nothing done in industry matters?

<comment><USER3> I'm saying that the gender gap manifests well before issues in industry can reasonably be expected to take their toll.

Which is not to say that there are not major problems in industry. Just that there are problems upstream of those.

EDIT: In other words, how you word a job posting definitely has an effect on who applies. It probably doesn't have a huge effect on the decision of a sixteen year old girl considering taking a computer course.

<comment><USER2> Got it. I read the story about applying to jobs with overbroad requirements more of a "glass ceiling" thing than a "glass wall" thing. Even if you've got a tech industry job, you might be less eager to try a lateral move.

</comment></comment></comment></comment></comment></comment></comment></comment><comment> Link- People in general have an inherent need for 'heroes'. This need for an idolized leader, the protector of all and the 'savior of humanity' has manifested itself across the ages and I don't think there's a need to enumerate the instances. This recurrent phenomena will not fade away soon. I'm sure that in many cases these self-made achievers have thanked and acknowledged those who got them there, whether in public or in private. The problem is that the masses want only one hero and can only remember one.

Edit-- This might be relevant: [http://ed.ted.com/lessons/what-makes-a-hero- matthew-winkler](http://ed.ted.com/lessons/what-makes-a-hero-matthew-winkler)

<comment><AUTHOR> Interesting point. Really it seems to be something ingrained in our mentality that would take something truly significant to change.

<comment> Link- I personally believe this is an evolutionary trait that has stuck with us across the cycles. I can't find scholarly articles that discuss this topic at the moment but I'm quite sure many have studied it.</comment></comment></comment>


Marissa Mayer: "I don't believe in burnout" - <AUTHOR> http://it-jobs.fins.com/Articles/SBB0001424052702303404704577309493661513690/How-Google-s-Marissa-Mayer-Manages-Burnout

<comment><USER2> Back in the 90s, at Naughty Dog, we worked 100 hour weeks. After three years, people started to go crazy. By the end of Crash Bandicoot 2, one of the artists went completely ape about something random on a level we were working on and threw a chair at me. It was at that moment that I realized that our limits were biological and not simply a matter of will.

We pulled all-nighters in which only a handful of us were doing more than one trivial task per hour. 100 hour weeks were sustainable if you didn't mind the occasional psychotic outburst. All-nighters were uniformly unproductive.

I do not believe that working 130 hours is physically possible for more than a single week. This sounds like "no, really, I _deserve_ to have hundreds of millions of dollars," because "I just worked _so_ hard." I don't believe it. I also think it's a horrible model for entrepreneurs.

If you want to produce great work, get enough rest, exercise, and perspective. If early Google employees really did what Marissa says, they should be thankful that they were lucky enough to overcome it, not credit their success to it.

We all know early Google employees made an absolute crapload of money. But not because of 130-hour weeks. Because they had the guts to work on a search engine when, in Marissa's words, "There were already twelve search engines and it was unclear why the world needed another one."

I remember _everyone_ thinking that. Kudos to Larry, Sergey, Marissa, et al for improving search _just because_ , and _later_ ending up with the most lucrative business model in the history of the world. But shame on Marissa for perpetuating the myth that working stupid hours and abusing yourself (and others) is the path to success. It isn't.

<comment><USER3> > the myth that working stupid hours and abusing yourself (and others)

From re-reading the article, it sounds like there's only one of those factors in play - working stupid hours. It sounds like the management at Google are appreciative and actively looking out for people.

Which gels with my experience - for most people that I know and have read of who have burned out, it's been a combination of long hours, feeling unappreciated/exploited and being trapped somehow, due to obligation, financial commitment or "We've got to finish this damn game!". (This guy: <http://news.ycombinator.com/item?id=3768219> seems to have burnout-proofed himself by being willing to quit when things get rough and aren't getting better)

If you had the most awesome job that you could think of, with perks and people appreciating what you do, it might be possible to work 100 hour weeks for years and not go crazy.

</comment></comment><comment><USER4> "It was 130 hour weeks. People say, 'there's only 168 hours in a week, how can you do it?' Well, if you're strategic about when you shower and sleeping under your desk, it can be done."

Why would you give this much of your life to a company that will replace you in a heart beat? Not to mention all of the negative health benefits that comes along with these kinds of habits. Your life just isn't worth increasing the company's net worth by a few more dollars.

I would be resentful about working over 40 hours and not owning a majority share in the company. Is she going to fix that for me too?

I've known people like her. Work addicts. It's as much of an addiction as anything else and shouldn't be considered "normal".

</comment><comment><USER5> (1) I don't believe in burnout either but a 130 hour work week is 18 hours of work a day. That leaves only 6 hours for food, drink, cleaning, sleeping and socialising. It is possible if you enjoy your work, don't require much sleep, are able to mix socialising with work, and pay for somebody else to do your cleaning. For the vast majority of individuals it is unrealistic, depression inducing and unlikely to make their bosses or themselves richer.

(2) If you're trying to become more productive this is an extremely stupid idea. Using more of your time is at most a linear improvement in work output; if you wish to do more work you should spend time reading about and practicing methods of doing more in an hour. Technology and knowledge have the capacity to be multipliers, so: learn how to scale repetitive tasks, learn quicker ways of programming, learn better ways of analysing problems, learn how to automate as much as you can. An extra couple of hours spent practicing these things will give far superior gains in work output.

(3) We should optimize for happiness. Don't spend all of your time working unless you enjoy working.

I quite happily work 60-80 hour work weeks and will push myself a little further if there is a deadline. This number includes lunch times, a very short commute and non-fiction books and articles to help keep my mind sharp. I have time to go out with friends to eat or have a drink and also can get my affairs in order. This, so far, has given me the greatest enjoyment out of life but I wouldn't push it on others:

Find your _own_ work-life balance.

</comment><comment><USER6> Wow, after all the sexism talk I've been seeing lately. The conclusion here really sticks it in.

'Asked if she was the only the only woman in her Stanford computer science courses, she said that she didn't remember.

"Asking the question, I worry, sometimes can handicap progress," she said. "I lived in a bubble. I was really good at chemistry and biology [growing up]. No one ever said, 'Wow, you're really good at this for a girl."

"If I felt more self-conscious about being a woman it would have stifled me more," she added.'

Informative nonetheless.

</comment><comment><USER7> I can't sustain anything over 40h for more than a month, in fact I think I would be almost as productive if I worked 30h instead of 40h, maybe I'm just not insane enough.</comment>


Music Programming for Java and JVM Languages - <AUTHOR> http://www.jfugue.org/

<comment><USER2> Very cool! I wonder how this compares to Princeton/Stanford's collaborative project ChucK in terms of performance: [http://chuck.cs.princeton.edu/](http://chuck.cs.princeton.edu/)

My main criticism of ChucK was the fact that it would oftentimes crash during compiling.

The benefit is that the timing in ChucK is _impeccable_ \- a necessity for music programming.

And if you combine either of these two languages with single-hit drum samples + some processing, it would be funny to see people automate the garbage we hear on the radio.

<comment><USER3> Actually, this library appears to be MIDI only.

</comment></comment><comment><USER4> Is this somewhat equivalent of Sonic Pi? [http://github.com/samaaron/sonic- pi](http://github.com/samaaron/sonic-pi) [http://sonic-pi.net/](http://sonic- pi.net/) Maybe not Sonic seems focused on live performing.

</comment><comment><USER5> While not related to the JVM, the functional aspect might be interesting for the scala and clojure people.

[http://haskell.cs.yale.edu/euterpea/haskell-school-of- music/](http://haskell.cs.yale.edu/euterpea/haskell-school-of-music/)

</comment><comment><USER6> Also add earsketch to the list of others [http://earsketch.gatech.edu/landing/](http://earsketch.gatech.edu/landing/)

</comment><comment> rational-future I thought, based on the title, this is something similar to Music to Code by - [http://mtcb.pwop.com/](http://mtcb.pwop.com/)

</comment><comment><USER7> some others:

clojure: [http://overtone.github.io/](http://overtone.github.io/) scala: [https://github.com/Sciss/ScalaCollider](https://github.com/Sciss/ScalaCollider)

</comment><comment><USER8> Oh man, this is officially Cool As Hell. I never bothered learning to play an actual instrument, but I've been intrigued by dabbling with one of these various "program music" environments for a while. But the learning curve and what-not seemed _just_ steep enough to put me off digging in. But this... this is Java! And that's my domain. (Yeah, yeah, bring on the flames, I don't care).

In about two minutes I had some of their examples up and running and can already see how to start having fun with this. I don't think I'll ever be a great music composer, but this might at least motivate me to finally learn some music theory.

<comment><USER9> if you can borrow a laptop (and MIDI controller) that has reaper, ableton, garage band or Logic Pro X loaded, i bet you'd be amazed at how they make harmonic and rhythmic structures accessible to anybody that wants to play music. GB is probably the most accessible of those

There's some other DAWs that i hear a lot about, FL studio, cubase, reason. Probably good also, i just don't know anything about.

<comment><USER8> It seems like when I hear people talking about "music programming" the most common software I hear mentioned is SuperCollider. How does that compare to the ones you just mentioned? Sorry if that's a dumb question, but I'm actually pretty clueless about this field. I'm just fascinated by the idea of being able to "play" music without the additional challenge of learning all the physical motions / muscle memory / coordination needed to: play guitar, play piano, etc. I also like not having to go out and buy an instrument. :-)

<comment><USER10> I highly recommend checking out the demo for Reason: [https://www.propellerheads.se/reason](https://www.propellerheads.se/reason)

And eventually you may want to check out Max/MSP for a more "programmy" composition environment (graphical programming but it supports Java and JavaScript coding as well).

<comment><USER11> Common Music is really cool. [http://commonmusic.sourceforge.net/](http://commonmusic.sourceforge.net/) It is a single executable for all platforms. There are coding examples in the Help menu in Scheme and a sans parenthesis lisp, called SAL. Bird calls are built algorithmically and sound almost real, but do not use any samples; the sound is built from scratch. Grace also has standard music naming too, if that's what you're used to using.</comment></comment></comment></comment></comment>


This tear down is what $5.5M buys you in Palo Alto - <AUTHOR> http://blog.sfgate.com/ontheblock/2016/06/17/this-tear-down-is-what-5-5m-buys-you-in-palo-alto/ <comment><USER2> I don't know why the article intentionally hides the address of this place. Annoying. It's 1027 Waverly. Here's the trulia listing, if anyone is curious (like I was):

[http://www.trulia.com/property/3236376439-1027-Waverley- St-P...](http://www.trulia.com/property/3236376439-1027-Waverley-St-Palo-Alto- CA-94301)

<comment><USER3> It's a shitty title anyway, it's suggesting the tear-down is somehow relevant to the price. Additionally, $5.5 million is the asking price, and luxury real estate is notoriously over priced in listings - the real price is usually tremendously lower.

<comment><USER4> What, so only $2.5M for that wreck?:)

<comment><USER3> $2.5 million for a huge plot of in land in a very popular city, in the most desirable state in the country, in one of the most desirable countries in the world. It seems pretty reasonable to me.

</comment></comment></comment></comment><comment><USER5> It's been reduced to $5M after 1 week[0]. Also, if you are buying, you're buying the lot, not the house. A 10,000 ft lot zoned for housing. (and a small old house you need to get rid off, which therefore actually has negative value)

[0] See randycupertino's link to trulia.

<comment><USER6> I doubt this is zoned for multiple dwellings.

</comment></comment><comment><USER7> This is what I dislike / don't understand about Palo Alto. Look around here ([https://email@example.com,-122.1312807,3a,75y,...](https://email@example.com,-122.1312807,3a,75y,33.22h,95.91t/data=!3m6!1e1!3m4!1sgsHWHVJMxzcp1iq0DscK6w!2e0!7i13312!8i6656)). This is 5 minutes by car to Stanford and to downtown Palo Alto. What do you see? Nothing! Empty sidewalks, empty lots, Jiffy Lubes, a lamp store. Nothing over a few stories high in sight. The entire place looks abandoned---yet this is in the center of one of Silicon Valley, where housing and space, we are told, are at a premium.

The culprit I suspect is the unwillingness of local governments to permit construction that would allow for affordable housing. Space is obviously not a problem.

<comment><USER3> I am not sure your conclusion makes sense. It's also perfectly possible that there isn't much development going on in this area because land prices are so high and the owners are waiting for someone to buy and develop. It doesn't make sense to build a $200,000 gas station on your plot of land worth $5 million dollars if someone is going to buy it within 5 years and tear down the gas station to build something catering to upper class residents living nearby.

Look at the stuff in that area that is clearly new development: A nice credit union, a Starbucks, a Corner Bakery, expensive name brand clothing store, a swanky private K-8 school, an optometrist for animals - all stuff that will continue to exist and make sense 10+ years from now when that entire area is built up with new development.

There are good arguments against changing commercial zoning to residential zoning. This is what creates suburbs, which I would assume Palo Alto wants to prevent.

<comment><USER7> That could be the case. The thing to note though is the lack of density. In a free market you would see developers taking advantage of the real estate prices by building vertically. That would encourage not sub-urbanization, but urbanization proper. I am suggesting that Palo Alto residents want to prevent urbanization by artificially limiting density which is bad for... well everyone, except existing property owners. And even that is questionable, the area I link here is not at all nice to live in because it feels abandoned and the businesses it supports are sub-urban---the muffler place, a crappy donut shop, a car wash. You want to drive by and get out as soon as possible. There is no convenient public transportation to the university that is only a few miles away. There are no cute coffee shops or bars to create a neighborhood feeling.

<comment><USER3> The existing people living there in their $1 million plus homes don't want to live next to a bunch of high density residential. They want a small, quiet community that doesn't have traffic problems. Obviously this sucks for everyone else that wants to live there, but I am not sure "build high density residential" is such a clear-cut correct solution. Do people in a city have the right to not want to encourage further population growth? My hunch is that they do, but maybe there's an argument that could persuade me otherwise.

Also, there's a bus line that does down the exact street you linked, and has many stops.

</comment></comment></comment></comment><comment><USER8> I'm pretty sure on 5.5M you can go to Spain, buy a very decent house in 1st line of sea and continue to live a good life till the rest of your days. :)

<comment><USER9> Yes, but taking pitch calls in Coupa is going to be hard if you live in Spain. Being able to just walk down the street to your pitch calls is the point of living in Palo Alto.

<comment><USER10> Spain will probably have internet eventually though, right?

/s

</comment></comment></comment><comment><USER11> When I see properties like this that have been abandoned, I often wonder what the story is...

UK: Someone (and I'm trying to find a source now) worked out there were something like half a million empty houses in UK because of developers going bankrupt, owners dying, abandonment &c. There are some legal tools to get housing back into use. And you need planning permission to change things sometimes.

<comment><USER12> In some parts of America, if the taxes for the property go unpaid for long enough, an interested party can start paying taxes and improve the property to gain legal ownership. This is effectively a formal method of squatting called "adverse possession".

<comment><USER13> Yeah, this happened a few years ago: [http://abcnews.go.com/Business/texas- man-claims-mansion-16/s...](http://abcnews.go.com/Business/texas-man-claims- mansion-16/story?id=14099714)

</comment></comment></comment><comment><USER14> This is why 3D holographic projections will have a massive impact on house markets. Not right now, or for the effect to take-hold over the next decade+, but soon (in terms of properties for a retirement plan). Because we'll be sitting next to each other despite potentially being very physically distant.

Investment property is places with high connectivity, nice external living environments (some like cool, some like warm, some like mountains, some like all, I'm agnostic to what is 'best'), low (current) prices, easy transport access when absolutely needed - not local, but flights or other rapid transport.

This is a great long-ball investment.

<comment><USER15> We have had the telephone, email, cell phones, video chat, and yet, the trend is still towards people moving in to cities.

Is 3d projection really going to change that trend?

<comment><USER16> What you need to remember about 3d projection is that it can defeat network latency, in some case bringing intercontinental one-directional latency under 40ms. It can also decrease rendering latency relative to audio and video over IP. Between these benefits, the VR telepresent conversation feels more real, more _present_. Oh, wait. /s

(40ms one-way latency on London-NewYork or LA-Beijing requires beating the speed of light, unless I screwed up my math).

Another thing that makes realistic VR unsuitable for telepresence (though perhaps not a problem for "3d holographic projection") is that an HMD makes it much harder for the system to find out what facial expression you have, and so there's actually _less_ information to transmit to your remote correspondent.

</comment></comment></comment><comment><USER17> Especially when San Mateo could just fall into the sea someday.

<comment><USER9> I assume you're referring to earthquakes. I live in San Mateo, have lived in California for 25 years, and floods, fires, droughts, and traffic all seem like more immediate risks.</comment></comment>


'Silicon Valley' star scared of what he sees as tech's ethical failings - <AUTHOR> https://www.geekwire.com/2017/techie-tv-silicon-valley-star-says-hes-scared-sees-techs-ethical-failings/ <comment><USER2> This is what happens when all the education about computer programming cuts out any parts related to humanities. In my three years studying information science on university, there was never one minute spend on ethics, the impact of technology on society or any critical thinking. Feeling some discomfort with your disruption? Just repeat the dogma "technology itself is neutral - it's just a matter of how you use it." and you will be fine.

<comment><USER3> That's interesting to me that you guys didn't have any ethics classes. At my uni (10 years ago) we actually had a 200 level CS class specifically focused on ethics in technology.

Granted, one class in four years still isn't much, but it was a part of the curriculum if you were going for a CS or Computer Eng degree.

I'd never been fully exposed to a class on ethics before and enjoyed it enough to seek out some similar classes while fulfilling my general ed requirements.

<comment><USER4> ABET accrediting has nearly always required an ethics class for all engineering fields, including Computer Science/Computer Engineering degrees when ABET accredited.

Maybe there are some CS degrees out there that warrant investigation into why they aren't ABET accredited? (Or if they are accredited, maybe should have that reviewed?)

</comment></comment></comment><comment><USER5> My university didn't have classes on ethics in technology as a requirement for a computer science degree. In retrospect after working in the startup world for a few years I wish they had. People need to be given the tools to evaluate questions of technical ethics themselves otherwise they'll just sign on to the employer arguments about "tech is neutral" or "think of all the people this helps" while ignore all the people they (or someone else using what they created) may hurt.

<comment><USER6> My university did, but since most CS majors did not care about GPAs, most of my classmates took the class and just cared about passing it, not actually learning anything or recognizing the importance of ethics. Hearing my classmates joke about some really serious ethical dilemmas kind of made me depressed about the state of the field.

</comment></comment><comment><USER7> Can we get some actors to weigh into this and maybe take up the other side?

I hate to be dismissive but without any specifics were just tilting at windmills here.

<comment><USER8> He identified a virtue signalling niche.

<comment><USER9> For something that has so many low hanging fruits and obvious fundamental failures, it has no reason to stay niche long.

<comment><USER8> Also it's not good in truthspeak which makes it an even more attractive target.

</comment></comment></comment></comment><comment><USER10> There was a reason why the 29C3's motto was "Not my Department".</comment>


Lua.vm.js - <AUTHOR> http://kripken.github.io/lua.vm.js/lua.vm.js.html <comment><USER2> >Score: 130

>binarytrees 46.051 seconds

Without any frame of reference, those values are meaningless.

However there is one I can evaluate:

>1.58 MFLOPS

Given I have an i7-2600 and its flops on benchmarks[1] (FPU Flops score: 8500.09 MFlops), that tells me something I could have guessed: performance is 3 orders of magnitude worse than native high performing code.

Still, in order for this comparison to be complete, I'll have to

\- try this benchmark in Firefox with OdinMonkey, the new and very promising JS engine[2]

\- run a similar benchmark with "native" LUA

 _edit_ : results obtained on W7 SP1 with 16GO RAM and Chrome 27.

1: [http://www.maxxpi.net/results/show.php?ID=c3x2c5w6d7b7](http://www.maxxpi.net/results/show.php?ID=c3x2c5w6d7b7)

2: did you know the logo was awesome? [https://wiki.mozilla.org/File:Odinmonkey800.jpg](https://wiki.mozilla.org/File:Odinmonkey800.jpg)

<comment><USER3> >Without any frame of reference, those values are meaningless.

How about we compile some results right here?

Below is what I get on an AMD Phenom II X4 965 PC with 8 GB RAM running Linux Mint 13 Maya, kernel version 3.2.0-48-generic x86_64.

 _— Lua.vm.js in Firefox 21.0_

        Score:      115
        binarytrees 56.978 seconds
        scimark     1.79   MFLOPS
        startup     0.431  seconds

_— Native Lua 5.2.2_

        ~> lua scimark.lua
        FFT        14.65  [1024]
        SOR        30.41  [100]
        MC          9.32
        SPARSE     19.32  [1000, 5000]
        LU         23.70  [100]

        SciMark    19.48  [small problem sizes]

        ~> time lua binarytrees.lua 14.72
        stretch tree of depth 15     check: -1
        53974    trees of depth 4    check: -53974
        13493    trees of depth 6    check: -13492
        3373     trees of depth 8    check: -3372
        843      trees of depth 10   check: -842
        210      trees of depth 12   check: -210
        52       trees of depth 14   check: -52
        long lived tree of depth 14  check: -1
        lua binarytrees.lua 14.72  5,99s user 0,01s system 99% cpu 6,001 total

_— Geekbench-2.4.3-Linux on the same computer_

[http://browser.primatelabs.com/geekbench2/2076712](http://browser.primatelabs.com/geekbench2/2076712) (the page includes detailed PC specifications)

Edit: redid the native benchmarks with Lua 5.2.2.

\-----

Edit 2: The same set of benchmarks gives the following results on a ThinkPad X61s laptop with a Core 2 Duo L7500 CPU and 4 GB RAM running Linux Mint 13 Maya, kernel version 3.5.0-32-generic x86_64:

 _— Lua.vm.js in Firefox 21.0_

        Score:      59
        binarytrees 117.675 seconds
        scimark     0.95    MFLOPS
        startup     0.822   seconds

_— Native Lua 5.2.2_

        ~> lua scimark.lua
        FFT         6.55  [1024]
        SOR        15.36  [100]
        MC          4.11
        SPARSE     10.24  [1000, 5000]
        LU         12.40  [100]

        SciMark     8.73  [small problem sizes]

        ~> time lua binarytrees.lua 14.72
        stretch tree of depth 15     check: -1
        53974    trees of depth 4    check: -53974
        13493    trees of depth 6    check: -13492
        3373     trees of depth 8    check: -3372
        843      trees of depth 10   check: -842
        210      trees of depth 12   check: -210
        52       trees of depth 14   check: -52
        long lived tree of depth 14  check: -1
        lua binarytrees.lua 14.72  9,63s user 0,04s system 99% cpu 9,713 total

_— Geekbench-2.4.3-Linux_

[http://browser.primatelabs.com/geekbench2/2077111](http://browser.primatelabs.com/geekbench2/2077111)

</comment></comment><comment><USER4> Would be interesting to compare performance to the other ways of getting Lua to run in the browser, which include writing a Lua bytecode interpreter in JS, converting Lua to JS, and code generation from bytecode.

[https://github.com/creationix/brozula](https://github.com/creationix/brozula) [https://github.com/mherkender/lua.js](https://github.com/mherkender/lua.js) (and others, I had a list somewhere)

Quite a few companies are using Lua->JS as a way of doing write once run cross platform games eg we had this talk at London Lua [http://www.londonlua.org/luajavascript/index.html](http://www.londonlua.org/luajavascript/index.html)

<comment><USER5> Is there an asm.js port of Lua?

<comment><USER6> Why would you need an asm.js port of lua? Just use LuaJIT it's already faster then asm.js. And Lua itself is already faster then Javascript.

</comment></comment></comment><comment><USER7> I have no immediate use for this but goddamnit, it's cool.

<comment><USER8> The immediate use for some might be setting up a tutorial to teach Lua in the browser[1]. However I wonder how these guys were doing it[2].

[1]: [http://kripken.github.io/lua.vm.js/repl.html](http://kripken.github.io/lua.vm.js/repl.html) [2]: [http://repl.it/](http://repl.it/)

</comment></comment><comment><USER9> Does anyone know of a good "compile to js" lua implementation ?

<comment><USER4> Thats actually difficult, eg Lua has coroutines, a function can be a hash table key and other incompatibilities. There are some but they are fairly limited by this. This is the main implementation [https://github.com/mherkender/lua.js](https://github.com/mherkender/lua.js)

</comment></comment><comment><USER10> When people blog about don't use default bootstrap template, I often take it with a grain of salt. Now i'm absolutely positive.

<comment><USER11> what?

<comment><USER6> Did you mean use the default bootstrap? I'm confused what you meant.

</comment></comment></comment><comment><USER12> <3 <3 <3</comment>


Transmission: Send and Convert Currencies Directly Free of Charge - <AUTHOR> http://tmission.io/ <comment><USER2> While the idea looks great on paper, they have nothing now. I am not kidding, just a whitepaper - no prototype, no clear model on how to meet regulations, nothing proprietary and they want to raise 43 million dollars worth of ethereum. They are offering 50% commission in the future, so they company value the money post discount is $86 million. Wow !

</comment><comment><USER3> Why would you use this over BTC or ETH? This will run into all the same KYC laws as those just that you are locked into a single provider instead of having a marketplace of exchanges to go from fiat to a crypto.

Sure smells like an ICO scam.

</comment><comment><USER4> I have a little apprehension about the fact the information about these people is a little nebulous (the white paper actually has a little more info than their website but the seemingly most qualified person is the CTO, because the CEO has little experience and the CFO doesn't give much information about his past beyond tiny details), and the fact the white paper, in English, isn't written very well and has a lot of grammar mistakes. Beyond this my big question is, will this work well compared to a service like TransferWise and how will this service insulate itself from major crashes or appreciations in Bitcoin, should they happen? If Bitcoin or Etherium lost 10-20% of its value for some reason overnight, how would this service deal with that? I do apparently have to purchase in ETH for the presale but I'm sure that they would allow you to purchase in USD, etc., when the full product is available, right? Using that assumption, if I have 1000 TMN tokens, and I purchase them at the value of 100 USD, then it seems they are worth 100 USD? Or are they _really_ worth X BTC or ETH? In other words, who is the person that deals with ramifications of value fluctuations within this crazy world of crypto currency, Transmission or the customer? This isn't addressed in the white paper from what I could tell, and also isn't addressed on the website, but this is an important factor in deciding to use this service, although I guess I could reasonably assume that it the company would be the insulating party.

Also, I really have a hard time trusting my money with a service that states that "this is not a bank and does not provide banking services" because I appreciate that, for all the issues that currently exist with them, banks are insured by something like FDIC (in the US, I'm sure they have government insurances in other countries as well). What's to prevent me from losing my money in the case of bankruptcy or if someone decides to just steal away into the night?

</comment><comment><USER5> My understanding is that their TMN token is an intermediate currency for exchanging fiat currencies. And their business model is to sell this, and thus charge the users by inflation. Is that correct?

</comment><comment><USER6> Another ICO scam ? (though the "scam" bit is redundant)

</comment><comment><USER7> Without looking into it further, it smells like a scam ...

</comment><comment><USER8> > Free of charge

..

> Low-cost transactions.

Which is it?

</comment><comment><USER9> Is there an ICO generator yet? I remember there was one for altcoins a while back.</comment>