Charles Stross on the future (and gaming) in 2030 - <AUTHOR> http://www.antipope.org/charlie/blog-static/2009/05/login_2009_keynote_gaming_in_t.html

<comment><USER2> Sigh.

One problem with futurism is that the size of the subject requires you to pass over all the little throwaway projects (like the ARPAnet in the late 1960s) that are two or three incarnations away from being world-shaking.

For example, although heat dissipation and power requirements make it impractical to run whole processors faster than a few GHz, it's possible to get amazing analog performance out of 20-nm MOSFETs. Ubiquitous Millimeter- wave radar is one obvious application, but IR-frequency amplifiers and sampling aren't out of the question. As anybody who's taken an undergraduate organic chemistry course can tell you, an IR photon has roughly the same energy as a quantum of vibrational energy in an organic molecule.

<http://en.wikipedia.org/wiki/Infrared_spectroscopy>

In other words, imagine a camera that can tell you the chemical composition of anything it photographs...

</comment><comment><USER3> Yes, the article is quite conservative, but on the upside, you can clearly tell he's talking not only to the people listening to his speech today, but also directly to readers who may be revisiting this speech in 2032.

As you know, we seem to have a fascination with reading long ago predictions of the "future" that is now today... and we really like to laugh at them.

I believe his tone is one of "I know you're reading this in 2032, so I'm going to try my best not to be silly."

</comment><comment><USER4> An interesting, if somewhat pessimistic, speech. One quibble: he states the size of "an atom" as being around 1nm. I thought it was more like 0.4nm, if he's talking about silicon anyway. Not a game-changing difference, but still.

And he also seems to dismiss rather perfunctorily the promise of upcoming technology and techniques - the most egregious example being the scorn he pours on the potential of 3D computers, which he seems to think is merely stacking a few photolithographed dies on top of each other. I think this is somewhat misguided; most of what I've read on the subject talks about building, via nanotechnological (or even biological) assembly, true three- dimensional structures, with the massive increase in connectivity this allows. I'm by no means an expert on the topic but if you want a hint of evidence that this technique might be useful, I'd ask you to consider that treasure trove of as-yet unattainable computing technology: the human brain.

Good talk though, thought-provoking, although what it really provokes me to do is argue with the author ...

(edit: oops, I was thinking of the _radius_ of Si. Now I have even less of a point; oh well)

<comment><USER5> What exactly do you call pessimistic? The assumption that Moore's law will hit a hard wall and soon we won't be able to ride it's back any longer? I, for one, would be glad if the days of "extensive agriculture" in computing, and games in particular, will be over; maybe game designers will then have time to seek the better form of the game, instead of producing cliche-ridden sequels beefed with the current technology. But the article doesn't seem to promise anything like that: if anything, advances in mobile devices, bandwith, changes of national and age demographics promise us even more of a wild ride we experienced previously!

Or, do you call pessimistic (conservative, I would call it) the assumption that by 2030, kids won't be growing their "pocket-sized dragons" or the Singularity won't happen?

So, what exactly do you call pessimistic?

<comment><USER6> When the author himself labels the assumptions pessimistic (more or less, I think it's a fair word), I think it's fair to say they are "pessimistic":

"I have short-sightedly ignored the possibility that we're going to come up with a true human-equivalent artificial intelligence, or some other enabling mechanism that constitutes a breakthrough on the software or content creation side and lets us offload all the hard work. No HAL-9000s here, in other words: no singularity (beyond which our current baseline for predictions breaks down). Which means, in the absence of such an AI, that the most interesting thing in the games of 2030 will be, as they are today, the other human players.

"I am assuming that nothing better comes along. This is the most questionable assumption of all. Here in the world of human beings — call it monkeyspace — we are all primates who respond well to certain types of psychological stimulus. We're always dreaming up new ways to push our in-built reward buttons, and new media to deliver the message. Television came along within fifty years of cinema and grabbed a large chunk of that particular field's lunch. Cinema had previously robbed theatre's pocket. And so on. Today, MMO gaming is the new kid on the block, growing ferociously and attracting media consumers from older fields. I can't speculate on what might eat the computer games field's lunch -- most likely it'll be some new kind of game that we don't have a name for yet. But one thing's for sure: by 2030, MMOs will be seen as being as cutting edge as 2D platform games are in 2009.

"In fact, I'm making a bunch of really conservative assumptions that are almost certainly laughable. For all I know, the kids of 2030 won't be playing with computers any more — as such — rather they'll be playing with their nanotechnology labs and biotech in a box startups, growing pocket-sized dragons and triffids and suchlike. Nothing is going to look quite the way we expect, and in a world where the computing and IT revolution has run its course, some new and revolutionary technology sector is probably going to replace it as the focus of public attention."</comment></comment></comment>


Keeping up with IP number changes - <AUTHOR> https://leancrew.com/all-this/2018/11/keeping-up-with-ip-number-changes/ <comment><USER2> Or just use any of the dynamic DNS services and have the script update the address automatically (sadly, zzzz.io is now gone)

<comment><AUTHOR> > zzzz.io is in sunset mode. It will shut down in Q1 2019. No new > registrations are possible. All good things must come to an end.

How zen of them

<comment><USER2> Zen? IIRC, their problem was that malware was using them.

<comment><AUTHOR> I was referring to this: "All good things must come to an end". It's a very Buddhist way of looking at your online service. Most services try to stay afloat for a decade, and few make it that far.

</comment></comment></comment></comment><comment><USER3> > dig +short myip.opendns.com @resolver1.opendns.com

Nice little line of code there for fetching your IP address.</comment>


Facebook can't save us from fake news - <AUTHOR> https://unfake.us/facebook-cant-save-us-from-fake-news/ <comment><USER2> _Users can point out factual errors, quotations taken out of context, and misleading statements. They can highlight claims that do not cite a source (think of Wikipedia's [citation needed] tag), or add additional context that either support or provide a counterpoint to the article._

So... Genius for news and political discourse? How would it be protected from Sybil attacks, trolls, bots, and raging ideologues? If every word is annotated a dozen ways, that sounds worthless, but if it's being curated then what does it offer other than a new set of biases?

<comment><AUTHOR> Yes, Genius for news is a fair analogy. You do have to actually justify your tag with a coherent argument, so it would take a fair bit of effort. Something like "CNN is fake news" wouldn't really pass muster.

<comment><USER2> It certainly sounds like it has potential and I wish you luck in it.

<comment><AUTHOR> Thanks! I can't wait to have enough traffic to actually run into the problems you described. I'd say if there are people out there going out of their way to game it, that would be a good sign it's having an impact.</comment></comment></comment></comment>


Browser Speed Tests: The Compiled, Up-to-Date Results - <AUTHOR> http://lifehacker.com/5055406/browser-speed-tests-the-compiled-up+to+date-results

<comment><USER2> I'm not sure if memory usage statistics scale linearly, but I'd be interested in the results from a more "modern" test. I am not sure about anybody else, but I always have 2 browser windows open (1 for "work" 1 for "junk") and each has an average of 12 tabs open at any time. That's 3 times the test amount.

(for reference, my Safari (Mac) with 24 tabs uses ~700mb)</comment>


Antimatter particles found in orbit held by Earth's magnetic field - <AUTHOR> http://arstechnica.com/science/news/2011/08/antimatter-particles-found-in-orbit-held-by-earths-magnetic-field.ars <comment><USER2> Previously discussed on HN: <http://news.ycombinator.com/item?id=2850191></comment>


Ask HN: Review my search tool - <AUTHOR> http://walabok.com I found myself running the same search across multiples sites, so I made it easy for myself to type once and search in several places.<p>You can also try  http://walabok.com/new . <comment><USER3> It didn't return any results, regardless of what I entered :)

<comment><USER4> You have to click one of the links below the search box after you run a query. The fact that people are confused means that is certainly a usability issue though.

<comment><USER5> It might be nice for the search to default to a (random?) one of those 5 search engines. Then, depending on where you plan on taking this, it might also be nice to see the names of all 5 in the brown strip running across the top of the page so I can immediately choose which one I want results from.

In this way, I would get my results immediately (basically a necessity due to user expectation), but I would still be able to quickly choose among the other options after seeing the initial search results.

<comment><USER6> I'd actually suggest showing the top result for each search engine with an AJAX "show more results from X". Maybe top 2-3 results.

</comment></comment></comment></comment><comment><USER7> It's an interesting experiment, but there are a lot of search aggregators out there, and they aren't very useful or profitable. If this is a business idea, I urge you to look elsewhere. If this is an exercise in programming, bravo.

Definitely have it display some results after I search though - the search paradigm is enter text, click go, get results. You just can't break that by adding another click, or you'll confuse everyone.

<comment><AUTHOR> Thanks for the feedback. You are right about the extra click. I will try to do something about that.

I am a marketer and several times per day when I search, I try several places. So I decided to combine them, then share it with others. So there are no goals other than sharing it, which is why I did not "dare" asking "Review my Startup", but "my tool".

</comment></comment><comment><USER8> Interesting work. It's not quite useful to me just yet, but I think there is something there. The biggest problem I see so far is the fact that I need to click on a link after hitting search in order to get any results is a big problem. This needs to be fixed first.

I'm not completely sure what your direction is. If I search for something my goal is to either A) find the best results, or B) explore. You do somewhat of a mix of these two, but don't do either of these things well. I think you need to figure out what exactly is the utility for your users that you're providing, and then polish it until it's perfect. Going through all sources in a frame easily is kind of interesting, but it's not quite the utility I'm ever looking for. Perhaps merge the results somehow? Or let people explore (similar to Scoopler)?

The search space today is different from what it was two years ago. If you consider purely quality of the web results, Google isn't a clear winner. While I wouldn't try something new two years ago (Google was perfect), I would now. If someone built something that genuinely gave me better results, or indexed more stuff, or let me browse content in some great way, or _something_ , I'd use it over Google. I'd imagine other people would too. What I mean is - <USER2> don't know what the answer is, but I know it's there, waiting to be discovered. What you've done is unpolished and isn't very useful, but somewhat interesting, so the person who'll discover the answer might as well be you! I'd keep trying, and keep asking for feedback. I'd love to see this go in a good direction.

Good luck!

<comment><AUTHOR> Thanks for the detailed feedback. You are right about the extra click, I will try to load at least of page then let users navigate.

I think I will keep adding vertical search engines and improve the UX.

</comment></comment><comment><USER9> Rather than just another search tool, why not add some basic "AI" into the mix:

eg: searching "restaurant near Vancouver, BC" would use Yelp, "Facebook" would use google, and so on.

<comment><USER9> in other words, your search aggregator should auto-detect the context which the user is searching, then use the best platform to perform that search.

<comment><USER10> How would you approach this problem? No need to be technical.. I'm curious as I'm working on something similar past 2 years or so.. Thanks

<comment><USER9> Not exactly sure - but you could have datasets of key words and if those words match then you choose the search engine. And maybe there's some learning over time...

</comment></comment></comment></comment><comment><USER11> Check out <http://joongel.com/>

</comment><comment><USER12> You should preload the 1-2 next pages (i.e. using an hidden iframe).

</comment><comment><USER10> I think it's a great idea. Kudos for putting it together. Good luck!

<comment><USER10> PS - I didn't even know there are so many services out there!

<comment><AUTHOR> Thank you. Yes, there are lots of verticals, and depending on what you search for there are usually better than the general search engines.

</comment></comment></comment><comment><USER13> This reminds me of the original Mahalo. We know how that turned out.

</comment><comment><USER14> could you add duckduckgo please?</comment>


Show HN: AssassinationFiles.net – JFK Declassified Document Search - <AUTHOR> https://assassinationfiles.net/index.html <comment><USER2> Best thing anyone interested in this to read is _Rethinking Camelot_ by Noam Chomsky. Full text is online.[1]

Without giving too much away, it's not about the assassination. It's about JFK's actual record, which calls into question the whole enterprise of liberal hero-worship and destroys the basis upon which most CIA conspiracy theories are premised. There is no motive for the CIA to assassinate JFK. Vietnam was his war, he was a fanatical supporter of terrorism, and brought us closer to nuclear war than any other president.

[1] [https://zcomm.org/wp- content/uploads/zbooks/htdocs/chomsky/r...](https://zcomm.org/wp- content/uploads/zbooks/htdocs/chomsky/rc/rc-contents.html)

<comment><USER3> Hello Abalone have you seen The Smoking Gun, the film based on Mortal Error (book)?

</comment></comment><comment><USER4> Each time the JFK assassination comes up, reading the comments gives me the feeling that HN is pro lone gunman theory.

That strikes me as odd given the amount of circumstancial evidences pointing in the conspiracy direction.

Also the lone gunman who kills single handily the president of the most powerful nation in the world:

\- would not admit it (why not if he is a crazy guy killing for political reasons?) \- and is killed right after by a mafia linked guy

This guy is executed right after being questioned by the police and denying any role in the assassination and pretending he's a patsy. And it's not a conspiracy?

<comment><USER5> There is a lot of weird circumstances, but given the available evidence I still think the lone gunman theory is the most plausible.

You say "the lone gunman who kills single handily the president of the most powerful nation in the world" \- it is like an act of such magnitude _must_ have a bigger and deeper explanation than just a half-crazy guy with a gun and unclear motives.

But if you have a clear line of sight it is not harder to kill the president of the most powerful nation in the nation of the world, than it is to kill any other random person on the street. And you don't really need a better motive to it either. And it is not weird to deny a crime when apprehended. Certainly the Ruby assassination was weird and unfortunate, but how does it actually point to a conspiracy? It seems rather random.

<comment><USER6> Hi, there is simply no way Oswald killed JFK. And the Ruby assassination of LHO was not random at all. The fiction made up by George HW Bush and co (CIA) was necessary to cover-up the extent of the coup that had just taken place. There is so much credible evidence. You must also ask yourself: why, after all these years, is a substantial quantity of government info still secret? So secret that 'swamp drainer' Trump won't declassify it? Have you read Carl Oglesby's book "The Yankee and Cowboy War"? Incredible page-turner! [https://archive.org/details/OglesbyCarlTheYankeeAndCowboyWar](https://archive.org/details/OglesbyCarlTheYankeeAndCowboyWar) . And finally I don't vouch for everything in the following film, only that he encourages you to look up the facts for yourself. [https://youtu.be/U1Qt6a-vaNM](https://youtu.be/U1Qt6a-vaNM) p.s. I was in grade school when the USA had its coup, and I remember very clearly how it was presented to the public back then.

<comment><USER7> I won't get into the other stuff, but:

> You must also ask yourself: why, after all these years, is a substantial > quantity of government info still secret? So secret that 'swamp drainer' > Trump won't declassify it?

1) Because he's not a swamp drainer, he's a swamp monster.

2) He didn't declassify these documents, time did.

3) Because the vast majority of intelligence data is secret (for a substantial amount of time), regardless of motive.

<comment><USER6> 4) Because it implicates George HW Bush and/or other people still alive in the conspiracy.

5) The fact that the Warren Commission Report was a fabrication would be clear to everyone.

6) Some other illegal government action would be exposed, like the Bay of Pigs, or the Gulf of Tonkin 'attack', the 'Lusitania is not carrying arms for England', and/or other government lies.

7) < you get the idea >

\---- I find the small-minded among us (who down-vote when they do not like what is said) should really re-read HN Rules. Thank you.

I suspect the downvote is from a politician who is vested in having the "LHO killed JFK" inaccurate meme continue to proliferate. Fess up! ;-)

</comment></comment></comment></comment></comment><comment><USER8> I feel like if these files revealed anything groundbreaking it'd be all over the news by now.

<comment><USER9> I feel like if these files revealed anything groundbreaking they wouldn't have existed. If there was anything that needed to be covered up, it wouldn't have been done on the books, classified or not.

<comment><USER10> Black Op: If you heard even a hint of it, it ain't black. Anyone who tells you about a black op is a liar. Does Stratfor do black ops? You'll never know.

From "Stratfor Glossary of Useful, Baffling and Strange Intelligence Terms"

[https://wikileaks.org/IMG/pdf/The_Stratfor_Glossary_of_Usefu...](https://wikileaks.org/IMG/pdf/The_Stratfor_Glossary_of_Useful_Baffling_and_Strange_Intelligence_Terms.pdf)

<comment> King-Aaron > Duplicitous little bastards.... Israeli Intelligence

Is this legit?

<comment><USER11> "Si non e vero, e ben trovato", as they used to say in Abyssinia.

</comment></comment></comment></comment></comment><comment><USER12> Thanks for this. I was able to find a relative who I suspected would have been an associate of Jack Ruby. I wanted to search for him before, but without OCR, it would have been a needle in a haystack.

While it wasn't anything significant to others, it was a neat bit of family history for me.

In case anybody was interested, my relative wasn't investigated because of a link to Jack Ruby after all, but he was mentioned by other informants.

<comment><AUTHOR> That is awesome - thanks much for sharing!

</comment></comment><comment><USER13> Really great work!

Two questions:

What sort OCR stack did you use?

Is there a way to see the text inside the search results? I'm only seeing the PDFs themselves and would love to do some full text searches of my own!

<comment><AUTHOR> Thanks much for the feedback!

Imagemagick -> tesseract -> solr/lucene

I am a neophyte when it comes to this stuff, so I'm sure someone with more experience could get better results from tweaking IM/tess. Some of the IM convert stuff was extremely memory intensive on larger documents and AWS was starting to get really expensive. Later on I added PDFbox to split the PDFs pre IM and run a page at a time vs. the entire document.

SOLR has a highlighting feature that I never really got working right. That would have showed some context to the search terms in the results.

</comment></comment><comment><USER14> Is it possible to download these? Would love to play with some Dynamic Topic Modeling stuff using them to see changes over time!

<comment><USER15> Yes, please open source this data! Making it easily searched is a great public service but technical people can do even more with the text data.

<comment><AUTHOR> The 11/03 release is still finishing up OCR'ing, so perhaps once that is loaded, I can post to github. That should be over the next couple of days. Thanks everyone for the feedback as well--I don't have a big interest in JFK or anything, but needed a good project.

</comment></comment></comment><comment><USER16> Very interesting!

Some random searches brought me to this: [https://www.archives.gov/files/research/jfk/releases/104-101...](https://www.archives.gov/files/research/jfk/releases/104-10182-10059a.pdf)

It seems to be a summary on a special agent operating in the 60s and gives some interesting glimpses into his life/tasks.

</comment><comment><USER17> If you search for NSA you can get some articles on how the agency operated before the internet madness. Very interesting to say the least.

[https://assassinationfiles.net/script/search.php?searchterms...](https://assassinationfiles.net/script/search.php?searchterms=nsa)

</comment><comment><USER18> Small misspelling: "Relavance" as a column header, which should be "Relevance." Otherwise, wonderful job.

<comment><AUTHOR> Thanks very much netule! I updated it.

</comment></comment><comment><USER19> Easy Xss to spread fake news:

[https://assassinationfiles.net/script/search.php?searchterms...](https://assassinationfiles.net/script/search.php?searchterms=CIA%3C/span%3E%3Cbr%3ECIA%20KILLED%20JFK%3Cbr%3ETotal%20Results:%201%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E)

<comment><USER20> Perhaps you could've chosen something more safe for work?

<comment><USER19> whoops wrong xss, fixed it to something more sfw

</comment></comment></comment><comment><USER21> I searched for a random keyword and found this file: [https://www.archives.gov/files/research/jfk/releases/104-101...](https://www.archives.gov/files/research/jfk/releases/104-10173-10133.pdf)

 _1 July 1947_

 _Enclosed herewith are translations from the official gestapo files of a list of persons connected with the work of the Third International in China. These files are in possession of Turin, NY and he is combing through them extracting this type of information which will be forwarded to you as it is obtained._

I guess it's not super surprising that US intelligence was interested in the results of Gestapo intelligence on communists in other countries, but it does make me incredibly, incredibly uncomfortable.

Some of the Gestapo notes identify various people as "US citizen, Jew," "German citizen, Jewess," etc.

(On the technical side - is the OCR'd text available, or only searchable?)

<comment><USER22> The Nazis before and during WWII were fastidious about documentating the backgrounds, political affiliations, and connections of pretty much everyone they could, but especially their perceived foes. They were assisted in this by tabulating equipment provided by IBM. So they probably had more complete records of this sort of thing than anyone else at the time.

<comment><USER21> Sure, but don't we think they'll be ... colored by Nazi ideology? Was the US really happy to think that anyone who the Nazis think is a communist and a threat to the Reich is someone that they should also consider a communist and a threat to the republic? Barely two years after sending half a million soldiers to die because this country was too evil that we needed to pay any cost to defeat them? After discovering the Holocaust, which we _didn 't know about_ when we made that decision and only learned about as we found the piles of dead bodies? We're not only interested in their intelligence, we trust the Gestapo's judgment?

I mean, I guess at some level I always knew the answer was yes, but this is pretty blatant.

<comment><USER23> I don't see any evidence of unconditional trust of the Gestapo's judgement. As an intelligent analyst, you would be pretty stupid to ignore information just because its contents might be unreliable. Reliability and utility are two distinct axes (even if not entirely orthogonal).

The image quality is too poor for me to spend the time to figure out what all the text and annotation is saying. It looks like it's something like a summary of major leaders of the Chinese branch of the Comintern with supporting documentation, but I'm not entirely certain.

</comment></comment></comment></comment><comment><USER24> Thanks for making these publicly accessible; that's great work. A couple of thoughts:

1\. Change the name. Assassination Files is sensationalistic, which always feels manipulative to me and raises my doubts about the author's intentions. These days, with so much trolling and propaganda, I assume that anyone who adopts sensationalistic practices doesn't understand and/or respect the issues of integrity on the Internet and is not to be taken too seriously.

2\. I'm not sure many others feel this way, but I need a reason to believe the website contains a correct, complete, and fully searchable record of the released documents. I don't know if the author has an axe to grind, and perhaps omits or fails to properly OCR or index certain documents, or if there are errors due to the unknown error rate - and not knowing the site's producer, I have no idea if that error rate is high or low. If someone with expertise, such as a professor in that field, could vouch for it, that would help - but perhaps that's outside the scope.

Thank you!

<comment><AUTHOR> Thanks for the feedback. To be honest, I just thought it would be a fun project. Perhaps I should indicate that somewhere in the about page to make it more clear. Someone else had recommended making the index files public, which might help with some of your concerns.

I went back and forth about the title, but my girlfriend gave the OK, so I went with it. :)

<comment><USER24> > To be honest, I just thought it would be a fun project.

You are generous to give the world the benefit of your project, and for free. I wrote the feedback because that's what Ask HN is for, but overall IMHO it's awesome that you did it.

Definitely, it's better to listen to your S.O.'s feedback than to strangers on HN - most of us can't even get a date.</comment></comment></comment>


Meet Riter – AI based project management tool for Agile teams - <AUTHOR> Riter is a project management and team collaboration tool we are currently working on and using in our own workflow. It provides you means of communication within teams and customers, smart task estimation and sprint planning based on trainable AI, full GraphQL API, time tracking, detailed statistics, files sharing and much more. We hope you find it useful for your needs.
Riter is focused on the entire company management, not just individual projects. You are also able to unite projects into temporary groups to work with them simultaneously, add notes, todos, task states and tags. Riter already includes a complete documentation and all basic functionality for stable work. Now we're working on its AI and a system of bots for additional integration.
Riter is free for basic usage without time/users/projects limits, all types of feedbacks, questions and critics would be great! Riter is in beta but we are growing up rapidly. Find out more here https://riter.co or just see it in use right away for the existing demo company https://demo.riter.co <comment><USER2> I like it/ What's the scoop on security/self-hosting for high-sec requirements?

<comment><AUTHOR> At the moment Riter is not available for self-hosting - while it's in beta, we'd like to first check and debug its work properly on our side. When we release (in about 4-5 months), Riter's Enterprise plan ([https://riter.co/#pricing](https://riter.co/#pricing)) will probably be a good choice for your requirements.

We provide a dedicated space for each company's data, so that you remain protected from third-party interference. The distribution of user access rights and roles prevents accidental or deliberate data corruption by your employees. Enterprise plan will include two-factor authentication, SAML 2.0 support and custom OAuth 2.0 integration. Our team is constantly tracking vulnerabilities and fixing them. We use secure data transfer protocols and reliable servers. If you are interested in something specific - we are ready to answer any additional questions.

<comment><USER2> Thank you for the follow up. I think it's probably too elaborate for my small team, but I'll keep an eye on the project.</comment></comment></comment>


Show HN: Finicity API Client for easy financial data - <AUTHOR> https://github.com/jeremydeanlakey/lakey-finicity-python <comment><AUTHOR> I created this after trying to use Finicity's API for my personal project. This handles authorization, endpoints and parameters, paging, mapping responses to typed objects.

Note that Plaid has a similar but official Python API library. But so far as I know, it only handles the authorization and endpoints, not the paging and mapping responses to objects.

I'm a little confused why companies whose product is an API don't create robust client libraries as they can do so better and more cheaply than their customers (and only once). If anyone can shed light on why they don't, I would be interested to know.</comment>


NASA switches off ISS camera stream when UFO appears, again - <AUTHOR> https://www.youtube.com/watch?v=o0AsBDZkIIg

<comment><AUTHOR> I didnt know this was a common problem until today - whenever some UFO appears in the stream (might it be space waste or some other object) NASA commences technical break.</comment>


Apple's Biggest Flop: The Lisa - <AUTHOR> http://www.obsoletecomputermuseum.org/lisa/ <comment><USER2> Very cool....I've got an Apple Lisa-1 sitting next to my..First TRS-80 Model III, Commodore PET 2001 (8K RAM), Atari 800, Apple II+, KIM-1...I keep one Lisa at work to show the newbie programmers at work what we have today existed back in 1982. The Lisa was away head of it's time (yet a huge financial failure for Apple) \- 32 bit 68000 processor (5Mhz) \- 1MB RAM (Very expensive for 1982) \- Virtual Memory and Multitasking OS \- Integrated Applications (btw it also has cut & paste) \- Screen Saver (Dimmer really) \- Intelligent Power-switch (Puts all your docs away before shutting itself off) \- Twin read heads on the 5.25 Floppy for redundancy and speed (but non-standard) \- Diagnostics in ROM \- GUI Based Operating System (Mac's QuickDraw based on Lisa) \- LisaNet networking built-in

Larry Tesler et al, you did an awesome job!</comment>


Show HN: Guild Wars 2 Armory Made with React and Node - <AUTHOR> https://gw2armory.com <comment><USER2> Cool man. GW2 was a source of ideas for me for like 3 years. Every time I went to implement something though I very quickly ran into API limitations. At the time -- maybe it's changed -- they basically just expose the big .dat file that makes up the majority of the client size. So however that data is stored on disk is how it's exposed.

Anyhoo, this looks cool and is pretty snappy!

<comment><AUTHOR> Thanks man! The api's are better now but you're not wrong, they're limited by what is on the client.

Luckily their github and gitter is quite active: [https://github.com/arenanet/api-cdi](https://github.com/arenanet/api-cdi). And they're open to requests.

</comment></comment><comment><AUTHOR> If anyone is interested I'll be live coding tonight around 7pm AEST.

[https://www.twitch.tv/itsmadou](https://www.twitch.tv/itsmadou)

</comment><comment><AUTHOR> Wow has an armory, why not Guild Wars 2?

Website:

[https://gw2armory.com](https://gw2armory.com)

Repos:

[https://github.com/madou/armory-react](https://github.com/madou/armory-react)

[https://github.com/madou/armory-back](https://github.com/madou/armory-back)

<comment><USER3> Is ANet making this data publicly available? Is it per-account? I'm just curious, as last i played there was no realistic way to implement this sort of feature.

It was heavily desired though, so i'm sure the community will love it. Grats!

<comment><AUTHOR> Yeah the data is available - to a degree. It's opt in unfortunately so a user has to sign up with their api keys to allow the armory access to their data.

Here's hoping some devs playing gw2 will be interested in contributing to the armory !</comment></comment></comment>


How Crowdsourcing Turned on Me (2014) - <AUTHOR> http://nautil.us/issue/18/genius/how-crowdsourcing-turned-on-me <comment><USER2> So the author decided to rely on "Crowdsourcing"... without actually building any of the features needed to make crowdsourcing work... and was surprised at the outcome?

He appears to have supplied the task as a wide open Drawball or Google Docs type interface. This is great if you have some lasting leverage over the participants (such as "I can punch them in the face" or "I can fire them"), but otherwise some form of advanced moderation (Wikipedia with moderator bots) would be step zero, and a validation process would be step 1. The possibilities for, eg, anonymous drawings of dongs, are early and obvious in any open system, to the point that I start out collaborative document editing sessions in gaming by telling people to get it out of their systems at the beginning.

Mechanical Turk is great, but the cost of paying people <$1/hr is you have to assume some percentage of them are unreliable or bots just trying to make money (if not actively malicious), and designing this expectation into your workflow is nearly the whole task at hand. There will be some multiplier where you pay for c*N hours of labor in order to perform N hours of work. Randomized peer review methods combined with long-term engagement can keep c quite low, far lower than management expenses in an enterprise, but it will always be greater than 1.

</comment><comment><USER3> It would have been interesting to add in a validation layer, letting the crowd evaluate each others moves, creating a virtual trust score for each player. Those with high trust scores get to meta-moderate others moves before those moves can be applied to the board. You can also try to catch trolls here by presenting them with a known good matching and the system blackholes those who reject it. Similarly, if their overall trust score dips below a certain threshold, whether due to poor skill or malicious activity, they get blackholed then too and any subsequent change they make to the board is only visible to them privately though they think they're causing havoc.

Combine a system like that with a requirement that _N_ (some reasonable number of randomly chosen people) must agree when combining pieces or splitting pieces before the change is applied to the master board. And add the ability of the project admins to scan the board and lock in place obvious good solutions. That might work.

<comment><USER4> We have such systems in place - see Wikipedia and/or Stackoverflow. Both platforms IMHO have become stagnant messes. A group of people who spend waaayyyyy too much of their life on those platforms and by now identify with it way too much get power-hungry. It's "their" platform now. While still being able to deliver some value a lot of the fun and "feeling easy" about or when using the platforms actively (instead of just passively looking at what they produce) is gone.

It's equivalent to managers or politicians who are in power for too long. Basically, the 0.1% who contribute the most are the ones who should actually get thrown out of "office" occasionally.

<comment><USER5> > A group of people who spend waaayyyyy too much of their life on those > platforms and by now identify with it way too much get power-hungry.

Though, what is "waaayyyyy too much"? Someone who consistently responds to a question on SO every day or checks 10 pages on WP for language issues every day?

And are long timers really power-hungry or just fed up with discussing the same things over and over again? (Not saying the latter is better.)

I'm sure what you say is true for some, but I think the vast majority is actually civilized and most of the time quietly doing their thing for a project.

What I am missing with most "power awarding" algorithms is a time factor: Respect has to be earned again and again and some "powerful" person who has been inactive for a year can easily come across as condescending to someone who has been very active and engaged in a project for just the last 9 months and thus does not have more than baseline respect for the old timer because s/he never saw him/her in action. An example of a, in my opinion, better solution would be to lose 10% of your karma for every month of inactivity on HN (just an example, I don't think HN suffers from the problems described) or removal of the "auto patrol" flag for users who have been inactive on WP for some time.

<comment><USER6> my definition of "waaayyy too much of their life" in the context of this topic is, people who don't have much going on IRL due to social adjustment impairments and personality disorders discover these online communities and have their emotional needs met by fitting into an online community.

Nothing wrong with all that, some hermit toiling over research into an obscure topic can do great work, but the same sorts of neuroticisms and anti social behaviors that can plague real life can more easily over plague online.

</comment></comment></comment></comment><comment><USER7> Most crowdsourcing systems hinge on trust. Too much trust, and exploitation and sabotage will occur. Too little trust, and nobody gets excited.

You cannot just give trust away like hugs. Trust must be earned. Trust is a social construct, and if that's not built into your system, your system is bound to fail.

Almost everyone will be honest and genuine, but that's not enough. It takes just one asshole in a thousand to burn down the building, if they have nothing to lose.

</comment><comment><USER8> This story is interesting because of the hate generated in a small number of people around the perceived cheating.

Or maybe the stuff around anonymous crowds will always contain destructive assholes.

People might be interested in the previous discussion of this article (only 25 comments) [https://news.ycombinator.com/item?id=8499452](https://news.ycombinator.com/item?id=8499452)

Here's a different post about the 2011 challenge, with some interesting comments: [https://news.ycombinator.com/item?id=9021383](https://news.ycombinator.com/item?id=9021383)

And here's another one with 50 comments: [https://news.ycombinator.com/item?id=3164466](https://news.ycombinator.com/item?id=3164466)

<comment><AUTHOR> The previous submission had exactly the same URL _and_ title, so why did the duplicate detection system allow me to submit this? Still, there's some interesting discussion there, thanks for pointing it out.

<comment><USER9> Because it was 584 days ago. HN lets you repost something after a while.

<comment><USER10> If a link was posted that long ago maybe the original year could be automatically appended.

<comment><USER9> Usually the year means the year it was posted on the source site. That doesn't necessarily mean it'll be posted here the same year.

</comment></comment></comment></comment></comment><comment><USER11> The shredding sabotage seems very interesting. There is probably a lot of unexplored space in creating resilient (self repairing) crowds and/or the tradeoff between opening up the crowdsourcing process and security/safety concerns.

<comment><AUTHOR> Yes. I wonder why they didn't just roll back the attacker's moves? It seems like the problem is one of those NP-hard type situations, where the solution is very complex (hence crowdsourcing as a brute-force solution, rather than anything algorithmic) but _checking_ a proposed solution is tractable. You might be able to validate a move (or perhaps a block of moves) and either keep or reject.

</comment></comment><comment><USER12> After reading the attacker's note, which I'm very thankful the author included, I'm inclined to agree with the negative perception of "crowdsourcing" in contests as mentioned. There's merit in researching the effectiveness of groups, but, I mean, sort of harnessing a mass of people for individual ends can be altruistic or simply a mechanical turk like the examples, but it can also be used for mob-like tactics. What I'm saying is that it's simply such a wide platform that I agree it has the potential to solve most any problem thrown its way, provided the conduit leader provides the right incentives.

As for those who might take issue with the style of the writing, hey it's just got some flourishes. A bit above and beyond the usual newspaper dryness. I can appreciate the effort to put together something with more than just a one sided, personally glorifying take. This felt a bit more in touch with balance on its own.

</comment><comment><USER13> I'm not sure I agree with the tactics, but I agree with the "attacker." It seems pretty obvious that the intent of the challenge was to find an efficient _automated_ way of reproducing the shredded documents.

The author even points out the movie where a bunch of people put together shredded documents. So everybody already knows it's possible with enough people working on it. But it's boring, labor intensive, very expensive, and doesn't scale at all. Sure, it's faster on 5 documents over a few days when everybody's excited to be competing, but how many people are going to stick around working for free for 50, 500, or 5000 documents when the system is used in real life?

</comment><comment><USER14> The tradeoff between verification/validation and openness is definitely a tricky one. I'm the co-founder of a crowdsourcing platform prolific.ac and we settled on system with minimal verification (via sms) with background screening and shadow banning. It's been effective so far at limiting bad actors though I think there are definitely some more effective ways to address this problem.

</comment><comment><USER15> One could look at the crowdsourcing strategy as a darwinist approach... It works in nature...

</comment><comment><USER16> It's hard to see how the author thinks that "harnessing" humans can be a legit solution for this type of challenge.

Think about it... putting harnesses on humans, if you take it literally, actually sounds pretty disturbing. I realize it's not literal, but the mind- numbing work he has envisioned for large numbers of people is not something I would wish for as a future solution for anything.

<comment><USER17> Well, that's not a very good point.</comment></comment>


The Emergent Features of JuliaLang: Part II – Traits - <AUTHOR> https://invenia.github.io/blog/2019/11/06/julialang-features-part-2/ <comment><USER2> Interesting to see this here as I've seen Invenia post on the Julia subreddit from time to time.

Can anyone from Invenia explain how they make money or what they're trying to do? I work with electricity market optimization every day (main topic listed on their blog and site) and am curious what they're trying to bring to the table. There are already lots of vendors in this area (ABB, Siemens, GE) that use the state of the art MIP/LP solvers to run the US grid (what CAISO, PJM, SPP, MISO, NYISO, ISO-NE, and ERCOT all do). On the retail side (think DER aggregators) I know SolarCity is trying to get into that game.

Julia is a great numerical language and it has a good solver agnostic library, but rewriting stuff in Julia won't get you much of a gain in this market. You mention machine learning which has several use cases for the grid, but I don't see a product or a mention of Invenia working with any utilities, ISOs, or vendors.

Btw: I hope I don't come across as negative (I wish you the best of luck). I do see a lot of companies do things like try to sell block chain to utilities without them even knowing what kinds of problems they have.

<comment><USER3> Invenia has been interested in electricity grids since 2006 and has provided many kinds of services to interested parties, for example load forecasts. We are continuing to work on many things in the area. Recently we published some of our blue sky research on grid optimization using modern machine learning ideas ([https://www.climatechange.ai/CameraReady/43/CameraReadySubmi...](https://www.climatechange.ai/CameraReady/43/CameraReadySubmission/icml_invenia_cameraready.pdf)).

<comment><USER2> Load forecasting is a reasonable thing. There are already enough vendors for that to where I wouldn't focus in that area personally, but if it is working for you, then that is good.

I read your linked paper last night and I'm not 100% sure what to make of it. If I understood it (big assumption :)) it seems like the intent is to use heuristics (Ex: particle swarm optimization) to seed a warm start for a nonlinear solver for the ACOPF problem? Is that right? Although the nonlinear ACOPF problem is academically interesting, the industry is using every last ounce of performance from the best MIP solvers (CPLEX & GUROBI) for the DCOPF unit commitment problem.

The 5-minute economic dispatch problem only takes a few seconds as it is formulated as a LP problem, however, the unit commitment process is a MIP problem though and I don't think the nonlinear solvers will have anywhere near the performance we need even with a warm start.

There is some interesting work being done on ACOPF (ARPA-E competition project that ASU is heading up).

</comment></comment></comment><comment><USER4> Part I [https://invenia.github.io/blog/2019/10/30/julialang- features...](https://invenia.github.io/blog/2019/10/30/julialang-features- part-1/)

<comment><USER5> I like the convenient unit syntax, if this works well with IntervalArithmetic.jl, julia can become a competitor to Frink [https://frinklang.org/](https://frinklang.org/)

<comment><USER6> Here's an example of them working together rather effortlessly:

        using Unitful, IntervalArithmetic
        const m = u"m"
        const k = 2π/10m

        f(x) = cos(k * x)/(k^2 - 1/x^2)

        julia> f((10.0 ± 0.1)m)
        [2.5924, 2.60024] m^2

If I try to put in a dimensionally incorrect argument to f, I get an error:

        julia> f((10 ± 0.01)u"s")
        ERROR: MethodError: no method matching cos(::Quantity{Interval{Float64},𝐓*𝐋^-1,Unitful.FreeUnits{(m^-1, s),𝐓*𝐋^-1,nothing}})
        Closest candidates are:
          cos(::Float16) at math.jl:1085
          cos(::Complex{Float16}) at math.jl:1086
          cos(::Missing) at math.jl:1138
          ...

This isn't the most friendly error message in the world, but that can certainly be worked on and with a bit of patience it's pretty clear that it's saying that the problem was that it tried to compute the cosine of a unitful quantity which is nonsense.

_____________________________________

Unfortunately I had to use unitful intervals (i.e. (10.0 ± 0.1)m) instead of intervals of uniful quantities (i.e. 10.0m ± 0.1m) because IntervalArithmetic.jl demands that it takes real quantities, but Unitful quantities are subtypes of Number instead of Real.

<comment><USER6> Just as a followup, I just realized that the Measurements.jl package _does_ know how to deal with non-real uncertainties, so one can instead do

        using Unitful, Measurements
        const m = u"m"
        const k = 2π/10m

        f(x) = cos(k * x)/(k^2 - 1/x^2)

        julia> f(10.0m ± 0.1m)
        (2.5989 ± 0.0014) - (0.0 ± 0.16)im m^2

</comment></comment></comment></comment><comment><USER7> Really useful examples; especially the data in rows versus columns example :)

</comment><comment><USER8> Congrats lyndon we went to uni together dope</comment>


Ask HN: "Unknown or expired link." - <AUTHOR>

It started appearing very recently in HN when I press More.<p>Is this a feature or a bug in HN? :) <comment><USER2> It means your session has expired. I usually see it if I come back to the front page after a few hours (or overnight), but I have been getting it pretty regularly now.

I suspect that there is a traffic spike, or maybe just more people coming to the site regularly. Its a growing pain.

</comment><comment><USER3> PG mentioned somewhere that when he was doing Viaweb, he was storing functions on the server side in a hash table, so that most urls work by invoking these functions. This was his way of remembering state between url visits.

It seems that functions expire from this hashtable after a while.

I think that might have seemed like a good idea in 1998, but these days I think it's just pointless.

[http://people.csail.mit.edu/gregs/ll1-discuss-archive- html/m...](http://people.csail.mit.edu/gregs/ll1-discuss-archive- html/msg00681.html)

<http://lib.store.yahoo.net/lib/paulgraham/bbnexcerpts.txt>

      > One of the problems with using Web pages as a UI is the inherent
      > statelessness of Web sessions.  We got around this by using lexical
      > closures to simulate subroutine-like behavior.  If you understand
      > about continuations, one way to explain what we did would be to
      > say that we wrote our software in continuation-passing style.

</comment><comment><USER4> Yeah, get that a lot. This error appears whenever a new link is added. Navigation on the current is invalidated. Annoying bug.

</comment><comment><USER5> I have a theory on this:

The url of the 'more' link is some kind of hash of the next page of links at the time of page load, this is because HN Moves pretty quick, so using the live data you're likely to miss links between page 1 and 2. (Which is what happens on 4chan)

Obviously these links have to expire fairly quick as they're pretty unique, and storing them for much time would use a huge amount of memory. With this in mind, the life span of these links is probably directly related to the current load of HN.

Amirite?

</comment><comment><USER6> It means the order of the links in the page you were selecting has changed. When I get that, I start at the front page again. There's new links there for you to see.

</comment><comment><USER7> Yeah this is a tad annoying; started reading HN on my iPhone and sometimes I leave it to keep reading 'more' later and my session expires.

</comment><comment><USER8> This always happens to me, I thought the page was designed to make you always refresh or something lol.

</comment><comment><USER9> It is the most annoying feature possible.</comment>


The science behind the perfect discus throw - <AUTHOR> http://mobile.abc.net.au/news/2018-04-11/dani-stevens-quest-to-throw-70-metres-in-discus/9555326 <comment><USER2> Much better reference example [https://m.youtube.com/watch?v=gg1QUvsC7Yc](https://m.youtube.com/watch?v=gg1QUvsC7Yc)</comment>


I Was Wrong About Bitcoin. Here's Why - <AUTHOR> https://www.nytimes.com/2017/12/12/technology/bitcoin-predictions.html <comment><USER2> > I assumed that Wall Street would stay away.

> I assumed that Bitcoin's extreme volatility would be a turnoff.

Anyone who thinks these things is not paying attention to the historically low realized and implied volatility of the major market indexes and its negative effects its having on the largest market participants by volume (MM+HFT firms) who's profits are correlated to overall volatility and who's technology easily translates.

One thing I think is underappreciated with crypto is just how easy it is to setup a high-frequency trading bot on these new exchanges vs the equity exchanges. GDAX has totally free real-time non-rate limited Level 3 quote access via websocket, sub-millisecond fill rates, literally no commission for market making activities, and co-location is just a matter of picking the right AWS region and a bit of luck. That's a couple million bucks, an enormous expense in servers to handle the data volume, and a few dozen partnership agreements to get something similar for the equity or option markets.

If you have spent your career dealing with all that, even if you've been closely following the crypto industry, it may not even occur to you how different the market structure is until you spend a few days coding up a bot that can detect a signal and roundtrip a trade in < 100ms from my consumer laptop at home.

<comment><USER3> > Anyone who thinks these things is not paying attention to [...]

I'm not really sure what you're saying, but I totally see why people would expect volatility to be a turn-off. It was presented as a payment method, a currency. And for currencies, extremely volatility is absolutely a turn-off. Even for gold, it's a turn-off. Gold is prized for its stability. One of the selling points of Bitcoin was that it would be immune to inflation and currency manipulations.

Now it turns out that none of those promises are true, and to everybody's surprise, that turns out to be a good thing. I can totally see how people are surprised.

<comment><USER2> That may have been flippant, but the reduced volatility leading to lower HFT/MM trading profits has been widely reported. Its not a leap to think those people would look for a product with higher volatility if it could be done with similar tools.

</comment></comment></comment><comment><USER4> It would be funny if some of these trends reverse in a few years and he writes another article titled " _I Was Wrong About Being Wrong About Bitcoin_ ".

</comment><comment><USER5> >I assumed that Bitcoin's extreme volatility would be a turnoff.

How many Americans actually own it?

It would be interesting to see if it were possible to know where they were mined. This may be an oxymoron, but more transparency may make the average joe more likely to invest in it.

BTC also has this going for them : "Fools" can go short, but the key is that shorting can't be done properly, Taleb said.([https://www.marketwatch.com/story/nassim-black-swan-taleb- sa...](https://www.marketwatch.com/story/nassim-black-swan-taleb-says-bitcoin- cant-be-shorted-properly-as-futures-debut-2017-12-11))

<comment><USER6> To clarify: by this, Taleb means simply that there are no options on bitcoin (there aren't any, right?)

With options you'd buy OTM puts. You could maybe even succeed purely on rising vol if they crank up the volatility even higher to 11 :-)

<comment><USER5> The vol of bitcoin is way higher than 11.

>To clarify: by this, Taleb means simply that there are no options on bitcoin (there aren't any, right?)

This is what he said. "Very big point. Futures that don't have deliverables require a very, very deep market. Otherwise someone long the future can push prices higher at settlement time with impunity, by "locking" profits (never having to resell a deliverable)." ([https://twitter.com/nntaleb/status/939852491130396673?ref_sr...](https://twitter.com/nntaleb/status/939852491130396673?ref_src=twsrc%5Etfw&ref_url=http%3A%2F%2Fwww.marketwatch.com%2Fstory%2Fnassim- black-swan-taleb-says-bitcoin-cant-be-shorted-properly-as-futures- debut-2017-12-11))

<comment><USER7> Not sure about Bitcoin futures, but there are also options on futures. Although similar principles apply. Just wait until people start manipulating the market to push the futures and options around. There is a lot of bad behavior that is monitored and punished by the SEC. I'm not sure which domestic regulatory body will assert itself over cryptocurrencies.

<comment><USER5> SEC does not regulate futures.

>Commodity Futures Trading Commission (CFTC)—the federal agency that does regulate futures trading. ([https://www.sec.gov/fast-answers/answers- cftchtm.html](https://www.sec.gov/fast-answers/answers-cftchtm.html))

</comment></comment></comment></comment></comment><comment><USER8> If it was meant to be a currency it seems to have failed. You want the value of currency to be less unpredictable.</comment>


Smalltalk MVC Translated to JavaScript - <AUTHOR> http://peter.michaux.ca/articles/smalltalk-mvc-translated-to-javascript#r <comment><USER2> If you like Smalltalk and JS, it's worth checking out Amber Smalltalk: [http://amber-lang.net/](http://amber-lang.net/)

You can even develop interactively in your browser with "live objects" using an IDE akin to what you'd find in Squeak/Pharo.

</comment><comment><USER3> > It is particularly odd to me that the dependents of all instances are stored > in a dictionary that is a class variable.

Just a note: these are class variables, not class instance variables. Class variables are a strange thing which is available from both class-side and instance-side methods. It's nice if you want to have a clean interface to both single element (via an instance) and to a collection (via a class).

</comment><comment><USER4> In another post, the author wrote more about his opinions of MVC: Introducing Maria: The Real MVC [http://peter.michaux.ca/articles/introducing-maria-the- real-...](http://peter.michaux.ca/articles/introducing-maria-the-real-mvc)

>Why no one else chose to write an true MVC framework, I cannot figure.

Many people have chosen to write true MVC frameworks, so go figure again.

>There is no doubt that the early Smalltalk MVC architecture inspired today's MV* frameworks for JavaScript.

Of course, so why did you just figure otherwise?

>My take on it was straight forward.

And wrong.

>The MVC architecture has withstood a 30 year test.

And failed.

>It has passed that brutal test.

How do you reconcile that with your claim that "nobody chose to write an true MVC framework"? If it passed, then why isn't everyone using it? If people are only using "impure" MVC frameworks, then why did all those people choose not to implement "pure" MVC frameworks?

>It is still used for application programming.

So is goto and waterfall design methodology. That's not a good argument.

>It is very useful for browser programming.

As Alan Kay says about MVC programming, "Things seem to hang on in computing just because they work a little bit."

>Why not take this time-tested architecture and make a JavaScript framework true to the MVC that is implemented in Squeak Smalltalk and written about in Design Patterns? My experience with Maria has shown it was a good choice.

No reason why not to try again. Maybe you will be the first person in 40 years to get it right by being sufficiently "pure"! But on the other hand, maybe this is a textbook example of "cargo cult programming".

"Pure Smalltalk MVC" in the browser is interesting in the same way that running UCSD Pascal in an Apple ][ emulator in the browser is interesting.

</comment><comment><USER5> Very relevant:

Unidirectional JavaScript talk from Raynos:

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

The "framework" used is mercury:

[https://github.com/Raynos/mercury](https://github.com/Raynos/mercury)

I use "framework" in quotes because it's really just a collection of libraries that work well together.

Here's the todomvc:

[https://github.com/Raynos/mercury/tree/master/examples/todom...](https://github.com/Raynos/mercury/tree/master/examples/todomvc)

All the state in a mercury app is set up first using lenses (bidirectional/bijective data structure) implemented use:

[https://github.com/Raynos/observ](https://github.com/Raynos/observ)

[https://github.com/Raynos/observ-struct](https://github.com/Raynos/observ- struct)

[https://github.com/nrw/observ-varhash](https://github.com/nrw/observ-varhash)

If you have any application with state, these three libraries work extremely well together.

Basically all the views are pure functions that receive the current state of the app. You can even do "time-travel":

[https://github.com/Raynos/mercury/blob/master/time- travel.js](https://github.com/Raynos/mercury/blob/master/time-travel.js)

See browser.js of todomvc to see time travel in use:

[https://github.com/Raynos/mercury/blob/master/examples/todom...](https://github.com/Raynos/mercury/blob/master/examples/todomvc/browser.js)

elm-html is also worth checking out:

[https://github.com/evancz/elm-html](https://github.com/evancz/elm-html)

Both mercury and elm-html rely on virtual-dom:

[https://github.com/Matt-Esch/virtual-dom](https://github.com/Matt- Esch/virtual-dom)

Anyways, small modular libraries FTW!

</comment><comment><USER4> I asked Alan Kay about his thoughts on MVC:

From: Don Hopkins

I'm interested in knowing more about the evolution of MVC and Morphic, and any other approaches that people have taken to user interface programming that you think are important. I've heard about Morphic, but I haven't been able to find out too much about it on the web. My understanding is that it was originally written for Self, then ported to Smalltalk. Is it still in development, or has it morphed into something else? I don't know much about how it works or the ideas behind its design. What makes it unique and interesting?

There was a discussion on Reddit about "Is MVC the best pattern for web development", which is something I have strong opinions about and like to discuss!

I've drawn a lot of my opinions from this fascinating discussion on C2: [http://c2.com/cgi/wiki?WhatsaControllerAnyway](http://c2.com/cgi/wiki?WhatsaControllerAnyway)

Here's the reddit discussion, which is about how MVC applies to web development: [http://www.reddit.com/r/programming/comments/lovjq/is_mvc_th...](http://www.reddit.com/r/programming/comments/lovjq/is_mvc_the_best_pattern_for_web_development/)

The article: [http://feedmyconstraint.wordpress.com/2011/10/24/is-mvc- the-...](http://feedmyconstraint.wordpress.com/2011/10/24/is-mvc-the-best-we- can-do-on-the-web/)

I posted a comment whose TLDR summary was "Fuck MVC!" \-- It has a totally different meaning for web server programming, and in the 32 years since the term was coined, there have been better ideas. [http://www.reddit.com/r/programming/comments/lovjq/is_mvc_th...](http://www.reddit.com/r/programming/comments/lovjq/is_mvc_the_best_pattern_for_web_development/c2ug2tp)

There are two different meanings that MVC has these days: user interface MVC, and web server MVC. User interface MVC has its own problems, the least of which is being 32 years old. And nobody can agree on what a controller is, anyway, except that it's the dumping ground for all the brittle junk and dependencies that none of the other well defined classes wanted.

From: Alan Kay

Things seem to hang on in computing just because they work a little bit.

MVC was originally done at PARC almost 40 years ago. The good part was philosophical -- the idea to adapt the notion of "cameras" and "worlds" in the original 3D graphics stuff I participated in at Utah 45 years ago. The bad part of MVC was how we implemented it -- much too much machinery, etc.

We (my various groups since then, including Viewpoints Research) have not thought about MVC since, but have used and devised various viewing methods over the last 20+ years. I like to do views as "watchers" which do not affect what they are viewing. There are lots of ways to do this. Similarly, I like to also use "watchers" (context sensitive to the views) to catch needed inputs. We have never done a really satisfactory automatic inverter for dealing with the loss of "dimensions" that happen when a view is made (but we have done some experimental ones).

One important criterion is for end-users of all kinds to be able to easily make their own views in a very powerful ad hoc way via construction. We have done a number of adaptations and generalizations of how this can be done in Hypercard -- and this seems to work well (enough).

Since we always roll our own languages and development systems, we don't care about problems that other systems might have. For example, we have very little knowledge about C#, etc. We do try to learn from the few good systems that are out there.

From: Don Hopkins

When I was living with David Levitt, who worked with Alan Kay at Atari Cambridge Research, I was snooping around his bookshelves and read through some of the fascinating notebooks, in which Alan Kay wrote about the idea of a two way mapping/projection between the model and the view.

It's always seemed to me that the "controller" was just extra baggage, because the view knew the most about drawing the model, and naturally would also know what it needed to reverse that projection back from user input through to manipulating the model. But right now we usually meticulously write the view drawing and mouse tracking code by hand, without a lot of help from the system. (That's something I consider a high art form, which I enjoy diong, so I'd probably be horrified and out of a job it it were too easy! ;)

I think Ben Shneiderman's term "direct manipulation" describes the style of user interface that Alan Kay was getting at -- or at least DM has to deal with a lot of the same problems: "continuous representation of objects of interest, and rapid, reversible, incremental actions and feedback" according to [http://en.wikipedia.org/wiki/Direct_manipulation_interface](http://en.wikipedia.org/wiki/Direct_manipulation_interface)

By that I mean DM user interface programming could benefit from some kind of automatic inverter, but usually it's just implemented in an ad-hoc manner, usually by input tracking code in the view.

I think the way Smalltalk and Self/Morphic use reflection to present editable user interfaces to objects is another example of a two-way mapping between projecting the view on the screen, and editing the model via user input. Booleans whose values you can toggle, numbers whose values you can drag up and down, color pickers and things like that are all fine and good, but for many properties it has to fall back to standard widgets that don't know much about the semantics of the data they're viewing or editing.

I had the opportunity to play around with Sk8 when I was at Kaleida. That certainly let you drill down, see and modify everything there was in the system, and it was totally prototype based! Plus it had cool looking windows with neat shapes, which I like! ;)

I'm curious about what Kay meant by "projection", and what successful examples there are of automatic bi-directional mapping, and powerful user composition. I take it that projection is the problem that you lose dimensions and have to hide information by flattening the structure out onto the screen (via a 3d projection or scaling or filtering or whatever infovis technique you're using), and there's no visible place to click or affordance to edit some every property of an object (or you have to build scaffolding in the form of clumsy indirect manipulation techniques like browsers, outliners and pop-up menus).

<comment><USER6> I was curious about the thoughts of Morphic vs MVC as well given that Squeak seems to have gone Morphic based and the Self GUI was entirely Morphic.

I do like the reflection approach of presenting editable user interfaces to objects that Self provides that you mention. Using that interface feels very much like manipulating a soup of objects vs using an application.

</comment></comment><comment><USER7> I really hope the JavaScript community (or especially a smaller universe within that, framework developers) would step back and focus on simplicity, small codebases, thoughtful patterns, tried and true methods.

The good news is the JS community is filled with young developers with a lot of enthusiasm and new ideas. The bad news is young developers tend not to have the advantage that comes with experience or a respect for the history of previous implementations.

I'm often horrified by some of the JavaScript I see - including very popular frameworks that developers "love" written by engineers people respect. The complexity is frightening, and every month there's some new word or phrase describing a programming concept I've simply never seen before.

Maybe some of it is necessary - an honest attempt to satisfy the needs of a browser client, rather than a server. But my gut tells me this over-complexity is the result of not yet finding the answer to a question, or having the burden of satisfying backwards compatibility to last week's crap idea.

A rich, vibrant ecosystem is great, but I would love to see a more stable, thoughtful one as well. I'd love to see a community as committed to maintaining things that work, as they are to creating new things. I'd love to see young developers put a premium on using what is proven, not just what is exciting.

In other words, it's up to all of us to be careful with our votes. In some societies, you "vote" in the marketplace with the money that you spend. In our world of engineering, we cast a vote every time we star a repo, create a new fork, issue a pull request, or make a GET request to pull down the library into our project. Take the time to honestly assess how good something is, and whether you think it'll still be around in 5 or 10 years. It's really important we take the time to craft wonderful software.

<comment><USER8> I fully agree.

That's one of the reasons when I'm a part of a team and I need to make a decision about a framework, I usually go with Backbone. It's source code consists of one file that can be understood for less than an hour.

Last non-sense in this complexity is the boom of JavaScript framework specific languages that pop up. Like ReactJS and recently Angular 2.0 is preparing their own language for using it's platform.

<comment><USER7> I completely agree about Backbone. Backbone is a very simple tool. You can do a lot of damage if you're not yet a very good developer (or a very good Backbone developer), but if you care about your craft and the design of your application, it's fantastic. In fact, having the flexibility to make decisions about your application, forces you to make good design decisions. _That_ is the mark of a great developer.

With these other frameworks, which might be very large or very slow or very complicated, they enforce that design on you. For most projects, who cares? Use whatever is fun for you to use. Learn 'em all. But at a certain scale, it matters deeply what you hitch your wagon to.

<comment><USER9> As the person who has been resisting adding more magic to Backbone for several years ... it's awfully nice to hear this sort of thing. Cheers.

<comment><USER10> Hi, thanks for the great work on Backbone! Appreciate it.

How does Backbone relate to the points the original article makes? What are your comments?</comment></comment></comment></comment></comment>


One in a million is next Tuesday (2004) - <AUTHOR> https://docs.microsoft.com/en-us/archive/blogs/larryosterman/one-in-a-million-is-next-tuesday <comment><AUTHOR> The link at the end of the article is broken, here's an archive: [https://web.archive.org/web/20060507194719/http://www.jumboj...](https://web.archive.org/web/20060507194719/http://www.jumbojoke.com/is_999_good_enough_36.html)</comment>


The Scribd Story and the Trip Method - <AUTHOR> http://www.scribd.com/doc/15777171/How-to-Come-up-with-Good-Ideas-for-Startups-the-Scribd-Story-and-the-Trip-Method

<comment><USER2> I must say I haven't hated something with such great passion as I hate scribd and similar services. The only reason why I still end up on scribd.com is because some idiotic friend is not able to link the direct source for the document in question.

I absolutely don't get it how such a service adds value to the web. It's great for scribd to have 60 million readers. I am one of them. Why? Because I'm freaking forced to sign up to download a pdf.

"A social publishing company that aims to liberate the written word by democratizing the publishing process for everyday people". - Sounds great. Could you please provide the link?

<comment><USER3> I hear you brother, I hear you. It's odd how some things you can just ignore (MySpace in my case) without any bad feeling, but other things (scribd, for example) are a royal pain in the ass.

I hate scribd because it's not a PDF. I'm still not sure what was wrong with PDFs in the first place, but replacing them with an in browser, Flash based thing is insane.

Oh, and as for selling ebooks on the web. What's wrong with Lulu? That's where I can sell a PDF of my GNU Make book and offer people the option of buying a printed copy.

BTW Can someone post a PDF of this?

<comment><USER4> Lulu can be very expensive.

XLibris is a good alternative which is quite cheap in bulk.

</comment></comment></comment><comment><USER5> Better than most 'how to be successful in 10 easy steps' presentations. The most impressive aspect was listing early failed ideas and what was learned from them.

I'm still not sure I see the point of Scribd, because I had no problem reading PDFs and the like on originating sites before it came along, but hey. Also, we desperately need a new namespace. I am so sick of cutesy homonyms. It's like that phase a few years ago where all edgy books/movies/ articles had a title of the form 'Verbing the Noun'.

</comment><comment><USER6> I love how more Buzzword Compliant their slides got from Slide 9 to Slide 13 as they refined Scribd.

It started with _A way for academics to publish online more easily_ and ended up with _A social publishing company that aims to liberate the written word by democratizing the publishing process for everyday people_.

</comment><comment><USER3> Be wary of anyone who names something after themselves. I thought it was "trip" as in "journey", but no it's "trip" as in "me".

<comment><USER7> I usually interpret such overt egotism as sarcasm. I hope I'm right at least _most_ of the time.

<comment><USER8> Yes there was sarcasm in calling it that. If you had heard the presentation you would have gotten the joke.

</comment></comment></comment><comment><USER3> "A social publishing company that aims to liberate the written word by democratizing the publishing process for everyday people".

This reminds me of that old Tom Lehrer joke about how the problem with folk music is that it was written by common people. If it had been written by professional musicians it would have been good. There are a lot of crap writers out there, giving them a platform doesn't improve anything. Not even for them. If you're a crap writer and can't get your work published you always have the mental salve that the publishers are against you. Once you can upload your crap to scribd you'll discover that it wasn't the publishers after all, it was that you suck. Which is better?

Writing is not easy and barriers to entry (such as editors or agents) actually help filter out a ton of crap.

The assumption that publishing should be democratic is ludicrous as the only books published in a democratic world would be pap that panders to the unwashed masses.

<comment><USER9> > Writing is not easy and barriers to entry...help filter out a ton of crap

For the aspiring writers out there, the _best_ essay on writing I've ever read:

<http://www.elizabethgilbert.com/writing.htm>

"Magazines, editors, agents - they all employ young people making $22,000 a year whose job is to read lots of manuscripts and send back letters telling you that you aren't good enough yet: LET THEM DO IT. It's their job. Don't pre-reject yourself."

I've bought random books off Lulu. Most of them are average, as in you could probably write as well, given knowledge of the subject matter. Some of the Lulu books were travel accounts, chock full of navel-gazing type introspection. I think I bought those simply to read about what their trip did for them.

<comment><USER10> The URL is:

<http://www.elizabethgilbert.com/writing.htm>

<comment><USER9> Thanks. I wish there was copy and paste already on the iPhone.

</comment></comment></comment></comment><comment><USER11> This is kind of content-free and contradictory. "Just because you have an idea doesn't mean it's a good idea" vs "bounce ideas off of smart people" vs "Trust your instincts and dont' worry about others' opinions".

Also "Trip method unit"? "Ideation"? That quality/time graph? Is this a joke?

<comment><USER12> Is this a joke? No, it is not. As a slide show only it might be hard to see the point. But having listen to the speech and knowing how Trip approaches problems, thinks through it and emerges with new ideas it makes a lot of sense. There is a reason why he is very successful.

<comment><USER13> and that reason is google spamming more textual data (mostly copyrighted) than any site (including wikipedia) on the web

<comment><USER6> Surely that makes it Google's problem than his? If Google thinks this is spam and it's still sending his site lots of traffic, then he can't be blamed for that, no?

</comment></comment></comment></comment><comment><USER14> Here's a pic from the event. Trip is so much younger than the other panelists...

<http://www.founderinstitute.com/posts/50></comment>