Two AI Pioneers. Two Bizarre Suicides. What Really Happened? - <AUTHOR> http://www.wired.com/techbiz/people/magazine/16-02/ff_aimystery?currentPage=all <comment><USER2> If you want to know what mindpixel actually spent his time thinking about and how others treated him, this k5 article is fairly representative:

<http://www.kuro5hin.org/story/2005/6/11/224459/073>

<comment><USER3> Beat me to the k5 connection. But Mindpixel consistently demonstrated an inability to translate his claims into anything remotely resembling reasonable thought. There's a now-lost-forever post in which he claims to have predicted a terrorist attack. [http://www.kuro5hin.org/comments/2006/8/21/121745/650?pid=12...](http://www.kuro5hin.org/comments/2006/8/21/121745/650?pid=128#135) certainly sums up the silliness.

<comment><USER2> I think the general consensus was that he was a really intelligent and creative guy, but he lacked the discipline to sit down and spend 20 years proving his theories. I remember the post you are talking about though. Supposedly he used a Bayesian filter on real time Google searches to predict two gas station bombings in Baghdad. It's a shame that story didn't get front paged, it was kind of interesting even if it was made up.

It's really weird though going back and reading my conversations with him on K5. I'm sure a lot of people here probably knew him though; it would be almost impossible not to have had a conversation with him if you were a regular social news user circa 2000. The guy posted constantly on Slashdot, K5, Joel on Software, Usenet, etc.

<comment><USER3> That's not at all accurate. He was looking at queries that hit GAC and /post facto/ saw a correlation. Not exactly brilliance, imho.

<comment><USER2> If true, this Slashdot comment is also telling:

[http://slashdot.org/comments.pl?sid=424396&cid=22117930](http://slashdot.org/comments.pl?sid=424396&cid=22117930)

</comment></comment></comment></comment></comment><comment><USER4> The story mentioned CyC. I haven't heard about that in at least a decade.

Wikipedia says OpenCyc 1.0 was released in July 2006. Google turned up one recent article:

\- [http://newmobilecomputing.com/story/17331/Interview_with_the...](http://newmobilecomputing.com/story/17331/Interview_with_the_OpenCyc_Guys)

but that doesn't say much about any practical applications. There also seems to be a web service for it here:

\- <http://www.cycfoundation.org/blog/?page_id=13>

I wonder if anyone has found a good application for it.

The Texai project sounds like it is trying to do the same thing these people were doing using text from Wikipedia and terms from OpenCyC.

\- <http://www.texai.org/blog/about/texai-project>

</comment><comment><USER5> I met Chris McKinstry in Winnipeg, Canada in 1995. I was not very impressed - he wanted to start a course on linux sysadmin or something... - with me doing pretty well everything except collecting the money... and he couldn't even organize it properly. He struck me as a scammer, though obviously it's only a thin line between that and "Internet entrepreneur."

<comment><USER6> ...and an even thinner line between scammer and AI guru. At least in web startups your popularity will decide whether you are doing something worthwhile or not. In academia, promises that "it will work tomorrow, I swear!" has historically worked very well while providing few results.

</comment></comment><comment><USER4> More articles should use the textbox-in-a-frame scheme like this one did to quote things at length.

<comment><USER7> Why not quote them without a frame at length?

<comment><USER4> I only like that for short things.

One of these days I hope to find a way to get a browser to follow a link by opening a smaller window/area directly in the text. That way I don't entirely lose the visual context on the screen.

I've been told the original Xanadu system was designed that way.

Enso also uses this idea in places. Now that the <http://www.humanized.com> developers have joined Mozilla, I'm somewhat optimistic that this may actually happen.

</comment></comment></comment><comment><USER8> This story and the mention of MIT's "high suicide rate" remind me of something I've wondered about. Depression and suicide seem to be common among very smart people. Does anyone know why?

<comment><USER9> i place my bets on existential depression

from: [http://en.wikipedia.org/wiki/Intellectual_giftedness#Depress...](http://en.wikipedia.org/wiki/Intellectual_giftedness#Depression) "A number of people have noted a higher incidence of existential depression [in the gifted], which is depression due to highly abstract concerns such as the finality of death, the ultimate unimportance of individual people, and the meaning (or lack thereof) of life."

they recognize the irrelevance of everything. it's not uncommon for all types of people to have these sorts of thoughts, but the very abstractive abilities of the gifted mean these are more than just thoughts to them. these issues are as clear, concrete, and tangible as a brick wall is to mere normal humans

compounding things is the fact that these gifted people hold nature in the highest regard, and see it as the only arbiter of truth. they can't escape the irrelevance of everything, because that's just how nature is

it's a painful QED

<comment><USER10> Here's my shield against existential depression, arrived at after much pain (with major influences):

Notice that you don't bother wondering what it all means when you're having fun. Meaning comes from having fun. _([http://www.amazon.com/Just-Fun-Story- Accidental-Revolutionar...](http://www.amazon.com/Just-Fun-Story-Accidental- Revolutionary/dp/0066620724))_

Having fun usually involves work. _(<http://scrapbook.akkartik.name/post/24169645> <http://scrapbook.akkartik.name/post/21256293>)_

How do you figure out what you love? Do something, see where it leads. Iterate between the doing and the loving as fast as you can. Sketch. _(<http://scrapbook.akkartik.name/post/24170012> <http://scrapbook.akkartik.name/post/24169153> <http://scrapbook.akkartik.name/post/1451852>)_

What you love is a moving target, it changes with you. If you neglect it you will lose it.

<comment><USER11> I prefer the "dolphin" approach (from Hitchikers guide...). Where the dolphins think they are the most intelligent because all they do is muck about in the water having a good time.

</comment></comment></comment></comment><comment><USER12> Existential depression is something we all deal with just fine. It doesn't cause suicide. In this case, presumably unmedicated serious bipolar disorder caused suicide. There is a big difference and a life probably would have been saved if someone would have just taken their lithium.

</comment><comment><USER13> heh: "How do you keep garbage out without any form of validation mechanism? ... All you have to do is try to [imagine] Slashdot without the moderation system to see what's going to happen to your database."

</comment><comment><USER14> Antitrust, anyone?

(pretty bad movie, I know, but it makes you wonder...)

<comment><USER15> Why do so many people rag on that movie? Are they expecting it to be some kind of epic manifesto of open source culture, and then getting let down? It's just entertainment with a few extra morsels for hackers. When you look at it that way, it's easily in the top 20% of what comes out of Hollywood.

</comment></comment><comment><USER16> 'M-x doctor' made them do it... ;-)

<comment><USER7> My Emacs doctor cares:

> I am the psychotherapist. Please, describe your problems. Each time you are > finished talking, type RET twice.

      I want to commit suicide.

> If you are really suicidal, you might want to contact the Samaritans via > E-mail: email@example.com or, at your option, anonymous E-mail: > email@example.com . Or find a Befrienders crisis center at > <http://www.befrienders.org/> . I would appreciate it if you would continue.

</comment></comment><comment><USER17> truely a very sad story.</comment>


The Unbelievable Story of a Facebook Impostor - <AUTHOR> http://the-ken.com/the-unbelievable-story-of-a-facebook-impostor/ <comment><USER2> This article requires email address to be able to read, but is well worth it. Harrowing account of online harassment! Losing reputation and real-life friends because of something like this is the worst thing I can imagine!</comment>


A comparison of text-based browsers - <AUTHOR> https://kmandla.wordpress.com/2011/01/13/a-comparison-of-text-based-browsers/

<comment><USER2> I find lynx pretty much unusable with the web these days, because of the way it handles cookies, problems with rendering pages, and because of the difficulty of navigating around which is a shame because it used to be my browser of choice 15 years ago, and the key strokes are wired deep into my reflexes.

w3m works well enough.

<comment><USER3> Conversely, I use links2 (<http://links.twibright.com/>) which - for news based sites - is actually MORE usable than a mainstream browser. Say goodbye to adverts, Flash, javascript; and welcome ultra-fast browsing. It works well for night-time viewing (on a black terminal), or for day-to-day stuff running in graphics mode, under X.

Love it!

</comment></comment><comment><USER4> I hadn't heard of retawq before. I've been using w3m for a while (esp. w3m-emacs), but w3m doesn't have support for concurrently loading/rendering multiple tabs. It looks like retawq is multithreaded.

</comment><comment><USER5> I've always preferred elinks with its support for colors, but I'll have to check out w3m and retawq.</comment>


Amazon Pinpoint – Hit Your Targets with AWS - <AUTHOR> https://aws.amazon.com/blogs/aws/amazon-pinpoint-hit-your-targets-with-aws/ <comment><USER2> This looks like it is Mobile Analytics 2.0[0]:

> All the functionality that was previously part Amazon Mobile Analytics is > now included in our Amazon Pinpoint service.

I'm not quite sure if it is mostly server-side goodness and still uses the mobile analytics parts from the current Mobile SDK[1] or if it requires a new client-side SDK?

[0] [https://aws.amazon.com/mobileanalytics/](https://aws.amazon.com/mobileanalytics/)

[1] [https://aws.amazon.com/mobile/sdk/](https://aws.amazon.com/mobile/sdk/)

Edit: Looks like they pushed new SDK components an hour ago! [https://github.com/aws/aws-sdk- ios/tree/master/AWSPinpoint](https://github.com/aws/aws-sdk- ios/tree/master/AWSPinpoint)

I hope the React Native SDK gets some update love soon :)

</comment><comment><USER3> I like many of the new AWS announcements (shield, lambda@edge, RDS with Postgres, X-ray, Organizations). But I wish they'd be more selective with some things.

Pinpoint feels like a bland thing that a ton of companies already offer, and there is nothing about AWS that make them better suited to do this.

I'd rather they focus on improving their (often) badly designed APIs, refine the documentation and improve the console UI.

<comment><USER4> couldn't agree more. As somebody who doesn't use AWS, is there any real perks of consolidating everything under them?

<comment><USER5> Vendor lock-in taa taa taaaa</comment></comment></comment>


A Comparison of Approaches to Large-Scale Data Analysis: MapReduce vs. DBMS benchmarks - <AUTHOR> http://database.cs.brown.edu/sigmod09/benchmarks-sigmod09.pdf

<comment><USER2> This paper is just a thinly-veiled sales pitch for Vertica. All of the C-Store players are on it. Stonebraker has officially jumped the shark.

</comment><comment><USER3> This is academically interesting but probably not of much practical use since parallel relational databases are not free (and may never be).

<comment><AUTHOR> It probably won't take too long for someone to implement an open source version of Greenplum using Postgres. And there are a lot of people who are willing to pay for high-performance analysis of large data sets (as the success of Teradata, Netezza, et al. confirms).</comment></comment>


Ask HN: How would u reassure that a convo w/ u isn't a waste of time? - <AUTHOR>

I read from literature that important people hate having their time wasted (it's worth more than anything else). If you have something to contribute that's of use to both you and the person you're trying to talk to, how would you reassure that this fear will not happen for them?<p>Thanks in advance! <comment><USER2> I'd start with using full words, and not "chat" speak. I don't mean to pick on you, but if you wanted to take some of my time to discuss something, and you sent me an email that had a subject line like your title here, it would be marked spam almost immediately.

Even if english isn't your first language, it's not that hard to not sound like you're a waste of time off the bat.

<comment><AUTHOR> I'd love to use full words, but feared to run out of character space in the title. Otherwise, I would've used full words.</comment></comment>


Interview with Yann Lecun on what AI can do - <AUTHOR> https://www.newscientist.com/article/dn28456-im-going-to-make-facebooks-ai-predict-what-happen-in-videos/ <comment><USER2> Yann gave a talk at my university last week. It's really astounding how far deep learning has come from performing classification and regression to now doing things like reasoning and generation. Does anyone else find this wild? These are tasks that historically required a tremendous amount of domain- specific engineering to perform well. And recurrent memory networks just power right on through them.

I understand that learned, dense vector representations are powerful blocks to operate on, but hot damn the trend of general systems that require less domain-specific engineering is an exciting one that blows my mind.

<comment><USER3> I definitely find it wild. Recent developments make me very optimistic that I might see useful domestic robots within my lifetime, maybe even something like Data.

It definitely seems way less far-fetched now that we have machine learning techniques for semantic segmentation, object and face recognition, reasoning, voice recognition and synthesis and even translation, extracting useful meaning from text/speech.

</comment></comment><comment><USER4> You know, I see many different big names in the ML field shooting for a personal 'assistant' or something like that. For whatever reason I have always thought what would be preferable would be an advocate. A being that would always have your back and be watching out for your best self and for you in general, preventing you from getting screwed by someone trying to make an information asymmetry play or trying to access your data. Somehow I worry that most big companies aren't going to be trying to create something that puts the user first. I'd love to be wrong.

<comment><USER5> I too hope that there would some Linux equivalent in the personal assistant space. It simply runs on my machine/mobile with my data, and I am totally in control of it. Currently this seems little intractable for availability of data and personal computing power but I hope these will be a lesser concern another decade in future.

<comment><USER6> Ideally there'd be a standardised api for personal assistants, so you can move between different services or swap the whole thing out for an open source alternative.

</comment></comment></comment><comment><USER7> He was right: For the progress he is seeking now, neural networks stand to play at most a peripheral role. Instead, he needs some new and quite different ideas.

That the networks are _neural_ might mean that they could simulate a worm; that he got more out of them, as, say, non-linear fitting functions, is cute but not much progress for the next challenges he has in mind.

</comment><comment><USER8> FYI this was submitted a few days ago and no one seemed to care:

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

<comment><USER9> Sometimes the front page is too busy or something doesn't take. Don't worry about it - they're just internet points. No point linking to it unless there are comments that might also be interesting to readers of these ones, right?

<comment><USER8> i could careless - i was under the impression HN had URL dup algorithms to make sure you cant double submitted within a few months of the OP

<comment><USER10> I think dang said recently it was something like 8 hours. Beyond that you can resubmit. I've had cases where I've submitted something and it just takes me to the thread where someone else posted it and it automatically gives them an upvote from me.

</comment></comment></comment></comment><comment><USER7> "Unsupervised learning"?

Well, setting aside the jargon, one approach is just a statistical hypothesis test, and a lot is known about that.

<comment><USER11> Unsupervised feature extraction (eg in visual tasks with backprog) goes well beyond what would conventionally be called "a statistical hypothesis test".

For example, look at the image of the features learnt by the AlexNet CNN[1]. In a more conventional "statistical hypothesis test" these would be manually defined by hand. IMHO a system that automatically extracts those features itself deserves to be called more than "just a statistical hypothesis test"

[1] "Example filters learned by Krizhevsky et al" [http://cs231n.github.io/convolutional- networks/](http://cs231n.github.io/convolutional-networks/)

<comment><USER7> Clearly my remark was

> ... one approach is just a statistical hypothesis test ...

So we have no disagreement.

E.g., is this JPG an image of a human face? So, for some variables, extract data on those variables from known ( _supervised_?) human faces and do an hypothesis test with null hypothesis that the JPG is of a human face.

Or, are these human faces like those human faces ( _unsupervised_ )? Then get data on the variables and do a _two sample_ test with null hypothesis that the two collections of faces are the same, i.e., from the same distribution.

<comment><USER11> Well yeah.

But that is like saying that IBM Watson is just a statistical hypothesis test: "Is this answer or this answer correct?"

That is absolutely true, and completely useless.

The hard part isn't telling the difference once you've done the feature extraction, it's doing the feature extraction automatically itself.

(Actually that undersells it too, because you have so many combinations of features to evaluate that making that part work is non-trivial too. But at least that part is just calculus)

<comment><USER7> We are being too brief.

Here is a relatively non-standard approach to hypothesis testing:

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

So, that was looking for _bias_. The _training_ was to say what people were the women.

So, could use that to say if these people were like those people. So, could get some _people recognition_.

Or, go to a valley with a lot of rocks and for each of 1000 rocks measure 10 quantities. Then here is one more rock; did it come from that valley? So, doing _valley rock recognition_.

Here are 1000 faces from North Korea and 500 from South Korea. Measure 10 quantities on each and ask if the faces are different (this would be a multi- dimensional _two sample_ test, distribution-free).

Here's a more general picture: Take some data. Ask if the data has property X. Make a _null hypothesis_ that the data does have property X, and with that assumption take a function of the data and calculate some probability that would be high if the data has property X. Then see what the probability is for the data do have. It that probability is low, then reject the null hypothesis and conclude that the data does not have property X. So, have now _recognized_ that the data is not X. It may from some further knowledge that conclude that the data has property Y. This might help a self driving car decide if the stuff in the road is just some harmless paper and can drive over it or if it is dangerous and must avoid it, if the ice about to step on is solid, if that knob is to be pulled on or twisted, ..., a lot of questions in _AI_.

I'm being brief. Questions?

<comment><USER12> > Take some data. Ask if the data has property X.

Unsupervised learning would ask, "does this bag of data have any properties?" or "what are the most significant properties in this bag of data?" or "are there any partitions of this bag of data that seem to be more similar than others?"

If you know what you're looking for in advance then there are more direct ways to search for it (like hypothesis testing). Unsupervised learning is what you get when you relax the requirement to know in advance what it is you want to test, and relax the requirement that you can tell once you find it.

<comment><USER7> Ah, we're getting a C in communications.

> "does this bag of data have any properties?"

WOW! That's one heck of a hard question! There can be a LOT of properties! No properties might mean _random_. So, one case is old random number testing! People settled on the Fourier test -- essentially hypothesis testing.

You seem to be saying that hypothesis testing requires knowing something too specific about what is being looked for. Well, in some of the elementary stuff.

But there's the old _distribution free_ _two sample_ tests: Joe teaches calculus to 30 students, and Mary teaches the same subject to 25 students. Is their different performances significant?

Specific? We are not saying much about what is different, but we do get estimates of Type I error, that is, saying that there is a big difference when there is not. So, how? Put all 30 + 25 student scores (right, something specific, unidimensional, but see below) in a pot, stir briskly, pull out 30 and 25, that the difference in their averages, do this 1000 times, get an empirical distribution of the difference under the hypothesis that there is no difference, then see where the actual difference is in the empirical distribution and estimate false alarm rate.

For measuring several quantities not just one, can look for a significant difference even if have no idea what the heck the cause is. So, are not being specific about a cause.

Generally in making _AI_ _decisions_ , what to have some sense of being correct. A first cut approach is hypothesis testing.

A second cut would be, say, looking for a diagnosis. So, have some data and 20 candidate diagnoses. So, do hypothesis tests on the appropriate data for each of the 20, maybe different parts of the data for each of the 20, and pick the diagnosis based on the Type I estimates.

Hypothesis testing has a cute and powerful idea: Make an hypothesis of no effect and use that to calculate some probabilities. There's got to be a good role for that in _AI_.

<comment><USER12> > That's one heck of a hard question!

Exactly. That's the problem. It's not just a question of deciding whether the data is random or has some particular property, but trying to answer the question of whether there is _any_ signal buried in the data -- and then deciding whether that signal is meaningful.

For the most part, unsupervised learning is more like data pre-processing than an alternative to hypothesis testing. General frequentist statistical techniques (including hypothesis testing, goodness of fit, etc.) are an integral part of evaluating the results of unsupervised learning.

<comment><USER7> From a paper I published, go to a server farm and for three months collect data on each of 10 variables 100 times a second.

Now, in real time, given values on each of those 10 variables, ask if the farm is sick or healthy? Get known, adjustable false alarm rate and a relatively high detection rate.

So, it's a multi-dimensional, distribution-free hypothesis test.

Don't know what patterns or properties are looking for and don't get a diagnosis, but still, if get a detection at a low false alarm rate, then have good evidence the farm is _sick_.

So, this hypothesis test is not the same as you have described.

So, is this _unsupervised learning_?</comment></comment></comment></comment></comment></comment></comment></comment></comment>


An experiment to allow different versions of the same web component on one page - <AUTHOR> https://open-wc.org/scoped-elements/ <comment><USER2> It's become a hobby of mine to spot instances where template-based frameworks have to invent an API to add a new feature that comes for free with a JavaScript-based framework (i.e. React or Vue+JSX). Adding this to the list.

<comment><USER3> Would you mind sharing this list?

</comment></comment><comment><USER4> I'm pretty sure this is a dupe of a post from just a few days ago. [https://news.ycombinator.com/item?id=22098001](https://news.ycombinator.com/item?id=22098001)

<comment><USER5> yes, same link</comment></comment>


Ask HN: Is there any repo includes any "Hello World" projects you want? - <AUTHOR>

I'm seeking for a git repo which has successful "hello world" templates for anything. Examples: an OpenGL project displaying simple triangle, an OpenCV project reads a png file and applies a simple filter, an HTML5 project which has style.css and app.js which have 3-4 lines of code, a very simple node server, a java project having only main method and System.out.println() inside it.<p>If there is no project like this? or I'm planning to start. Each project might have it's own repo and can be unified under a repo with submodules. This could be a useful resource if anyone wants to start a new project. Also, I want to know if anyone wants to join so we can build together. <comment><USER2> This ([https://github.com/leachim6/hello- world](https://github.com/leachim6/hello-world)) repo has a lot of languages and many are being added. However, these are mostly print lines and do not contain examples for specific libraries such as OpenGL (As far as I know).

<comment><AUTHOR> Thanks. I've seen that. But what I'm looking for is a project specific resource.

</comment></comment><comment><USER3> Not a git repo but Rosetta code does exactly this: common, simple tasks in pretty much every programing languages you can think of.

See: [http://rosettacode.org/](http://rosettacode.org/)

<comment><USER4> nice I never knew about that one. Thanks. :)</comment></comment>


Ask HN: SF developer burden rate @ $100k? - <AUTHOR>

Trying to budget how much developers will cost me as a business owner. The technical term seems to be 'burden rate' (http://www.investopedia.com/terms/b/burden-rate.asp#axzz2KiL9czqZ), but I'm interested in the legally-mandated 'burden rate', not including optional benefits.<p>For example, if I want to pay a dev $100k or $125k, how much will it cost me as a company with Social Security, and payroll taxes, etc. all included? <comment><USER2> _Disclaimer: I am not a CPA or Lawyer so take this advice purely as a guidance based on my own experience of running my company._

The "cost" of an employee generally includes:

        Salary paid

This in your case would be lets say 100K

        Payroll taxes (employer portion)

Usually has 2 main components. Social Security and Medicare also combined to be called FICA. SSN is 6.2% of W-2 salary (applies max to 110K). Medicare is 2.45% of entire W-2. So in your case, totak of 7.65% of 100K = $7650

        Health Insurance premium for the employee

This really varies and depends on what you offer. I will just estimate an average of say $500-$800 per month per employee. So you are looking at about $6000-$10,000 per year. Make it $8000 average for this example.

        retirement account match

Really varies depending on whether you contribute or not. Lets say you match about 1000 per year max (a very average conservative matching) which is 1% of the salary.

        State level disability insurance

This depends on state. Some states charge employers while in some, employees pay for it.

        Workers compensation

Average cost per employee can be about $500-$1000 per year.

        Other costs to manage employee record

These could include payroll software cost per employee, accounting cost/employee, other benefits provided. I would keep about $500-$1000 per year min.

Adding all of the above, you are looking at approx 100K + 18,650 = 118,650

I am just giving an estimate here of course. But you hopefully got the idea.

<comment><USER3> That is very sweet.

In Brazil for every 1000 you pay someone in direct wage, about extra 450 are paid to government (total burden of 1450 to pay 1000 of wage)

Of the 1000 that the "someone" received, about 100 go for your retirement savings, 275 in federal taxes, and about more 100 in other random taxes and fees.

(so yes, this mean that if you theoretically pay 1000 as salary, the person ends with 525, and you pay extra 450 to the government, that ends in total with 925! yay excessive regulation and taxing!!!!)

<comment><USER4> You are wrong, the burden rate in Brazil is 85% of the employee's gross salary. So, using your example:

$1000 salary, $850 goes to the government.

When the employee receives this salary of $1000, about 20% goes to government.

In the end, the government ends up with HALF of what the employee gets paid.

This is why our economy is shitty for entrepreneurs.

</comment></comment></comment><comment><USER5> my employer hits my department budget with salary x 1.5 for every employee in my dept. I thought this was too high, so i went to see the controller, who showed me the numbers and indeed it is accurate--in other words, 1.5 x salary is a very good estimate for the actual hard dollar cost to the company for each employee, as a function of his/her salary. The intention was to capture all includes taxes, insurance, office space, hardware, meals, per-seat share of enterprise app licenses, etc.

</comment><comment><USER6> <http://taxes.about.com/od/payroll/qt/payroll_basics.htm></comment>


The Institute for Advanced Study: The First 100 Years - <AUTHOR> https://www.ias.edu/ideas/2016/dyson-ias-first-100-years <comment><USER2> The IAS was founded in 1930. 100 years is still 14 years off.

An academic who got an appointment there remarked that he was given a room with a desk and a nice chair and a window, and was expected to spend a lot of time there thinking, alone. This was very mid-20th-century, the concept that hard problems could be solved by hard thinking in isolation. Fermi once remarked "Sometimes you have to keep thinking past the point where it starts to hurt."

They do encourage socialization. They're said to have a very good wine cellar.

<comment><AUTHOR> George Dyson acknowledged (about 8:38 in the video) that although the IAS itself was founded in 1930, the first idea for it was expressed in 1916 by Thorstein Veblen (at about 12:10):

"Academic houses of refuge . . . a freely endowed central establishment where teachers and students of all nationalities, including Americans with the rest, may pursue their chosen work . . ."

</comment></comment><comment><USER3> The book "Turing's Cathedral" is a well-written account of IAS's early years, focusing on the events leading up to development of the first computers there by Von Neumann.

</comment><comment><USER4> I thought this was going to be about the center for advanced studies:

[http://www.cascorporation.com/](http://www.cascorporation.com/)</comment>


Updating a Django queryset with annotation and subquery - <AUTHOR> https://www.paulox.net/2018/10/01/updating-a-django-queryset-with-annotation-and-subquery/ <comment><AUTHOR> I wrote this solution the first time as an answer to a question on Stack Overflow.

[https://stackoverflow.com/a/50134728/755343](https://stackoverflow.com/a/50134728/755343)</comment>


Sleep faster startup culture puts mental health at risk - <AUTHOR> http://www.theguardian.com/media-network/2016/mar/22/startup-entrepreneurs-mental-health-risk-business-failure <comment><AUTHOR> Hi everyone - I've been posting on HN about mental health in startups semi- regularly.

Today I got a write up in The Guardian which I hope gives the topic some well needed coverage.

Hope you enjoy the read and would love to kick off a discussion on the points raised.

James</comment>


Me and my robotic suit - <AUTHOR> https://www.reuters.com/investigates/special-report/health-exoskeleton/?utm_source=twitter&utm_medium=Social <comment><USER2> > Most exoskeletons have motors or hydraulics powering the hip and knee > joints, but the Phoenix has only two motors at the hips, powered by a > battery in a small backpack. Hinges keep your knees straight when your > weight is on them and allow your lower leg to swing when you take a step.

Interesting, the knee hinge is unpowered but locks and unlocks synchronously with the hip motors.

More about the phoenix exoskeleton by SuitX: [http://www.suitx.com/phoenix](http://www.suitx.com/phoenix)

> SuitX already makes industrial exoskeletons used, for instance, by airport > baggage handlers.

So ... no FDA process there? Easier to get to market? (edit: I mean for the baggage handler exos, easier to get to market than the phoenix, which is targeted to the disabled.)

<comment><USER3> Not quite...

From the article - "The testing I signed up for is needed to win U.S. Food and Drug Administration approval."

Powered exoskeletons for spinal cord injury or paralysis patients are medical devices, and thus require FDA approval (in this case, Berkeley Bionics is probably pursuing a 510(k) or the 'de novo' process if B.B feels their device is substantially different from pre-existing exoskeletons.) All current exoskeletons are classified as type II medical devices, which entails some limitations on how they can be marketed, sold, and used by patients.

Since their other products are not used for medical applications, they wouldn't need FDA approval, as long as B.B isn't, say, making health related claims that would need to be substantiated by actual testing and certification (I believe).

I actually work in this field, so if you have any other questions about exoskeletons or assistance devices I can probably answer them.

<comment><USER4> So why not test on the disabled and able-bodied alike? Make no health claims and sell to everyone as "excercise equipment".

This seems to be a case where regulation is slowing innovation. And I don't say that very often...

<comment><USER5> It could be a money thing. If the product is a "medical device", that means an extra 1000% markup. Look at hearing aids as a perfect example of this. And yes, it probably does slow down the pace of innovation significantly.

</comment></comment></comment></comment><comment><USER6> He never asked for this, these augmentations.

<comment><USER7> Without meaning to detract from assistive technology at all, I keep hoping that the idea of serious research into human regeneration starts getting mainstream attention and traction.

Cf. "The Body Electric" [https://en.wikipedia.org/wiki/The_Body_Electric_(book)](https://en.wikipedia.org/wiki/The_Body_Electric_\(book\))

(Also, stem cells etc...)</comment></comment>


The evolution of a homepage [UX] - <AUTHOR> http://softwareprototyping.net/the-evolution-of-a-homepage/

<comment><USER2> As someone who has yet to design their first site, this was a very valuable look into the mockup process.

Does anyone have links to similarly chronicled site experimentation with respect to HTML/CSS, revenue models, or a/b testing as I feel this would give a fascinating insight.

<comment><AUTHOR> Not yet, although it's a great idea for an article. Revenue models is always an interesting topic although many startups might end up being a bit cagey about revealing their financials. I've been tempted to 'reveal all' for my own site before, although there is always a danger that when potential customers realise just how low budget things are, they might then be tempted to go to a more established competitor... just a thought.</comment></comment>


Shopify Environment - <AUTHOR> https://www.shopify.com/about/environment <comment><AUTHOR> Very similar to Stripe. E.g. "Buying $1M of sequestered carbon annually at any price".

Background: [https://news.shopify.com/we-need-to-talk-about- carbon](https://news.shopify.com/we-need-to-talk-about-carbon)</comment>


Don't Add That F**cking Feature (On Minimalism) - <AUTHOR> http://www.chau.cc/a-dusty-tome/dont-add-that-fking-feature <comment><USER2> The real minimalism in life, in my opinion, includes never worrying too much about stuff, maintaining some sort of separation between oneself and things, ignoring, to some degree, things themselves as well as whether they are indeed satisfy the minimalist criteria or not. Thus, true minimalism would even deny any substantial significance to the idea of minimalism itself. Animals are like this - they could be seen as minimalist while they obviously don't think much about it.</comment>


Architecture for a JavaScript to C compiler - <AUTHOR> https://timr.co/architecture-for-a-js-to-c-compiler <comment><USER2> I don't understand why people keep making js-to-native compilers. the result is always less performance that what modern js engines can do to the original source code, because all those runtime behaviours the author mentions build up really fast. js engines actually run the code and figure out the types and such to create highly optimized machine code.

<comment><USER3> Modern JS engines rely on tracing JITs to achieve good performance. These optimizations only kick in once code has executed multiple times.

But a lot of JS code executes only once, such as layout code running at app launch. Heck, lots of JS code executes _zero_ times. This code still imposes a cost (parsing, etc).

Consider the complaints about app launch time of Electron apps. A static compiler can be more effective at the runs-once or runs-zero cases.

<comment><USER4> Not tracing. Speculation.

The difference is that you compile user control flow as-is unless you have overwhelming evidence that you should do otherwise.

And yes you are right. This is promising for run-once code, but all of the cost will be in dynamic things like the envGet. An interpreter can actually do better here because most environment resolution can be done as part of bytecode generation. So it's possible that this experiment leads to something that is slower than JSC's interpreter.

<comment><USER3> Agreed that envGet() will be brutal, but optimizations can eliminate a lot of that, e.g. by promoting locals to stack variables instead of heap variables.

It is possible to statically decide which environment contains each upvar. So I don't understand your conclusion that this experiment may be slower than JSC's bytecode interpreter. What information can JSC exploit at this stage that is statically unavailable?

<comment><USER5> Yeah, and escape analysis could be used to avoid putting variables that can't be easily placed onto the stack in the scope of a garbage collector. Further optimization work could be performed to compute variables with constant results or to partially compute expressions. It's interesting, got me thinking about building one.

<comment><USER5> I got to thinking... with the right types, isn't it possible to take each JS function and emit a Rust generic function over every JS type (value/object) and have the Rust compiler emit optimized code for each specialization. Each invocation at compile time can be optimized by the Rust compiler then and so long as there's no eval or dynamic dispatch in the translation unit, each call should be maximally efficient and all unused paths can be trimmed statically.

</comment></comment></comment></comment></comment></comment><comment><USER6> I wonder how much optimization will it bring to compared to existing JS runtimes such as V8.

Thanks to competing world for web browsers, JS runtimes not only efficiently parse to optimized native code but also provide really good JIT compilation benefits.

Speculative optimization for V8 - [https://ponyfoo.com/articles/an- introduction-to-speculative-...](https://ponyfoo.com/articles/an-introduction- to-speculative-optimization-in-v8)

Parallel and Concurrent GC - [https://v8.dev/blog/trash- talk](https://v8.dev/blog/trash-talk)

Good summary on 10 years of V8 - [https://v8.dev/blog/10-years](https://v8.dev/blog/10-years)

<comment><USER3> v8-style engines do not parse to optimized native code.

As described in the links, v8 parses to an AST, which then is compiled to bytecode. A bytecode VM then executes the JS, collecting runtime type information, which is input (along with the bytecode itself) into the next compilation tier; only at that point is machine code generated.

The key idea is that v8 expects to execute the JS code before it can generate native code. It won't generate native code from parsing alone.

</comment></comment><comment><USER7> A lot of research and hard work has gone into TclQuadCode [0], which compiles Tcl (which is even more dynamic than JavaScript) into machine code via LLVM.

The authors indicated at one point it took around 5 PhDs to get it going.

[0] [https://core.tcl.tk/tclquadcode/dir?ci=trunk](https://core.tcl.tk/tclquadcode/dir?ci=trunk)

<comment><USER3> This is bizarre and fascinating. I had no idea there were Tcl codebases of a size that could benefit from this sort of perf work. How much Tcl is out there?

</comment></comment><comment><USER8> I actually think this is possible; and started prototyping it (because esprima is awesome, and not to many other languages have an equivalent that's so easy to use).

Some thoughts: I think it's easier to target C++ than C, since C++ can help you write more type generic code. I think it's easy to generate tagged unions, then for optimizations try to prove monomorphism. Finally, it may be simpler to start off with support for typescript, and fail to compile if there are any ANY types. I do think it's possible though. JS/TS -> C++ -> WASM (yes, I was out of my mind when I thought of this)

<comment><USER9> Isn't this kind of what V8 and other modern JavaScript engines do on the fly already?

<comment><USER10> Yes: one of the Google engineers working on V8 talked about it here: [https://softwareengineeringdaily.com/2018/10/03/javascript-a...](https://softwareengineeringdaily.com/2018/10/03/javascript- and-the-inner-workings-of-your-browser/)

It was this conversation that make me wonder if at some point in the future V8 might have experimental support natively for TypeScript but it makes more sense that compiling web assembly to native binary would make more sense. Who knows? It's an awesome time to be a programmer!

</comment></comment></comment><comment><USER11> With all the dynamic stuff Javascript has it seems really difficult to create performant C code.

There is a PHP to .NET compiler which probably has similar problems. On second thought that one is probably easier because .NEt has a dynamic runtime.

<comment><USER12> That, and in practice modern PHP is often relatively staticly typed (classes declare their fields, etc), and many codebases even include type annotations (which are supported in PHP and usually enforced at runtime).

</comment></comment><comment><USER13> Congrats to completing this project. What's the status and further plans for it? I didn't find a license.

</comment><comment><USER3> How are exceptions handled with this design? For example the `n < 3` may throw (it invokes the valueOf method).

<comment><AUTHOR> I went for longjmp(), non-local goto, for precisely the reason you highlighted: I realised pretty well everything in JS can throw, so needed something easy to trigger from anywhere

See [https://github.com/timruffles/js- to-c/blob/1befbf4220753576e...](https://github.com/timruffles/js- to-c/blob/1befbf4220753576e2d08c3607ab445c3ddad9ea/runtime/exceptions.c)

</comment></comment><comment><USER14> I wonder why people still try write transpiler from JS to C/C++ or LLVM (which make sense at least). But this not performant way and usually produce much bigger overhead than jit vm which use speculative optimizations.

Some projects: 1\. [https://github.com/fabiosantoscode/js2cpp](https://github.com/fabiosantoscode/js2cpp) 2\. [https://github.com/raphamorim/js2c](https://github.com/raphamorim/js2c) 3\. [https://github.com/ammer/js2c](https://github.com/ammer/js2c) 4\. [https://github.com/NectarJS/nectarjs](https://github.com/NectarJS/nectarjs) 5\. [https://github.com/ovr/StaticScript](https://github.com/ovr/StaticScript)</comment>


A rescue diver on what it was like to save the Thai boys in the cave - <AUTHOR> https://www.vox.com/2018/7/12/17564360/thai-cave-rescue-boys-mission-diver-ben-reymenants <comment><USER2> > So we decided to put them on a stretcher, with a full face mask, with pure > oxygen on a positive pressure.

Positive pressure means that any water getting into the mask would be flushed out. This first-person account seems to clarify that the kids were almost always on a stretcher while on land. But what about the underwater portions? I can't even imagine as a kid (or even adult) diving into the equivalent of no- visibility iced coffee. This Nytimes detailed recap seems to indicate the stretchers were also used during the "sumps" (underwater portions)

[https://www.nytimes.com/2018/07/12/world/asia/thailand- cave-...](https://www.nytimes.com/2018/07/12/world/asia/thailand-cave-rescue- seals.html)

The Thai Navy Seals released their video of the unprecedented rescue operation this past week. It has no sound, and it is a perspective into how many individuals contributed to the success of the team effort. You can see the sked described in the article (a stretcher used for search and recovery) and the zip line/winch/pulley systems that were used throughout.

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

<comment><USER3> The article mentions that they were strapped down. So it wasn't them "diving", it was them being pushed/pulled underwater while tied down to a stretcher - which also prevents them from e.g. removing the face mask in panic. Makes sense that sedation would be necessary, these are perfect conditions for freaking out.

</comment></comment><comment><USER4> BBC interview with John Volanthen is here [https://www.youtube.com/watch?v=8p8XFvRJD7Q](https://www.youtube.com/watch?v=8p8XFvRJD7Q)

<comment><USER5> Meanwhile Vern Unsworth, one of the other divers, comments on Elon Musks submarine... [https://www.youtube.com/watch?v=1TmjpIkVDrU](https://www.youtube.com/watch?v=1TmjpIkVDrU)

<comment><USER6> Hearing all the negativity around this makes me a profound sort of sad.

Here's a guy with some pretty unimaginable resources. He tries to use some of the resources for good, and a bunch of people go out of their way to get upset at him for it, and then laugh when what he tried to help with didn't work.

People slinging all this mud are the reason others are hesitant to help.

<comment><USER7> Sometimes, particularly in disaster situations, the most help you can give is to stay away and let the people who _can_ do the most good work without distraction.

The original intent of the rescue, judging from the Washington Post version of this article, was to have the two rescue drivers carry the kid between them as much as possible. It was realized when they were transporting the first kid that said transit mechanism was impossible, as the space was too cramped to do that; the operation then had one diver carrying the kid, swapping divers frequently because that's a very physically taxing job.

Between the weight and the length of the sub, it's clear from descriptions of the rescue operation that it was completely unusable. Any attempt to use it would have had a very high risk of it getting wedged somewhere in the cave that would have made the cave impassable. And guess what? Pretty much everyone who had some sort of experience with caving commented that the sub idea was unworkable when it was first announced.

Just because you want to help doesn't mean you can help, and you shouldn't give someone a pass on their actions just because they're trying to help. As the saying goes, the road to hell is paved with good intentions.

<comment><USER8> Of course you should stay out of the way. But on the other hand, if everyone stayed out of the way, nobody would actually help. Do you see all those miles of hoses? Where do you suppose those came from? Did you see the discarded pile that were 8cm instead of 10cm? Who is mocking the fire department that donated those? What about that silly convenience store that shipped in all the Spam to feed people who would prefer to eat roast beef? Should we mock them for all the Spam that got thrown away?

When you and I sat in front of our monitors to see what others were doing, some people took inventory of their resources and offered whatever they could in the chance that it might be useful. They were willing for it to be thrown away if it wasn't useful.

I'm not here to apologise for Musk. I'm here to praise everyone who donated food, tanks, hoses, pumps, skeds, submarines, money, housing, or their life. Thank you.

<comment><USER9> Now that the crisis is over Musk's opportunity has arrived. Work with some experts in quiet to see if better solutions can be developed. And put some money behind it.

I hope he takes that opportunity.

</comment></comment></comment></comment></comment></comment><comment><USER10> "The smallest space was actually 2 feet wide, so yes, it was quite high, 60 centimeters high." I can't imagine crawling in that space without having a panic attack, let alone trying to swim through it in murky water while dragging a child behind me. What an incredible feat.

<comment><USER9> You certainly need a very special psychology to be a cave diver.

</comment></comment><comment><AUTHOR> This longer BBC article on the rescue is the most complete report I've seen so far: [https://www.bbc.com/news/world- asia-44791998](https://www.bbc.com/news/world-asia-44791998).

</comment><comment><USER11> Feels like some sort of cosmic luck that these were mostly skinny kids and not some missing team of professional wrestlers. Almost by nature of who they were, they possibly stood a far better chance of being rescuable?

</comment><comment><USER12> The article describing Musk's rescue plan:

>The Engineering Behind Elon Musk's Bid to Save Thailand's Cave Boys

[https://www.wired.com/story/elon-musk-thailand-cave-boys- res...](https://www.wired.com/story/elon-musk-thailand-cave-boys-rescue- engineering/)</comment>


Swift AWS Lambda Runtime - <AUTHOR> https://swift.org/blog/aws-lambda-runtime/ <comment><USER3> Is there any recent rundown on the state of server-side Swift in general? I know there was a lot of discussion when IBM stopped working on it back in January.

At the broadest level, I wonder what the footprint of Swift at runtime is, both in terms of CPU and RAM. I've been really enjoying Kotlin as a server- side language - it's a massive step up in productivity from TypeScript - <USER2> the overhead of the JVM certainly is notable, even in small personal projects (my small Javalin app uses four times the RAM at rest as my Express app did). Swift is really interesting to me because it is very similar in practice to Kotlin, but with some very cool and powerful additional language features. So, if server-side Swift has a smaller footprint at runtime and equal or better performance than Kotlin on the JVM[1], that'd be a really compelling language for me.

[1] yes, I know GraalVM/native options exist for Kotlin, but every time I've tried to investigate ecosystem compatibility, it leads to me glancing at pages long-articles about "how to configure X framework for GraalVM" that make it not seem worth the effort yet

<comment><USER4> Here's a quick summary of things - [https://www.timc.dev/posts/future-of- server-side-swift](https://www.timc.dev/posts/future-of-server-side-swift)

<comment><USER5> Blog posts that are time-relevant should really be dated.

</comment></comment></comment><comment><USER6> Chalk one up for time wasted not addressing what people really need...

I truly love Swift, like god-damn is it my cup of tea, but I can't really bring myself to write it anymore. I've written over 10,000+ lines , shipped and maintained a few different production apps, but anymore I just have no urge to write it.

And the biggest reason why? I think it being open source is a joke until Apple, and I mean Apple themselves, implements some sort of cross-platform UI framework with it. Like, most of what is written in Swift is fucking UI code that's totally useless on other platforms.

I think it's pretty laughable I can run Swift on AWS but I can't do a simple GUI app on Linux or Windows using the OOB Swift SDK. Apple, you're a fucking trillion dollar organization, for fucks sake stop being so damn stingy with portability.

When I can write cross-platform GUI apps with Swift, maybe I'll give a fuck 'bout running it on a server. Just my two very bitter, hurt, and sad two cents...

<comment><USER7> None of the other languages I use---C++, Python, Go, Rust--come with a first- party cross-platform GUI library...

<comment><USER8> Python has first-party support for tcl/tk

[https://docs.python.org/3/library/tkinter.html](https://docs.python.org/3/library/tkinter.html)

</comment></comment></comment><comment><USER9> If you have tons of Swift code that needs to run in watchOS, iOS, iPadOS AND the cloud, this would kinda make sense... but how frequently is that the case? When I was still doing mobile the goal was to write as LITTLE client-side code as possible and put as much logic/heavy lifting on the API side as possible because we can make changes there far quicker than in the native client. And almost all of the client-side code was about GET/POSTing to the API or interacting with the SDK to draw things on the screen -- almost no business logic. That said, I didn't work much on apps that were supposed to work without a data connection for long periods of time... in that case it's more likely you'll run into scenarios where you're writing business logic in the app (in Swift/ObjC) but even then the goal was to keep that kind of code to a minimum (or less).

<comment><USER10> Apple's goal for Swift is to be "the new default language for computer science." They see it as supplanting Java.

Whether you think that's crazy or not, pure server Swift is a thing, personally I love it. [https://vapor.codes](https://vapor.codes)

<comment><USER11> Apple's goal for Swift is quite clear on its documentation, to replace C and Objective-C. As for anything else it isn't quite clear.

<comment><USER10> > The goal of the Swift project is to create the best available language for > uses ranging from systems programming, to mobile and desktop apps, scaling > up to cloud services. [https://swift.org/about/](https://swift.org/about/)

> "My goal for Swift has always been, and still is, total world domination," > Chris Lattner, the creator of Swift, said onstage at Apple's Worldwide > Developers Conference in 2017. [https://www.businessinsider.com/developers- > love-swift-apple-...](https://www.businessinsider.com/developers-love-swift- > apple-programming-language-ios-apps-2020-3)

I'm having trouble finding the specific bit about "default language for computer science," might have been his interview on the ATP podcast. anyway

<comment><USER11> What Chris Lattner might desire and what Apple wants isn't the same thing, specially since nowadays he doesn't get much to say on where Swift goes.

Had he stayed at Apple overseeing the language design I would agree.

</comment></comment></comment></comment></comment><comment><USER12> Interesting, AWS Lambda provides a runtime API so you can implement your own runtimes. kewl [https://docs.aws.amazon.com/lambda/latest/dg/runtimes- api.ht...](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html)

</comment><comment><USER13> Always happy to see more new Swift projects pop up, especially on the server side. It's great watching the language evolve and continue to add more powerful features.

</comment><comment><USER14> This is a great and very useful addition to the Swift ecosystem.

Currently develop a very popular iOS/macOS app in Swift which talks to an AWS Lambda backend written in Node.js. This has required some model code to have dual Swift and Node versions. If the Swift AWS Lambda Runtime was available previously this wouldn't be necessary.

I'd say a lot of developers in the Apple eco-system would be in a similar situation and this runtime can help to streamline a lot of client-server approaches.

</comment><comment><USER15> That's great news. For some reason cloud function run extremely slowly for me on Firebase. Like a few seconds slow on the first call if not called frequently, then it drops to milliseconds level.

<comment><USER16> Yeah, this is called a 'startup effect' in most cloud function environments. Lambda has a thing called 'prewarming' which basically hits it every 15ish seconds to make sure it's still active...

<comment><USER17> Does it really sleep in 15 seconds such that it needs to warm up? Why call it every 15 seconds? Why not every hour, every day? Is there a documentation how often it needs a warm-up?

<comment><USER16> I believe AWS docs say that your function is loaded on a machine for 15 seconds after termination... so if a new request comes in during that time it goes to that function instead of starting a new one.

</comment></comment></comment></comment><comment><USER18> This is cool --finished a deep dive of SwiftNIO all the way down to the IETF "TAPS" specification (ah, good 'ole Courier font, brings a tear to my eye).

Will my soul brother, the great chrome dome Werner Vogels, be joining the flamboyant users of the most advanced hair care products ever invented on stage this year during WWDC to announce new support of Apple? macOS instances that can be spun up and down from Screen\ Sharing.app? Xcode compile farms that work seamlessly with a new iPad Pro edition of Xcode? Apple-subsidized (so free) access to all AWS for developers? (oh, I can dream)

If not, then there's nooo way I would use Swift outside of The "ecosystem" (first time I've read that expression used inside of Apple's own documentation, albeit on a GitHub project), though I might use SwiftNIO back ported to iOS to do something cool with Multipeer and ARKit.

</comment><comment><USER19> swift is a nice language. however, don't do the mistake of developing server side applications on it. tried it, after drinking the ibm, vapor kool-aid in 2016ish. the community though friendly is weak. still to well known stacks if you're going to be doing server side stuff

</comment><comment><USER20> Given lambda can only possibly send one request at a time to a handler, what is the advantage of using the non-blocking primitives and separate worker thread versus doing work on the main thread?

<comment><USER21> In this model, the only advantage would be parallelism inside the request. If you had to fetch 100 things as part of this request there's no need to do them one by one.

</comment></comment><comment><USER22> Anyone used compiled languages with cloud functions?

I've only used JavaScript but I'm guessing a compiled binary (eg: Go) would have better cold starts, no?

<comment><USER23> Last time I herd c# had best cloudstart performance on lambda.

</comment></comment><comment><USER24> All of the closure obsession in Swift is extremely off-putting to me.

<comment><USER25> Can you elaborate?

<comment><USER24> Closures everywhere... why? They make code difficult to reason about and read and only seem to satisfy the FP zealots.

<comment><USER26> You don't have to be a functional programming zealot to be able to recognize the value of not having to define a function just so you can sort a list using a different predicate.

<comment><USER24> Except that's not the extent of how programming with closures is forced on Swift coders.

Essential all major modern languages have collection sorting functions built into the base collection types that accept "by" (or similar) arguments... which is quite intuitive to even Jr. programmers.

<comment> vertex-four OK, what's an actual example of your problem? I don't write Swift, but I'm curious about it - where's a closure used when some fixed logic would've sufficed?

<comment><USER24> Did you read the parent article? Good examples there.

<comment> vertex-four You can only get around callbacks for async IO with async/await or language- integrated N:M threading, which is a challenging problem (I still trigger ICEs in Rust's implementation on occasion). Java is another language which suffers from this, and C++ only got coroutines in C++20.

<comment><USER24> I don't see anything in the example to indicate that the closure pattern for Swift Lambda handlers actually allows true async.

func lambdaHandler(event: Event, context: Context) { // your lambda handler logic... }

What's wrong with this approach, which is how lambda handlers are written in every other language with the exception of JavaScript - let's not pretend that JavaScript is a good language design reference.

Look at this Go example In comparison... simple, readable, intuitive:

package main

import ( "fmt" "context" "github.com/aws/aws-lambda-go/lambda" )

type MyEvent struct { Name string `json:"name"` }

func HandleRequest(ctx context.Context, name MyEvent) (string, error) { return fmt.Sprintf("Hello %s!", name.Name ), nil }

func main() { lambda.Start(HandleRequest) }

<comment> vertex-four Here's an example from the official Go documentation on using closures in the same sort of place - [https://golang.org/pkg/net/http/#example_ServeMux_Handle](https://golang.org/pkg/net/http/#example_ServeMux_Handle)

<comment><USER24> Yes, closures are present in many languages, but they are pervasive and unavoidable in Swift. You're avoiding addressing the idea that closures actually cause layers of (often unnecessary) indirection, make code more difficult to reason about, and make code harder to read - especially for jr. devs.

<comment> vertex-four No, I'm suggesting that you've not shown they must be used any more than in other languages - and obviously in order to make sense of the examples in Go's documentation you've got to know how they work, and Go is pretty much _the_ language designed for junior backend devs.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


Texas judge warns of civil war if Obama is re-elected - Suraj-Sun http://www.cnn.com/2012/08/23/us/texas-judge-warning/index.html

<comment><AUTHOR> And I warn that the Earth's crust will break apart should tomfoolery like this persist. What do either claims have to do with reality?</comment>


Science vs Reason - <AUTHOR> http://adam.blog.heroku.com/past/2009/11/24/science_vs_reason/ <comment><USER2> I think the author's conflation of empiricism and science isn't quite right. Instead, I would say that science is the combination of empiricism and reason. While ultimately the process of science needs to agree with (and predict) data, the harder part is usually using reasoning to build a model of what's going on.

<comment><USER3> Oh hell, definitions of science. There goes the planet.

Arguing about definitions can take all day, since all definitions are true by assumption. Let's try and find out what's happening here.

Feynman says science is the belief in the ignorance of experts (in his talk titled What is science?). This is a fun start, but it doesn't really bring us anywhere.

If you look at the world from a positivist perspective, like Mach did, there is an objective universe that we are refining a model of. In this sense, it is the loop

      while(model is not Truth):
        collect data
        adapt model to fit data

With this view, scientific models can claim to be superior to intuition in the sense of being an approximation of an ultimate truth.

A constructivist view, like what Hertz advocated, would be that we construct a model of the world that explains all available data. It's similar to the Machian view, but without the absolute truth. Here intuition can play a role, because any model that explains the current set of observations is right in a sense, and there is no partial order of rightness. Hertz stated that models of the world are to be ordered by correctness (how well they explain the data) and maximally correct models are to be ordered by elegance.

That leaves us pretty much where we started. The author is comparing data- driven decision making to experience and intuition-driven decision making. By Feynman's definition, one would place data ahead of experience. By Mach's, intuition is improved by availability of new data. The Hertzian view would be that data improves correctness and intuition improves elegance. When you are observing (or creating) something completely new, you have to throw away models and work from intuition and analogy. But that is just as data-driven, since the data tells you that it is outside the model. More data allows you to make better models. I don't think the distinction the author makes is all that valuable. Faced with a new situation, all you can do is work intuitively. That doesn't mean you should be ignoring your _data_ , just the _intepretations_ that your standard model has for it. Both elements are necessary for success, and all I got out of the article was that you shouldn't be ignoring data. I find that obvious.

<comment><USER4> I find the condition in your loop hard to test. A more realistic algorithm would be:

        while (model is not useful in the real world):
            collect data
            adapt model to fit data

The problem here is that "useful" is a quite low barrier. So for the second publication you also need to improve the usefulness of your model compared to the other models around.

That describes the work of scientists quite well.

<comment><USER3> Well, that was the joke, it was a play on while(True). It's an infinite loop, because you can never detect truth. And neither Hertz nor Mach said anything about usefulness. Also, I wonder why I can only think of physicists when thinking about definitions of science.

The work of a lot of scientists today can be described by

      while not tenured:
        publish
        bully others into citing you
        if you have time:
           do a bit of empirical work

</comment></comment></comment></comment><comment><USER5> I don't think this post is that interesting since reason is a large part of science, but I do want to share some history on "pure reason" and how it blinded humanity for 2000 years.

Pythagoras was a great mathematician, but also a big promoter of "pure reason" and mysticism. The religious movement he started was called Pythagoreanism (-) and one of the stories about Pythagoreanism is that they discovered irrational numbers, but they hid their discovery from the general public, since irrational numbers did not fit into their "rational world view". Plato and Aristotle are successors of Pythagoras. Much of the western philosophy and religion is built on their ideas. For them pure reason (and belief) was more important and valid than reality.

How much did "pure reason" blind us? Johannes Kepler was largely inspired by Plato and Aristotle and believed for most of his life that the solar system was built by the five Platonic solids (-). And most of his life was spent on building a model for this. Kepler abandoned his idea when he saw Tycho Brahe's excessive observations and data.

Personally, I think the world would have been a much better and more different place if experiments, data and reality were promoted instead of "pure reason" and mysticism. The Ancient Greece had their promoters of experiments (for example, Democritus (-) [the father of atomic theory], but he was hated by "pure thinkers" such as Plato).

* <http://en.wikipedia.org/wiki/Pythagoreanism>

* <http://en.wikipedia.org/wiki/Platonic_solid>

* <http://en.wikipedia.org/wiki/Kepler>

* <http://en.wikipedia.org/wiki/Democritus>

</comment><comment><USER6> I can't decide which part of this is more wrong: the part about science being purely empirical with no theoretical component, or the part about triangles having to have sides of equal lengths.

<comment><USER7> > the part about triangles having to have sides of equal lengths.

Did you miss the _equilateral_ qualifier?

EDIT: ah, it appears this qualifier was added to the blog post between your reading and mine.

</comment></comment><comment><USER8> Science is primarily about trying to explain the world. That's the theoretical, reasoning part. The explanations aren't derived from data; they begin as guesses.

What makes science special happens when two theories conflict and reason cannot choose between them. That's when experiment is used. (The theory which least explains the results is then rejected.)

Scientists use reason more than they use evidence, and most theories are rejected without bothering to test them.

What isn't widely acknowledged is that evidence itself isn't pure data but rather data + interpretation. Sometimes a better explanation can completely reverse the conclusion initially 'drawn' from a set of data.

</comment><comment><USER9> Reason and science are not separate things.

Aristotle's argument was possibly valid, however it was not sound, as (at least) one of his premises were incorrect.

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

I think the point the author is trying to make is that sometimes one must assume that their premises are correct, using one's intuition. However, one should test argument premises as soon as possible because, hey, our intuition could be wrong (just like Aristotle's was).

</comment><comment><USER10> The section on "when to apply science" seems very disparaging of our predecessors: how does he know that no one tried experiments to prove either of the two ideas?

Both require knowledge of drag (and preferably a vacuum chamber) to perform correctly. Without that understanding, experimental results would probably have "proven" the rational model.

Does anyone know when air resitance/drag were discovered? A quick google indicated some time in the 1600s

</comment><comment><USER11> I think the real point the author is arguing is closer to the difference between inductive v. deductive reasoning.

</comment><comment><USER12> Uhm ... does he mean equilateral triangle everywhere he says triangle?

</comment><comment><USER13> Stuff like this is why I have anti-procrastination on. What a waste of time. Stop voting up please.</comment>


Ask YC: Sharing everything in our startup via a videocast - what do you think of our approach? - <AUTHOR> http://endorseyou.com/blog/2008/01/27/endorseyou-videocast-1-jan-26-2008/

<comment><USER2> I prefer reading over watching as I can cover the same amount of material in a shorter amount of time, and it's easier to skim through so I can figure out if I even want to spend the time on that particular topic to begin with. I understand the idea behind wanting to do something other than a blog, since every company has one these days, but video isn't the right answer for me.

</comment><comment><USER3> Interesting idea, but a couple thoughts. I understand the desire to be transparent, but be careful what you share.

Also, condense everything into a shorter video. This first video could have accomplished the same thing in about half the time. I don't have time to watch 10 minute videos (unless they're _really_ interesting/captivating), but could probably watch 3 minute videos. Maybe try writing out a script rather than rambling off the top of your head.

<comment><AUTHOR> Timing makes sense. Thanks. I am not I want to hold too much back on the startup though, I'd like to share as much as possible, we'll see.</comment></comment>


Ask HN: Who runs archive.today / archive.is / archive.ph? - <AUTHOR> archive.today has been around for years and folks have been using it freely for archiving web content. There's a large organization behind the Internet Archive, but what's backing archive.today? What's preventing it from just shutting off one day? If it does, there's zero accountability to whose responsible.
Wikipedia provides very little background:
> Archive.today was founded in 2012. The site originally branded itself as archive.today, but in May 2015, changed the primary mirror to archive.is. In January 2019, it began to deprecate the archive.is domain in favor of the archive.today mirror.
The site has a FAQ [1], but it's lacking any information as well.
The site seems to change TLDs constantly.
Who's behind it? Why are the owners so secretive?
[1]: http://archive.ph/faq <comment><USER2> [https://en.m.wikipedia.org/wiki/Brewster_Kahle](https://en.m.wikipedia.org/wiki/Brewster_Kahle)</comment>