Neo – Desired Word Processor for Authors - <AUTHOR> http://www.hughhowey.com/neo-a-word-processor-for-authors/ <comment><USER2> (Wearing my jobbing-novelist hat here ...)

He kinda lost me at the idea of navigating a WIP using page thumbnails on the left. (a) That's so 1988 (Clive Sinclair, I'm thinking of you and your Pipedream here), and (b) _the page is not the appropriate document element for navigation_ — scenes can be as short as a sentence or almost as long as a chapter, and _scenes_ are how I structure prose fiction. Indeed, a manuscript page bears no real relationship to a published paper book page, or an ebook equivalent.

Finally, as functional requirements go this is, shall we say, less than ideal: but let's not go there.

<comment><USER3> Totally agree.

Check out Granthika, a semantic novel editor with automatic error checking for timeline and character errors: [http://granthika.co](http://granthika.co)

In progress, pre-beta, by a friend and novelist.

<comment><USER4> > a completely unprecedented, patent-pending technology

I'm all for innovation which is why I stopped reading here.

<comment><USER5> Agreed; "patented" or "patent-pending" is better read as "immediately stop reading this, cast the entire concept out of your mind, and don't ever think about this general problem-domain again, or we might be able to sue you or your employer if you compete with us by inventing exactly the 'wrong' algorithm/concept/thing/etc. And _certainly_ avoid reading our patent, or we can definitely sue you for competing with us.".

</comment></comment></comment></comment><comment><USER6> The interesting thing to me about this as a programmer is that it really looks like a spec.

There may be even bored programmers who read this on HN and have already started building it.

It would be interesting to see how many changes were made to that spec by the end of the development process.

The trickiest part to me is the idea that regardless of what computer you put the USB stick in, it just immediately loads the program. Can you even really be sure that will happen if you restrict it to the last few versions of Windows?

So that right there is one of the most challenging aspects of software development -- when a big part of the concept is something that either isn't actually feasible as stated or you are not sure is possible. Which is really common because most projects are not driven by programmers but by non- technical people.

What it seems like most programmers will do is to try to find a clever way to gloss-over this 'little detail' about how they don't know how to be sure that a program will immediately open with no effort once the USB stick is inserted. The issue with that is, if they leave it a little ambiguous, and then it turns out that whoops, it never opens on his Macbook or requires him to manually launch it.. then his super-easy program is not nearly as simple as he imagined.. if the instant launch was a big part of it. Then the average programmer would just say "well, I told you I wasn't super sure that it would work exactly as you liked" \-- when really he barely mentioned it and the guy didn't believe him.

Maybe some programmers are good at handling this -- I think you really need to find a slick way to convince the guy that he never really needed or wanted that instant open USB thing, or that having to double click after it was inserted is exactly the same. Kind of about psychology as much as anything.

<comment><USER7> > The trickiest part to me is the idea that regardless of what computer you > put the USB stick in, it just immediately loads the program. Can you even > really be sure that will happen if you restrict it to the last few versions > of Windows?

It's a textbook example of an x-y problem. He wants to be able to work anywhere. He thinks the right way to do that is a USB drive. The _actual_ right way to do it is as a web app.

<comment><USER8> But he wants the application to disable the internet! It's more an example of a customer needing guidance from a professional. In this case, part of deciding if this is a good project to work on is explaining the tradeoffs and seeing how the customer navigates them. If the customer really wants to "have his cake and eat it too," then walk away!

If you tell the customer, "computers don't automatically run applications on USB sticks because then they would get hacked," and the customer doesn't understand, then run away!

Otherwise, this is a situation where the customer needs to understand the tradeoffs among a web application, desktop application, and tablet application. If a desktop application is preferred, then there are very significant tradeoffs with applications that can run off of USB sticks, versus tiny installers that will only run on a recent version of Windows, versus an installer that will work on Windows XP.

This is also a situation where a statement like, "an application that runs off of a USB stick is very challenging, and is limited on what it can run on. This would be a major distraction. Can we limit this to Windows 7 and Windows 10 with recent updates? Otherwise, we can put an installer on a USB stick, but it might be very large in order to support older windows without updates. Would a web-based application be better? You can run them in full-screen mode."

</comment></comment></comment><comment><USER9> 95% of what he wants can be done with a suitable Emacs config, org-mode and some elisp... What I find confusing, coming from a professional writer (though maybe that's the eye with which they would look at this), is that he seems to view very different aspects (purely cosmetic ones, such as the indented line in a first paragraph, or heavily usability-oriented ones, inserting a TODO note) as equally important.

Then again, he has tried all of the editors out there, and I'm just an Emacs geek :)

<comment><USER10> 95% of any program can be done with a suitable emacs config, org-mode and some elisp. And then nobody will use it because it's emacs.

<comment><USER11> The parent comment reminds me of a recent "every Stackoverflow question" post which I cannot locate right now.

Yeah, you could emacs, or whatever. Or a regular human person could just use this app and really enjoy the User Experience out of the box without any fuss.

</comment></comment></comment><comment><USER12> I recently surveyed a writer about their software woes.

Response:

"I am a writer - fiction and non-fiction.

I haven't found good software to keep my notes, sentences, ideas, etc. in a way that helps me easily incorporate them into the project I am working on.

Oftentimes, I will come up with a sentence or a paragraph that I want to put in my story at a later time. It's just a moment - an idea- that comes up that I want to save for later use. Well, guess what, these ideas start piling up and I could have a huge pile of sentences/paragraphs that I will use to build my story. But hey, I don't know just yet where I want to place them to tell the most effective story.

I want a section in the particular file I am working on where I can keep these ideas instead of having a whole separate "ideas" file or worse, scribbled on a paper napkin.

I'd like to be able to easily drag and drop that paragraph/sentence from my ideas section right into my story without having to do the annoying cut and paste or worse, figuring out what file I saved that great sentence in.

I'd pay $130+ for it."

<comment><USER7> scrivener?

<comment><USER13> Hm, looks interesting, but is there anything similar available for Linux?

I use a small chromebook as a primary workstation for its light form factor and ARM's low power usage/long battery life. So if it's Mac/Windows or closed source without an ARM binary, I can't use it.

</comment></comment></comment><comment><USER14> For me the most important part of writing longer, novel-length pieces is the organization help that Scrivener gives me. So far it's my favorite tool and as cool as this might be I'll remain skeptical until I see the final product.

<comment><USER15> One downside of Scrivener is how old UI feels and looks. It definitely needs a heavy facelift after all these years. Oh and the use of RTF docs.

I'd say that when someone comes to the table with markdown support, a UI that matches the times, a better format, and strap Pandoc on top of it, you'd see a true competitor to Scrivener.

Scrivener satisfies the market but I think a straight up clone with a few changes and a few extra features could easily take over. Not one of these alternatives that keep trying out something "new".

<comment><USER16> Scrivener is actually getting a facelift. Check out their blog with some screenshots of their in-progress Scrivener 3:

[https://www.literatureandlatte.com/blog/](https://www.literatureandlatte.com/blog/)

</comment></comment></comment><comment><USER17> My main personal project is a writing app, every time I see something like this on HN I get a little heart flutter which is about 50% somebody stealing my chance at greatness and 50% "oh cool, a new app to try out!"

I'm genuinely delighted to see authors stepping into the app production space. I'm surprised more don't do it. I expected Charlie Stross to have his own flavour of Linux by now.

I hope Hugh can pull this off.

Edit: forgot shameless plug: [http://getpoe.com](http://getpoe.com), Windows 8/10 only at the mo, sorry.

<comment><USER11> "Windows 8/10 only at the mo, sorry."

Well... why? I get, like, macOS requiring a Mac for Xcode to ship an .app bundle. But wha'bout that Linux?

<comment><USER17> Excellent question.

Poe was created because back in 2012 when I upgraded to Windows 8, there were no distraction free / focus writing apps in the store, and none of the existing ones (like the stupendous writemonkey) had a fullscreen mode that would play nice with Windows 8's app switching. This wasn't any fault of the developers of those apps - MS gave switching priority to 'metro' apps, so anything that was win32/64 was a second-citizen (of course this changed with 10, but at the time they were committed). I was learning how to write store apps, I wanted a writing app on my surface. I saw an opening, and I took it. Everything I've done since has been built upon that first app.

Fast forward five years and I have lots of users who like the app (40k or something), but all my code is JS, built upon the Windows UWP/JS stack. It's what I know best.

I really do want to build an app for Linux, and for macOS. I have bad days where I'm totally put off, because there are some _fantastic_ writing apps out there already that do so much more than Poe can (FocusWriter, for example, does everything Poe does and is already cross-platform, and has features that I can only dream of).

But on _good_ days, I feel like maybe having a choice of apps is a good thing, and maybe there are things about Poe that people like over other apps, and maybe the good people of linux and macOS might actually use it. On those good days, I continue my work on porting to Electron as a cross-platform MVP. I know some people won't like that, but I am time limited, as I pointed out in another comment. This is the only way I'll have time to do it short of quitting my full-time job, abandoning my in-progress novels and selling my family on ebay.

</comment></comment></comment><comment><USER18> Slightly off-topic, but I'd like to recommend the Silo Series also by the author of this blog post. They're perhaps not life-altering in content, but enjoyable sci-fi reads, nonetheless.

<comment><USER19> Howey is perhaps my favorite new(ish) sci-fi author. His novels are almost always page turners, even if they aren't always deep. _Wool_ (book one of the Silo series) was my introduction to Howey, and also among his best. I also recommend it for anyone that likes post-apocalyptic sci fi. _Sand_ is good, too.

</comment></comment><comment><USER20> I think the naming is counterproductive. How many things exist that are called "NEO" these days?

<comment><USER21> I know that was a rhetorical question, but a search for neo on github yields 14 _thousand_ results. Granted, that includes some "neon", but sheesh. It's like that truck I saw the other day, for a business called "best carpet cleaners". I get that the branding is cool, but you can't google that name.

Heck, there are several different programs named neo on the first page of google search results for "neo editor"!

<comment><USER22> Finding the balance between searchable and memorable is quite the task. A text editor named Flugurbenhurg is gonna be relatively Google friendly, not quite so grey matter friendly.

I've often had the itch to create tooling to automate tasks. Later deciding to make it more generic and open source it. I have such a time trying to give them names. Internal tooling, fine, just name it what it does and move on. Public releases though... Oy, I'm sweating just thinking about it.

<comment><USER11> "Finding the balance between searchable and memorable is quite the task."

While I agree, the name Neo is crap, unfortunately.

It's like how many things are named Fuse or Fusion in open source, or new projects that start up with names that are clearly already dominated by something else. It just doesn't work, doesn't do anyone any good in the long run.

It's worth it to go back to the drawing board for a minute, and just come up with a name. Especially since so much thought and care has gone in to the rest of the app so far. Calling it Neo works like an internal project name, just to fill in the blank and get something started. But as a name that can ship, Neo is never going to work.

Unless it does, and becomes the new defacto Neo. Which could happen. But it's a pipe dream. I think it's better to start off on the right foot with a good name.

</comment></comment></comment></comment><comment><USER23> i write passable poems using ed; it doesn't get more distraction free than that.

i understand the drive to flatten out the learning curve of software for non- software-people. most of these options could be covered quickly with an author oriented LaTeX frontend, and i venture to guess that would be easier to develop. It already has an entire document class for books, covering frontmatter, mainmatter, backmatter, chapters, table of contents, headers footers, bibliography, etc. all that is needed is a author friendly GUI. file management, tabs, etc would then be the main part of the NEO ecosystem. One just has to supplement with templates and never mess with actual document creation.

<comment><USER24> Yes, LaTeX is near-perfect for print, but pretty much useless for ebook formats.

</comment></comment><comment><USER25> > The main focus, however, is perfect ebook files. Complying with Amazon's > standards will be a huge goal

I've bought Kindle books from Amazon that had 5 OCR errors per page.

<comment><USER26> The quality of paid ebooks is generally atrocious. Mind you, I usually submit 3-7 fixes per Gutenberg text I read so maybe I'm just overly picky…

</comment></comment><comment><USER27> What's a pantser and a plotter?

Wild guess: pantser novelists are more descriptive (a lot of ink spilled on clothing) while plotters have much more characters and intrigue?

I keep trying to write something using composites of people I know as characters, but this ensures I don't get details as hair color right.

<comment><USER28> Sorry if this is going to sound seriously "Grumpy Old Man", but I just typed (well, copy/paste) exactly your question into Google and got the answer in an instant.

So this is a genuine question - why did you ask this here instead of doing a search? You typed your question and random speculation into the comment/reply box, while you could just as easily - even more easily - typed your question into the search box.

So there must be a reason - why not do the search?

<comment><USER29> Because as the other answers to the question show, sometimes there's more to be gleaned from a human interaction than a straight fact-finding trip to the Internet.

Or, sometimes, people just want to interact with a human. You know, converse. We're a peer group, right? We're here to discuss things. Op is discussing. If the entire group deemed it too obvious a question to merit replying, no-one would have replied.

Further, this question and answer is now available to Google to crawl, store, and return for future searchers. How did Google get all the answers that are available in the first place? Someone typed a question, and someone else answered it.

Finally, I Googled _your_ question and came up with this answer:

"Because receiving a personalized response is far more gratifying than reading a Wikipedia page. It makes you feel at the very least a connection to another human being which other than " leaving a footprint " is mans greatest desire in life."

<comment><USER27> No, no, no.

Basic web searches note the expression "write by the seat of your pants", which in turn is inspired by "fly by the seat of your pants". That's a completely mystifying expression to me.

On the other hand, your answer is an impressive feat of projection: the armchair psychology you invoke to explain why someone would do something you don't understand at first is _clearly_ an explanation for why you would choose to type out an off-topic demonstration of _your_ grasp of basic internet skills.

It must be, following your sample of psychological theory, really satisfying to plant some kind of flag saying "I know how to Google". In a forum called "Hacker News" no less.

I know it's pleasant to feel superior to other people, but this particular claim-to-superiority is both incredibly low-(intellectual)-effort and trying- too-hard. That's not s good look on anyone.

</comment></comment></comment></comment><comment><USER30> I use Lyx to write, well, almost everything honestly. It was made for writing imo. Leaving all the time wasting details for the core processor not for the author to stress over. It just lets you focus on simply writing the content.

<comment><USER31> Came here to say something similar. Glad I'm not the only one. Wish that more people knew about and used LyX. Yes, regular word processors (eg, MS Word) suck! There are already pre-existing better alternatives, such as LyX.

</comment></comment><comment><USER32> Can someone who has written novel-length fiction give an explanation of why you need specialized software? I've never written anything longer than a short story (on MS Word or Notepad) back when I used to write fiction. So I am not aware of the problems that accompany a longer work. I always thought if I started writing again I'd use vim or Sublime Text.

I've heard things like being able to do outlines or charts or whatever. But those things seem to lend themselves better to handwritten notes or hand-drawn diagrams.

<comment><USER33> evidently, you need it to stroke your ego

(the author of this piece, i mean)

<comment><USER32> I understood what you meant and I didn't downvote you. I think you were downvoted because that wasn't really an answer to my question.

</comment></comment></comment><comment><USER34> Hmm, can anyone compare this to Scrivener, my current writing tool? Best about Scrivener is the dragging around of chapters, creating chapters, renaming etc. in the tree view.

<comment><USER2> His mention of Scrivener in the intro was so brief that I have difficulty believing he even read the interactive tutorial, much less wrote one or more books using it. (I've written and published about a dozen novels using Scrivener, via imprints of Penguin, Macmillan, and Hachette, and I'm a beta- tester for the forthcoming Scrivener 3.)

While Scrivener doesn't really emphasize page-by-page thumbnails as a navigation tool (what does, aside from Word or Pages, these days?) it just about throws the kitchen sink at the problem of how to structure a long compound document, with corkboard, outliner, and multi-select scrolling subdocument views of a project (in the current version: the next release is considerably more powerful).

<comment><USER34> Thanks!

</comment></comment></comment><comment><USER35> The closest I've come to smooth and flowing writing is using Sublime Text, pandoc flavored markdown (for the epub support), and pandoc and LaTeX to process it.

</comment><comment><USER36> What I would love is a tool that lets me chart out timelines (ideally with a visual representation) for characters and story arcs. I want to be able to see how different characters interact over time (double points if it takes both time and location into account and let's me, somehow, see this visually, but I'd settle for just time too). I want to be able to roughly make up how a story arc interweaves with others and then flesh it out bit by bit. I want to see how characters are affected etc.

I've tried various other tools (diagramming, Gantt charts, brainstorming tools, note taking tools...) and they didn't really do it for me.

If such a tool existed for iPad (I've searched and come up blank), I would buy it in an instant (ok ok price dependent, but I'd be very interested). I'd almost build it myself, but.. who has the time?

<comment><USER37> Aeon timeline.

[https://www.aeontimeline.com/](https://www.aeontimeline.com/)

Even syncs with Scrivener.

<comment><USER38> That looks awesome. Double points for syncs with scrivener. Thanks

</comment></comment></comment><comment><USER39> Real authors use WordStar 4.0

<comment><USER16> and then can't keep up with the TV series that is started years after the book series began?

<comment><USER39> It's not his job to keep up with a prematurely produced TV series, though.

</comment></comment></comment><comment><USER40> To me the best thinking around in the design of a writing tool is Scrivener. It is the first writing tool that seems to understand that writing, research, note taking a process and the page is the output from that process. My single objection to Scrivener is that its native data structure is RTF. I dearly wish it was a pure markdown tool.

</comment><comment><USER41> Has anyone used (Quoll Writer)[0]?

[0]: [https://quollwriter.com/](https://quollwriter.com/)

<comment><USER42> I've just imported a story I'm editing into Quoll. It seems quite nice. Little visual clutter, a decent feature set that helps with keeping track of characters, scenes etc, organize ideas, keep track of word count targets, keep you motivated etc. The achievements are a nice touch, and the ability to invite editors looks helpful (though I haven't tried that)

There are a few bugs (it reordered my chapters when I marked a chapter as edit-complete the first time. That obviously shouldn't happen).

Overall it seems like a big step up compared to Word. It can't quite keep up with the feature set of scrivener, but in exchange it has a much more approachable and clutter-free interface, much closer to the idea of distraction-free writing.

<comment><USER41> What is the process for converting what is written in Quoll into something printable, like a PDF?

<comment><USER42> I would say the export functions are among the weaknesses of Quoll. You can export to HTML, docx and epub, with the only notable configurable option the selection of the chapters (and character notes etc) that should be included in the export. For epubs you can also configure author name and ISBN.

The quality of the exports is not that great. The HTML looks good for printing, but is a pain to read on screen. The epub looks good, except that it doesn't display chapter headings. The docx has 8 newlines between paragraphs when I open it in OpenOffice. I don't have a MS Word on hand right now to check whose fault that is, but it's unfortunate since I would probably go via docx to pdf.

</comment></comment></comment></comment><comment><USER43> I use an expensive payware application (Papyrus Autor) for my German novels because its spell-checking and style correction is unbeatable. It just works, which is the most important thing for me in addition to a strong focus on data integrity and rare updates.

If there was something as powerful as Duden Korrektor for Emacs, I'd definitely prefer that, though.

</comment><comment><USER44> [https://ia.net/writer/blog/ia-writer-5-from-raw-to-cooked- to...](https://ia.net/writer/blog/ia-writer-5-from-raw-to-cooked-to-sushi/)

</comment><comment><USER45> At Plotist[1] we're taking a slighty different approach to the writing process, where the writing module (which is coming soon) will stand alongside the world building parts of the application.

We've found this to be a great way to keep yourself organized and to make use of all the notes about characters, locations, events, etc. that build up over time.

This doesn't mean that the actual writing view has to be cluttered, but it's available when you need it. And we agree with the people here who like working with their chapters as a tree :-)

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

</comment><comment><USER46> Unless I missed it, he never mentioned a particular platform. Given the list of applications he's tried, I'm guessing Windows or macOS is where he does his work.

I wonder if he's ever considered working on an iPad with a keyboard. Since the 10.5" iPad came out, I've been doing just that and it's by far my favorite device to work on. Amazing battery life, super portable, fast, and focused.

</comment><comment><USER47> Shoot me. This 'story' method of describing software is awful.

</comment><comment><USER48> If Dropbox Paper would work offline, then I think that'd be perfect for me.

<comment><USER37> Google docs?

</comment></comment><comment><USER49> Follow the white rabbit...

</comment><comment><USER50> Better than Scrivener?

</comment><comment><USER51> Is this related to the NEO Smart Economy? [http://neo.org](http://neo.org)</comment>


Why Go is a poorly designed language - <AUTHOR> https://medium.com/@tucnak/why-go-is-a-poorly-designed-language-1cc04e5daf2#.q1rn5njgw <comment><USER2> Active discussion here: [https://news.ycombinator.com/item?id=10464987](https://news.ycombinator.com/item?id=10464987)</comment>


Show HN: `// +build` like constraint implementation for Go - <AUTHOR> https://github.com/MakeNowJust/constraint <comment><USER2> I have no idea what this does. Can you put more than one sentence to describe it? The link doesn't do anything to describe it either.</comment>


Autofill abuse of web logins - <AUTHOR> https://senglehardt.com/demo/no_boundaries/loginmanager/index.html <comment><USER2> The best protection against this kind of attacks is disable autofill in the browser and use a password manager, best if an offline one.

I always disabled autofill in every single browser since the dawn of the web because it looked like a bad idea and a potential source of troubles. Storing sensitive information in a piece of software which is directly exposed to the world and also letting everybody with access to my keyboard connect to every site as me? No, thanks.</comment>


Ask HN: Good and concise uml resources - <AUTHOR> Is there any place where one could get a clear explanation of what the specific elements in a uml drawing mean. Uml is not something very hard by its nature, but people make it hard by describing graphical elements with words and explaining trivial concepts with slang from the spec. Is there a cheat sheet or 20 or less pages book explaining uml to programers .
PS.
To the uml hater: yes uml is the embodiment of all the  stuff you hate about programming, an immense spec mostly composed of slang and terms and everyone interprets the spec differently basically creating a new uml dialect , but if for some reason you need to draw a diagram why reinvent the wheel, and btw you can also automate it - see plantulm
The the Ulm evangelist: no, sorry but a 300 page book is not an adequate way if explaining how to draw a diagram. <comment><USER2> The UML specs are a pain to work with. In theory you can start with emof (not that big) which is self-describing and self-hosting, then add a few features to get to cmof, then you can specify UML itself in cmof.

Trouble is that emof came after UML, and emof is defined on paper as "These features from UML 2 plus a few more"; whereas sane documentation would start out specifying emof, then layer the other specs on top of it.</comment>


The Froude number and bipedal locomotion - <AUTHOR> https://paulispace.com/robotics/2018/10/26/froude.html <comment><USER2> [https://en.wikipedia.org/wiki/Buckingham_%CF%80_theorem](https://en.wikipedia.org/wiki/Buckingham_%CF%80_theorem)

If you want to get into how things scale, this is essential. You might have heard someone say "the real equation is dimensionless". Well there's something to it.

There's a bunch of flow related stuff that ends up being all about dimensional analysis. Basically, things aren't as simple as multiplying all the quantities by a constant.

Probably the one everybody's heard of is "what would happen if animal X were bigger/smaller" -> weight goes up ^3, but cross section of legs ^2. Heat escapes ^2 but is generated ^3.

<comment><USER3> In a lecture on scaling laws, a professor once explained that an early study of LSD gave the drug to elephants with doses based of relative heights of elephants compared to humans. The elephants died from the overdose. Scaling a dose based on height was inappropriate.

<comment><USER4> Back in the 90s, I (and many people) believed that when the Internet gave everyone instant access to all the world's information, urban legends would die out because it would be so easy to fact check things and surely nobody would spare a few minutes of research to avoid propagating a half-truth. Alas, this theory didn't fully account for human nature.

A grounded version of this story (if you're curious) is given at [https://erowid.org/chemicals/lsd/lsd_history4.shtml](https://erowid.org/chemicals/lsd/lsd_history4.shtml)

<comment><USER5> TLDR: it's uncertain if the elephant died from the LSD or from the massive amounts of thorazine and barbiturate that were injected into his ear in an attempt to counteract the effects of the LSD overdose.

<comment><USER3> Ah interesting. That part was surely left out by the professor.

</comment></comment></comment></comment></comment><comment><USER6> The Froude number appears to be a dimensionless parameter. Dimensionless parameters and the Buckingham Pi Theorem are fundamental to physics, and especially fluid flow. It boils (ha!) down to the ideas that 1) A fundamental law of physics must have consistent units, and 2) Dimensionless quantities function as similarity parameters. The Reynolds Number is arguably the most famous of these (alright, Mach number <sighs>), the ratio of inertial to viscous forces in a fluid flow. ("How much like water divided by how much like honey" is a pretty good heuristic.) You can actually _derive_ fundamental physical laws through dimensional analysis. Powerful stuff. One could do far worse than tracking down as much as one can about these principles as early in one's engineering or scientific career as possible. It's as big a shortcut in the hard sciences as Latin is for medicine.</comment>


Iris Scanners Create the Most Secure City in the World. Welcome, Big Brother  - <AUTHOR> http://www.fastcompany.com/1683302/iris-scanners-create-the-most-secure-city-in-the-world-welcomes-big-brother Biometrics R&D firm Global Rainmakers Inc. (GRI) announced today that it is rolling out its iris scanning technology to create what it calls "the most secure city in the world." In a partnership with Leon -- one of the largest cities in Mexico, with a population of more than a million -- GRI will fill the city with eye-scanners. That will help law enforcement revolutionize the way we live -- not to mention marketers.
Further snippets:
"In the future, whether it's entering your home, opening your car, entering your workspace, getting a pharmacy prescription refilled, or having your medical records pulled up, everything will come off that unique key that is your iris," says Jeff Carter, CDO of Global Rainmakers. Before coming to GRI, Carter headed a think tank partnership between Bank of America, Harvard, and MIT. "Every person, place, and thing on this planet will be connected [to the iris system] within the next 10 years," he says."
"For such a Big Brother-esque system, why would any law-abiding resident ever volunteer to scan their irises into a public database, and sacrifice their privacy? GRI hopes that the immediate value the system creates will alleviate any concern. "There's a lot of convenience to this--you'll have nothing to carry except your eyes," says Carter, claiming that consumers will no longer be carded at bars and liquor stores. And he has a warning for those thinking of opting out: "When you get masses of people opting-in, opting out does not help. Opting out actually puts more of a flag on you than just being part of the system. We believe everyone will opt-in."
Extra Q&A follow-up article: http://www.fastcompany.com/1683572/qa-iris-scanning-cdo-on-minority-report-advertising-and-the-future-of-biometric-security <comment><USER2> Wonder if we'll start seeing a black market for eye-swapping surgeries because of this...

<comment><USER3> A good digital photo of your eyes may be all that is needed: [http://www.schneier.com/blog/archives/2009/01/biometrics.htm...](http://www.schneier.com/blog/archives/2009/01/biometrics.html)

<comment><AUTHOR> ... a photo like one with certain requirements used to create a passport perhaps?!?</comment></comment></comment>


Energy vs. Real GDP per Capita - <AUTHOR> http://i.imgur.com/MBpVFhe.png

<comment><USER2> There should be a curve that shows inflation, otherwise that GDP curve is not as informative as it should be. Or is it adjusted with inflation rates (which by looking at the shape of the curve, is not probable).

Assuming that GDP per capita is growing faster than inflation, meaning we are actually more prosper and have more purchasing power; it's interesting that since the 1970s we are producing more and more efficiently, which would be something uncoherent considering the fact that we have had various energy crises around the world since that date though.

</comment><comment><AUTHOR> ... or "the most optimistic graph in the universe" (IMHO).</comment>


The Origin of the word Daemon - <AUTHOR> http://ei.cs.vt.edu/~history/Daemon.html <comment><USER3> I've always wondered about this.

Also: I pronounce "daemon" as "DAY-mun," as opposed to "demon", which I pronounce "DEE-mun." Do the rest of you make this distinction?

<comment><USER4> Yes, I do. The only problem then, is how to pronounce Damon, as in Matt.

<comment><USER5> As an authority on the subject, I submit that since "Damon" is pronounced Day- mun, that "daemon" must be pronounced Dee-mun, as it's just an alternate spelling of "demon".

But mostly I just want to stop being confused whenever someone says "daemon" around the office, and I think they're talking to me.

<comment><USER6> Typically in English, an e after a vowel indicates the vowel should make a hard sound rather than soft. So looking at it that way, Daemon should have a hard a (like the name of the letter), thus DAY-mon.

</comment></comment></comment></comment><comment><USER7> So Unix daemons are descendants of Maxwell's daemon. But we need not forget that Maxwell's demon is part of a long series of philosophical thought experiments, including Laplace's demon and Descartes's malin génie. In Ancient Greek "daimōn" just means God or Deity without the connotation of evil.

<comment><USER8> It seems to me like the word "genie" in modern English(from the same root I suspect) gets across the idea very well without all the misleading associations.

<comment><USER9> Genie is from the arabic "jinn"

<comment><USER8> I decided to actually look it up, and according to an etymology dictionary: "1650s, "tutelary spirit," from Fr. génie, from L. genius (see genius); used in French translation of "Arabian Nights" to render Arabic jinni, singular of jinn, which it accidentally resembled, and attested in English with this sense from 1748."

On the other hand, my above post absolutely deserved to be downvoted because it is entirely unclear that I meant "The same root as 'malin génie' (evil genius in the 16th century sense of 'genious' as an inspirational spirit) as opposed to demon.

<comment><USER9> Downvoting seems a little harsh for just getting a conjecture incorrect - <USER2> get an upvote from me for being inquisitive

</comment></comment></comment></comment></comment><comment><USER10> That the term originates with Maxwell's Daemon, which is fundamentally an entropy-reducing agent, is rather apropos - would that all our daemons performed so well.

<comment><USER11> I'd be interested in the quantum mechanics explanation of how the daemon reduces entropy. When I discussed the thought experiment with some friends we simply concluded that the very act of sorting the molecules is introducing outside energy into the system allowing local entropy to be reduced, just like any other machine. The total entropy of the universe would stay the same and the laws of thermodynamics are still intact.

<comment><USER12> Even more interesting the outside energy also includes information, as it is needed to figure out which are the slow and the fast molecules.

But in the end it is a bogus idea (even as a thought experiment) since quantum mechanics comes into play in real life.

</comment></comment></comment><comment><USER13> For some time I though that the word deamon was used because it has to fork processes, and in western imagery forks are associated to demons.

</comment><comment><USER14> Funny coincidence. I've just started reading "Daemon", the technotriller by Daniel Suarez.

Great book so far (currently around page 130). I usually only read while commuting (2 hours / day), but this book is so exciting, I found myself reading it at home too.

[http://en.wikipedia.org/wiki/Daemon_%28technothriller_series...](http://en.wikipedia.org/wiki/Daemon_%28technothriller_series%29)

</comment><comment><USER15> Sometimes daemons can turn into zombies too. The magical world of Unix. :)

</comment><comment><USER16> If you want to take things further, there are arguments that "demon" comes from the area that is now more or less India, and that the negativity associated now associated with the term "in the west" was created as part of the struggle of one religion to dominate over another (likely corresponding to the desire of one polity to dominate over the other(s)... but my memory gets even fuzzier at this point).

Anyway, I, too, pronounce it "daemon". I find this makes a useful distinction; also, I figure why insult the processes from which I'm hoping to receive good things. ;-)

<comment><USER17> _> and that the negativity associated now associated with the term "in the west" was created as part of the struggle of one religion to dominate over another_

Many things that the west considers evil in that way comes from other religions (mainly the large number of "nature" religions that get lumped under the banner of "pagan") and is that way from the early days of Christianity as it marched through Europe.

The cloven feet of the devil and other spawn of hell, as commonly depicted, are thought to originally have been a reference to Pan by the Christian artists of the day.

It isn't just evil: even more friendly imaginary come from similar backgrounds: the Easter bunny and hunting eggs at Easter are references back to "Pagan" rituals/gods - as groups converted to Christianity they kept some of their old festivals and such (in a more and more bastardised form as time passed).

Most of what we in the west do at the back end of December has (or had originally) very little to do with Christianity (even ignoring the fair chunk of it came about in the last century or two). There were many "pagan" festivals around that time, mostly of the form of some sort of thanks giving (thanking their Gods or other forces for allowing them to survive past the shortest days of the year, or congratulating themselves for the same), but until 800-and-something AD the Christians didn't mark the birth of Christ at that time. The ceremonies at Easter were (and largely still are) far far more important to them.

</comment></comment><comment><USER18> <http://admin.com/samples/Daemons.pdf> has the term originating at CTSS at MIT in the early 60's.

</comment><comment><USER6> Has no one mentioned the absolutely horrid brown on green color scheme? I need to use developer tools to change the page so I can actually read it!

<comment><USER19> That's what readability is for.

<https://www.readability.com/>

</comment></comment><comment><USER20> daemon goes back well before Socrates; one finds it in Homer, sometimes with a negative implication, sometimes neutrally.

</comment><comment><USER21> I just noticed my alma mater hosted this article. Let's go Hokies!!</comment>


The Definitive Survival Guide For Traveling Engineers  - <AUTHOR> http://www.toptal.com/freelance/the-traveling-engineers-survival-guide <comment><USER2> "Apple headphones... they never fail."

Huh?</comment>


Reproducible Development Environments with GNU Guix - <AUTHOR> http://dthompson.us/reproducible-development-environments-with-gnu-guix.html

<comment><USER3> Been using nix for a while for bookkeeping my development environments and it's been nice. The config syntax just is a bit unfamiliar so I'd be happy to check out Guix. The problem is that I also use non-free software and I haven't yet figured out how to set up my own Guix repo for that. Anyone got any luck with that?

<comment><USER4> if you want to set up a channel, just make a channel and put it anywhere (github is free).

if you do (in either nix or guix) let me know. I've been planning on doing something similar for non-free software for a while but to be honest it seems I don't have to use non-free software nearly as much nowadays.

</comment></comment><comment><USER5> That's nice, but why stop at being a package manager? Why not also replace the build tool (make et al.)?

If all the functional machinery is in place, this would be perfect for a build tool.

<comment><USER6> Because that means yet another build tool users have to maintain, check for security updates, etc. Packagers for people not using guix will need to start including it, etc, which will just add to the absolute excess of build tools out there. Currently installed on my system are bsd make, cmake, gmake, and scons, just to handle various software I've installed. Plus, you have samba in there that drags in Waf for its builds, and I know that there's some package out there I'm gonna want to poke at that's gonna wanna bring its buddies ant and/or nant in to party too. Unless the new and improved tool can understand all those tools, it's just gonna add to the mess.

</comment></comment><comment><USER7> What's the benefit of Guix compared to tools like Chef ([https://www.getchef.com/](https://www.getchef.com/)) or Puppet([https://puppetlabs.com/](https://puppetlabs.com/))?

<comment><USER8> Guix seems to be a package manager. Chef/Puppet are configuration management tools. In short (from what I understand, I have only read about guix), you can use all of them to install software. But Chef/Puppet give you much more - distribution of configuration data, runtime search between machines, control over services / resources, etc. In practice you'd probably want to use one of them to install guix and run guix commands locally when setting up the hosts.

<comment><USER7> But then doing that would mean that you split a single system configuration through two different tools, right? I don't think it's ideal in practice.

<comment><USER8> I don't think guix does system configuration at all. And I don't mean "what software needs to be installed" configuration. I mean, configuration system that says "this is a staging environment, this app logs at DEBUG level via syslog, syslog gets configured to ship errors/exceptions to XXX, app uses local cache not cluster, credentials get pulled and decrypted from ABC".

This kind of configuration goes one level above package management, whether it's guix, apt, yum, pacman, or anything else.

Edit: you actually said benefits of guix in the original question - it gives you the way to make a localised installation of something you want. Chef/Puppet cannot be it on their own.

<comment><USER9> >I don't think guix does system configuration at all.

It does, actually. Check out the documentation for details:

[https://www.gnu.org/software/guix/manual/guix.html#System- Co...](https://www.gnu.org/software/guix/manual/guix.html#System- Configuration)

<comment><USER8> Interesting; looks rather limited, but yeah, it's there.

</comment></comment></comment></comment></comment></comment><comment><USER10> A similar project, using docker and pexpect for dynamic and programmable - <USER2> auditable and deterministically built - images:

[http://ianmiell.github.io/shutit/](http://ianmiell.github.io/shutit/)

</comment><comment><USER11> Introducing: "Meta" a package manager for package managers.

To install, just type:

meta install meta

<comment><USER9> If I may indulge you, it's possible to 'guix package -i guix'.</comment></comment>


NSA Officers Spy on Love Interests - <AUTHOR> http://m.us.wsj.com/articles/BL-WB-40005

<comment><USER2> What bothers me is that the NSA often acts adversarially with its oversight committees. As Techdirt reported[1], the LOVEINT violations weren't reported to the Senate Intelligence Committee until just a few days ago, despite occurring over a period of years. Without a watcher, there's nothing to stop more instances of operator abuse or expansive interpretations of the governing legislation (despite the Constitution). The EFF has put out a good post on the flaws of the investigations into the NSA[2].

[1] [https://www.techdirt.com/articles/20130823/18432024301/nsa-a...](https://www.techdirt.com/articles/20130823/18432024301/nsa- admits-okay-okay-there-have-been-bunch-intentional-abuses-including-spying- loved-ones.shtml?cid=182)

[2] [https://www.eff.org/deeplinks/2013/08/three-illusory- investi...](https://www.eff.org/deeplinks/2013/08/three-illusory- investigations-nsa-spying-are-unable-succeed)

</comment><comment><USER3> The vocabulary choice in this article is misleading. It mirrors terminology LOVEINT given to the reporter by his source at the NSA, suggesting this practice is a harmless or even positive activity controlled by warm and fuzzy motivations of caring, sharing, "love" and romance.

But it is not about these things at all. It is about creepers with power over their prey and a position of authority who are _stalking_ women they are obsessed with. In many cases they are likely using that knowledge to manipulate and control the targets of their obsession.

Stalking is not about romance, caring, sharing, nor love. Stalking is about obsession, dysfunction, and control. When done by government agents with power, control, and access to ubiquitous systems of global surveillance, it is anything but harmless. It is predatory. The perpetrators of these acts should be unmasked to the public by name, and held accountable for their actions. In some cases that will mean registration as a sex offender so that the public can be aware when there is a predator living among them.

</comment><comment><USER4> "In each instance, the employee was punished either with an administrative action or termination."

Am I the only one to think this is a slap in the wrist? Such abuse of power should be more than enough for felony charges.

At the _very, very least_ , stalking.

<comment><USER5> Well, when all of the evidence is classified, that becomes an issue. The prosecutor probably doesn't even have clearance to see the evidence.

<comment><USER6> Why can't they run the case in on of thus secret courts we keep hearing about? Sure they must have prosecutors and judges with the correct security clearances...

<comment><USER5> \- The "secret courts" aren't full courts for the purposes of holding a trial.

\- The "secret courts" only have a judge, there is no prosecutor, because no prosecution happens.

</comment></comment></comment></comment><comment><USER7> This is why you can't form a stable society based on a tier 1 group of _watchers_ (they call it intelligence gathering) who make sure we don't do things we're not supposed to. Because ... who watches them? Instead, you need a _circle_ where we are all accountable to each other. Thus a government ran by the people. If we were able to see into this secret world, well, it would have never happened.

There is a way to educate and mobile every citizen to ensure the safety of our country where we would not need the TSA, NSA, and CIA. I'm not talking about vigilantism. No, but rather the safe and effect reporting they could train us in.

We have dangerously passed over all our of responsibilities onto those who do not seek the common persons best interest, rather they seek your enslavement to heap luxuries upon themselves. Please don't blackmail me anymore. More tea sir?

</comment><comment><USER8> I am I the only one to not give a damn about this?

It isn't really the NSA that gives me the heebie-geebies anyway - it's all the others out there who are trying to do the exact same thing - with much less (if any) oversight, and every incentive to act maliciously.

Now, it is not exactly like I am a concern-free zone as far as the NSA goes, either, but the nexus of my stress and worry tends to centre around the (presumably sanctioned, presumably legal) economic and industrial espionage aspects of their mission.

In any case, the really scary stuff only starts happening when the IoT really starts hitting it's stride ... so we have a few years yet to get our act together.

<comment><USER9> _> I am I the only one to not give a damn about this?_

Sadly, no. People in my wider circle of friends and family either don't care or don't know what to say. I wish everyone would realize it wasn't that long ago the J. Edgar Hoover was keeping files on every person of interest (like MLK, John Lennon, ..it's a big list) and the capabilities of today's NSA would be his wet dream.

<comment><USER8> Well, I am just waiting for the day when "fitness trackers" become mandatory (for health insurance reasons, natch...).

Anyway, as I have said before ... no need for conspiracies in a world full of opportunists. All you need to have is a group of people who make their living from fear.

</comment></comment></comment><comment><USER10> If this is what they do to the people they love, imagine what they do to the people they hate...

</comment><comment><USER11> Police with guns kill innocent civilians all the time, even with tremendous oversight, and witnesses--and yet we still have police and give them guns. People with power will occasionally behave badly. How is this any different?

</comment><comment><USER12> "Most of the incidents, officials said, were self-reported"

Imagine the amount of people who have done this but not voluntarily admitted to it.

</comment><comment><USER13> Not surprised. Are the love interests ex-girl friends?</comment>


Life as a Software Engineer: Learning to Work With Ease - <AUTHOR> http://nightlight.conductor.com/life-as-software-engineer-working-ease/

<comment><USER2> A refreshing look at the bigger picture!

</comment><comment><USER3> I love Kent Beck! Good stuff.</comment>


650 Million Years in 1.2 Minutes (tectonic drift timelapse) - <AUTHOR> http://kk.org/ct2/2009/07/650-million-years-in-12-minute.php

<comment><USER2> How accurate are the future predictions?

The snowball theory of earth claims that volcanoes and land close to the equator (but not close to the poles) leads to oscillation between a tropical earth and an earth covered in ice.

Our present state of lots of land close to the poles leads to a more stable long term climate.

So if in the future the continents again bunch up around the equator we could see the earth covered in ice once more and another mass extinction.

Is this yet another reason why we have not made contact with aliens?

Yet another reason in addition to, just off the top of my head:

A stable star

Being a good distance from that star.

Asteroid sweeper like Jupiter and Saturn.

A magnetosphere.

A large close moon which will keep the core hot so you can have a magnetosphere.

No X-ray exploding super novas near by.

Life

Intelligent life

Intelligent life that doesn't destroy itself.

Space faring life

And all of this has to happen at the same time, at least until space flight takes them far from the home planet.

Also space is BIG.

<comment><USER3> Space isn't really big at all when you think in geological rather than individual scales. It probably only takes a couple of thousand years post- Apollo to colonize dozens of stars.

The real reason we don't see aliens is probably contemporaneity.

Although in that context I have another remark. The Drake formula, often brought up in these discussions has a major omission: it doesn't account for multiple intelligent species over the total lifespan of a planet. I don't see why, a couple of million years after humanity's extinction, another intelligent species could arise and go through the whole space-flight thing again.

A planet like Earth could have a typical cycle:

0.0 GA: formation

3.0 GA: bacteria

5.0 GA: intelligent species 1

5.1 GA: intelligent species 2

5.2 GA: intelligent species 2

5.3 GA: intelligent species 3

...

8.0 GA: oceans boil away, parent star going manic

9.0 GA: destruction due to parent star going kabloom

</comment></comment><comment><USER4> This is not accurate because it does not take sea level into account.

First, when plates drift they also move up and down.

But also, wouldn't the center of gravity of the earth change if all the land was in one place? Wouldn't that shift water to cover a lot of the land?

<comment><USER5> It sure looks to me like the animation shows sea level changes.

</comment></comment><comment><USER6> And in the end we all come together. How beautiful.

<comment><USER7> And we only have to wait 250 million years!</comment></comment>


Environments: under the hood of variables – Deep JavaScript chapter - <AUTHOR> https://exploringjs.com/deep-js/ch_environments.html <comment><USER2> Do modern JS engines still map an entire lexical scope to an environment at all times? It seems like it would be fairly simple to optimize it down and only box up and share the variables that the code actually closes over.

<comment><USER3> Modern JITs make a C++ class to represent objects. Closures are just objects.

We'll ignore non-strict code which allows external functions to access variables. If you want to actually eliminate these variables, you'd have to make TWO classes per function. Next you'd have to COPY all the relevant stuff from one class to the other. Maybe you instead keep the same class and add some code to make the various pointers null. That saves all the copying at the expense of some literals taking up the same space, but doesn't solve this next issue.

JS has weak reference maps/sets along with upcoming weak values. If I reference an object in a closure (one that is used in a weak map), but don't return that variable, what happens? If it's set to null, then something is going to potentially be GC'd when it shouldn't be.

Perhaps this kind of lifetime issue could be detected with a sufficiently smart JIT, but in such a dynamic language without types, I doubt it's possible.

<comment><USER4> There's a lot of misunderstanding here. A closure does not store the variables it creates. Instead, the closure's code block will allocate space for those variables when it is called.

The GC must trace all reachable values. This includes the stack, and also variables captured by closures which are themselves reachable.

The same principles apply whether or not a JIT is in use.

<comment><USER3> I didn't misunderstand what I was writing (though I may not have succeeded in conveying what I meant). At compile time, a hidden class will be created to represent all the variables (both user-visible and user-inaccessible). Every function is actually called by an internal [[Call]]. This will create an instance of that class which is placed on the heap and may or may not copy some values into the stack (it's essentially a necessary performance optimization, but not actually hard requirement in all ISAs).

A closure is an object that has only one public method or property (a function application sometimes called apply). In theory, if you could guarantee that the apply method and all nested lexical scopes never accessed a variable and the variable was not reference counted, you could safely null the entry in the class and allow whatever it pointed to to be GC'd. My only contention is that this is easier to theorize about than to actually do.

</comment></comment></comment></comment><comment><USER5> This is also cause for the following entertaining bug:

      for(let i=0; i<buttons.length; i++) {
        buttons[i].addEventListener('click', e => alert('button ' + i + ' clicked!');
      }

The above code is supposed to show a unique number for each button when the button is clicked. What it will actually do is to show the _same_ number for all buttons, the number being equal to buttons.length.

The reason is that an event handler does not inherit the value of i when it is created, but a pointer to the _environment_ in which i is defined. Because all event handlers point to the same parent environment, they will also pick up changes to i's value that happen after they were created.

If you add seemingly redundant function call to separate environments, everything will work. So the following code will work correctly:

      function makeHandler(index) {
          return e => alert('button ' + index + ' clicked!');
      }

      for(let i=0; i<buttons.length; i++) {
        buttons[i].addEventListener('click', makeHandler(i));
      }

<comment><USER5> Thanks for the replies. I really wasn't aware of the behavior of let here and did indeed learn something. The "buggy" code really does work.

It's important to note that this is not just due to scoping but that a regular for loop apparently really makes copies of its environment for each iteration, as ylyn described[1].

You can demonstrate this as follows:

      const objs = [];
      for (let i = 0; i < 3; i++) { // i++ seems to be executed after copying but before execution of the loop body.
        objs.push({
          getI() {return i},
          add10() {i += 10}
        });
      }

      // each object gets a copy of i from its respective iteration:
      console.info(objs[0].getI(), objs[1].getI(), objs[2].getI()); // prints 0 1 2

      // the copies can be modified independently:
      objs[0].add10();
      objs[2].add10();
      console.info(objs[0].getI(), objs[1].getI(), objs[2].getI()); // prints 10 1 12

I'm not sure I like this design, to be honest. This is an awfully complex special case hidden in something as mundane-looking as a regular for loop.

Seems to me, this can make understanding the general principles behind scopes and environments harder at the expense of making a particular special case more convenient.

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

<comment><USER6> This seems pretty standard to me. Could you produce an example of a language which doesn't have this behavior?

EDIT:

I think I understand your confusion. You've gotten confused because you're expecting `y = 5; let x = y` be able to hold a reference to `y` the number in the same way that `y = {}; let x = y` holds a reference to y the object. But that's honestly the behavior of practically every language I could name - numbers and other small values that can fit in a register are always copied.

You can see the referential behavior if you change your `i` to an object:

        let result = []

        for (let obj = {}; Object.keys(obj).length < 3; obj[Math.random()] = "hello") {
           result.push(obj);
        }

        console.log(result); // notice all 3 entries in the array are the same

But yeah - JavaScript does nothing special in either of these cases. Similar code will get you similar results across any language I could name. The only way to get around it would be to manually mark your numeric i as a reference in a language that has them, like C/C++/Rust.

<comment><USER7> The confusion is not about assignment behavior, it's about block scopes, specifically within the for loop.

Before JS had `let` and `const` there was no built in way of obtaining a block scope (for, if, else, while, do and {}), you had to obtain one artificially by passing variables into a function scope, e.g a predefined function or an IIFE.

I'm talking about `var`... paste this into your browsers console, you get 8 logged 8 times:

      for (var i = 0; i < 8; i ++) {
       setTimeout(() => {
        console.log(i)
       }, 100);
      }

I'm pretty sure this is the issue the OP was trying to demonstrate.

With `var` i is _not_ bound to the for loop scope, it's bound the closest parent function scope. The key difference is not only that i can be accessed after the for loop, but that there is only one parent function scope, so i is effectively overwritten - whereas if i was bound to the for block there would be a separate scope for each iteration.

Since the timeout function has no i in it's scope it walks up the parent scopes, it can only find i in the parent function scope and by the time it has executed it will be whatever the last iteration assigned it - or even more confusingly what something after the loop assigned it.

This is why `let` was added:

      for (let i = 0; i < 8; i ++) {
       setTimeout(() => {
        console.log(i)
       }, 100);
      }

Which gives you 0 through 7

let assigns i to the for loop's scope, with a different one for each iteration, this preserves the local context the setTimeout function was defined in which is intuitive and what people expect.

Another nice thing that people forget with this feature (including myself out of habbit) is that you can now replace IIFEs with block scope literals {} (provided you stop using var, which you should have anyway)

In short, var was a nightmare, it's only benefit is obfuscation, it was the source of countless needless bugs, and that's why we now have const/let and block scopes.

<comment><USER5> Yes, exactly. I think what was confusing to me here is the interaction between child environments in for(;;).

Usually, scopes in JS work like the OP link describes them: If a block is entered, a child environment is created that has a reference to its parent environment. A variable either belongs to the parent and is shared with all children - or belongs to one particular child and is initialised through assignment. However different child environments can never influence each other.

for(;;) does something different: It takes one child environment (of iteration n) and _clones_ it for iteration n+1. The effect is that there is a single let i = ... statement which leads to the creation of several independent variables.

It's easy to see why this was done - it's the only way how you can have both mutating statements like i++ and closures that capture state from a particular iteration - but I'm not aware this is done anywhere else in JS.

<comment><USER7> You are right, although this doesn't feel all that exotic to me, even though it might be unique for built-ins, it's essentially the same as what happens when you pass variables to functions (you get a copy of the references, i.e they are added to the scope), in this sense a block scoped for loop feels similar to a series of function calls passing and returning a variable.

In fact you could emulate a block scoped for loop with an object with little trouble and without being all that confusing:

      const FOR = (s, c, f) => c(s) &&
        (f({...s}), FOR(s, c, f))

      FOR({i: 0}, s => s.i++ < 8, s => {
        setTimeout(() => {
          console.log(s.i)
        }, 100)
      })

This doesn't prove anything, but the fact that blocked for can almost be implemented with in one small function makes me feel like it's not all that magic, rather it's just nice syntax.

[edit]

getting a bit silly now but was seeing how close I could get to built-in syntax... yes this is horrible, never use `with` or `eval` like this.

      const EVIL = (f, s) => eval(`
        with (s) {
          ${(f + '').replace(/^.+>/, '')}
        }
      `)

      const FOR = (s, ce, fe, sb, ii) => {
        if (EVIL(ce, s)) {
          EVIL(sb, {...s})
          EVIL(fe, s)
          FOR(s, ce, fe, sb, 1)
        }
      }

      FOR ({i: 0}, _=> i < 8, _=> i++, _ => {
        setTimeout(() => {
          console.log(i)
        }, 100)
      })

<comment><USER5> You have to clone from the previous iteration - because in theory, the block itself could modify the loop variable again and that modification gets lost if you keep cloning from the initial environment.

So your function would produce incorrect results for cases like this:

      for (let i = 0; i < 100; i++) {
        i += 10;
        setTimeout(() => console.log(i), 1000);
      }

I think the following should work though:

      function FOR(env, cond, incr, block) {
        if (cond(env)) {
          block(env);
          const env2 = {...env};
          incr(env2);
          FOR(env2, cond, incr, block);
        }
      }

      FOR({i: 0}, s=>(s.i < 8), s=>s.i++, s=>{
        setTimeout(() => {
          console.log(s.i)
        }, 100)
      });

And yeah, I agree, it's not really complicated to implement (as long as you don't care about the waste of memory). It was just an unexpected bit of logic at that point.</comment></comment></comment></comment></comment></comment></comment>


Arrakis: the operating system is the control plane - <AUTHOR> https://blog.acolyer.org/2016/06/14/arrakis-the-operating-system-is-the-control-plane/ <comment><USER2> This appears to take a similar approach as plan 9.</comment>


Ask HN: Quantum entanglement - <AUTHOR> Recently ran across physicist that claimed that physics is in a race to prove quantum entanglement based theories will unify physics and result in a completely new way to understanding physics.<p>Is anyone aware of any merit to these claims and able to provide notable sources to back why this might be the case. <comment><USER2> It's hard to see what that claim exactly means.

There was very interesting and kind of deep interview with Edward Witten recently and he goes unusually philosophical [https://www.quantamagazine.org/edward-witten-ponders-the- nat...](https://www.quantamagazine.org/edward-witten-ponders-the-nature-of- reality-20171128/)

>What's an example of something else we might need?

>Maybe a bulk description of the quantum properties of space-time itself, rather than a holographic boundary description. There hasn't been much progress in a long time in getting a better bulk description. And I think that might be because the answer is of a different kind than anything we're used to. That would be my guess.

Interview uses Wheeler's "It from bit" as background.

>I tend to assume that space-time and everything in it are in some sense emergent. By the way, you'll certainly find that that's what Wheeler expected in his essay. As you'll read, he thought the continuum was wrong in both physics and math. He did not think one's microscopic description of space-time should use a continuum of any kind — neither a continuum of space nor a continuum of time, nor even a continuum of real numbers. On the space and time, I'm sympathetic to that. On the real numbers, I've got to plead ignorance or agnosticism. It is something I wonder about, but I've tried to imagine what it could mean to not use the continuum of real numbers, and the one logician I tried discussing it with didn't help me.

<comment><AUTHOR> Believe this article was the best they were able to offer:

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

</comment></comment><comment><USER3> [100% Ph.D. in Math + 50% major in Physics here]

Short answer: Nah

Medium answer: (from the comment of nabla9) "It's hard to see what that claim exactly means."

Long answer: Superposition and entanglement are very common, almost all small physics system have some of them. But they are worth mentioning in strange cases, for example two entangled particles at long distance. (At a small distance it's so common that it must be used in many calculations but nobody cares about it.) So "It's hard to see what that claim exactly means." Do you have a link to the slides of the talk or something similar?</comment>


US gooses economy with IT billions - <AUTHOR> http://www.theregister.co.uk/2009/02/19/arra_it_spending/

<comment><USER2> This is the first attempt I've seen at a break-out of what portion of the stimulus might go for IT. If they're right, it should bode well for IT jobs... to a degree.

Only time will tell how much actually promotes _innovation_ in IT (even in support of green technologies), and how much (e.g., in schools) just moves systems from XP to Vista :/</comment>


Getting started with drones - <AUTHOR> http://paulstamatiou.com/getting-started-with-drones-quadcopters/

<comment><USER2> We have been building them from scratch ;-) Much more fun that way and you learn more. 3DRobotics/Pixhawk is where it's at for the hacker minded with good support. If you really want to get in the nity gritty get into MultiWii but expect to be tuning a lot and you give up good GPS support.

30 - 60min Flight times are doable depending on your setup but at that point your payload is almost all battery. Keep in mind weight begets weight.

The Phantom is a toy.

<comment><USER3> My local hackers group has also built a 3DR/Pixhawk-based model. Just got an upgraded chassis for it. We're working on an Arduino kit to collect micro- climate data and do some modeling of that. (But also FPV -- everyone wants FPV.)

</comment></comment><comment><USER4> I would like to hear some experience in building drones with higher (~30 min) flight times.

<comment><USER5> For higher than 30 minutes you really want to look into planes instead of quadcopters. Running 4/6/8 heavy duty motors forces battery life to be an issue.

A plane has significantly less than that which lets them go for longer.

<comment><USER6> A fixed wing can also generally run its single motor at lower power most of the time, which contributes as well.

<comment><USER7> Perhaps incorporate solar panels to the wings?

<comment><USER6> People have looked at it, but I think the general consensus is that there's not enough surface area on the airframe to generate enough electricity to make a significant impact.

Depending on the exact motor+prop setup, peak draw of between 200-400W is pretty common for fixed wings in the 1.5-2M wingspan range, and cruise is often around half of that.

</comment></comment></comment></comment></comment><comment><USER8> Nitpick: Getting started with _flying_ drones would be a better title.

If you are starting with flying drones (quadcopters, airplanes) a visit to an R/C forum will be helpful. There you can learn about many things related to maintaining and operating such machine. Stuff that is usually missing from blog posts because they are old tips & tricks.</comment>


Contenture Launches. Micropayment-Based Freemium Model - <AUTHOR> http://www.techcrunch.com/2009/05/26/contenture-launches-micropayment-based-freemium-models-for-all-if-people-use-it/ <comment><USER2> I'm still wondering why any site capable of making the sale of Contenture would put it on their site. (It makes more sense for sites which can't make the sale. Pennies from heaven, what is not to like.)

Step #1: Convince _my_ user to pay $6 a month forever to use _my_ website (and by the way a bunch of other sites which are not relevant to them).

Step #2: Receive _$1, once,_ from Contenture, plus a fraction of $4.80, assuming I keep them coming back to my site.

I have an alternative freemium model proposal:

#1: Convince users to pay $6 a month for my site.

#2: I receive, hmm, $5.50 a month or so, depending on my credit card processor.

<comment><USER3> The power is in numbers -- the warm fuzzies users get when they see that many of the sites they visit will thank them (with tiny upgrades) for freeing the sites from total dependency on ads.

So no, it won't be one site making the sale. One site plants the seed of the idea, then another waters it a little, and another some more, until finally the user feels a gush of appreciation and/or need for one of the tiny upgrades. Then every site gets a proportional cut, from that point on.

Even if none of them alone can make the $6/month sale, in toto they can. And they earn microslices of the subscription fee even for first-time visitors who already signed on elsewhere.

In fact, unless your site is already charging some sort of subscription fee, _there's no reason not to sign up_. Just by adding the tracking code, you start receiving a tiny slice of any Contenture visitors' payments. You don't have to convert users yourself or run banners or lock content up (as far as I can tell; I haven't parsed all their fine print).

Sure, there's a risk of gaming and free-riding in this regard -- but that helps bootstrap the publisher network, and they can tighten things based on user feedback over time. (If I were running it, I would give all users an absolute right to reallocate their $6 arbitrarily -- the passive metrics would only create the default allocation.)

<comment><USER2> 1) You and I agree, no publisher who is capable of individually converting a user will sign up to use this.

2) You and I agree, you can get all the bennies of being a publisher without actually attempting to convert users. Put on tracking code, collect checks, yay.

3) You think the game theory equilibrium results in a healthy ecosystem of lots of publishers cooperating to make an Internet-wide Content Cartel which will use the awe-inspiring power of warm fuzzies to convert a sizable number of people into Contexture customers. (Incidentally: you seem to minimize the difference between the free and freemium experiences -- tiny upgrades and warm fuzzies. I think this is because you understand that there being significant differences in the experiences makes sites substantially LESS valuable to you. Do you understand that this this same dynamic _gives every site an incentive to defect?_ )

4) I think the game-theory equilibrium is that _nobody makes any attempt to convert users_ , a few dozen blogs nobody has ever heard of put the tracking code on their sites, some intense competition happens for cuts of fractions of $4.80 times a few dozen people, and a few months later the system dies for lack of interest.

Like I said on the last thread, there needs to be a Killer App site to build this ecosystem around, like eBay was the Killer App that every other Paypal merchant got to freeload off of. However, unlike the eBay/Paypal symbiot, in this case if you have the Killer App you should run screaming from this business proposition.

My, this would be a fascinating collective action problem for a game theory class...

But yeah:

All sites have an incentive to defect (not lock up a significant amount of value behind the paywall, not attempt to convert users in any significant fashion).

If no one puts value behind the paywall, then this idea is a more complicated implementation of the oldest failed business model, which is putting out a tip jar and hoping money falls into it. Money very rarely spontaneously falls into tip jars.

<comment><USER3> Once the proto-cartel is bootstrapped by sites looking for 'pennies from heaven', it's completely up to Contenture's management how the incentives evolve. I think there's a fair chance the strategy-path can be engineered to be:

(1) Publishers sign up as free riders.

(2) The signup bonuses and other payoff tweaks from Contenture convince a few sites at the margin to push paid subscriptions and increase the functionality gradient between paid and unpaid visitors.

(3) That provides enough variety and experimental information to keep iteratively optimizing conversion tactics -- where conversions are both turning unpaid users into subscribers, and turning publishers into better upsellers.

A site that can manage its own subscriptions can 'defect' -- but just as with running your own ad sales, there are many, many more sites that just want a drop-in solution.

However, the 'defection' you talk about -- shirking the shared task of creating/retaining paid subscriptions -- is subject to monetary incentives totally under Contenture's control. They design the 'black box' of payouts and can adjust the signup bonuses, the ratio of payouts for protected pageviews vs. free pageviews, and more. They can expel anyone blatantly gaming the system -- unless such gaming also benefits them. Eventually, if you're not carrying your weight, your check each month is just a token amount to remind you you could be doing more.

It's a subscription-revenues mirror of AdSense in many ways, and they have enough levers to adjust there's a chance of finding a self-reinforcing formula.

</comment></comment></comment></comment><comment><USER4> _Contenture has made it very simple for a site to install and use their service — it's just a small snippet of JavaScript that can turn on or off features based on if a user visiting the site has a Contenture account._

Disabling features with Javascript? I bet it's easy to write a Greasemonkey script that'll give you the paid features on all these sites.

<comment><USER5> It's in the FAQ: <http://contenture.com/help/#technical>

"Only a very, very small minority of users would ever attempt to do something like this, and worrying about these users is a waste of your time and your money. There will always be those people who will do literally anything they can to get around paying for something."

<comment><USER6> They do seem to have an API that's server-side accessible, but otherwise I wouldn't trust reassurances from the same company that is trying to sell me the product. At least, not without some valid data.

</comment></comment></comment><comment><USER7> Any new micropayments venture _must_ (to me) justify in detail in the first sentence how their idea solves the fundamental problems surrounding micropayments. Otherwise, I'm inclined to think it's just another gimmick.

Micropayments suddenly turn your casual users into customers, even for 2 cents, and the nature of the relationship drastically changes. Keep casual readers is one thing, retaining customers is a much larger problem. I have yet to see a micropayments scheme that addresses this.

<comment><USER8> They do aggregation.

</comment></comment><comment><USER9> Companies are still naming themselves in faux-latin?

This is not a troll. It's a criticism.

</comment><comment><USER3> Love this concept -- been discussing variants of it for years now, great to see it finally being done.

But, it needs a catchier name. This needs to be something subscribers are proud of paying for -- something they can easily blog and talk about. 'Contenture' is a tricky -- and tricky-sounding -- word.

And it could benefit from more readable and understandable entry pages -- plus different ones for publishers and subscribers. (I'm seeing tiny faint grey text, and neither 'Learn More' nor 'Register Now' really answers the questions I need to take the next step.)

And it would really help to have one or more named participating publishers at launch.</comment>


Show HN: Muljin – IT Department as a Service - <AUTHOR> https://www.muljin.com/ <comment><AUTHOR> Hi, co-founder here. Would be great to hear what you all think or if you have any feedback on how to make it better!</comment>


Startup uses flawed contract with consultant, has to go to court to stay alive - <AUTHOR> http://www.ontechnologycontracts.com/2009/07/startup-company-uses-incomplete-software-development-contract-with-outside-consultant-ends-up-having-to-go-to-court-to-stay-alive/

<comment><USER2> Founders often mistakenly assume that they will own the IP as long as they pay a consulting company for its work. However, while payment is generally enough to secure IP rights from employees, more is needed when dealing with contractors.

When it comes to rights in copyrighted work product, a consultant will own the IP unless a contract explicitly treats it as a work for hire or unless the rights are expressly assigned by the contract.

As appears from this piece, these rules are so fundamental that even a startup that pays a large amount of money can still be found not to own the IP resulting from that development work. Even with the litigation, the only relief obtained by the company was a right to modify the work _licensed_ to it, not owned by it. A disastrous outcome by any measure.

For a general discussion and some illustrations of how these rules work, see my write-up at <http://grellas.com/faq_business_startup_015a.html>.

<comment><USER3> Do you know if this is the case in the United Kingtom?

Does anyone have any experience with this sort of thing in the UK?

<comment><USER2> Don't know, since I am not a UK lawyer - here is a comprehensive discussion of work for hire that includes what appears to be an informed discussion of UK law on this point: <http://bit.ly/ysePr> (pdf)(concluding that the UK law is very similar to US with the except of certain categories of works). Hope this helps.

</comment></comment></comment><comment><USER4> The key point of the story is not "company had bad contract". It's "company stopped paying invoices for work that had been done, annoying its workers and causing them to file a lawsuit".

If you want your product to go to market smoothly, pay the invoices of the people who build it for you.

<comment><USER2> An unpaid developer normally cannot sue for copyright infringement, even when the work has not been paid for (unless the contract explicitly states that the IP rights transfer _only_ upon payment, which few contracts do).

The problem here is that the underlying contract was not done as a work for hire. Because of this, _even if the contractor had been fully paid_ , all the startup would have obtained as a result of the development effort would have been a license to use the work product as contemplated by the contract. Such a license would normally not have included a right to modify the work without the permission of the copyright owner (i.e., the original contractor).

Thus, the startup put itself in a horrible legal bind, not from its failure to pay as such (though this obviously inflamed the situation so as to bring on a lawsuit), but from its failure to have a work-for-hire agreement in place when it commissioned the work.

Even without an immediate lawsuit, the underlying problem would _not_ have gone away. Imagine VCs doing their due diligence for a funding after this work had been done and discovering that a major piece of the IP used in the company's business had been done under a contract that did not give rights in that IP to the company (this would be apparent to a trained lawyer simply from examining the face of the contract). In such a case, unless the startup were able to get a release from the contractor, the startup would still face the threat of an infringement claim whenever it attempted to modify this code without the original developer's consent. Thus, without a release from that developer, funding would still have been impeded and likely blocked.

Even with the lawsuit as filed, it appears that the startup has obtained only a temporary reprieve when the judge denied the application for the _preliminary_ injunction. That denial is based on a judge's assessment of the contractor's likelihood of success on the merits of his claims and on weighing equities of what is fair to do pending a full trial on the merits. Thus, while the company squeaked by this phase, a cloud still hangs over its future depending on what eventually happens at the time this thing comes up for a real trial. This cloud is a clear deterrent to investors putting money into such a company.

In practical terms, this scenario is mutual self-destruct for the contractor and for the startup unless they settle up, which means they likely will.

<comment><USER5> You have some well thought out reasoning, but I have to respectfully disagree with a couple of points. (Obligatory IANAL.)

 _An unpaid developer normally cannot sue for copyright infringement, even when the work has not been paid for_

Again, IANAL but I do not believe this is true. First, in America anyone can sue for just about anything even if the basis is flimsy in the extreme. So the developer could potentially sue no matter what the circumstances. Now, if he was unpaid he can sue _with a real chance of winning_. Even if the contract states that the IP belongs to the company, they break the contract by not paying him in the time specified by the contract, and since they broke it he can argue that it is invalid and that he therefore owns the product of his work, even if they paid for most of it. It is similar to the fact that a mortgage company can repossess even if you are down the last payment if you fail to make that payment.

As to the VC and their due dilligence, you are completely correct, but there is a caveat. Most developers (remember he has a reputation on the line as well as stock or options in the company to think about) would be quite willing to formally sign over the IP after the fact if they had been treated well. This becomes doubly true if that developer talks to his attorney and is told that the company probably has implied ownership (or at least full rights to modify) under Numbers Licensing, LLC v. bVisual USA, Inc as is pointed out in the original article.

And finally: _In practical terms, this scenario is mutual self-destruct for the contractor and for the startup unless they settle up, which means they likely will._

This is probably what he is looking for. I am guessing here, but he is probably hoping for a combination of more equity and some secured bonds. The first will give him a big (or bigger) payoff later if the company does well, and the second will give him first (or at least very early if others also hold secured bonds) shot at the scraps if the company folds.

<comment><USER2> I sympathize with the position of an unpaid developer and, if the case is extreme enough, rescission laws do enable one to break such a contract. I don't think this will normally help a developer who is denied the last payment - in that case, fair or not, the law will normally limit the remedy to one of suing for payment.

Of course, the problems can all be avoided if the terms of the contract explicitly state that no IP rights will transfer unless payment has been made in full. In that case, I would agree with your assessment 100% (I don't disagree with your other points either - they are good clarifications).

<comment><USER5> Thank you for clarifying. That all makes a lot of sense.

</comment></comment></comment></comment></comment><comment><USER6> I once went to a sales presentation by a lawyer selling his product, a CD full of legal forms he had designed. Then entire presentation was just 4 stories, people who should have, but didn't, use his forms. All 4 lost fortunes by forgetting to include important clauses in the contracts.

This sounds like another "Don't let this happen to you" case study. $6 million for dev, but they saved $2,500 on legal fees and almost lost their business. Someone should be whipped.

</comment><comment><USER7> This exact question came up on a recent StackOverflow podcast.</comment>


The App Store turns 10 - <AUTHOR> https://www.apple.com/newsroom/2018/07/app-store-turns-10/ <comment><USER2> Whenever I get a new Windows laptop, the first four or five hours are spent reinstalling software that I use on a daily basis.

I can just leave a new phone next to the router. With windows, I have to sit and monitor a lot of things for those four hours along with hunting down the most updated executables and setup files.

I feel that mobile got software distribution correct. Thanks a ton, Scott Forstall.

<comment><USER3> >I feel that mobile got software distribution correct.

It's more like mobile got _package management_ right.

Windows is terrible as an example to use for installing/removing software as it has extremely crude (almost non-existent) package management system (referring to Windows Installer here -- .msi files). [0]

I like to think of the App store (and equivalent) as a Linux command-line beautified by a GUI shell in a mobile form-factor.

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

<comment><USER2> With Linux desktops I have to know command line stuff and risk having to debug initial wifi issues myself.

<comment><USER3> >debug initial wifi issues myself.

But doesn't that make you better at troubleshooting and fixing problems in Linux -- a useful skill to have?

<comment><USER2> I don't use Linux.

</comment></comment></comment></comment></comment><comment><USER3> The article was a trip down the memory lane.

Cannot believe how quickly a _decade_ has passed since the debut of the first- gen iPhone and subsequent launch of the App store. I still have faint memories of watching a recap of the launch event keynote by Mr. Jobs on a local news channel (though my preteen brain didn't grasp its significance), while being completely oblivious (not that I was unique) to the revolution it was about to unleash in the lives of MILLIONS of developers in every nook and cranny of the planet -- with Google following suit, of course.

Think of the innumerable industries that have been born, millions (billions?) of lives that have been changed, trillions of dollars of value generated, all as a result of this tectonic shift in software distribution.

<comment><USER4> Google followed, but Android and Andy Rubin have their roots at Danger, who created very popular white label Internet smartphones for teenagers like the Sidekick years before the iPhone.

</comment></comment><comment><USER5> The App Store is great, but the App Store interface sucks. It was bad enough even when there were only a couple thousand apps in the store, but 10 years and hundreds of thousands of apps later and discoverability is abysmal. Unless you are a big player can advertise your app otherwise, having an app 'hit' is about a scientific a process as making viral videos.

<comment><USER6> I feel like good search is to Apple as good taste is to Microsoft. It's like it's against their DNA or something.

<comment><USER7> With the huge exception of Spotlight on Mac OS

<comment><USER8> Spotlight is absolutely horrendous?

<comment><USER9> I think it works slightly better than search in Windows 10, and importantly, Apple was first to the punch to bundle an indexing search engine into the OS. Microsoft followed with Windows Vista.

</comment></comment></comment></comment></comment><comment><USER10> I heard once that Steve and Co. early on envisioned the iPhone to work mostly with web apps through the browser, but when it became clear the tech wasn't going to be there they went the app store route?

Anyone have anything that backs that up or hear the same thing? It's interesting that 10 years later we're still there ;)

<comment><USER11> It was Apple's official "sweet solution" for app development on the iPhone.

[https://daringfireball.net/2007/06/wwdc_2007_keynote](https://daringfireball.net/2007/06/wwdc_2007_keynote)

<comment><USER10> Thank you very much. My how things have changed ... and still haven't caught up. Granted as another user says, Apple has no reason to push apps off the store to the web now considering the insane cash flow.

<comment><USER12> Also the fact is that mobile web apps are still terrible.

In almost all cases they still resemble HTML pages rather than feeling like a native app.

<comment><USER10> I'll stick my neck out and say we're REALLY close to getting web apps ... close, at least for productivity (not so much pretty graphics) apps.

But People thought that not long ago too... ;)

<comment><USER13> For games, multimedia, editors, graphics heavy, etc it's a non starter and will probably always be. If not in absolute terms, then compared to the native equivalent.

Even for simple apps (like productivity) they eat battery like crazy.

Slack does less than what ICQ could do 20 years ago, and wastes 1000 times the resources.

</comment></comment></comment></comment></comment></comment><comment><USER14> On a semi-related note, can podcasts stop only giving links to itunes and asking me to rate their podcast on itunes? Thanks, an Android user

<comment><USER15> Is there a unified library of podcasts and ratings on Android? As far as I know there's a number of apps that maintain their own libraries but nothing unified across the whole platform and built into the OS like iTunes.

<comment><USER16> Google Play Music has podcasts, that might be the closest thing.

<comment><USER17> Google just launched a dedicated Podcasts app.

[https://play.google.com/store/apps/details?id=com.google.and...](https://play.google.com/store/apps/details?id=com.google.android.apps.podcasts)

<comment><USER18> Huh. They brought back Listen...

Maybe next year they'll resurrect Reader :(

</comment></comment></comment></comment></comment><comment><USER19> I really like the animation at the start of the article. How was that likely created?

Edit: I know it's a gif. I'd like to know what tool(s) Apple likely used to create the gif.

<comment><USER20> You can probably do this with simple tools. It's all about the layers; If you observe closely, you can see all the objects in the frame have very simple movements.

The 3D effect is just an optical illusion coming from all these simple movements in 2D space.

Some creativity goes a long way!

<comment><USER21> I disagree. Look at the airplane, it's clearly made in 3D software.

<comment><USER20> Very possibly. But that would be easily reproducible with layers as well.

Look how there is no perspective change on the rising blocks and the shadow underneath. Blocks just move straight up and down and shadow just increases/decreases in size.

People movements are just tween animations.

<comment><USER21> Its an orthographic rendering, that's why there are no perspective shifts.

</comment></comment></comment></comment></comment><comment><USER22> I'm still curious, where can one get a comprehensive list of Apps published in the app store, date uploaded, number of downloads, etc?

<comment><USER23> They don't publish an API for that, and companies that have created one (like AppAnnie) seem to reserve that info for paying customers, AFAIK.

That said, they do offer a search API which should be (slowly) crawlable over time: [https://itunes.apple.com/search?country=us&entity=software&t...](https://itunes.apple.com/search?country=us&entity=software&term=WHATEVER)

</comment></comment><comment><USER24> Oh man, that takes me back. I remember Cro-mag rally and Super Monkey Ball so well. I wonder if they're still around...

Quick edit: Cro-mag is still alive and kicking, looks like it just got iPhone x support too. Crazy.

<comment><USER25> Cro-mag's developer Pangea Software has been an excellent Apple platform developer for a long time now. If you ever played Mighty Mike/Power Pete, Nanosaur, Bugdom, or Otto-Matic on the Mac that's them as well.

</comment></comment><comment><USER26> I wish they offered a proper rental model in the App Store, I know you can do it with in-app purchase but that all feels a little underhand, I'd rather use something baked into the store.

</comment><comment><USER27> Congrats Apple! Also, I have been struggling uploading my first iOS app to Apple store since last 10 days!

</comment><comment><USER28> Nice thread, I'm trying to build a poor man's app store for the web at appshare.co , but true , you can't beat mobile apps for performance and native integration with your phone

</comment><comment><USER29> If you purchase an App from the App store and then change your phone, I assume you should be able to carry over the paid app to your new phone.

Does anybody know if the App Store enforces this and what (if anything) they do to vendors who violate this?

It seems that there are numerous complaints on the review page of "word with friends" by people who paid for the Ad-free version but when they moved to a new device, they no longer have access to the Ad-free version

<comment><USER5> This _can_ happen, when non-scrupulous devs 'deprecate' an older version of their app in favor of the 'new' version. e.g., you buy 'CoolApp' and in-app purchase features for it. But oh no, 'CoolApp2' has come out and 'CoolApp' is no longer updated for newer devices, so sorry.

Otherwise, an app, and its in-app purchase set remain available via a user's iTunes account indefinitely as far as I can tell.

<comment><USER11> Why is it "non-scrupulous" for a dev to charge for a new version of piece of software? Are they suppose to update an app forever without further compensation?

<comment><USER30> Here's a realistic scenario. I pay for CoolApp. It works fine even though CoolApp2 is live on the store. I get a new phone. I go to download CoolApp, but it's no longer available. If I want to use CoolApp, I must use CoolApp2.

I'm not expecting CoolApp to be forever supported. CoolApp works fine for my use case, so I planned on continually using CoolApp until it made sense for me to upgrade. But now that CoolApp2 is the only version available, I have to buy the newer version alongside my new device. If I turn on my old phone, I can still use CoolApp without skipping a beat. I think that's what the other commenter was getting at.

<comment><USER31> But that's not the case (at least not on iOS). Even if CoolApp has been removed from sale, you can download it on your new phone from your purchase history. The only exceptions to this are technical limitations on the old app that render it incompatible with the new phone such as 32 vs 64 bit, deprecated APIs, etc.

<comment><USER11> Even better if CoolApp 1.0 has been continuously updated for new OS's and the newest version isn't compatible with a device stuck on an older OS, you can download the "last compatible version". I was able to download and use Netflix, Crackle, Plex, Hulu, Spotify and Google Drive on my 2010 first gen iPad that was officially abandoned in 2012.

I reset it and downloaded older versions of apps last year.</comment></comment></comment></comment></comment></comment>