Why and How I Wrote My Academic Book in Plain Text - <AUTHOR> http://wcm1.web.rice.edu/my-academic-book-in-plain-text.html <comment><USER2> Another huge reason to use plain text that he didn't mention is version control. With plain text, you can check the files into a git repo and diff any two commits. You then get all the advantages of working with version- controlled code, e.g. commenting on diffs.

Word and Google Docs do save revision history, but they slow to a crawl when you have a document with a lot of pages, to the point of being unworkable.

<comment><USER3> > _Another huge reason to use plain text that he didn 't mention is version > control._

But version control tools are designed for code, i.e. showing which _lines_ have been edited. With English text one would rather want to see which _sentences_ have been edited. Are there tools for this? (Except MS Word's track changes feature.)

Well, one could write one sentence per one line, but that makes a pretty ugly txt document, when viewed raw.

<comment><USER4> > Well, one could write one sentence per one line, but that makes a pretty > ugly txt document, when viewed raw.

Many of the tech writers I work with advocate exactly this.

In my stuff, I just hard line wrap the text. Diffs do tend to have more spurious whitespace changes because of this than I'd like, but that's still miles better than a completely opaque binary format like Word.

<comment><USER5> Not to advocate for word or anything, but technically it's a zip of xml and other stuff (images, etc) that get's pulled in through ... OLE(??). VC + markdown/latex excellent for collaboration or branching drafts.

</comment></comment></comment></comment><comment><USER6> LaTeX is the standard "plain text" [1] format for academic publishing in STEM. For those (like the author) who were unfamiliar with LaTeX or find it daunting, I recommend LyX ([http://www.lyx.org/](http://www.lyx.org/)). Lyx gives you the best of both worlds: LaTeX under the hood, but with a GUI interface.

Also... you should look into BibTeX for citation management. This is much easier than the examples given in the article -- especially with Google Scholar citations pre-prepared in BibTeX format.

[1] Considering the definition of "plain text" very loosely, since markdown and LaTeX include rendering cues.

<comment><USER7> I don't question the value of Latex but I really don't understand why it should be so huge.

<comment><USER8> When Don Knuth wrote TeX, the engine underlying LaTeX, he made sure that typesetting was a top priority. This includes all sorts of novel spacing, hyphenation, and other algorithms. See some more examples here: [http://en.wikipedia.org/wiki/TeX#Typesetting_system](http://en.wikipedia.org/wiki/TeX#Typesetting_system)

For anyone who appreciates Typography, there are few things out there that can produce aesthetic results as pleasing as LaTeX.

It does have its downsides though, no question, including a steep learning curve, unintuitive error msgs etc.

<comment><USER9> LaTeX tables drive me crazy. There are tools to help, but for me, it's the least pleasant aspect of using it. Still beats Word masochism, however.

<comment><USER10> The only thing I like about word is it's actually quite a good table composition tool. Just so long as you ignore the defaults that is.

<comment><USER11> Org-mode has very good support for plain text tables -- which can be converted into multiple formats.

Org-mode tables are pretty cool, bordering on being a spreadsheet... It's worth watching a demo, even if you never use it.

[https://www.youtube.com/watch?v=fTJVLJd_gz0](https://www.youtube.com/watch?v=fTJVLJd_gz0)

<comment><USER10> I've had a go at org mode being a die hard user, but never got past the original hump. Maybe I need something that better reflects my workflow, maybe disorg-mode.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> I really like how this guy clearly knows his way around computers (poke around his site a bit, like the colophon[1]) but his academic interests are in history. It's great to see hacking interests and skills in someone working in a different field; I think it's important that these skills don't remain solely in their usual domain.

[http://wcm1.web.rice.edu/colophon.html](http://wcm1.web.rice.edu/colophon.html)

<comment><USER13> Thanks! Important to note that writing my book in Markdown, and having to learn to use the command line for Pandoc, is what started me down the path to learning more programming.

</comment></comment><comment><USER14> I use plain text editors mainly and agree with the author's premise about cutting the cruft/using a focused tool. The cost complaint doesn't really fly though.

Those times When I need something to be in Doc format, I use libre office - [https://www.libreoffice.org/](https://www.libreoffice.org/) It used to be called "openoffice". It's free. You can verify the documents look right in the free word viewer provided by Microsoft if you're planning to mail it to someone who will open it in Word.

<comment><USER15> > It used to be called "openoffice".

OpenOffice.org still officially lives as Apache OpenOffice - [http://www.openoffice.org/](http://www.openoffice.org/) [https://en.wikipedia.org/wiki/LibreOffice#End_of_OpenOffice....](https://en.wikipedia.org/wiki/LibreOffice#End_of_OpenOffice.org) & [https://en.wikipedia.org/wiki/Apache_OpenOffice](https://en.wikipedia.org/wiki/Apache_OpenOffice)

LibreOffice was forked from OpenOffice.org back in 2011.

And there are plenty of articles summarizing their similarities and differences - [https://duckduckgo.com/?q=openoffice+vs+libreoffice](https://duckduckgo.com/?q=openoffice+vs+libreoffice)

<comment><USER14> Thanks for an informative post. I was under the impression OpenOffice was dead post-fork. Colour me wrong...

<comment><USER16> Not GP, but LibreOffice is much more actively developed than OpenOffice.org currently. Any more it looks like OO.org is just getting maintenance from a few IBMers [1]. It's rather a shame, with all of the brand recognition that was built up in OpenOffice before being acquired by Oracle.

[1] - [https://lwn.net/Articles/637735/](https://lwn.net/Articles/637735/)

</comment></comment></comment></comment><comment><USER17> This author's comment rings true

> One of mine is adjusting the "look" of a word processing document.

I find that editing text in a WYSIWYG word processor distracts me from the content and makes me tinker with the formatting. Like other commenters suggested, I switched to using LaTeX and never looked back. Sadly though LaTeX is not for the faint of heart.

<comment><USER18> _I find that editing text in a WYSIWYG word processor distracts me from the content and makes me tinker with the formatting._

I still end up doing this in LaTeX, only now there's a time lag.

</comment></comment><comment><USER19> I wrote my Master's Thesis in Word, and I wholeheartedly agree that it is a terrible, terrible idea. There are so many great options out there today that academics should have no problem finding something else. Plain text is certainly an option. Had I been a little more resourceful back in my day, I would have given it a try. Nowadays though, if I'm writing something big, I prefer Scrivener. Small, powerful, and cheap:

[https://www.literatureandlatte.com/scrivener.php](https://www.literatureandlatte.com/scrivener.php)

<comment><USER20> I'll add this about Scrivener: It is a tool that needs to be learned to understand it's inherent usefulness. You're are ultimately writing in plain text, Scrivener is there to help organise, categorise, and to go full screen for distraction free writing.

</comment></comment><comment><USER21> Plain text is great. There's so much you can do with it that you can't in word or even latex. I'll write all my coursework assignments in sublime with a double column layout so I can have my notes in one window and my draft in the other. I can then check it all into my git server, run stats against my writing, and see more text without the need for scrolling. I can also search the entirety of my coursework or work notes much faster which is great to find all the references I made to a specific author. I still often have to copy text into word or latex formats but if you have the templating and styles set up that can be pretty quick work. It's nice having the raw text and formatted work seperate.

<comment><USER22> I've been writing a book for many years and my set up has always been this: Sublime text with 2 columns: notes on the right, text on the left.

When I write notes, or a blog post, or an essay, etc... I use Sublime and markdown. I can easily convert that to LaTeX with pandoc. For more complex rapport I have a script that do the translation from several .md files to one .tex file.

If I write a technical paper I just use LaTeX.

I will only use word for a quick and dirty rapport.

</comment></comment><comment><USER23> Thanks much for writing this up! At some point, I hope to get to it, too ;-) Until then, I thought I'd share my approach on how I wrote my entire PhD Thesis using AsciiDoc here. In my field of High Energy Nuclear Physics, data analyses usually are accompanied by so-called "Analysis WebPages" which I generate from the same AsciiDoc source files using Wordpress and Stuart Rackham's blogpost [1,2]. Images and other binary files I organize and version-control at a central location using git-annex [3,4] which also allows me to easily backup and share figures with my collaborators online. Bibliographies I auto-generate from the usual bibtex file via asciidoc-bib [5]. I've developed a Makefile [6] that does all of the above "automagically", triggered by simple commands like `make thesis` (generate full PDF), `make hp` (push AsciiDoc source to corresponding Wordpress page), and `make tag` (generate a new thesis version based on git tag and upload to webpage). Unfortunately, my thesis isn't publicly available, yet, but will be soon along with the sources and git history (I hope). In the meantime, the HN readers with STAR privileges [7] can feel free to explore a full working example at [8-10].

[1] [https://github.com/tschaume/wp-pdf](https://github.com/tschaume/wp-pdf) [2] [https://srackham.wordpress.com/blogpost- readme/](https://srackham.wordpress.com/blogpost-readme/) [3] [https://git- annex.branchable.com/](https://git-annex.branchable.com/) [4] [http://downloads.the-huck.com/README/](http://downloads.the-huck.com/README/) [5] [https://github.com/petercrlane/asciidoc- bib](https://github.com/petercrlane/asciidoc-bib) [6] [https://gist.github.com/tschaume/a28fdf3522b81a7a4674](https://gist.github.com/tschaume/a28fdf3522b81a7a4674) [7] [http://www.star.bnl.gov/](http://www.star.bnl.gov/) [8] [http://cgit.the- huck.com/phdthesis/tree/](http://cgit.the-huck.com/phdthesis/tree/) [9] [http://star.the-huck.com/](http://star.the-huck.com/) [10] [http://star.the- huck.com/download/](http://star.the-huck.com/download/)

<comment><USER24> Cool. I'm going to look into this :D

I am going to write my Master Thesis in AsciiDoc. It's about modular work- space awareness features in single page applications. The proof of concept app is a online AsciiDoc editor with live-preview and eBook/PDF generation, where I want to write my thesis in.

<comment><USER23> Very nice! Since writing a thesis is a very special task I think it'd be great to have such a app be geared towards that purpose. In addition to the features I now know I needed, I feel like I've gathered quite some experience on how to achieve control, reproducibility and flexibility using AsciiDoc but I didn't have the chance to get it out of my head and written down :-) There are a few pitfalls with the asciidoc and dblatex chain which you only learn to navigate when you're in the middle of writing the thesis (floating images, word count, bibliography, organization etc.). The framework/workflow I've set up considers most of them already and has been a huge timesaver and ease of mind for me. You can see some of the underlying ideas went into the Makefile I shared and you could recycle/use them to get a head start on your thesis/project. I'd definitely be happy to collaborate with you and share all my (MIT-licensed) experience :-) Feel free to shoot me an e-mail, I'm certain you'll find me through a quick google inquiry [1] ;-)

[1] [http://lmgtfy.com/?q=lbnl+huck](http://lmgtfy.com/?q=lbnl+huck)

</comment></comment></comment><comment><USER25> One word of caution: Plain text (or Markdown et al.) are great if you are a one-man operation or your collaborators share your love of plain text. However, if any of your collaborators, proofreaders, or editors use Word to mark up changes, it is incredibly painful to manually go through through the marked-up Word document, and go back and manually backport every change.

As much as I love plain text and LaTeX and its wonderful typesetting (especially with the Microtype package, XeLaTeX, and pro fonts), I stick to Word because it is the status quo in the publishing toolchain: doing otherwise is swimming upstream.

I would welcome to hear about solutions to this conundrum.

<comment><USER26> If all your documents were in a GitHub repository, you could teach people to comment on specific lines, view diffs, etc.

However, that's probably still too much for the majority of academic writers and editors, and you can't blame them because they're too busy specializing in other fields.

<comment><USER27> The homotopy type theory book was managed over github :

[https://github.com/HoTT/book/commit/cb5b01618ac3cf2774430b50...](https://github.com/HoTT/book/commit/cb5b01618ac3cf2774430b503d39e4763c8a4c1e)

</comment></comment></comment><comment><USER28> This whole articles seems to presuppose that the only alternative to plain text is Microsoft Word.

Also by his definition 'plain text' seems to include other markup, including LaTeX. Many academic books and articles are written this way.

Am I missing something?

<comment><USER29> The author is an assistant professor in history. I'm guessing LaTeX is not very popular in this field.

<comment><USER13> Original author here. Yes, I'm mainly assuming my reader is a humanities person less familiar with LaTeX. Though there's increasing interest in Markdown and LaTeX among historians since I wrote this post. See, for example:

[http://programminghistorian.org/lessons/sustainable- authorsh...](http://programminghistorian.org/lessons/sustainable-authorship- in-plain-text-using-pandoc-and-markdown)

<comment><USER30> Asciidoc might be an interesting thing to consider, as well, in this vein.

</comment></comment></comment></comment><comment><USER31> Just pointing out the two of the arguments against Word: iPad\iPhone support and price, are not really valid since MS has official Office for iPad\iPhone for free. [http://www.theverge.com/2014/11/6/7163789/microsoft- office-f...](http://www.theverge.com/2014/11/6/7163789/microsoft-office-free- for-ipad-iphone-android) It might not be as feature rich as the full desktop version but it sure is more feature rich that plain text.

</comment><comment><USER32> I write all my articles as plaintext. One reason the author didn't mention is longevity - I don't have to worry about .txt files becoming unreadable. As long as computers exist, they'll be able to read .txt files.

I then mark up with ddoc, and the result works just fine in [github]([https://github.com/D-Programming- Language/dlang.org](https://github.com/D-Programming-Language/dlang.org)).

</comment><comment><USER33> Pandoc is great. I'm writing my book in markdown and using some Lua scripts and a latex style file with Pandoc to produce a nicely formatted pdf. (It's also one of the more prominent Haskell products but you wouldn't even know because it just works!)

I'm looking forward to increasing support for things like figure labelling (Automatically linking figure numbers and labels e.g. see figure 1.2) at the moment I handle this manually.

</comment><comment><USER34> In the late 80's when I was in computer classes at school (UK school, not University) I always remember my teacher citing a study where people using PC's (probably on DOS at the time) produced better work than people using Macs. At the time Macs were way ahead with their GUI's and so students would mess about with formatting and making it look pretty, while the PC users focused on content.

A few years late studying my Batchelors in Molecular Biology, we got access to a room full of computers, mainly Macs. Most of the students found this fairly novel and typed up essays spending ages in the process. We were told that 5% of the mark would be given for presentation. At the time I found Word really frustrating (Trying to type 1 / 2 which was part of my address would always reformat it to a single character half). I gave up quite early on and went back to focusing on content. To this day I avoid Word, or fancy markup in favour of text when I can.

</comment><comment><USER35> I think everyone should have a shortcut icon to a temp.txt file on their smartphone homescreen. Sometimes you just want to write something quickly without worrying about what category or what app to open, or where to store it. You want one tap and start typing immediately, saving and syncing as you go. I use Note Everything on my Galaxy phone as the text editor. It's fast and good and stays out of the way. Way better than stock text editors.

On another note, just found this web text editor via an old comment on linked article. I like it, seems like it's been around for awhile... [https://writer.bighugelabs.com/](https://writer.bighugelabs.com/)

It just still feels weird to me, using apps that output files, in a web browser. I'm a developer so shouldn't feel strange, but web browsers just seem inappropriate to run even a text editor, regardless of the strength of the web app. I need to get over this mindset.

</comment><comment><USER36> I write my books (5 published so far through Elsevier and others) in Markdown.

It seems the OP uses markdown too. I wondered how he did footnotes in plain text, he just uses a markdown-style syntax.

It is an excellent approach with benefits over LaTeX. It has better separation of appearance and content, the content tends to have less visual clutter, and there are pleasant tools for distraction free writing, which I personally like. I wrote my thesis and academic papers in LaTeX, so I have used it a lot.

The downside (for both LaTeX and markdown) is dealing with proofing at a publisher. This is minor the first time, but getting a corrected manuscript back from the editor when you need to work on a second edition can prove very cumbersome.

</comment><comment><USER37> I was quite (pleasantly) surprised that the O'Reilly workflow is Markdown based.

</comment><comment><USER38> Like George R.R. Martin that uses WordStar 4.0 on DOS to write his books.

I personally use gedit (gnome) and markdown to write my tutorials and articles. Less distractions, content focused.

</comment><comment><USER39> I don't know anyone in computer science that writes academic documents in Microsoft Word. The standard is LaTeX. It seems the author may be well behind. All markup (in any markup language) is simply text (as opposed to WSIWYG), which is the main thing the author seems to find alluring. However, .txt files by themselves give you no way to manage special characters, references, footnotes, or any other typesetting functionality.

<comment><USER40> The author isn't from computer science nor have a computer science background. Outside computer science most people moved from typewriters to WSIWYG editors, which is the natural transition if you are unfamiliar with how to use a computer.

Nowadays, when most people being digital natives or being accustomed to use a computer, it makes more sense for people to move away from analog metaphors to proper computer-designed tools.

</comment></comment><comment><USER41> WritingOutliner ([http://writingoutliner.com](http://writingoutliner.com)), is a Word addin that tries to help professional writers, including academic writers to write large scale documents, the main concept is splitting long documents into smaller trunks. The screenshots there will tell a lot.

Disclaimer: I'm the author :)

</comment><comment><USER42> Same thing with notes. I used to use fancy formatting in OneNote...then Microsoft screwed me with an update that shifted, moved & changed everything.

Kick that crap to the curb and swore never to use anything more than bold/underline/italic for notes again. Plus checked export options on everything...

</comment><comment><USER43> I bought a book a long time ago that appears to have been printed on a standard IBM 1401 line printer.

Title Compiler construction for digital computers Author David Gries Edition illustrated Publisher Wiley, 1971 Original from the University of California

<comment><USER44> (I had that book for years, when it first came out. Also my first compiler book.)

Yes, but note that he was using the special upper AND lower-case chain on the 1401, which made it at least vaguely readable.

</comment></comment><comment><USER45> For my thesis, I would write paragraphs in a plain text editor, and then insert them into a word document. No distractions while writing, and then all of the formatting / footnoting features when I needed them.

</comment><comment><USER46> I agree with most of what he said. With plain text markdown files it is easy to write using leanpub on my android phone or iPad.

That said, the Office 365 apps run very well on my mobile devices but I only use them ocasionally.

</comment><comment><USER47> One reason not to use plain text is that you usually need to manually add newlines inside a paragraph. This makes me furious when I have to edit something.

<comment><USER48> Some text editor programs do this for you, either automatically or with a key- stroke.

</comment></comment><comment><USER49> I'm writing "Learning Akka" for Packt publishing in Emacs Org Mode with Pandoc.

</comment><comment><USER50> I am partial to notepad++. I agree that formatting is a major buzz kill to creativity.

</comment><comment><USER43> I wrote my thesis in 1976 on IBM punch cards. I hired a typist to add the equations.

</comment><comment><USER51> My main problem with using text files instead of word, is the lack of spellcheck...

<comment><USER34> The html text are I am typing this into includes a spell checker.

</comment></comment><comment><USER52> Which markup format does pandoc use by default for a .txt extension?

</comment><comment><USER53> Can you imagine this guy's reaction when he learns about TeX?

<comment><USER54> Yes, his reaction will probably be something like: "Mmh, well it is plain text, which is nice, but it (1) tempts me to waste time adjusting the typesetting, and (2) TeX or LaTeX source code is much uglier to look at than Markdown".

</comment></comment><comment><USER55> "formatted pdf" doesn't load

<comment><USER14> It loaded OK for me:

[http://wcm1.web.rice.edu/my-academic-book-in-plain- text.html](http://wcm1.web.rice.edu/my-academic-book-in-plain-text.html)

It's html.

<comment><USER55> i keep getting:

Not Found

The requested URL /bitstream/handle/1911/64493/mcdaniel-shear2012.pdf was not found on this server.

<comment><USER28> Me too. I think it is this:

[https://scholarship.rice.edu/bitstream/handle/1911/64493/mcd...](https://scholarship.rice.edu/bitstream/handle/1911/64493/mcdaniel- shear2012.pdf)

</comment></comment></comment></comment><comment><USER56> Even better: use org-mode.

</comment><comment><USER57> Why not write with a pencil and paper, I can think of no more distracting thing than a computer.

Or better yet, a quill and parchment, to totally withdraw from the confines and entrapments of modern technology.

<comment><USER58> RSI? I can get through maybe a page of handwritten text before my hand hurts too much to think, while I basically always run out of things to say before typing enough to need a physical break.

<comment><USER59> It sounds like you probably have too tight a grip and write more from than the wrist and fingers than the shoulder and forearm. This was a solved problem more than a hundred years ago, when it had to be; in the U.S. it's famously associated with the Palmer Method[0], although Palmer didn't originate it by a long shot.

(While these books, of course, are written for use with dip pens, and frequently taken up by users of fountain pens today, the methods described do work with ballpoints, rollerballs, gel pens, pencils of not too hard a lead, nearly whatever you have lying about.)

Of course, retooling is almost certainly not worth it for you, unless you're dying for a break from computer screens (the only reason I ever write by hand anymore). But I'll leave the link in case anyone is curious, either for their own work or just to know what people used to do with a pen, and why writer's cramp was not as serious a problem before typewriters and computers as we might suppose it was, by how frequently we tend to induce cramp on ourselves.

[0]: [https://archive.org/details/PalmerMethod1935](https://archive.org/details/PalmerMethod1935)

<comment><USER58> It's true, I have no reason to learn a different method as I have no reason to write anything by hand, but thank you for sharing the information. I suppose I had just assumed it was something people got used to, or that regular practice would build up hand strength in such a way that it would no longer hurt.

</comment></comment></comment></comment><comment><USER60> It's stupid to use plain text for something that demands rich formatting and where you expect others to read, like a research paper or book, especially when there are great alternatives out there. Why not use Markdown, which can be written and read in a text editor, and compiles as a PDF or HTML and reads as easily as any Word doc. Or even learning LaTeX, which gives you even richer formatting than Word yet allows you all the benefits of writing plain text.

<comment><USER61> Looks like you didn't read the article.</comment></comment>


Ask HN: proposing improvements to existing web services - why startup? - <AUTHOR>

I was just thinking about one of the projects I would like to do, which would be an improvement of existing web sites/social networks. Obviously the easier route would be to get one of the existing competitors to implement the feature. Otherwise I would not only have to work on making that feature great, but at the same time at creating a successful social network, which seems a bit like a waste (and difficult, too).
Ideally they could hire me to implement the feature and allow me to pour my energies into that thing I am excited about.
The problem is that I can not really afford to work as an employee. So I am practically forced to do a startup, to have the chance to get rich.
Something seems to be wrong with that system then. I guess in this community startups are kind of the highest thing to reach for, but the truth is, I don't really care for startups, I only care for doing great things. A startup seems to be the only way to reach that goal, but it seems to be rather wasteful.
Couldn't there be some way to enhance an existing companies product in a sort of "startup mode", that is, with appropriate compensation in case of success? It seems such a system might benefit society as a whole, because it would become easier to improve things.
Unfortunately I don't think the classic way of making a career in some established company to eventually reach a position where I could do something interesting is not open to me (I think), because I am already too old. <comment><USER2> I'm sorry, but I don't understand what you mean by _The problem is that I can not really afford to work as an employee. So I am practically forced to do a startup, to have the chance to get rich._

Why can't you afford to be an employee? And what's stopping you from getting hired as a consultant with a given company with a clause in your contract tying compensation to success, for example, paying you in stock or options?

<comment><AUTHOR> Afford to be an employee: because the pay is not good enough to still save enough money for pension and health care, and other needs.

Consulting: true, but my question is more like how common is such a thing? It seems to me that it is unusual to go about it that way. Perhaps establishing some conventions for it would be beneficial.

Sorry if it is a bit unclear :-(</comment></comment>


LittleDog: Quadruped Locomotion on Rough Terrain - <AUTHOR> http://www.youtube.com/watch?v=xuBIclGG3R0 <comment><USER2> Here's his bigger brother: [http://www.youtube.com/watch?v=cHJJQ0zNNOM&feature=fvst](http://www.youtube.com/watch?v=cHJJQ0zNNOM&feature=fvst)

<comment><USER3> Very impressive how it handles that sideways shove, especially in the slow motion segment you can see how well it anticipates what needs doing.

Even on the icy patch it manages not to fall (1:45).</comment></comment>


Show HN: CouchDB Web Apps for Business - <AUTHOR> Hi,
I'm Bill Stephenson. I've been working on a collection of web apps for small and medium size businesses that includes contact management, invoicing and payment tracking, expense tracking, income reports, and more. There's a demo available now at https://cherrypc.com/app
These apps use CouchDB 2.0 and PouchDB to handle data functions, and mostly JQuery and Bootstrap for the UI. I use a few other well documented open source libraries of code as well.
I've tried to design the app structure so any web app developer can make changes without having to learn much and those wanting to learn have solid resources to refer to.
Everything I've used is open source and can be installed on a Raspberry Pi, and I've made a disk image so you don't have to do that.
The Raspberry Pi can be used as a stand alone desktop PC or connected to your LAN for use throughout your office, and/or connected to a VPN service like Dynamic DNS to provide internet access to the apps.
My goal is to provide businesses with a solid set of software tools to get started with and a big headstart on creating software specifically for their business, and to have complete ownership and control of their software and data.
If you have time, please take a look at it, and it would be great to hear any feedback you might have.
Up to this point it's just been me working on this. If anyone is interested in using the software and/or partnering with me to help move this project forward please contact me at email@example.com. <comment><USER2> This looks good for a start, especially considering the architectural choices. I would like to read more about the tooling you've used and where are you going with this, like what is your target user-base. Is the project source code hosted somewhere that can be looked at like GitHub or something (I hope you're considering open sourcing)?</comment>


Warcraft III Reforged - <AUTHOR> https://playwarcraft3.com/en-us/ <comment><USER2> Absolutely excited to play all the custom maps again. Tons of awesome tower defenses, line tower wars, footman frenzy and party maps like uther party and who is the weakest link. Who remembers Don't move the tauren? xD

I just hope connecting to the online features gets an update so it feels a bit faster and less outdated than in StarCraft Remastered.

Would even be more excited about a Diablo 2 Remastered!

<comment><USER3> Diablo 2 Remastered, via Steam, with Linux support. UwU

</comment></comment><comment><USER4> Pumped but a little disappointed. Was anyone else expecting better graphics?

<comment><USER5> Yeah, they surely improved unit models, but seems like terrain is still low on details in this one.

</comment></comment><comment><USER5> Call me paranoid, but what is the chance, that they made it just to acquire some IP from custom map makers? There is a famous Dota story, after which Blizzard decided to add a clause to its Starcraft II world editor, that you grant them license to anything you create in it. If a similar clause will be silently added to Reforged, that would be bad.

</comment><comment> stone-monkey Looks amazing. WC3 has outsize influence on the online gaming landscape. It'd be interesting to dissect how much of the design choices of MOBAs are holdovers of the constraints of the WC3 world editor.

</comment><comment><USER6> I played a ton of this game on lowest resolution at the time because I didn't have a very powerful graphics card at the time. I can't wait enjoy its glory once again!

</comment><comment><USER7> Please, do D2 next. First Starcraft, now WC3... All the classics!

<comment><USER8> I would die for a D2 Remastered, man. I revisited that game recently and other than the clunky controls, it's a blast.

<comment><USER9> Titan Quest on the Switch has splitscreen multiplayer. I'm not holding my breath, but I would love it if Blizzard did the same with D2.

</comment></comment></comment><comment><USER10> Many long hours spent on War3 in elementary school. It was the game that I built my first computer to play.

</comment><comment><USER11> Is this for real? This this a kind of w4 or just some new missions/stories?

<comment><USER12> It's a remaster in the same spirit as Starcraft Remastered. Higher resolution textures, higher polygon counts, better animation, higher resolution options. Same game.

<comment><USER11> How is that the max resolution is still 1024 x 800 ?

<comment><USER13> What do you mean? The trailer indicates that it's going to be in 4k.

<comment><USER11> Well the system requirments say something else

<comment><USER14> That's a minimum recommendation. Pretty sure most people out there don't plan to run this on Pentium II's</comment></comment></comment></comment></comment></comment>


Detect A Good Liar By Knowing Their Most Effective Tactics  - <AUTHOR> http://lifehacker.com/5531745/detect-a-good-liar-by-knowing-their-most-effective-tactics?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+lifehacker%2Ffull+%28Lifehacker%29 <comment><USER2> Why not link straight to the article? [http://www.psychologytoday.com/blog/extreme- fear/201005/top-...](http://www.psychologytoday.com/blog/extreme- fear/201005/top-10-secrets-effective-liars)

<comment><USER3> Seriously. No offense OP, but content-free blog linkage lowers the probability of the actual article getting read or you getting credit for finding it.

</comment></comment><comment><USER4> Is the article telling us how to be an effective liar, or how to catch one ? In most cases, I am not getting how to catch the tactic.

Take #1: > Truly expert fabricators, on the other hand, save their ammunition - they don't bother to lie unless it's going to get them something they really want.

#2: > As in everything, practice makes perfect.

So you've told me the tactic, now how do i detect a liar in these case ?

<comment><USER2> Well, the latter ones might be helpful. For instance, in #8 and #9, if you notice that someone is trying to manipulate your emotions, you might be more on guard.</comment></comment>


Passwords for 32M Twitter accounts may have been hacked and leaked - <AUTHOR> http://techcrunch.com/2016/06/08/twitter-hack/ <comment><USER2> Can someone change the op's link to: [https://www.leakedsource.com/blog/twitter](https://www.leakedsource.com/blog/twitter)

The real source, not this redundant media crap that buried the lede...

<comment><USER3> >Can someone change the op's link to: >[https://www.leakedsource.com/blog/twitter](https://www.leakedsource.com/blog/twitter)

No, let's not. First of all, leakedsource has already been submitted separately, but has fewer upvotes. Presumably people prefer the techcrunch version.

It's not really surprising, as leakedsource's article is poorly laid out. It doesn't even have a title (they've put "Preface" as a title, but that's the heading of the first section). Then there's the banner adverts at the top.

>The real source, not this redundant media crap that buried the lede...

The techcrunch article has responses from twitter and others, along with some analysis, so it's not "redundant media crap".

<comment><USER4> >t doesn't even have a title (they've put "Preface" as a title, but that's the heading of the first section). Then there's the banner adverts at the top.

The title of the page is "LeakedSource Analysis of Twitter.com Leak". I know it's the title because it's in the title tags. The appearance of banner ads is a strange criticism when comparing to a techcrunch page, which is essentially one huge ad for other tech tabloid crap.

The techcrunch article is poorly written; it implies the data may not be genuine because some guy has not confirmed that twitter has been 'breached', while at other points seems to acknowledge the most likely source for this data is malware on users' computers. Which is it?

The statements from Twitter are boilerplate garbage, unworthy of being reproduced in whole or in part.

<comment><USER3> I shouldn't have to look at the html source of a page to determine the title. (Most mobile browsers don't show the title, and even desktop chrome only shows a little bit of it).

You're right about the adverts. It's more of a design thing than anything else. The site looks like it was designed in the 90s.

As for statements from twitter and others, they are very important, as they give credibility and background to the story. Most people here don't have time to do their own analysis and research on a story.

<comment><USER5> Is Chrome not among "most mobile browsers"?

[http://i.imgur.com/MtgLGoy.png](http://i.imgur.com/MtgLGoy.png)

<comment><USER3> It looks like you've clicked the "recent apps" button there. If you just click on a link, it doesn't show the title anywhere...

<comment><USER5> Why should it? You're already looking at the content itself by that point.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Question: From my understanding bcrypt is designed for security even when the hashed data is leaked. Each piece of data is uniquely salted and hashed to perhaps varying degrees of difficulty. So for a thought experiment, let's say a site made the password column of their user database public. Given an entirely public password column, even with associated usernames, would this have any use or decrease the security of those user accounts at all, aside from the obvious that their username is known?

<comment><USER7> It would allow you to bruteforce the passwords without any sort of rate limiting. So, if you used a dictionary, you probably could get quite a few weak passwords in a short amount of time relative to a system that had proper rate limiting to prevent these kinds of attacks.

<comment><USER8> Depends what you mean by short amount of time. Depending on the strength selected with bcrypt, it can easily take a second to check a hash. On a 30m password database, this will take a year on one machine to check just who is using "monkey" as a password.

<comment><USER9> You're massively overestimating the strength of bcrypt here. olcHashcat on a _single_ modern GPU will do several thousand hashes per second, depending on work factor and GPU speed.

<comment><USER10> Then why even bother with bcrypt?

<comment><USER9> Because something with a cryptographic hash, like sha256, you can do millions (or in some cases billions) of hashes per second on the same GPU.

Password hashes, like bcrypt, PBKDF2 and scrypt, are massively slower. That doesn't mean they're uncrackable, it just means they are expensive to crack, so a strong password in a well implemented password hash will take a long time (and cost a lot of money) to crack, by which time the user has hopefully noticed and had time to change their password.

<comment><USER11> Additionally, there's a new player in town called Argon2 that attempts to solve the problems with bcrypt and scrypt. It's the most recent winner of the password hashing competition.

[https://github.com/P-H-C/phc-winner-argon2](https://github.com/P-H-C/phc- winner-argon2)

<comment><USER12> What problems with bcrypt/scrypt does argon2 solve?

<comment><USER9> bcrypt is limited to 72 characters (admittedly this is not that big a practical limitation), and scrypt is an excellent KDF, but wasn't designed as a password hash, and thus doesn't have great GPU defence. In practice, they're still both great, but that doesn't mean we should stop trying to do even better.

Argon2 looks really interesting, but it is still relatively new.

<comment><USER13> > scrypt is an excellent KDF, but wasn't designed as a password hash, and thus > doesn't have great GPU defence

Last time I heard of scrypt, it was being used in Litecoin, a fork of bitcoin, because it was preventing GPU based crackers.

<comment><USER14> I don't know if it has anything to do with GPUs, I had thought it was due to memory, as referenced on the wiki page for Litecoin: "Litecoin uses scrypt in its proof-of-work algorithm, a sequential memory-hard function requiring asymptotically more memory than an algorithm which is not memory-hard."

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> Does anyone know the significance of the date 9-11-1961? The password list has 10,444 matches for "9-11-1961" and 10,231 for "9111961".

From Wikipedia, I see that Hurricane Carla hit Texas that day but that doesn't seem noteworthy enough to warrant two instances of the date in the top 20, It would be surprising if it was only due to date of birth too, given I can't spot any other date-like entries.

<comment><USER16> Could have been a single person mass-creating accounts

<comment><USER15> I did wonder whether there was some batch of "fake" Twitter accounts that all had the same password. That is the most plausible thing I can think of.

</comment></comment></comment><comment><USER17> I can finally recover my account!

<comment><USER18> Someone said to me the other day

"There are two types of companies, those that have been hacked, and those that don't yet know they have been hacked."

<comment><USER19> there are probably more types

</comment></comment></comment><comment><USER20> Twitter also does 2-Factor Auth. If you value your Twitter account, in addition to changing your password (which hopefully is unique amongst your accounts), also activate 2FA.

<comment><USER21> Was just trying to set this up, and not great (IMHO).

The feature is called "Login Verification", I think, and it's only SMS based, no Google Authenticator / Authy style one-time password... Also, it was saying I needed to verify my email address before that feature can be used, but there was no option to verify the email address that is used since I've registered almost a decade ago... Had to change my email (used the email@example.com trick to reuse my address, as one email can be used with only one twitter account...) then change it back.

<comment><USER22> Curious, why is SMS-based auth a downside in your opinion? I prefer to use SMS-based 2FA where available, as you can always pop the sim card into whatever device you have on hand and receive the code. As opposed to smartphone app, where you are tied to a particular device being available and in working order.

<comment><USER23> There have been quite a few cases where malicious actors have been able to convince phone companies to forward sms messages to other numbers via social engineering to defeat this type of 2FA.

<comment><USER24> Additionally, it requires an active phone number, which may not be available to you in general or temporarily.

</comment></comment></comment></comment></comment><comment><USER25> Just got the email:

      Your account may have been compromised by a website
      or service not associated with Twitter.

I'd like to know how Twitter credentials were compromised from outside Twitter.

<comment><USER26> Like they said in the article, Twitter uses bcrypt to store your password, but many of the passwords in the dump were plain text. This suggests that they were scraped together from external sources (i.e. malware on your machine, re- use of a password from one of the other dumps like LinkedIn). Hence, compromised from outside Twitter.

<comment><USER27> They mention browser password database in the article. If true at the scale of 32M people that would be an even bigger news. Twitter may just be the beginning.

Maybe the malware authors are processing and leaking the data per-website for monetization purposes?

Another way would be that only a specific twitter app has been targeted by the malware.

<comment><USER28> >They mention browser password database in the article. If true at the scale of 32M people that would be an even bigger news. Twitter may just be the beginning.

No, it's not news at all. Anyone who's been running spyeye, zeus, whatever for a while ends up with a similar amount of logs. They don't tend to get posted publicly, but are regularly sold on various forums.

32M simultaneous installs would be a lot, 32M lifetime installs isn't.

</comment></comment></comment></comment><comment><USER29> Who has 123456 as their password in 2016!? Oh, wait... 120,417 people apparently. :: _head in hands_ ::

<comment><USER30> Who has a twitter account they don't care about, even at sign-up? Probably millions of people.

</comment></comment><comment><USER31> I have received 3 warnings about suspicious activity on a twitter account I haven't used since 2011. I wonder how old that leak is.

<comment><USER32> I also keep getting these for a relative inactive account. I assumed phishing since the subject of the email was "suspicious sign in detected" but the content made no claim of successful sign in.

</comment></comment><comment><USER33> why the heck is 9111961 and 9-11-1961 such a popular password? botfarm?

<comment><USER34> WWF supporters? [http://www.onthisday.com/date/1961/september/11](http://www.onthisday.com/date/1961/september/11)

<comment><USER35> My first thought with WWF was wrestling...

<comment><USER36> [http://i.imgur.com/RSEqcN6.png](http://i.imgur.com/RSEqcN6.png)

</comment></comment></comment></comment><comment><USER37> Twitter used to support authentication to their API's with a username / password combination. So this leak could come from an app or service that utilized Twitter apis in some fashion and was hacked.

<comment><USER38> That seems unlikely. Twitter hasn't supported Basic auth for years.

</comment></comment><comment><USER39> With over 270 million accounts (the largest number I could find) at only roughly 12% of the accounts leaked I'm wondering where the leak occurred? Or possibly the hackers were interrupted mid-download stream?

 _edit_ That number is actually active users and I do apologize the number of registered accounts is estimated to be over 645 million! _edit2_ Actually 4.9% of the estimated accounts were "leaked" (if this is an actual twitter leak since still no official word)

</comment><comment><USER40> Does anyone here have a raw download to this data set? I'm a student at a university interested in doing some statistical analysis of passwords for a small project.

If anyone is able to help me, I'd appreciate them emailing me. You can find my email under my account.

It would be a huge help!

</comment><comment><USER41> >the malware sent every saved username and password from browsers like Chrome and Firefox back to the hackers

I wonder how you protect against that apart from the thing banks do where they say enter the third and six character? Even with those if the malware monitored a few of them it could probably figure your info.

<comment><USER42> Saved user/pass are available to any process running on the machine. You don't have to wait until the user logs in, just access the saved pass DB. (Exception is if you use a password to encrypt the browser saved passes, like Firefox's master password. Then the malware needs to wait until you unlock.)

</comment></comment><comment><USER43> > Other major security compromises which have hit the news recently include a > Myspace hack that involved over 360 million accounts

The buried lede for me here is that MySpace has 360+ million accounts. I thought it was DOA.

</comment><comment><USER44> I am sure Twitter can grab this list and invalidate all passwords quickly.

</comment><comment><USER45> I should just close and burn all my social/bigco accounts and keep only the ones where an RSA token is available and forget to worry about passwords, shouldn't I?

<comment> atom-morgan [http://www.reuters.com/article/us-usa-security-nsa-rsa- idUSB...](http://www.reuters.com/article/us-usa-security-nsa-rsa- idUSBREA2U0TY20140331)

</comment></comment><comment><USER46> Why doesn't Twitter have 2FA or U2F? Problem solved, at least in terms of users not losing reputation within their own social space because someone is posting as them.

<comment><USER47> They do. In fact, I just logged in to change my password and had to go get my phone from another room so I could read the code. The annoying thing is that they don't support Google Authenticator or some other TOTP/HOTP token generator. It sucks trying to log into services that use SMS based 2FA when you are not in an are where you get cell reception.

<comment><USER46> App based 2FA seems extremely limiting. I don't want to install their app on my phone.

<comment><USER48> Doesn't have to be just their app. There are plenty of apps and chrome extensions that mimic authenticator ability.

</comment></comment></comment></comment><comment><USER49> Thats nothing compared to the amount of fake twitter accounts for paid followers. Probably in the range of 100s of millions of accounts. For the downvoters, or doubters, goto [https://www.fiverr.com/](https://www.fiverr.com/) and see if you don't find these services being offered all over the damn place. 1 million followers for 20 bucks.

<comment><USER50> You are likely being downvotesd because the comment is off topic.

<comment><USER51> i mean if you try your hardest to make sense of it, maybe he means these could be all fake accounts passwords??

<comment><USER52> Yes, I think this is what he means, that this list could have been leaked from some "bot controller" server/network. Or maybe the bot network wants to quit and is selling their assets.

This would be coherent with Twitter denying a breach, these would be accounts hacked at some point of the past (and some purposefully generated) and added to the bot network database.

</comment></comment></comment></comment><comment><USER53> And nothing of value was lost.

</comment><comment><USER54> I didn't need another reason to dislike Twitter but this puts another nail in their coffin, for me at least.

It seems the two platforms I derive the least amount of value from (Twitter and Linked In) are the most vulnerable to hackers and leaked passwords.

I was caught up in the Linked In password debacle recently and now have my e-mail address in the haveIbeenpwned.com database - thanks Linked In. I wonder if I'll get caught up in this mess too.

I only keep my Twitter and Linked In accounts to avoid FOMO (Fear of Missing Out) but this is making me want to shut it all down and erase every trace of personal information I have on both sites.

<comment><USER55> RTFA.

Twitter didn't get hacked. Browser malware screen-scraped the passwords.

<comment><USER54> I did RTFA.

Do you think a typical end user is going to care the technicalities of how their password might have been leaked? I certainly don't.

The takeaway for me is that (yet) another website I entered personal information has leaked it - regardless of how this happened it further damages the trust I have for Twitter.

Had I never used Twitter all of this would be a non-event.

Please do tell me if you think I'm being illogical - I'm all ears.

<comment><USER56> _The takeaway for me is that (yet) another website I entered personal information has leaked it_

Well, I think it's quite difficult to argue that. If you had a keylogger installed on your machine – apparently the case here – in what way did the website leak your personal information? Wasn't it the browser's fault?

I do think it's pretty illogical to complain about Twitter being vulnerable, if this leak was caused by screen-scraping malware in a browser. It's not something that Twitter can really defend against, beyond measures like 2FA.

<comment><USER54> Thanks for the explanation, makes sense. Still I wonder how many non-techies will simply read "Twitter hacked" and devalue the Twitter brand in their minds.

<comment><USER57> I believe you can count yourself among them :)</comment></comment></comment></comment></comment></comment>


Facebook's Slingshot is basically broken. - <AUTHOR> http://uarrr.org/post/89843320471/facebooks-slingshot-is-basically-broken <comment><USER2> I don't have an iphone or android so someone tell me if this is unusual: just put your finger of the camera and send a little typed message.

But the issues he highlights are the exact ones I envisioned when I first read about this.</comment>


GopherJS – A compiler from Go to JavaScript - <AUTHOR> https://github.com/gopherjs/gopherjs <comment><USER3> Showing my age, but until I read the full headline I thought this was a JavaScript client for the Gopher protocol...

[http://en.wikipedia.org/wiki/Gopher_(protocol)](http://en.wikipedia.org/wiki/Gopher_\(protocol\))

Time to pour one out for protocols loved and lost...

</comment><comment><USER4> I've been using it for some time and it's really hard to believe how it just works for so many things.

[https://gopherjs.github.com/playground/](https://gopherjs.github.com/playground/) \- GopherJS Playground.

(It compiles Go code to JavaScript in your browser using the GopherJS compiler itself compiled to JavaScript. There is no backend being used.)

[https://godoc.org/honnef.co/go/js/dom](https://godoc.org/honnef.co/go/js/dom) \- DOM bindings.

[https://godoc.org/honnef.co/go/js/xhr](https://godoc.org/honnef.co/go/js/xhr) \- XHR bindings.

<comment><USER5> I'm genuinely curious to know what you've been using it for.

<comment><USER4> Multiple things.

\- Making my Markdown Format package for Atom have zero external dependencies by compiling the Go code into JavaScript. That way there's no need to install and point to the markdownfmt binary, making install easier. [https://github.com/shurcooL/atom-markdown- format/commit/6b5f...](https://github.com/shurcooL/atom-markdown- format/commit/6b5f21c4457309f8eba3a78b82e0c9a458ff13b4)

\- Replacing JavaScript with Go code in Go Package Store, still a WIP PR because I need to figure out a `go get` difficulty, but aside from that it works perfectly well. [https://github.com/shurcooL/Go-Package- Store/pull/18](https://github.com/shurcooL/Go-Package-Store/pull/18)

\- Various experimental things that run in the browser and perform operations that use existing Go code. For example: [https://dl.dropboxusercontent.com/u/8554242/dmitri/projects/...](https://dl.dropboxusercontent.com/u/8554242/dmitri/projects/live- markdown/live-markdown.html) [https://dl.dropboxusercontent.com/u/8554242/dmitri/projects/...](https://dl.dropboxusercontent.com/u/8554242/dmitri/projects/live- go-printer/live-go-printer.html)

\- At work, I've created a small standalone project with a frontend UI that reused some common structs and html template code between the frontend and backend (ala node.js, except all in Go).

\- Working on porting my small OpenGL game written in Go to run in the browser. The goal is to have the same Go code use OpenGL when on desktop, but use GopherJS and WebGL when compiling for the browser.

Basically, it lets me do all the things that one would normally be forced to use JavaScript for (i.e., frontend code) but without having to use JavaScript (I'm not good at it and I don't like it), while benefitting from Go compiler to catch errors, autocomplete, godocs, goimports, etc. It also allows me to import and use existing Go packages that perform non-trivial tasks.

<comment><USER6> Do you have any shareable code for the OpenGL cross-compilation?

<comment><USER4> I don't have a complete solution yet, but I can share some links:

[https://github.com/azul3d/issues/issues/29](https://github.com/azul3d/issues/issues/29) \- Very relevant discussion with good resources/links/info.

[https://github.com/ajhager/engi](https://github.com/ajhager/engi) \- 2D game library for Go with desktop/browser/android targets.

[https://github.com/shurcooL/play/tree/master/57](https://github.com/shurcooL/play/tree/master/57) \- Simple WebGL/GopherJS render triangle demo.

[https://github.com/shurcooL/play/tree/master/58](https://github.com/shurcooL/play/tree/master/58) \- Unfinished attempt to make the above compiled to two desktop/browser targets.

</comment></comment></comment></comment></comment><comment><USER7> I'd like to point out that goroutine support has been added which allows concurrency in the browser. You can literally avoid using callback soup using this.

its like clojure core.async only more powerful.

<comment><USER8> > its like clojure core.async only more powerful.

Can you explain why its more powerful than core.async?

<comment><USER9> You can use it without going through Go, and have proper support for normal JavaScript. The concepts are explained here: [http://jlongster.com/Taming-the- Asynchronous-Beast-with-CSP-...](http://jlongster.com/Taming-the-Asynchronous- Beast-with-CSP-in-JavaScript) (EDIT: I see now you are asking why go's channels are more powerful than core.async's)

The library: [https://github.com/ubolonton/js- csp](https://github.com/ubolonton/js-csp)

</comment></comment></comment><comment><USER10> Can anyone speak to the trade-off in file size, for non-trivial codebases? There is a stated design goal of "small size of generated code", but the default snippet in the playground introduces quite a large amount of boilerplate. Is the penalty on file size fairly front-loaded or does the generated code scale horribly?

<comment><USER11> Annoyingly but predictably, I don't really have any nontrivial code of my own around that doesn't violate any of the (entirely reasonable, except for x509) constraints.

GopherJS happily compiles itself, however. The raw source code looks to be about 250KB. The native binary ends up 7.7MB, and the unminified js is 3MB. A pass through UglifyJS with default options reduces that to 1.7MB (I have not tested the result):

        ~/gocode/bin$ ls -lh *gopher*
        -rwxr-xr-x  1 nknight  staff   7.7M Oct 14 14:02 gopherjs
        -rw-r--r--  1 nknight  staff   3.0M Oct 14 14:32 gopherjs.js
        -rw-r--r--  1 nknight  staff   233K Oct 14 14:32 gopherjs.js.map
        -rw-r--r--  1 nknight  staff   1.7M Oct 14 14:41 min-gopherjs.js
        ~/gocode/bin$

Edit: Oh, and the playground example minifies to 300KB:

        ~/gjstest/playground$ ls -lh
        total 1784
        -rw-r--r--  1 nknight  staff   194B Oct 14 14:05 main.go
        -rw-r--r--  1 nknight  staff   536K Oct 14 14:53 main.js
        -rw-r--r--  1 nknight  staff    42K Oct 14 14:53 main.js.map
        -rw-r--r--  1 nknight  staff   300K Oct 14 14:54 min-main.js
        ~/gjstest/playground$

<comment><USER12> What about after gzip?

<comment><USER11> About what you'd expect, the playground sample drops to 75KB, and the compiler to 424KB. (Also the native binary gzips to 2MB.)

<comment><USER4> Very nice finding!

</comment></comment></comment></comment></comment><comment><USER13> Is there any hope for a workflow similar to clojurescripts? It's very nice to have your page hooked to the repl and be able to re-evaluate pieces of code then have the page functionality change without constant refreshes and recompiles.

Edit: I want to expand on this a bit. I'm curious about how the workflow is now and what's envisioned. Things like the above mentioned and also LightTables insta-repl make for great workflow value propositions. I very much like Clojure, but I like Go as well and have written much, much more of it. So this is very interesting, but.. Do I need to write the Go code blind, then compile to js, then refresh and test my page to see what's going on?

<comment><USER4> I've written convenience http handlers that compile Go to js on demand (and report errors in the browser console & server stderr). I do something like this in the backend:

        http.Handle("/assets/script.go.js", gopherjs_http.GoFiles("./assets/script.go"))

Then my html files (or templates that generate html via html/template package) include it with:

        <script src="./assets/script.go.js" type="text/javascript"></script>.

That way, I can edit the ./assets/script.go file in my code editor (with goimports on save, autocomplete, etc.) with the server running. Whenever I refresh the page in the browser, new compiled JavaScript is loaded.

It's really nice to be able edit the Go script, css, html template and not need to restart the web server for effects to take place. Just refresh the page, and see new code running.

That's my workflow so far.

I have plans to improve that code so that it accesses the assets via a virtual file system interface, so that it's possible to have a debug version that hot- reloads all files from disk, and a release version that embeds the assets into the Go binary so it can run anywhere.

<comment><USER13> Very interesting, so It's sort of a repl server. Using node.js you could even execute and return the results.. I'm starting to see how someone(who knows what they are doing) could create a POC LightTable plugin...

</comment></comment></comment><comment><USER14> Does this support pointers/memory buffers and other systems programming stuff? It's unclear to me from the compatibility table/etc.

<comment><USER4> Yes, pointers are completely supported. You can create a var buf bytes.Buffer and Write() to it and all that stuff without problems.

</comment></comment><comment><USER15> Boy would I love to see someone take this and create a reactive web library akin to what Meteor and DerbyJS are trying to achieve.

</comment><comment><USER16> Anyone know how hard it would be to get a ReactJS binding setup for this? I was literally just looking into GopherJS (for a normal frontend stuff) - <USER2> i'm unsure how gnarly it would be to setup bindings.

Part of me fears the output though. It can be rather verbose, large, and is quite abstract from the original code. Debugging and code-size worry me greatly.

<comment><USER4> I'm curious about this too. I've heard good things about ReactJS. There are bindings for AngularJS for GopherJS, so you might want to look at that. I'm guessing it should be doable.

</comment></comment><comment><USER17> I would say that's a great work. But, in order to write efficient code, you still need to understand both languages. It just saves you time to remember JavaScript syntax. Since we have google and stackoverflow, people can pretty much write more idiomatic code than machine. So the conclusion is not worth it.

</comment><comment><USER18> Can this create appropriate ASM.js code?

<comment><USER4> Not yet, but it's definitely possible in the future. Open issue [https://github.com/gopherjs/gopherjs/issues/72](https://github.com/gopherjs/gopherjs/issues/72).

FWIW, I've done some crazy things and so far I've seen that things work surprisingly fast. Performance has not been a bottleneck yet.

</comment></comment><comment><USER19> For alternatives see (7 month old) : [http://www.reddit.com/r/golang/comments/1z2bc4/a_transpiler_...](http://www.reddit.com/r/golang/comments/1z2bc4/a_transpiler_from_go_to_javascript_for_running_go/cfpxphl)

</comment><comment><USER20> Does it self-host? That is, could we have a fully client-side Go-in-the- browser?

<comment><USER4> Yes, that's how the GopherJS Playground ([https://gopherjs.github.com/playground/](https://gopherjs.github.com/playground/)) works. See my other comment.

</comment></comment><comment><USER21> Why use a server-side language developed by Google (Go) as an alternative to JavaScript, when you could use a client-side language developed by Google and intended as an alternative to JavaScript (Dart)?

</comment><comment><USER22> It remained me of GWT that is disappeared for a long time. hah

<comment><USER23> As of this month, GWT has 150,000 monthly active developers, and is deployed to 20,000 unique domains that we can count (we can't count intranets) User base has tripled since 2009 and held relatively constant.</comment></comment>


Screens might be as bad for mental health as potatoes - <AUTHOR> https://www.wired.com/story/screens-might-be-as-bad-for-mental-health-as-potatoes/ <comment><USER2> As a programmer in Idaho, I breathed a sigh of relief.

<comment><USER3> As a hacker news reader, I laughed out loud.

</comment></comment><comment><USER4> ...overly clever headline meaning "variation in 'screen time' is basically uncorrelated to mental health". Both because "screen time" is poorly defined, and because whatever impact it has is vastly overshadowed by numerous other factors. But studies about "screen time" get attention because the culture has shifted so drastically in the past 10 years.

<comment><USER5> They are saying it is correlated, just as much as the correlation between mental health and potatoes which is next to negligible yet existent

<comment><USER6> Is it a negative correlation? Because oh I love potatoes.

<comment><USER7> It probably won't help your mental health if someone throws a potato at your head.

</comment></comment></comment></comment><comment><USER8> I'd like to see a study that makes a distinction between "screen time" and "desk/couch time." Not all screen time is created equal.

<comment><USER9> Right. From a naive perspective, I think it's safe to say that 2 hours of screen time watching a movie with loved ones is better for your health than a cumulative 2 hours of looking at your phone browsing social media and constantly comparing your life to others.

</comment></comment><comment><USER10> I think that the effect of potatoes on mental health is sadly underrated.

<comment><USER11> The Potato Hack agrees with you [https://potatohack.com/](https://potatohack.com/)

</comment></comment><comment><USER12> This page produces tons of spurious correlations: [http://tylervigen.com/spurious-correlations](http://tylervigen.com/spurious- correlations)

</comment><comment><USER13> I couldn't quite follow what the article was saying about "anaytical paths", but I think they're talking about spurious correlations.

I worked on a stats app. We referred to the problem of finding correlations from data as "the green jelly beans problem" after [https://xkcd.com/882/](https://xkcd.com/882/) . There are techniques to deal with it like [https://en.wikipedia.org/wiki/Bonferroni_correction](https://en.wikipedia.org/wiki/Bonferroni_correction) .

</comment><comment><USER14> click bait headline</comment>


PSA: Sorry, Those Apple Watch Band Swapping Sites Aren't Going to Work - <AUTHOR> http://techcrunch.com/2015/04/10/psa-sorry-those-apple-watch-band-swapping-sites-arent-going-to-work/

<comment><USER2> With very good, completely unnamed authority. I'm not saying I doubt this particular claim, but just saying that you heard it from an anonymous source can't increase my trust in your report.

<comment><USER3> The photo of the packaging makes a pretty strong case.</comment></comment>


Ask HN: How do I start a mens social group? - <AUTHOR> I just finished listening to NPRs Hidden Brain episode on male loneliness[1] and I want to do something about it, both for myself and for other men in my area. I think starting a mens social group in my area is a good place to start.
How do I start this group? How do I find men to join? What sort of things should the group do?
1: https://www.npr.org/2019/10/11/769538697/guys-we-have-a-problem-how-american-masculinity-creates-lonely-men <comment><USER2> Move to Australia! [http://www.mensheds.org.au/](http://www.mensheds.org.au/)

</comment><comment><USER3> But why should lonely men decide to meet other men rather than other people?

</comment><comment><USER4> You'll be up and running pretty quick with an app called grindr.

<comment><AUTHOR> I guess this is exactly the problem. Men trying to form close friendships are seen as gay in the United States. Meanwhile we've got ever increasing suicide rates and astronomical amounts of lonely men.

<comment><USER4> I wouldn't worry too much about it. It's NPR's job to make something out of nothing. Also, you're using "astronomical" wrong.

<comment><AUTHOR> Sorry, english isn't my first language

</comment></comment></comment></comment><comment><USER5> Join a Christian church.

<comment><USER4> You might get more mileage with Catholic.</comment></comment>


Math Advances Raise the Prospect of an Internet Security Crisis - <AUTHOR> http://www.technologyreview.com/news/517781/math-advances-raise-the-prospect-of-an-internet-security-crisis/ <comment><USER2> Original slide deck here: [http://isecpartners.com/media/105564/ritter_samuel_stamos_bh...](http://isecpartners.com/media/105564/ritter_samuel_stamos_bh_2013_cryptopocalypse.pdf)</comment>


First Weekend iPhone Sales Top Nine Million, Sets New Record - <AUTHOR> http://www.apple.com/pr/library/2013/09/23First-Weekend-iPhone-Sales-Top-Nine-Million-Sets-New-Record.html

<comment><USER2> Fun fact: If you stacked this many iPhones screen to back on top of each other the stack would be at least 82 times the height of the worlds tallest building[1] (assuming they were all the thinner 5S - Apple didn't say how many of this 9 million was the 5S versus the 5C).

[1] Burj Khalifa at 830m

<comment><USER3> that fact was not very fun

</comment></comment><comment><USER4> It'd be interesting to see a by-country breakdown of sales, given that they added 2 new markets to this release, China and Puerto Rico, having 1.35b and 3.6m populations, respectively. This first weekend could have been great....or it could have been subpar in comparison to the last release, depending on markets.

<comment><USER5> I think we can exclude PR.

The iPhone 5 sold about two million units on its opening weekend in China, so adding that to its original opening weekend (which didn't include China) and you get about seven million "opening weekend" sales including China's.

So that's seven versus nine million, still a substantial increase.

<comment><USER6> 7 million iPhone 5 devices, vs 9 million iPhone 5s + 5c?

So we still need an estimate of iPhone 4S sales the weekend after the price drop (including in China) to compare fully.

</comment></comment></comment><comment><USER7> Which record did they break? What was the previous record?

While I have no doubt that this was overall a record-breaking weekend for Apple, they are likely hoping that this gets interpreted as iPhone 5S sells better than the iPhone 5 did at its opening weekend. I think this is highly unlikely, though, because the 9 million includes both iPhone 5s and iPhone 5C, whereas previous year's record breaking sales number of 5 million included only the iPhone 5.

So how many iPhones 5S did Apple sell compared to iPhone 5 last year? Let's say the 5S and the 5C sold equally well (which is VERY doubtful considering not just price but also availability). This would put both iPhone 5S and 5C at 4.5 million. Both below iPhone 5 sales of 5 million. It is much more likely, however, that the 5C sold many more units than the 5S thus putting the 5S as lower than 4 million units sold, perhaps as low as 2.25 million.

There is no bad news here for Apple as I'm sure their profit margins on the 5C are similar, if not higher than the 5S. But it does indicate the oncoming commodification of smartphones and other personal digital devices. The 5C is definitely holding its own, and Apple's brand is as strong as ever but I just wonder if Apple really wants to get into this kind of competition.

<comment><USER8> I would say that there is too much speculation in your comment . You go from 4.5 million devices all the way to 2.25 just because you think 5C's are selling better?

<comment><USER7> Well yes speculating is for humans too. I wasn't entirely speculating though. I had read a headline saying that 5c is 3 times as popular as 5s. So trying to be as just in my speculating as I could, I went for a best-case worst-case range.

But in this instance it reminds me that to err is human as well. Because while trying to find the headline I was thinking of, I realized I'd mixed up my C's and my S's. It's the iPhone 5s that could be 3 times as popular as the 5c ([http://news.cnet.com/8301-13579_3-57604127-37/iphone-5s-acti...](http://news.cnet.com/8301-13579_3-57604127-37/iphone-5s-activations- more-than-triple-those-of-5c-says-report/)).

So here is my new speculation! iPhone 5c sells 2.25 million while iPhone 5s sells 6.75 million units. Indeed that's a little better than last year's 5 million, but my speculative gut is still telling me the 5c to 5s ratio is not quite that high.

</comment></comment></comment><comment><USER9> In other words, Apple sold more iPhones over the WE than Nokia or Blackberry shipped smartphones during the last quarter...

[http://allthingsd.com/20130718/nokia-sold-more-windows- phone...](http://allthingsd.com/20130718/nokia-sold-more-windows-phones-last- quarter-than-blackberry-sold-total-phones/)

</comment><comment><USER10> Apple's marketing is insufferable. The apple designed A6 chip? What a complete load. What did they design exactly, the apple logo they paste on it? And they talk about going 64bit on a device that has only 1GB of memory as though that is a benefit to anyone. It will slow down every single app out there currently. The benefit of going 64bit is that it gets people to start writing apps that support the technology. For the future. When 64bit phones will actually make any sense, so it's a good move but they talk about it like it's a benefit to consumers now.

What is the markup on these things? Who is buying a phone that costs more than 3 times as much as its competitors and the screen size still hasn't exceeded 4 inches? The "retina" display on these isn't even 720p.

I'm obviously disturbed. Don't even get me started on the 5c.

<comment><USER11> > The apple designed A6 chip?

AFAIK, these claims are actually legitimate since Apple's acquisition of P. A. Semi a few years ago.

> And they talk about going 64bit on a device that has only 1GB of memory as > though that is a benefit to anyone.

Double-precision floating point instructions will be much faster.

> Who is buying a phone that costs more than 3 times as much as its > competitors and the screen size still hasn't exceeded 4 inches?

There are plenty of people who prefer the smaller size - I am one of them. My daily carry is an HTC One, and I love it (I think it's the best smartphone available). But...the screen is too big. The "back" button is also on the far bottom-left corner and I normally use the phone with one hand. Stretching to reach that button 5000x a day makes my hand hurt. My hand actually hurts. Also, I now have a hole in the front pocket of two pairs of jeans.

Which phone is 1/3rd the price and comes even close in the camera quality? I think the iPhone 5S competes on the high-end smartphone market - HTC One, Galaxy S4, Nokia 1020. The price is competitive.

> The "retina" display on these isn't even 720p.

So you'd prefer more pixels which your eye can't see because...

<comment><USER10> According to wikipedia the processors that PA Semi make are not used in any of Apple's current devices. Which would be part of the reason I'd never heard of that. The A6 chip is designed and manufactured by Samsung. Apple may have had a hand in encouraging them to go 64bit on something that uses a GB of memory, because why else would Samsung do that. But that doesn't exactly count.

It is not much faster because the amount of memory is not enough to make the technology really useful. The technology uses more memory than 32bit. Many tests have been conducted on this kind of thing 64bit isn't new. It has been shown that using less than 4GB of memory with a 64bit processor can often result in slower speeds.

Let alone like I mentioned that all the 32bit apps now have to run on top of another layer in the OS. And, apps that take advantage of 64bit will either not run on any other device, or they will have separate versions for 64bit and 32bit. Or they will simply be 32bit.

Which will I would imagine be the case for at least a little while.

I was referring to the Nexus 4 in my price comparison. A phone which is in the process of being replaced with a new version very soon. It's a good phone.

More pixels my eye can't see at what distance? It's a handheld device I'll hold it at whatever distance I want to. 720p is a reasonable resolution to expect. This isn't 2010 anymore.

Are my criticisms really that unreasonable?

<comment><USER11> > According to wikipedia the processors that PA Semi make are not used in any > of Apple's current devices.

This is misleading. PA Semi used to make Power chips. Apple uses only ARM and x86 now, so of course anything from PA Semi isn't in any apple products. But, we won't hear any announcements about PA semi's work anymore since PA Semi has stopped its Power business and its 150 employees were subsumed into Apple. Apple claims to have designed the custom ARM chips in their iDevices. You think they are lying about that? They certainly have the engineering power to do it...

> I was referring to the Nexus 4 in my price comparison. A phone which is in > the process of being replaced with a new version very soon. It's a good > phone.

Yes, the Nexus 4 is a good phone. It's not a "great" phone. The camera quality is terrible; when you put it face down on a table the ringer is mostly inaudible; the battery life leaves much to be desired; speaker quality is bad; no LTE; etc. It doesn't compete with the high end smartphones, and it's priced accordingly.

> Are my criticisms really that unreasonable?

I believe your criticisms are based upon inaccurate assumptions. Please check your facts.

<comment><USER10> I now resign myself from speaking to Apple people anymore I am just way too busy for this crap. Check my facts check this.

<comment><USER11> > I now resign myself from speaking to Apple people

I'm actually an ex-googler and have been using Android as my daily carry for over a year. Not sure what this discussion has anything to do with possibly being a member of some nebulous "Apple people" group.</comment></comment></comment></comment></comment></comment>


The worst career advice I ever received - <AUTHOR> https://hackernoon.com/the-worst-career-advice-i-ever-received-54aaf2a50c93 <comment><USER2> My synthesis: To get promoted fastest, join teams & businesses that will grow fast.

This makes sense to me. It's why we have 30-year-old CEOs of hypergrowth tech startups, but we don't have 30-year-old CEOs of mature companies.

It also makes sense from a career capital perspective. The skills & knowledge that are most valuable to learn are those that will be needed by fast-growing teams & businesses.

Of course, the obvious follow-up question is how do you identify which teams and businesses will grow fast?

<comment><USER3> > of course, the obvious follow-up question is how do you identify which teams > and businesses will grow fast?

I think his point was: when you're certain that the current team isn't, find a new one. You can't reliably identify what will grow fast, but you can identify what won't

<comment><USER4> > You can't reliably identify what will grow fast, but you can identify what > won't

This is a great insight that certainly rings true to me.

<comment><USER5> It this case it was even stronger, identifying not what won't grow fast, but what was failing.

And the new business being "interesting" improves the odds of growing fast.

</comment></comment></comment></comment><comment><USER6> Fundamentally this individual took a risk and it worked out. There was an equal chance that the new product he was working on could have floundered and he might not have gotten promoted. Survivorship bias is present here. Same as saying "I quit my job and started an amazing company and would never look back". The only useful piece of advice here is "take measured risks in your career and maybe some of them might pay off".

<comment><USER7> The "risk" he was taking was slight. Given that his goal was to be promoted, the status quo — remaining a line manager on a struggling team — was a failure, rather than being neutral.

Importantly, with the benefit of experience he's now in a position to identify that moving teams was less risky than he'd even assumed. This is not just survivor bias either — in management you aren't rewarded for keeping a floundering team afloat. You need to attach yourself to a team that is making your manager and their managers look good.

<comment><USER8> _You need to attach yourself to a team that is making your manager and their managers look good._

Right, it's the same business model as elite universities - find people who are likely to succeed anyway and take credit for their success. Except in the case of management, it's exploitative of the Workers because the manager hoovers up the lions share of the financial rewards, not just a fuzzy boost to reputation and prestige.

</comment></comment></comment><comment><USER9> Don't quite understand this article. Seems to be looking through rose colored glasses. There's no indication that this guy would've radically changed his career by moving to the new position, but because he did, he now writes a medium post with a overly exaggerated, click-bait title about advice he deemed the worst ever which could've been the greatest ever if his new position was a dumpster fire with people he didn't get along with.

<comment><USER10> > There's no indication that this guy would've radically changed his career by > moving to the new position

Job interviews can offer plenty of indication regarding how different the new position is.

Article seems to have the same basic idea as [https://xkcd.com/1768](https://xkcd.com/1768) \- When in doubt it's better to leave.

<comment><USER9> Job interviews often hide the following: 1) What the people are like 2) What the benefits are 3) What your bosses like 4) What the company culture is like

Pretty much everything meaningful about a job is kept hidden because of the game of "you shouldn't look like your benefits shopping".

I haven't gone to a single job interview where those were discussed before hiring at a non-superficial level (I've interviewed about 5-6 times in my professional career) And you're actively discouraged from asking these questions when learning about interviewing techniques.

</comment></comment></comment><comment><USER11> On the flipside, back when Ottawa was the "Silicon Valley North" (I assume it's not called that any more -- that was a long time ago), I've had friends who took management roles in risky ventures, had the company crash and burn, and tried to find another management gig only to find that Ottawa was in a bit of a down turn. Finally they tried to get development roles, but couldn't land them because they had been in management for too long and nobody trusted their technical abilities.

It's easy to say in retrospect that a flip of the coin was successful or unsuccessful. Hard to say in advance. Having said that, I think it's sound advice to say that if you aren't getting the opportunities you want in you current situation, it might be a good idea to see if those opportunities exist elsewhere. Just be careful to weigh the risks and realise that survivor bias is a thing.

<comment><USER12> I think the Toronto-Waterloo corridor is more commonly referred to as "Silicon Valley North" than Ottowa now. Hopefully it doesn't become too similar to actually silicon valley though it's pretty nice as it is.

</comment></comment><comment><USER13> This post assumes that everyone wants to 'move up' in their career. Maybe, but what is wrong with not doing that? Is it the worst thing to keep doing what you like doing, being comfortable and enjoying life?

I know that many people are driven to reach a certain goal in their career, but that doesn't mean that everyone has to do that. Some people might want to just go to work, do their thing, and take home their salary. That isn't bad, it is just different.

<comment><USER14> To move up in your career you should get out of your comfort zone and take risks. I think this is what the author meant. It is fine if you are content with your position.

</comment></comment><comment><USER15> The article should be called "advice that didn't end up being good in my case". Power vacuums often are great times for people to find a new spot and a new opportunity. I've seen this happen many times at companies I've been at. For example certain people who previously were not the highest qualified person to be a manager ended up getting an opportunity to be one—they ended up doing a really good job and got promoted multiple times after that. So I would say if you are hoping to get into a position that you may not on paper look right for, sticking around during a power vacuum is not a bad idea at least for a while.

</comment><comment><USER16> From a retired NASA engineer that worked on the Apollo program (and I greatly respected at the time): don't become a computer programmer, it's all going to India and there won't be any money in it.

<comment><USER17> if taken at face value, this is sad. In fact, the entire field is moving in many directions at once. Some parts of some kinds of programming already did move to India from the US, but its not at all the whole story.

<comment><USER18> Seems like there is a hidden bit of advice about not becoming overly specialized or at the very least be nimble enough to be able to change your specialty quickly. Also seems like this will lead to "specialists" with shallow knowledge on average.

<comment><USER16> I see it as a bit of hidden advice of just because someone knows a shit ton about one thing, doesn't mean they known everything about everything, even if they sound like they do.

</comment></comment></comment></comment><comment><USER19> Anyone who's read Ed Catmull's experience looking after Toy Story 2 knows this adage: it's not about the situation, it's what you bring to it.

You'll bring whatever you're capable of bringing whether you stay in chaos or move on. It's less about the environment and more about your attitude...even more than you may realize at the time.

In my experience, the greatest success in my career has happened when I stopped trying to figure out how to get ahead and just went about the business of doing and growing.

</comment><comment><USER20> This is inspiring but it's worth noting (if not being put off by) the survivor bias at play here.

<comment><USER21> Not really, I had a friend at Nokia maintaining old code in a team. He was the go-to person for many years without getting promoted to even team leader position.

I told him to learn some new language that's used in the company that can be used as a leverage to switch companies as well if he isn't getting promoted, and try to switch. 1 year later he's working on writing new application load balancers in go, and he's loving it, and getting more money for it, and he can easily switch to other company if he wants to.

Of course the old team really misses him, but they didn't value him high enough, so they lost the best person on their team.

<comment><USER22> I don't consider your anecdote to be a valid argument against his claim that this is survivor bias. I appreciate you sharing that person's story but the fact is, there are many variables at play.

I think that in most cases, career advice is subjective and to brand advice as black and white, good or bad, is silly. Nobody can predict the future. A seemingly negative decision could potentially lead to other positive outcomes. That's why I find little value in this discussion: it's subjective and difficult to measure.

<comment><USER21> Sure, it really depends a lot on the situation. Jumping around is just as bad as rotting in a place, but I wanted to share my example because it was a clear cut case when my friend tried everything to fix the local situation first.

</comment></comment></comment></comment><comment><USER23> A lot of people are saying this is survivor bias, but consider the matrix of possibilities - stay, situation improves AND opportunity for promotion appears; stay, situation stagnates or deteriorates; leave, new project prospers; leave, new project bombs.

They're not all equally likely.

Staying on a lame duck project is a huge gamble. It achieved lame duckness for all kinds of reasons. To benefit you have to assume that those conditions will change AND that the changes will create opportunities for advancement OR that you will be able to force changes and advancement from your current position.

How likely is that?

Getting out and changing is a gamble, but if you're not completely clueless you have some prospect of assessing the likely success of a new project.

Bottom line: giving yourself more options is not a bad game move. You can interview without commitment until you're fairly sure you're going to make a good move, and that's much more likely to work out than staying on a project that's broken and going nowhere.

</comment><comment><USER24> The article feels like a variation of survivor bias to me. I think his friend was right and the author got 'lucky' to land a role in a successful company. He could easily have landed in another toxic or stale company.

Alternatively, you could probably find another story about an engineer who left a similar situation and founded a unicorn company, so in comparison, would this author have 'failed' because he didn't go down that road?

<comment><USER13> Not agreeing or disagreeing, but one note: he didn't go to a different company, he went to a different division within Microsoft.

<comment><USER25> In a large enough organization, moving to a different team might as well be moving to a different company.

</comment></comment></comment><comment><USER26> The problem with this article is that it could have gone either way. For instance, I could tell a story about how my company was going through a rough patch, and how my friend left and tried to recruit me away, but I stuck with it, and when we returned to growth, I was promoted and had responsibility for hiring and growing a team. I might throw in a bit there about how I call my job-hopping friend, who is still floating around in various dev roles after the hot startup he hopped over to went under, and how the conversation always makes me feel good about how much better I'm doing, and how I expect him to come sniffing around for a job any time now...

What would this signify, beyond how this particular decision worked out nicely for me? I'm not sure, other than that it is important to make good decisions about whether you stay or leave, and where you go next. Sometimes stay, sometimes leave, and it often won't be clear at the time which is the better call.

</comment><comment><USER27> This really speaks to me. It can be so hard to give up the challenges you know and the comfort of the status quo to take on a new opportunity. I'd wager the recommended solution, "having a picture in mind of what you want to do", makes it a lot easier to recognize and grab those imperfect opportunities when they present themselves.

</comment><comment><USER28> Few tips for working at any startup:

\- Don't work with assholes (avoid detrimental execs and culture)

\- Has plenty of growth opportunities (able to quickly expand skillset & learn new roles)

\- Proven product/market fit & steady growth (avoid stagnant startups and sinking ships)

</comment><comment><USER29> When a company goes bad, the best people go out first.

This is a force bigger and stronger than you are.

<comment><USER30> Technical people who are intrinsically motivated (typically the best and most productive people) often are the sort of people who find working with other high caliber people to be an important and highly valuable part of their work experience. When good people leave because the company isn't treating them well the result is a cascade effect, because every good person leaving makes the working environment worse. So more good people leave. Then for everyone left behind there's extra work and a struggle to reacquire lost institutional knowledge, and everybody finds that executing on projects is more difficult and results in less success.

Because of the nature of software development (no development cycle is ever really identical to the previous one) it can be difficult to conclusively or objectively say that the capabilities of the organization have been reduced, or that the working environment is poorer, because these things require subjective judgments. But many people have enough experience to make those judgments for themselves, to _feel_ the organization getting worse and less capable, and this can create a kind of pressure for people to find other options elsewhere even if not everyone understands why on a conscious level.

</comment></comment><comment><USER31> > No opportunity will be perfect [...]

Having trouble with this whole paragraph because it's essentially arguing in favor of the other extreme, which is just as bad: sucking up whatever you might not like about your new job and how bad the situation in it might be because it might help your career.

The solution to "staying stuck because it's comfortable" is not "suffer through something because it might help you".

One needs to measure the compromises.

</comment><comment><USER32> "Follow your dreams", no follow what is practical and use your money to do what is good and fun because of that.

</comment><comment><USER33> I'm at some cross roads my self. I couldn't have read this at a better time. Thanks</comment>