The Bitter Lesson (2019) - <AUTHOR> http://incompleteideas.net/IncIdeas/BitterLesson.html <comment><USER3> >> In computer chess, the methods that defeated the world champion, Kasparov, in 1997, were based on massive, deep search.

"Massive, deep search" that started from a book of opening moves and the combined expert knowledge of several chess Grandmasters. And that was an instance of the minimax algorithm with alpha-beta cutoff, i.e. a search algorithm specifically designed for two-player, deterministic games like chess. And with a hand-crafted evaluation function, whose parameters were filled-in by self-play. But still, an evaluation function; because the minimax algorithm requires one and blind search alone did not, could not, come up with minimax, or with the concept of an evaluation function in a million years. Essentially, human expertise about what matters in the game was baked-in to Deep Blue's design from the very beginning and permeated every aspect of its design.

Of course, ultimately, search was what allowed Deep Blue to beat Kasparov (3½–2½; Kasparov won two games and drew another). That, in the sense that the alpha-beta minimax algorithm itself is a search algorithm and it goes without saying that a longer, deeper, better search will inevitably eventually outperform whatever a human player is doing, which clearly is not search.

But, rather than an irrelevant "bitter" lesson about how big machines can perfom more computations than a human, a really useful lesson -and one that we haven't yet learned, as a field- is why humans can do so well _without search_. It is clear to anyone who has played any board game that humans can't search ahead more than a scant few ply, even for the simplest games. And yet, it took 30 years (counting from the Dartmouth workshop) for a computer chess player to beat an expert human player. And almost 60 to beat one in Go.

No, no. The biggest question in the field is not one that is answered by "a deeper search". The biggest question is "how can we do that without a search"?

Also see Rodney Brook's "better lesson" [2] addressing the other successes of big search discussed in the article.

_____________

[1] [https://en.wikipedia.org/wiki/Deep_Blue_(chess_computer)#Des...](https://en.wikipedia.org/wiki/Deep_Blue_\(chess_computer\)#Design)

[2] [https://rodneybrooks.com/a-better- lesson/](https://rodneybrooks.com/a-better-lesson/)

<comment><USER4> Are we certain that well-trained human players are not doing search? It's possible that a search subnetwork gets "compiled without debugger symbols" and the owner of the brain is simply unaware that it's happening.

<comment><USER3> >> Are we certain that well-trained human players are not doing search?

Yes- because human players can only search a tiny portion of a game tree and a minimax search of the same extent is not even sufficient to beat a dedicated human in tic-tac-to, leta lone chess. That is, unless one wishes to countenance the possibility of an "unconscious search" which of course might as well be "the grace of God" or any such hand-wavy non-explanation.

>> It's possible that a search subnetwork gets "compiled without debugger symbols" and the owner of the brain is simply unaware that it's happening.

Sorry, I don't understand what you mean.

<comment><USER5> Why do you dismiss the unconscious search that humans do in Go? Having learned Go some years ago it is such an exciting thing to realize that with practice the painstaking process of consciously evaluating the myriads possibilities of moves gives way to just "seeing" solutions out of nothing. You can really feel that your brain did wire itself up to do analysis for you at a level that is subconscious but interfaces so gracefully with your conscious cognition that it is a real marvel.

<comment><USER3> >> Why do you dismiss the unconscious search that humans do in Go?

The question is why you say that humans perform an unconscious search when they play Go. And what kind of search is it, other than unconscious? Could you describe it, e.g. in algorithmic notation? I mean, I'm sure you couldn't because if you could then the problem of teaching a computer to play Go as well as a human would have been solved years and years ago. But, if you can't describe what you're doing, then how do you know it's a "search"?

Note that in AI, when we talk of "search" (edit: at least, in the context of game-playing) we mean something very specific: an algorithm that examines the nodes of a tree and applies some criterion to label each examined node as a target node or not a target node. Humans are absolutely awful at executing such an algorithm with our minds for any but the most trivial of trees, at least compared to computers.

<comment><USER6> Here's a section of Michael Redmond's (9-dan professional Go player) commentary on the Lee Sedol vs AlphaGo matches: [https://youtu.be/yCALyQRN3hw?t=3031](https://youtu.be/yCALyQRN3hw?t=3031)

It's really fun to watch his commentary because he relentlessly plays "variations" — possible next moves and sequences — while waiting for the players, explaining the tradeoffs between moves and the consequences they lead to a few steps ahead in the game.

I don't know what to call "variations" but a tree search with heuristics. He does it slowly to explain it to the audience, but I have no doubt the same process runs much faster in his mind.

<comment><USER3> Fast enough to evaluate a few million future positions in a few seconds? Like I say in another comment, even professional players cannot "look ahead" more than a few ply, so whatever it is they're doing "in their heads", the tree search they're _reporting_ is not how they win games.

To clarify, you can come up with an explanation of anything that you do, or observe yourself or another person do. For example, you might explain how you hit a ball with racket in tennis or with a bat in baseball, etc, but that doesn't mean that the process you are describing is the process that your mind (let alone your brain) actually follows.

If nothing else because such a description will necessarily fudge important steps. For example, if I describe myself walking as "I put one foot in front of the other" \- have I explained enough about walking that it can now be reproduced mechanically? Experience teaches that -no.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Potentially also of interest is Rod Brooks' response "A Better Lesson" (2019): [https://rodneybrooks.com/a-better-lesson/](https://rodneybrooks.com/a-better- lesson/)

<comment><USER8> "Potentially" is an understatement! A much better take, IMO.

</comment></comment><comment><USER9> I guess it depends on what you trying to do. I had a computer vision problem where I was like, hell yeah, let's machine learn the hell out of this. 2 months later, and the results were just not precise enough. It took me 2 more months, and now I am solving the task easily on an iPhone via Apple Metal in milliseconds with a hand-crafted optimisation approach ...

<comment><USER10> His advice really concerns more scientific research and its long-term progress, and not really immediate applications. I think that injecting human knowledge can lead to faster, more immediate progress, and he seems to believe that too. The "bitter lesson" is that general, data-driven approaches will always win out eventually.

</comment></comment><comment><USER11> I think it's plausible that many technological advances follow a similar. Something like the steam engine is a step-improvement, but many of the subsequent improvements are basically the obvious next step, implemented once steel is strong enough, or machining precise enough, or fuel is refined enough. How many times has the world changed qualitatively, simply in the pursuit of making things quantitatively bigger or faster or stronger?

I can certainly see how it could be considered disappointing that pure intellect and creativity doesn't always win out, but I, personally, don't think it's bitter.

I also have a pet theory that the first AGI will actually be 10,000 very simple algorithms/sensors/APIs duct-taped together running on ridiculously powerful equipment rather than any sort of elegant Theory of Everything, and this wild conjecture may make me less likely to think this a bitter lesson...

<comment><USER12> I agree, the first AGI probably will be bodget together with loads of expert input. However, that's not evidence against the bitter lesson.

The _first_ of anything is usually made with the help of experts, but they're quickly overtaken by general methods that lever additional computation

<comment><USER11> Sorry, I didn't mean to suggest that the bitter lesson is _wrong_ , just that it's not bitter, it's actually how a whole bunch of stuff progresses.

<comment><USER12> Makes sense!

</comment></comment></comment></comment><comment><USER13> The current top contender on AI optical flow uses LESS CPU and LESS RAM than last year's leader. As such, I strongly disagree with the article.

Yes, many AI fields have become better from improved computational power. But this additional computational power has unlocked architectural choices which were previously impossible to execute in a timely manner.

So the conclusion may equally well be that a good network architecture results in a good result. And if you cannot use the right architecture due to RAM or CPU constraints, then you will get bad results.

And while taking an old AI algorithm and re-training it with 2x the original parameters and 2x the data does work and does improve results, I would argue that that's kind of low-level copycat "research" and not advancing the field. Yes, there's a lot of people doing it, but no, it's not significantly advancing the field. It's tiny incremental baby steps.

In the area of optical flow, this year's new top contenders introduce many completely novel approaches, such as new normalization methods, new data representations, new nonlinearities and a full bag of "never used before" augmentation methods. All of these are handcrafted elements that someone built by observing what "bug" needs fixing. And that easily halved the loss rate, compared to last year's architectures, while using LESS CPU and RAM. So to me, that is clear proof of a superior network architecture, not of additional computing power.

<comment><USER14> Yup - and this year's top CPUs have almost 10x the performance per watt of CPUs from even 2-3 years ago [0]

Raw computation is only half the story. The other half is: what the hell do we do with all these extra transistors? [1]

0 - [https://www.cpubenchmark.net/power_performance.html](https://www.cpubenchmark.net/power_performance.html)

1 - [https://youtu.be/Nb2tebYAaOA?t=2167](https://youtu.be/Nb2tebYAaOA?t=2167)

<comment><USER13> Any day now people will start compiling old programs to web assembly so that you can wrap them with election, instead of compiling them to machine code. Once that happens, we have generated another 3 years of demand for Moore's law X_X

</comment></comment></comment><comment><USER15> Got to believe, this is like heroin. Its a win until it isn't. Then where will AI researchers be? No progress for 20 (50?) years because the temptation to not understand but to just build performant engineering solutions, was so strong.

In fact, is the researcher supposed to be building the most performant solution? This article seems alarmingly misinformed. To understand 'artificial intelligence' isn't a race to VC money.

<comment><USER16> AI as a field relied mostly on 'understanding' based approaches for 50 years without much success. These approaches were too brittle and ungrounded. Why return to something that doesn't work?

DNNs today can generate images that are hard to distinguish from real photos, super natural voices and surprisingly good text. They can beat us at all board games and most video games. They can write music and poetry better than the average human. Probably also drive better than an average human. Why worry about 'no progress for 50 years' at this point?

<comment><USER15> Because, they can't invent a new game. Unless of course they were only designed to invent games, and by trial and error and statistical correlation to existing games, thus producing a generic thing that relates to everything but invents nothing.

I'm not an idiot. I understand that we won't have general purpose thinking machines any time soon. But to give up entirely looking into that kind of thing, seems to me to be a mistake. To rebrand the entire field as calculating results to given problems and behaviors using existing mathematical tools, seems to do a disservice to the entire concept and future of artificial intelligence.

Imagine if the field of mathematics were stumped for a while, so investigators decided to just add up things faster and faster, and call that Mathematics.

<comment><USER16> What GPT-3 and other models lack is embodiment. There are of course RL agents embodied in simulated environments, like games and robot sims, but this pales in comparison to our access to nature and the human society. When we will be able to give them a body they will naturally rediscover play and games.

Human superiority doesn't come just from the brain, it comes from the environment this brain has access to - other humans, culture, tools, nature, and the bodily affordances (hands, feet, eyes, ability to assimilate organic food...). AI needs a body and an environment to evolve in.

</comment></comment></comment></comment><comment><USER17> I think what he's basically saying is that priors (i.e. domain knowledge + custom, domain-inspired models) help when you're data limited or when your data is very biased, but once that's not the case (e.g. we have an infinite supply of voice samples), model capacity is usually all that matters.

</comment><comment><USER18> The article says we should focus on increasing the compute we use in AI instead of embedding domain specific knowledge. OpenAI seems to have taken this lesson to heart. They are training a generic model using more compute than anything else.

Many researchers predict a plateau for AI because it is missing the domain specific knowledge but this article and the benefits of more compute that OpenAI is demonstrating beg to differ.

<comment><USER19> Model compression is an active research field and will probably be quite lucrative, as you will literally able to save millions.

</comment></comment><comment><USER20> Interesting, I wonder what happens now that Moore's law is considered dead and we can't rely on computation power increasing year over year. To make further progess with general purpose search and learning methods we will need lots more computational power which may not be cheaply available. Then do we focus our efforts on developing more efficient learning strategies like the one we have in our minds ?

I do agree with the part about not embedding human knowledge into our computer models, any knowledge worth learning about any domain the computer should be able learn on its own to make true progress in AI.

<comment><USER21> The amount of compute used in the largest AI training runs has been exponentially growing:

[https://openai.com/blog/ai-and-compute/](https://openai.com/blog/ai-and- compute/)

The amount of compute required for Imagenet classification has been exponentially decreasing:

[https://openai.com/blog/ai-and-efficiency/](https://openai.com/blog/ai-and- efficiency/)

<comment><USER20> Very interesting links, thanks for sharing.

So the trend isn't changing we still need bigger models to make progress in NLP and CV, while the algorithmic effeciencies are promising but they aren't giving anywhere near the same improvements as larger models.

I'm curious how long this trend will continue and if there's anything promising that can reverse this trend

<comment><USER22> IMHO the main thing that determines this trend is whether the results are _good enough_. For the most part, there's only some overlap between the people who work on better results and people who work on more efficient results, those research directions are driven by different needs and thus also tend to happen in different institutions.

As long as our proof of concept solutions don't yet solve the task appropriately, as long as the solution is weak and/or brittle and worse than what we need for the main partical applications, most of the research focus - and the research progress - will be on models that try and give better results. It makes sense to disregarding the compute cost and other impractical inconveniences when working on pushing the bleeding edge, trying to make the previously impossible things possible

However, when tasks are "solved" from the academic proof-of-concept perspective, then generally the practical, applied work on model efficiency can get huge reductions in computing power required. But that happens _elsewhere_.

The concept of technology readiness level ([https://en.wikipedia.org/wiki/Technology_readiness_level](https://en.wikipedia.org/wiki/Technology_readiness_level)) is relevant. For the NLP and CV technologies that are in TRL 3 or 4, the efficiency does not really matter as long as it fits in whatever computing clusters you can afford; this is mainly an issue for the widespread adoption of some tech in industry by the time the same tech is in TRL 6 or so, and this work mostly gets done by different people in different organizations with different funding sources than the initial TRL 3 research.

</comment></comment></comment></comment><comment><USER23> For contrast, take this Hofstadter quote:

> This, then, is the trillion-dollar question: Will the approach undergirding > AI today—an approach that borrows little from the mind, that's grounded > instead in big data and big engineering—get us to where we want to go? How > do you make a search engine that understands if you don't know how you > understand? Perhaps, as Russell and Norvig politely acknowledge in the last > chapter of their textbook, in taking its practical turn, AI has become too > much like the man who tries to get to the moon by climbing a tree: "One can > report steady progress, all the way to the top of the tree."

My take is that there is something intelectually unsatisfying about solving a problem by simply throwing more computational power at it, instead of trying to understand it better.

Imagine in a parallel universe where computational power is extremely cheap. In this universe, people solve integrals exclusively by numerical integrations so there is no incentive to develop any of the Analysis theory we currently have. I would expect that to be a net negative in the long run as theories like Gen Relativity would be almost impossible to develop without the current mathematical apparatus.

<comment><USER3> Where is this quote from, please?

To play devil's advocate, I think retort to your comment about "intellectually satisfying" methods is "yeah, but, they work". And in any case, "intellectually satisfying" doesn't have a formal definition in computer science or AI so it can't very well be a goal, as such.

My own concern is exactly what Russel & Norvig seem to say in Hofstadter's comment: by spending all our resources on clmbing the tallest trees to get to the moon, we're falling behind from our goal, of ever getting to the moon. That's even more so if the goal is to use AI to understand our own mind, rather than to beat a bunch of benchmarks.

<comment><USER24> The quote is from this article:

[https://www.theatlantic.com/magazine/archive/2013/11/the- man...](https://www.theatlantic.com/magazine/archive/2013/11/the-man-who- would-teach-machines-to-think/309529/)

<comment><USER3> Thank you.

Gosh, what an awkward pose, that first picture.

</comment></comment></comment></comment><comment><USER25> Previous discussion: [https://news.ycombinator.com/item?id=19393432](https://news.ycombinator.com/item?id=19393432)

</comment><comment><USER26> This lesson can be applied to synthetic biology right now, though it is still in its infant stages.

At least a few of the original synthetic biologists are a bit disappointed in the rise of high-throughput testing for everything, instead of "robust engineering". Perhaps what allows us to understand life isn't just more science, but more "biotech computation".

</comment><comment><USER27> A slightly more recent post, that really opened my eyes to this insight (and references The Bitter Lesson) is this piece by Gwern on the scaling hypothesis: [https://www.gwern.net/newsletter/2020/05#gpt-3](https://www.gwern.net/newsletter/2020/05#gpt-3)

</comment><comment><USER19> This reminds me of the Banko and Brill paper "Scaling to very very large corpora for natural language disambiguation" \- [https://dl.acm.org/doi/10.3115/1073012.1073017](https://dl.acm.org/doi/10.3115/1073012.1073017).

It is exactly the point and it is something not a lot of researchers really grok. As a researcher you are so smart, why can't you discover whatever you are seeking? I think in this decade, we see a couple more scientific discoveries by brute force which will hopefully will make the scientific type a bit more humble an honest.

</comment><comment><USER28> I have read this before and broadly agree with the point—it's no use trying to curate expertise into AI. But I don't think modeling p(y|x) or it's friend p(y, x) is the end we're looking for either. But, it's unreasonably effective, so we keep doing it. (I don't have an answer or an alternative; causality appeals to my intuition, but it's really clunky and has seemingly not paid off.)

<comment><USER29> Actually I feel like causalities time has come. The framework that has convinced me is just the simple approach of doing controlled experiments over observational data to establish causal links via DAGs no need for any drama!

<comment><USER28> It seems to be just shuffling around the hard part of the problem. Causality still depends on some unstructured optimization problem of generating and evaluating causal diagram candidates. I haven't really seen it applied where the set of potential causal relationships is huge.

</comment></comment></comment><comment><USER30> > _At the time, this was looked upon with dismay by the majority of computer- > chess researchers who had pursued methods that leveraged human understanding > of the special structure of chess._

This seems problematic as a concept in itself.

Sure human players have a "human understanding of the special structure of chess". But what makes them play could be an equally "deep search" and fuzzy computations done in the brain that and not some conscious step by step reasoning. Or rather, their "conscious step by step reasoning" to my opinion probably relies on tops on subconscious deep search in the brain for pruning the possible moves, etc.

I don't think anybody plays chess at any great level merely by making conscious step by step decisions.

Similar to how when we want to catch a ball thrown at us, we do some thinking like "they threw it to our right, so we better move right" but we also have tons of subconscious calculations of the trajectory (nobody sits and explicitly calculates the parabolic formula when they're thrown a baseball).

</comment><comment><USER31> building a model for and with domain knowledge == premature optimization? In the end a win on kaggle or a published paper seems to depend on tweaking hyperparameters based on even more pointed DK: data set knowledge...

I wonder what would be required to build a model that explores the search space of compilable programs in say python that sorts in correct order. Applying this idea of using ML techniques to finding better "thinking" blocks for silicon seems promising.

<comment><USER3> >> I wonder what would be required to build a model that explores the search space of compilable programs in say python that sorts in correct order.

Oh, not that much. You could do that easily with a small computer and an infinite amount of time.

<comment><USER31> With Deep Thought and an infinite amount of time, you can get the answer to life the universe and everything...

</comment></comment></comment><comment><USER32> I would like to offer what I believe is a counterpoint, but I am not a trained ML researcher so I am not sure if it is even a counter-point. Maybe it is just an observation.

I recently participated in the following Kaggle competition:

[https://www.kaggle.com/allen-institute-for- ai/CORD-19-resear...](https://www.kaggle.com/allen-institute-for- ai/CORD-19-research-challenge/)

Now, you can see the kinds of questions the contest expects the ML to answer, just to take an example:

"Effectiveness of movement control strategies to prevent secondary transmission in health care and community settings"

All I can say is that the contest results, on the whole, were _completely underwhelming_. You can check out the Contributions page to verify this for yourself. If the consequences of the failure weren't so potentially catastrophic, some might even call it a little comical. I mean, its not as if a pandemic comes around every few months, so we can all just wait for the computational power to catch up to solve these problems like the author suggests.

Also, I couldn't help but feel that nearly all participants were more interested in applying the latest and greatest ML advancement (Bert QA!), often with no regard to the problem which was being solved.

I wish I could tell you I have some special insight into a better way to solve it, given that there is a _friggin pandemic_ going on, and we could all very well do with some _real friggin answers_! I don't have any such special insight at all. All I found out was that everyone was so obsessed with using the latest and greatest ML techniques, that there was practically no first principles thinking. At the end, everyone just sort of got too drained and gave up, which is reflected by a single participant winning pretty much the entire second round of 7-8 task prizes by the virtue of being the last man standing :-)

I have realized two things.

1) ML, at least when it comes to understanding text, is really overhyped

2) Nearly everyone who works in ML research is probably overpaid by a factor of 100 (just pulling some number out of my you know what), given that the results they have actually produced have fallen so short precisely when they were so desperately needed

</comment><comment><USER33> It's funny when you've been thinking for months about how speech recognition could really benefit from integrating models of the human vocal tract…

and then you read this

<comment><USER34> Here's a thing: incorrect assumptions that are built into a model are more harmful than a model that assumes too little structure. If you model the vocal tract and the actual exciting things are the transient noises that occur when we produce consonants, at best there's lots of work with not much to show and at worst you're limiting your model in a negative way. That's the basis for the "every time we fired a linguist, recognition rates improved" from 90s speech recognition.

On the other end of the spectrum, data and compute ARE limited and for some tasks we're at a point where the model eats up all the humanity's written works and a couple million dollars in compute and further progress has to come from elsewhere because even large companies won't spend billions of dollars in compute and humanity will not suddenly write ten times more blog articles.

<comment><USER16> I think we're far from having used all the media on the internet to train a model. GPT-3 used about 570GB of text (about 50M articles). ImageNet is just 1.5M photos. It's still expensive to ingest the whole YouTube, Google Search and Google Photos in a single model.

And the nice thing about these large models is that you can reuse them with little fine-tuning for all sorts of other tasks. So the industry and any hacker can benefit from these uber-models without having to retrain from scratch. Of course, if they even fit the hardware available, otherwise they have to make due with a slightly lower performance.

<comment><USER34> GPT-3 is too large to be useful for practical purposes. Look it up. It's the equivalent of a Formula 1 car or a Saturn V rocket - an impressive feat of technology but of no practical relevance for getting you to work and back.

And certainly fine-tuning and distillation are part of the story why we wanted these large do-all-be-all models in the first place, but the question of what's next for the state of the art - and that currently would be featurization through a large transformer model (i.e. BERT, ERNIE, GPT-2) with some deep-but-not-huge task-specific model on top - isn't simply answered by "more compute".

</comment></comment></comment></comment><comment><USER35> When it comes to games, exploitation (of tendencies, weaknesses), misdirection, subterfuge and yomi play a far bigger role in winning than actual skill. Humans are much better than computers at all of those. Perhaps a dubious honour, but an advantage nonetheless. We're only really in trouble when the machine learns to reliably replicate the same tactics.

<comment><USER36> I think that computers managed to beat humans at poker already. (Online poker, which is different from physical games, where of course AI cannot compete)

</comment></comment><comment><USER37> [http://norvig.com/chomsky.html](http://norvig.com/chomsky.html)

</comment><comment><USER38> > When a simpler, search-based approach with special hardware and software > proved vastly more effective, these human-knowledge-based chess researchers > were not good losers.

It's like calling Russia a loser in Cold War. Technically the effect is reached; practically the side which "lost" gained possibly largest benefits.

</comment><comment><USER39> Today Elon Musk announced that Tesla is going to reach level-5 autonomy by the end of the year. Specifically

 _There are no fundamental challenges remaining for level-5 autonomy. There are many small problems. And then there 's the challenge of solving all those small problems and then putting the whole system together._ [0]

I feel like this year is going to be another year in which the proponents of brute-force AI like Elon and Sutton will learn a bitter lesson.

[0] [https://twitter.com/yicaichina/status/1281149226659901441](https://twitter.com/yicaichina/status/1281149226659901441)

<comment><USER40> Elon Musk announcing something doesn't make it true

</comment></comment><comment><USER41> TL;DR: AI needs a hand up, not a handout. "We want AI agents that can discover like we can, not which contain what we have discovered." I was internally protesting all the way through the note, until I got to that penultimate sentence.

<comment><USER42> Yeah, it takes a careful, charitable reading to not interpret it as "don't bother with understanding or finding new methods, just throw more FLOPS at it".

</comment></comment><comment><USER43> That is a wall of words, I can't even read it in that format.

</comment><comment><USER44> This page seems to be down. Is there a mirror?

</comment><comment><USER45> >We want AI agents that can discover like we can, not which contain what we have discovered. Building in our discoveries only makes it harder to see how the discovering process can be done.

I think these lessons are less appropriate as our hardware and our understanding of neural networks improve. An agent which is able to [self] learn complex probabilistic relationships between inputs and outputs (i.e. heuristics) requires a minimum complexity/performance, both in hardware and neural network design, before any sort of useful[self] learning is possible. We've only recently crossed that threshold (5-10 years ago)

>The biggest lesson that can be read from 70 years of AI research is that general methods that leverage computation are ultimately the most effective, and by a large margin

Admittedly, I'm not quite sure of the author's point. They seem to indicate that there is a trade-off between spending time optimizing the architecture and baking in human knowledge.

If that's the case, I would argue that there is an impending perspective shift in the field of ML, wherein "human knowledge" is not something to hardcode explicitly, but instead is implicitly delivered through a combination of appropriate data curation and design of neural networks which are primed to learn certain relationships.

That's the future and we're just collectively starting down that path - <USER2> will take some time for the relevant human knowledge to accumulate.</comment>


Ask HN: Would you mind giving me your feedback on one of my main sideproject? - <AUTHOR>

Dear Hackers, I'm sbout to go public beta with my sideproject http://www.mcsquare.me and I'm looking for some feedback to improve the public beta 1 of the service and the roadmap. I'm looking for any kind of feedback, regarding the design, the readability and of course the features of the site, and whatever you think should be improve. thanks <comment><USER2> My frist impression was that it looks very much like one of these spam sites.. I guess the adwords taking up most of the screen property above the fold give that impression. The add looks too much like the rest of the site for me. I know that this will drive clicks, but it doesn't make me want to get back to the site again.

2\. the text is barely readable. I've got a perfect eyesight, but small white letters on dark background + small line heights make it hard to read.

3\. What's up with the title? When I see a site entitled "Free RSS feed.." (Chrome doesn't display more in the tab title) I automatically classify this site as one of the "Free Icons", "Free Screensavers" etc. sites. You should move "McSquare" to the begginning of the title.

4\. I like the image view of news (Onion & Twitter)

And here are some more comments. This is a screenshot of when I first entered your site. Notice how little usable information is on the page and how much does the ad take.

[http://img.skitch.com/20101017-eq5huu5yhm6egmby4p7p6ys8c4.jp...](http://img.skitch.com/20101017-eq5huu5yhm6egmby4p7p6ys8c4.jpg)

Overall: \- Looks too much like a spam site \- I wouldn't switch from Reddit & HN to read the news on your site \- Good view of news images.

Hope I didn't kill your enthusiasm :)

<comment><USER3> Since I use adblocking I did not see ads, but I still got that impression. I guess it is the "wall of images on the bottom" that looks like many imagehoster sites' ads.

<comment><AUTHOR> Working on it to make the site look less like a place with ads and to improve the design (this should solve the problem).

</comment></comment></comment><comment><USER4> * Navigation below the logo: the font is as dark as the border with too less padding. Perhaps some other style would work.

* Too small font for the new headlines

* The ads on the above are a huge distraction. I would suggest not having ads (atleast initially). Hint: Monetizing small sites with ads isn't going to work out to a large amount.

* You have pagination for a news aggregator. Feature suggestion: Why not a page that allows users to pick whatever news they want to read?

* "rss-feeds-talk", not something anyone would prefer. Why not just call it "comments" or something simpler?

* The separator between news headlines is as bright as the news headline. Would look good if the contrast of the separator is somewhere between that of the page background and the font color of the news headline/topic.

* How are you picking the news headlines for the news update ticker at the top of the site? I would suggest customising it according to users. Have a like button (not the facebook like button. just one for your site) and also use the data as to which topic the user comments on to personalize news. Add those headlines to the ticker.

Since you posted it here for review, I assume you are ready to take both good points and in-the-face criticism. So if you want a frank opinion, it looks like popurls.com with a little more ads. Perhaps you could take a little design inspiration from that site and add a little more features that differentiates yours from their app. There's also another similar app called Alltop run by Guy Kawasaki. Check that out too for some design inspiration. Another really cool news app is Dooblebuzz (<http://doodlebuzz.com>) by Brendan Dawes. This one has a really off-beat experimental interface that it fun to use.

But if it's a fun project. This is nice. The design needs polishing.

P.S: This is way better than my first site, which had 50 html pages with inline styles and dark green background, and was supposed to be an online bookstore :) Not to mention I even wanted to dropout of school to launch it.

<comment><AUTHOR> Thanks for the feedback GreenM0nk ,working to improve the site with the feedback here.

</comment></comment><comment><USER5> several things come to my mind watching the site:

1\. i could not figure out, what exactly the site is about. please write a short sentence or paragraph, on what users can expect.

...i just saw that you have this information in the title tag. put it in the header somewhere . your users will thank you.

2\. you use caps for the main navigation and have 13 nav items. the nav items are very hard to read (and there´s no space between the text and the borders). capitalizing only the first letters would help a lot. regarding that there are many items (and subitems) perhaps it would be better to put the navigation in a left sidebar.

3\. you use tahoma for text and content. serif fonts are hard to read (on screens). if you wanna have serif fonts, use them for headlines and serifless fonts for content. again you users will thank you.

4\. there is the date in the top right. most users will know which is today´s. so it will distract many users from the real content.

5\. in the top top navigation there are options for font size, background color,... i´d remove all of these and carefully set typography and colors that they fit most users needs.

6\. like this buttons: the images are cut out from a white background, so there are those little white pixels left on the edges. though this is a very smallish issue it gives the users the impression that this is an unprofessional site. i guess you don´t want that :)

7\. using adwords is ok, but putting ads (and no content) in the very center looks like you wanna make a quick buck and are not at all interested in providing real information/benefit. users immediately sense that and i guess about 90% of your visitors will leave the site. if you wanna make money out of this, you should get more creative. (extra tipp: making money from adwords works quite bad today)

8\. generally read some articles on design and best practices. this will help you improve your site(s) more than you might think.

martin

<comment><AUTHOR> Thanks a lot for the great feedback Martin, I'll finally go with a redesign of the whole site and carefully pick fonts and colors with a new approach.

Adwords will be a very tiny amount of my revenues and I'll consider not using them at all, and probably will not use them on the main release, but they are really a very tyni part on my business model.

</comment></comment><comment><USER6> Nice site overall - looks like you put a lot of time and effort into it.

The only thing I would point out is that the site looks kind of "busy" to me. In some ways it looks like a clone of a lot of other aggregators out there, or a site for a parked domain.

Maybe more whitespace? More colors? Make it fun?

Prooost! :P

<comment><AUTHOR> yup, a lot of time indeed, thanks.

Ok, I took my design inspiration from the nytimes, but it seems like, it doesn't fit well with the site's layout, I'll improve the design, means more colors and whitespace, this should make it fun and less...cold or less work and research tool. Thanks

Prooost! :)

</comment></comment><comment><USER7> One small thing I noticed is that selecting a white background on the main screen doesn't "stick" when you choose news/america.

Another small UI thing: the choice of large font is welcome, but didn't go as large as I wanted. When I used command-+ on Chrome (Mac) to go a bit larger, I ended up with horizontal scrollbars. This is a pet peeve of mine. Why can't you use percentage measures for the different regions? I don't mind some vertical scrolling, but horizontal is much worse.

Edit: I forgot to say: Nice job overall, despite my nit picking above. Also, where did the name come from?

Edit 2: The title of the news / america section comes out as "Amerika". Is that just a typo, or a political statement? (I've seen that spelling used to imply the U.S. is being taken over by Facists or something.)

<comment><AUTHOR> The white background issue is a bug, I'll fix it today, I somehow miss that one.

Indeed the font issue is a problem I have to figure out how to solve, I'm playing around with some fonts , but haven't yet found the perfect fit , so you won't even need to change the font size, if it doesn't work, I will have to change the approach and probably go with your suggestion on percentage measures. Thanks for the great critic and the nice words on the product.

clickable: <http://www.mcsquare.me/>

EDIT: Oh, forgot to tell you about the name, I'm a fan of Einstein ( E=mc² = mcsquare ) and bought the domain to create a twitter alike board for my University (Mecanical Eng.), but I find out, it wasn't a great idea, so as I switched to this project, the domain was just perfect for me, and here's the logic: site handle about rss feeds, Einstein was a very smart guy, ----> Tag line: Feed (from feeds) your brain (be smart with all theose infos like )---> feed your brain with all the latest news and knowledge.

Amerika is a typo, this happen when one write too much German stuff, "ca" is mostly "ka" in German, updating it now.

<comment><AUTHOR> Could you point me to the "Amerika" url? I'm still missing it!

</comment></comment></comment><comment><USER8> I don't like the ad locations, sure you want to make a bit of money out of it but to me it just on first glance has the feel of a made for adsense spam site. I would leave the first row ad free and put the 2 ad blocks in the right most column of the second and third rows.

<comment><AUTHOR> got it, I'll remove the ads from the top left position, of course that's one of the best place for Adrevenues , but since the user experience is horrible with the ads staying there, I'll move them somewhere else, I'll try your suggestions. Thanks

</comment></comment><comment><USER9> There seems to be a problem with the database connection; "Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 111 in /home/djachao/mcsquare/connect.php on line 2 connection failed"

</comment><comment><USER10> It's really slow and the images don't seem to load. Also, remove the advertising for 6 months. If you get users, then you can add it back in.

<comment><AUTHOR> Great approach, I'll try it this way, if they don't work later, I will just remove them. Thanks

</comment></comment><comment><USER11> reminds me of <http://popurls.com> and <http://alltop.com>

<comment><USER11> the menu at top reminds me of alltop, and the layout of the feeds reminds me of popurls.</comment></comment>


Saudi Arabia declares online satire punishable offence - <AUTHOR> https://www.france24.com/en/20180904-saudi-arabia-declares-online-satire-punishable-offence <comment><USER2> Ah, Saudi Arabia. The nation with a seat on the FUCKING HUMAN RIGHTS COUNCIL of the UN.

</comment><comment><USER3> I wonder where those chaps in UN go when it comes to Saudi Arabia. Maybe they also fill their gas tanks and pockets from Saudi.

</comment><comment><USER4> "Producing and distributing content that ridicules, mocks, provokes and disrupts public order, religious values and public morals through social media ... will be considered a cybercrime punishable by a maximum of five years in prison and a fine of three million riyals ($800,000)"

<comment><USER5> I expected execution by guillotine as Semitic law is based on "eye for eye".

<comment><USER4> Huh? Wouldn't that suggest they'd satirize you online?

<comment><USER5> No, this is not Old Roman Law. In Semitic law, you take away the means to commit crime, not make him victim of himself. In this case, it is the brain.

</comment></comment></comment></comment><comment><USER6> And Spain judges a man for "offences against god", is a global epidemy.

<comment><USER7> Wow. I didn't believe at first but then looked it up. It is real and it is shocking.

That's pretty close to SA except maybe the process is longer and you get a better treatment in prison.</comment></comment>


JQuery 1.11 and 2.1 Released - <AUTHOR> http://blog.jquery.com/2014/01/24/jquery-1-11-and-2-1-released/ <comment><USER2> Appears this fixes the annoying warning in chrome, yay!

        event.returnValue is deprecated. Please use the standard event.preventDefault() instead.

<comment><USER3> That warning was bothering me enough that I ended up forking jquery-rails simply to drop in 1.11.beta3. Until jquery-rails gets updated (doesn't appear to be at the time of writing) this is an easy one liner:

gem 'jquery-rails', github: 'onpaws/jquery-rails'

</comment></comment><comment><USER4> Rejoice! No more

        event.returnValue is deprecated. Please use the standard event.preventDefault() instead.

</comment><comment><USER5> So happy to see official jQuery releases on npm. No more need for unmaintained third-party jquery-{browser,browserify,client,etc} packages.

<comment><USER6> Can I ask why you would want jQuery on npm? A lot of jQuery's use is DOM manipulation, something that as far as I'm aware doesn't exist on Node.js

<comment><USER7> It's mainly so that you can use Browserify [1]. Browserify and Bower both integrate the Node.js module system into client-side JS.

You basically get a unification of backend and frontend languages -- both using JS, the same dependency and versioning system, the same way to require modules, and of course the same code. Being able to use the same libraries on the backend and frontend is huge. (But not required. Browserify/npm are still useful if you don't use Node.js.)

And it's cleaner. Relying on the Node.js dependency system means you can just import modules the same was in Node.js, instead of maintaining an ugly "vendor/" folder where you manually copy things like jQuery.

I suspect (I haven't gotten this far yet) that you can more easily unit-test your code this way. You just need a "headless" browser environment (using jsdom etc.) that's compatible jQuery.

Browserify is actually very small tool. It leaves all package management to npm, and all Browserify does is to generate a JS file that includes all your package.json-specified modules in neatly namedspaced dependency-initialization order, ready to be imported using a script tag.

There is also Bower [2] from Twitter. Unlike Browserify, Bower is mainly a wrapper around npm that acts as a separate package manager, but doesn't actually implement the glue needed to import any JS on the client side.

[1] [http://browserify.org](http://browserify.org)

[2] [http://bower.io](http://bower.io)

<comment><USER8> Not sure if bower has something to do with npm cause it's a separate package manager.

<comment><USER7> You're absolutely right. I thought it was based on nom, but it's not.

</comment></comment></comment></comment></comment><comment><USER9> Anyone know if the jQ team ever plans on moving their deferreds to the promises/A+ spec?

<comment><USER10> from earlier discussions the conflict is with maintaining the current chainability/api

</comment></comment><comment><USER11> I was upgrading jQuery, and had a lot of different versions on the site. One of them was this gem: [https://gist.github.com/jcampbell1/8601940/raw/f409862786b8f...](https://gist.github.com/jcampbell1/8601940/raw/f409862786b8f577aed91236ee37005321f64c51/old+jquery) I think it is jQuery version 0.3.

It was actually being used on a few minor pages, and still worked on modern browsers.

</comment><comment><USER12> And we're still stuck on 1.4.2! Surprisingly difficult getting rid of older versions if your plugins all depend on an old version...

we've got to rewrite 4 plugins due to API breaks to get anywhere near this version.

Will never import any community plugins again. jQuery and jQuery UI only.

<comment><USER13> "community" doesn't mean a large volunteer workforce. If you're using those plugins, why not work with the upstream to fix compatibility?

<comment><USER12> Most of them are abandoned and have restrictive licenses so you're SOL then.

<comment><USER14> This is a hazard of open source or shared community code in general, I think most of us have run into -- and more will be as history moves forward, more years and more projects means more abandoned projects, and more dependency changes meaning abandoned projects become liabilities.

To some extent there's not much you can do, the risk is just part of the game; you're making a tradeoff, risking future lock-in to abandonware, by gaining produtivity by using someone elses shared code.

But the one thing you CAN do is avoid using projects with restrictive licenses. It takes something pretty exceptional ly valuable (AND with all the signs of being a project with legs) to get me to use something with a restrictive license. If it's got a sufficiently flexible license AND is popular, it's pretty likely someone (if not me) is going to step in to do the bare minimum of changes neccessary for security or dependency upgrades.

The other thing one can do is try not to use projects with really poorly written/organized code -- cause it's an additional barrier to someone else patching it once it's abandonware. But that's harder to judge correctly, and anyway if the thing is really useful and difficult for me to reinvent myself, I'm likely to ignore perceived bad code quality and use it anyway.

<comment><USER15> > But the one thing you CAN do is avoid using projects with restrictive > licenses.

Could you provide some rules of thumb for how to quickly "avoid using projects with restrictive licenses" (short of getting a law degree). I assume there are a handful of popular licenses that you just know are what you are looking for (e.g. BSD, Apache, GPL2, or something) and you look for that. Otherwise you scan for specific restrictive or unrestrictive verbage. For the uninitiated, could you explain what you are looking for?

<comment><USER13> That'd be it exactly: if it's not e.g. {BSD,Apache,GPLv3,CC0} think carefully before using it. If they haven't picked a license, email first and ask – if they can't pick a license, it's not a serious project.

</comment></comment></comment></comment></comment></comment><comment><USER16> Did I read this right, they added back support for IE6, 7 and 8 on the 1.x branch?

<comment><USER17> No, the post is a little oddly worded, but 6/7/8 support wasn't ever removed from the 1.x branch. Just important to note that the 2.x branch removes support for them.

</comment></comment><comment><USER18> Jquery hide and show was incredibly slow as well, did they fixed that?

<comment><USER19> Not sure why you got downvoted. It still is slower than expected. I published a jsperf here with jquery 1.11.

[http://jsperf.com/jquery-show-hide-vs-css-display-none- block...](http://jsperf.com/jquery-show-hide-vs-css-display-none-block/21)

Show()/hide() is still very expensive because it checks the visibility before setting it.

What surprised me though is that $elem.css('display', 'none') is equally slow. That smells like an upcoming pull request.

$elem[0].style.display='none' is still the way to go.

<comment><USER20> If you've got some ideas a ticket at bugs.jquery.com would be a great place to start, with whatever analysis you have.

Remember, however, that many of your "comparable" test cases are making assumptions that jQuery can't make. For example, .show() sets the display property back to what it was before a previous .hide(), to do that it has to query the display property when hiding. If you try some ideas for fixes, the unit tests should indicate whether you've run afoul of such problems.

Is the performance of .show()/.hide() causing issues? Under what conditions?

<comment><USER19> I agree with hide() and show(). Their performance is not that important since they are a swiss army knife and hopefully not used on too many elements at a time. The bad performance of .css() in the jsperf above is strange, though.

Profiling shows that it is not one big function but many small which accumulate. The camelCase function alone takes 3% of the speed in Chrome, the internal access() structure takes nearly half the time itself.

Speed could be achieved with the byte cost of specialised functions for easy cases like css(key, value) where you can skip most of the checks and queuing.

This shortcut for show/hide is roughly 16x faster and should remain more or less so even after extending it to cache the previous style and adding common exceptions for <tr>, !important, etc. Shortcuts like those could be used if it is clear that the chosen function signature is very easy like $('p').css('display', 'none') so all other checks can be skipped but would add to the payload of jQuery.

        $.fn.cssDisplay=function(show) {
          var d=show?'block':typeof show==='undefined'?'':'none',
            length=this.length, i=0;
          for(;i<length;) {
            this[i++].style.display=d;
          }
          return this;
        }

I'll have a look into a more generic and faster .css() solution.</comment></comment></comment></comment>


Ask HN: Would you ever pay for a browser? - <AUTHOR> What features would you want to have in it? <comment><USER2> I would pay for a browser that allowed me to

\- build puppeteer/selenium like automation scripts without writing code

\- use a lot of extensions built in: like search on every search engine rather than choose 1 default.

\- help me be more productive—black/white listing. Gives me reports of my web usage habits. Classifies my web history automatically.

</comment><comment><USER3> At this point not really. As soon as that browser started to gain traction I'm pretty sure that the company would cash out to the next highest bidder and sell any and every scrap of information they find valuable.

</comment><comment><USER4> What would be the incentive for the browser company? I would think they would do what ever it takes to keep me in their browser-platform...

Maybe they would release the browser for free, but create a market place for premium extensions and skim money off the transactions... This would lock you into their browser...

Oh wait that's already happened with Chrome/Firefox...

</comment><comment><USER5> Ever?

Browsers have been free for personal use for a _long_ time.

Here, see the announcement for Netscape Navigator (October 1993) [0]

>Customers who download the software do so for personal use only. Commercial users can purchase supported, licensed copies of Netscape directly from Netscape Communications. Pricing starts at $99 per user, which includes a 90-day warranty and customer support. Volume discounts are available for multiple user licenses. For information on volume licensing of Netscape, send electronic mail to email@example.com.

[0] [https://web.archive.org/web/20061207145832/http://wp.netscap...](https://web.archive.org/web/20061207145832/http://wp.netscape.com/newsref/pr/newsrelease1.html)

</comment><comment><USER6> Yes, but no ads, anti data gathering features as part of it and a good macro language for automation.

BTW, why don't the current browser have macros? Ya, they all have JS but it's not the same.

</comment><comment><USER7> I think it's too ingrained in our software ecosystem / landscape as free software to bother trying to charge for it.

But as other commenters have said, if you offered something of really high quality with integrations to other software then I could see it being possible.

I myself don't know what that looks like, so perhaps the Steve Jobs quote applies here: "People don't know what they want until you show it to them".

</comment><comment><USER8> No, especially if it is chromium based.

</comment><comment><USER9> Pay? No.

I have been exclusively using FOSS software since the first Linux releases.

I have been known to donate or contribute though.

</comment><comment><USER10> I might pay for a browser with extra features that I need for a certain workflow or job. But it would depend. It would really be an X with an integrated browser rather than paying for the browser itself.

</comment><comment><USER11> Depends on the features and quality of the thing.

I used to think I would never pay for an IDE, but then intellij changed my mind.

</comment><comment><USER12> I won't use any closed source browser.

Paying for it sounds like a joke.

</comment><comment><USER13> I would pay for the browser without ads and maybe with more extra features.

<comment><USER14> What is your opinion on Brave browser?

<comment><USER13> Their mission to fix the Internet sounds interesting. I'll try it but isn't it free?))</comment></comment></comment>


North Carolina's End Run Around Marriage Equality - <AUTHOR> http://secondnexus.com/social/north-carolinas-run-around-marriage-equality/ <comment><USER2> Isn't the articles comparing Judaism to homosexuality a tad overboard?</comment>


Earthquake Hits Myanmar, 7.0 Magnitude - <AUTHOR> http://earthquake.usgs.gov/earthquakes/recenteqsww/

<comment><USER2> This has raised a lot of discussion here in the NW about Cascadia fault line, which runs off the coast and causes an 8.0 or higher earthquake about every 250 years. It has been 311 years since the last one.</comment>


Is the only way to beat Android to use Android? - <AUTHOR> http://www.forbes.com/sites/ewanspence/2013/03/23/is-the-only-way-to-beat-android-to-use-android/

<comment><USER2> Hmmm... I wonder how many Mac notebook sales are to people who actually run Windows on it via emulation?

</comment><comment><USER3> Android is a very sweet OS, and the app environment has proved to be very attractive, but a huge part of Android's value is in Google's proprietary suite of apps and the Google ecosystem those apps access. Indeed most of that value is in the ecosystem.

Having Android apps is surely a worthwhile short cut to consider if your aim is to compete with Google, but if you don't have Google's ecosystem, you need, at least, an ecosystem as big and rich as Amazon's.

And if you have such an ecosytem, you have to ask if your would't rather have your own app environment.</comment>


Ask HN: Any good books on developing cocoa macos apps with swift 3? - <AUTHOR> Looking for suggestions on good books or other resources about developing cocoa macos apps (desktop apps) with swift 3. <comment><USER2> I would recommend these following books:

1\. Cocoa Programming for OS X: The Big Nerd Ranch Guide - [https://www.amazon.com/Cocoa-Programming-OS-Ranch- Guides/dp/...](https://www.amazon.com/Cocoa-Programming-OS-Ranch- Guides/dp/0134076958/)

2\. Swift Programming: The Big Nerd Ranch Guide - [https://www.amazon.com/Swift-Programming-Ranch-Guide- Guides/...](https://www.amazon.com/Swift-Programming-Ranch-Guide- Guides/dp/013461061X/)

<comment><AUTHOR> Will check them out, thanks!</comment></comment>


When the Office Is Like a Biohazard Lab - <AUTHOR> https://www.nytimes.com/2020/06/07/business/coronavirus-offices-cdc-guidelines.html <comment><USER2> >And the open floor plans that had become hallmarks of the modern office are going to be scrapped, with desks repositioned farther apart.

>"All of those amazing open spaces that we created?" Ms. Katsoudas said. "We're now going to have reconfigure them."

I guess "amazing" is in the eye of the beholder. I hate open office plans.</comment>


Some of the biggest web hosting sites were vulnerable to simple account takeover - <AUTHOR> https://techcrunch.com/2019/01/14/web-hosting-account-hacks/ <comment><USER2> OVH's answer: [https://twitter.com/olesovhcom/status/1085284004721541122](https://twitter.com/olesovhcom/status/1085284004721541122)</comment>


Tim Westergren, digital radio pioneer, returns to break music industrial complex - <AUTHOR> https://www.fastcompany.com/90494948/pandora-broke-my-heart-tim-westergren-digital-radio-pioneer-returns-to-break-the-music-industrial-complex <comment><AUTHOR> Article is about Sessions, a new free livestream service for artists, allowing tips from fans, in beta in 200+ countries

Original title was too long. It was:

'Pandora broke my heart': Tim Westergren, digital radio pioneer, returns to break the music industrial complex</comment>


Show HN:96% of the Top Newspapers RSS are useless: We fix that - <AUTHOR> http://www.feedsapi.com/ <comment><AUTHOR> We just release our second iteration of feedssapi, your feedback is welcome.</comment>


Prime numbers in Go - <AUTHOR> https://github.com/Swatto/primeNumber

<comment><USER2> Naive implementation of trial division.</comment>


Ask HN: Command-line developer knowledge-base tool for debugging issues? - <AUTHOR> I'm searching for a tool that would help me in this situation:
For example, I encounter an issue while running some tests, the error indicates that my local master database node does not have a replica count it expects (i.e. it lost its info about the local worker). I now have to add the worker, but perhaps I don't know how to do that. So I ask in a general dev communication channel if anyone has encountered this issue and how to remedy it (the quicker it's fixed the better, right?). Another dev had this issue and figured out the fix (the commands to run), and shares the info with me (and in the communication channel).
What if I could provide the error message to a command-line tool and get back a list of possible fixes along with some description of the problem and why the fix worked and who submitted the fix to the knowledge-base?
Is there a tool that exists for this use-case?
I've seen something like as knowledge-base tool in Slack [1], but not a develop-focused command-line / development environment tool.
[1.] Alterra Answer Bot - https://salesloft.slack.com/apps/AGZS2TXBN-alterra-answer-bot <comment><USER2> Hey, we are building a tool that might help you, check it out [https://onebar.io/](https://onebar.io/) . And ofc feel free to book a call or use chat if you have any questions

<comment><AUTHOR> Cool. Is this usable only as a Slack integration?

<comment><USER2> we also have a web app</comment></comment></comment>


Should I revive my Firefox extension? - <AUTHOR>

I wrote a Firefox extension about 3.5 years ago called Cacheout! https://addons.mozilla.org/en-US/firefox/addon/1453
When it first came out, it got some minor buzz. Appeared on LifeHacker, was distributed with a free cd for MacWorld magazine in Italy, etc.
I haven't updated it in years and doesn't work anymore anyway.
Its been a passing thought for a while to get this extension working again. Should I do it, or just leave it dead? I stopped updating it a loooong time ago <comment><USER2> From your link, I see that your extension would look up a page in the Google cache. I used to use something else for this, but it, too, died. More recently, I found extension Resurrect Pages.

Note that while its name specifies "Pages" and it adds a menu to error responses, if you right click on a link, the context menu gives options for invoking the extension on the link without first navigating to the linked page or the corresponding error response.

As for Resurrect Pages, I just wish the resurrection options / sites were customizable (without hacking).

Resurrect Pages

<https://addons.mozilla.org/en-US/firefox/addon/2570></comment>


How Walter Murch Merged "Apocalypse Now" and "Ride of the Valkyries" - <AUTHOR> http://nautil.us/issue/30/identity/how-i-tried-to-transplant-the-musical-heart-of-apocalypse-now <comment><USER2> "The problem turned out to be a classic case of synesthesia. ... Although Leinsdorf's performance of the "Valkyries" was rhythmically in synch with Solti's, at this moment Leinsdorf had emphasized the strings in his orchestral balance, whereas at that same point Solti had chosen to emphasize the brasses, which—I realized now only in retrospect—were responsible for synergizing that wonderful acid blue of the ocean. In Leinsdorf's recording, the strings were soft and pillowy, and as a result the blue looked dead: The chemistry of the image and sound worked against each other to the detriment of both."

If only we could hear both edits and compare.

<comment><USER3> I wasn't aware that there were "universals" in synesthesia. Might not the blues of the ocean have looked _better_ when paired with strings to another synesthete or to the (presumably indifferent) mostly non-synesthetic audience?

<comment><USER4> Wouldn't it be interesting if, culturally, we more often hear brass timbres than string timbres when we are by a saturated blue ocean or looking at a bright blue sky (tense action scenes in movies, on horn parts in the latin- themed soundtracks to our summer vacations)? Then presumably someone with the capacity for synesthesia could be statistically more likely to develop the specific synesthesia in question.

It's virtually impossible to be quantitative about any of that, of course.

There's fMRI research being done on synesthesia [1], but I'm unaware of any studies that go into the exact correlation between specific colors and specific timbres.

[1] [http://ist.ksc.kwansei.ac.jp/~nagata/nagata_lab_folder/nagat...](http://ist.ksc.kwansei.ac.jp/~nagata/nagata_lab_folder/nagata_lab/publication/pdf/ICCSA_takahashi.pdf)</comment></comment></comment>


Android still sucks but I'm impressed by Google - <AUTHOR> http://heydave.org/post/27138552375/android-still-sucks-but-im-impressed-by-google

<comment><USER2> The author misses at least a couple things that drive the success of Android, and may have been critical in the early stages of success:

1\. Android was open enough that every chip maker for mobile devices and interactive embedded systems saw it as a huge step forward: no more crappy UI stacks licensed from proprietary technology providers.

2\. Being based on Linux, having a liberal open source license, and having most of the code created by Google under this open source license, except for a suite of proprietary applications that are not a critical part of the OS.

3\. Using Java and a familiar toolchain

On top of which, though this is a subjective measure, Android is elegant. Android was a novel solution made by very capable people with a background that gave them good taste and good judgement. When I first saw Android, the first Macintosh immediately came to mind. Just like Macintosh, Android did things differently in pursuit of doing more, with less, in a mass market device.</comment>


The Truth about "Caveman Courtship" - <AUTHOR> https://daily.jstor.org/the-truth-about-caveman-courtship/ <comment><USER2> Note: article never discusses, nor attempts to establish, the truth about caveman courtship.</comment>


(Video Walkthrough) Snake made with HTML5 and jQuery - <AUTHOR> http://thecodeplayer.com/walkthrough/html5-game-tutorial-make-a-snake-game-using-html5-canvas-jquery

<comment><USER2> Good tutorial but there are few bugs in it, for example the game restarts when u press couple of keys together and fast..</comment>


Futures of text - <AUTHOR> http://whoo.ps/2015/02/23/futures-of-text

<comment><USER2> This is beautiful and I want it (hell, that's the reason I'm writing my own personal assistant at the moment), but if deployed as an OS-level product, what we'll get will be an abomination.

You see, such full-integration service, to be as great as described here, would require cooperation of all the third parties in creating the best experience for user. And here already are two things that will not happen. First of all, cooperation involves moderation, and I doubt all (if most) companies will suddenly refrain from trying to take the interlinking pie for themselves. You'll see multiple services competing for the same actions, or trying to capture ever single possible interaction, no matter how irrelevant. And secondly, you'd have to have app developers actually care about user's experience, and not about monetizing them. They don't care now, so I don't see how they're going to suddenly start.

Again - the ideas presented in this post are awesome and I'd love to see them, but I don't have my hopes high. I see this as yet another dream that will be doomed by tragedy of commons. Game theory is a harsh mistress.

EDIT:

The article itself sort of hints towards that in the very introduction:

 _" but when I got to texting Bus Time I thought, "Thank god I don't need to download another f</comment><comment> app for this.""_

Well, exactly. It should all be already unified. But it isn't, because everyone thinks they're special and so important that the user needs _their_ app.

<comment><USER3> I'm the author and I partly agree with you about yet another tragedy of the commons, though it has worked fairly well for share extensions. I have a few apps that are registered to handle photos when I bring up the share sheet that I'll never use in that context, so I moved them to the end of that line of extensions and also removed a bunch from appearing there. It works fairly well.

</comment></comment><comment><USER4> This app featured as an example of "friendliness" of chat-based interaction looks to me more like a "Clippy"-like communication

[http://i2.cdn.turner.com/money/galleries/2009/technology/091...](http://i2.cdn.turner.com/money/galleries/2009/technology/0910/gallery.microsoft_windows_gaffes/images/clippy.jpg)

than something I'd like to use every day.

</comment><comment><USER5> A major problem with text based app interaction is learning the language and predictability.

If I've never seen "let's talk it out" as a feature, then I could innocently type this and see this weird thing that's using my data.

Add to this the NLP component, and suddenly there's a whole corpus of things I could say that accidentally trigger some action. Learning this corpus would be akin to learning a language, but without formal instructions (I still don't really know what Siri's full command set is).

I like a lot of the ideas (3rd party tool tip integration, ideas to improve the bus app, and Foursquare direct call outs) but I think a lot of this would be better in app form. The real issue is installing/uninstalling and unclear permissions models - a Wechat style lightweight app install system could alleviate a lot of that concern.

After all, why do I want an uber notification in Messenger, when I __need __to have the uber app to order the cab in the first place (that kind of tracking complexity and reliability requirements probably shouldn 't just be a web view inside Messenger).

<comment><USER6> with all these fancy 80/20 implementations there's still an inevitable tacit knowledge aquisition phase where you stop giving it what it tells you it wants and start giving it what you know works for getting the information that you want.

it is for this reason that consistency of, and thorough/feature rich design are all that's needed.

treat it like an API. You can add in the fluff later but stop trying to fluff over the rough bits. Fix the rough bits, and you might find you don't even need the fluff.

I see this attitude among the elitist CS majors who can talk to you about how great the CLR is but are completely divorced from reality evidenced by their use of per-byte event-driven serialization routines instead of, you know, just copying the whole buffer contents at once to their processing buffer. The attitude then manifests as 'well it's only a few thousand bytes a second during communications'.

So I guess I need to come up with a way to market my no-nonsense design principles.

</comment></comment><comment><USER7> I find the idea of a minimal UI with intelligent agents working behind the curtain very intriguing. I also like the idea pf SMS as a channel input device for using such apps.

The line of thinking seems to be: Africa and Asia leapfrogged the desktop / laptop generation of computing and directly went for mobile. The younger generation in the Western world essentially is mobile-first. Apart from work (and even that might change for many job descriptions in the future) even most people in traditionally first-world countries don't even use desktop computers anymore. Hence, what we see in Africa and Asia right now essentially also is the future for Western countries.

In general, I think this is spot on. However, I also think many people get overly excited by the promises and possibilities of messaging apps. SMS-based apps in particular often are makeshift solutions for when there's no reliable Internet connectivity all the time but somewhat reliable cellular coverage.

The bus information example is a particularly good example of this. Sure, it's useful but many of the improvements mentioned in the article like linking to a specific resource for a specific bus line for easier future use can already be implemented today in websites. There's no reason why I couldn't use a mobile browser instead of a message app for accessing this kind of information. The problem is that most websites - public transport websites being a particularly notorious example - often are terrible from a UX point of view: User interfaces are needlessly complex and often barely usable at all.

Perhaps, the takeaway from this article also is that when designing websites and web-based UX we can learn a lot from the simpler interactions on mobile devices. Good design is all about embracing constraints. Perhaps applying those constraints from mobile messaging to designing websites is a good idea, too.

<comment><USER8> I don't know how it is on other networks, but SMS as a real-time communications channel is useless on Sprint. About 10% of all of my SMS take 15+ minutes to deliver.

<comment><USER9> To friends or business related texts? The short code system is a different system from the P2P. So any business should have better or different latency and deliverability than what you're describing.

Out of curiosity, why are you still with your carrier if they are performing that poorly?

<comment><USER8> This is to friends.

I am looking at switching, contract is up this fall. My wife uses a 32GB iPhone, so switching will be expensive hardware-wise for her ($150/$550 depending on contract/no-contract for 5s).

[edit]

Also, I have no reason to believe that the overall experience will be better with any of the other carriers. At this point I'm shopping completely on price as I have no reliable data that one carrier is better than another in my area.

</comment></comment></comment></comment><comment><USER10> I'm surprised the author left out payments. SMS is the simplest way to facilitate non-POS transactions. We've built our company on that, kindrid.com.

</comment><comment><USER11> What is the advantage to this over building a simple website? Unless I am misunderstanding it, it sounds like the author wants us to reinvent the wheel.

</comment><comment><AUTHOR> Waiting for NLP to get to the point where it has < .1% errors is going to take a long time (which would be minimum to get people to trust it). Instead a user friendly version of command line makes much more sense. User friendly like my mom could use it, not me.

Obviously that's easier said than done, but at least feasible, compared to a pure NLP solution.

<comment><USER6> consistent and thought-out, feature-rich design is all we really need to make interacting with the phone efficient.

none of the business heads understand how to get it right so they shoot for pie in the skie [hm, that was an interesting spelling mistake to make] alternatives because they prematurely dismissed what a master of design can accomplish because they balk at the salary.

<comment><USER12> Exactly. Command line is too far, so is pure sentiment-based NLP. In the middle I propose Voice URLs, a standard for linear voice actions -- rather than the JSON format that the current NLP services are using now. I'm right in the middle of the formal writeup but wanted to mention this to like-minded designers.

<comment><USER13> I'm curious to read more on this topic. Where will your writeup appear?

<comment><USER12> I will definitely post on HN, but you can also follow my username on Github. I will post to the community so that it will be a collaborative effort. Please feel free to contact me directly if this effort speaks to you.

</comment></comment></comment></comment></comment><comment> coding-is-hard This makes me think of Weebly's new SMS-based support chat feature, SimpleChat ([http://simple.chat](http://simple.chat)). SMS is a nice medium for support chat, instead of having to deal with another chat application. Really neat idea!

</comment><comment><USER14> Why there is no Telegram with its API for intelligent chat bots in the reading list in this otherwise nice article?

<comment><USER3> Telegram bots came out after I wrote it</comment></comment>


Search Google for "Popunder" automatically closes the new tab in Google Chrome - <AUTHOR> https://www.youtube.com/watch?v=UUmedjwxfOo&feature=youtu.be

<comment><USER2> I think it's more adblock plus you have installed doing a keyword match in the url string for popunder when a new tab is created

<comment><AUTHOR> Anyway is strange that finding other keywords doesn't make the same effect: [https://easylist-downloads.adblockplus.org/easylist.txt](https://easylist- downloads.adblockplus.org/easylist.txt) try for example with the word "maxads". The tab doesn't close.</comment></comment>


Ask HN: Is Route53 down for anybody else? - <AUTHOR> I don't see any info on their status page or on twitter. Wondering if it's down for anyone else? I can add entries on the route 53 dashboard but it simply does not reflect on the name servers. <comment><USER2> I see the same behavior. Additions/edits are not propagating.

The oldest affected route53 change I can find in our system is a new record that was created at 23:16:10 UTC. As of now (40 minutes later), it still won't resolve.

 __Edit __: The AWS status page confirms "slow propagation of DNS edits": [https://status.aws.amazon.com](https://status.aws.amazon.com)

</comment><comment><USER3> We're seeing +10 minute delays for updates to resources.

<comment><AUTHOR> Sucks that I have to rely on HN to get this information :/ Yeah, I am seeing the same 10+ minute delay

<comment><USER4> We've had the same problem with updates. We've also had reports from Europe that customers have been unable to resolve our www hostname.

</comment></comment></comment><comment><USER5> It was like this for around 10 hours for us... PITA when you rely on ephemeral instances and Round Robin DNS.

</comment><comment><USER6> Still broken. I can make one change in the web interface per several minutes. This is ... really rather annoying.

<comment><USER7> Almost 24hrs off/degraded :scream:</comment></comment>


Show HN: Fully Client Side PDF Invoice Creator - <AUTHOR> https://makemyapp.io/tools/invoice_creator/ <comment><USER2> This is nice, and it actually looks pretty close to my current docx invoice (I know, I'm that lazy). I'd like to suggest 2 simple features that would at least make me use it: \- remember state on localStorage (invoice is almost the same every month) \- add a textarea for generic notes on the bottom.

</comment><comment><USER3> Needs currency support besides USD (or other currencies that use $)</comment>


Companies Wringing Huge Profits From Job Cuts - <AUTHOR> http://www.nytimes.com/2010/07/26/business/economy/26earnings.html

<comment><USER2> Profits are high during a recession, nice work companies!

Too bad the article doesn't congratulate them for doing so well during the downturn. Someone remind the nytimes that businesses exist to make a profit, not to hire people.

</comment><comment><USER3> Companies wringing huge profits from software and improved business practices. Good - I did not spend years cranking out Enterprise Java for the sheer fun of it.

</comment><comment><USER4> _benefits are mostly going to shareholders instead of the broader economy_

Interesting choice of words. You could have said "401(k)s".

<comment><USER3> Standard applied Marxism: hedge funds are evil capitalists, university pension funds on the other hand operate on clean-burning unicorn flatulence.

<comment><USER5> I don't think Marxists have that view at all--- university pension funds, as large allocators of capital, are pretty universally condemned by Marxists (who see them, along with endowment investment funds, as prime evidence of the absorption of the modern university by neoliberalism). The view you're talking about is more standard social-democratic liberalism, which likes certain kinds of capitalism but not other kinds.

</comment></comment></comment><comment><USER6> "Harley's evolution is part of longer-term shift in American manufacturing..."

This is standard operating procedure for more than American companies. Anymore, I think it is a central part of the Acme Corporate Handbook anywhere and everywhere to make redundant the lower tiers of staff and farm it out to cheaper labour. This is why there is such a rise in small businesses, consultancies in particular, in recent years. The US is certainly leading the way, but the strategy is being deployed by companies around the globe. If they can't get profits from their customers, they get profits by reducing their operational costs. Before anyone slings mud at the executives, remember that they are legally bound to do what is best for the company and necessary to turn a profit for the shareholders. In certain jurisdictions, they can, in fact, be convicted criminally if they do not take reasonable steps to ensure the safety and prosperity of the investors' moneys. But they are not legally bound to ensure the workers have a job in the process.

</comment><comment><USER7> 'Productivity' ! = good

Jobless recovery = : (

It can be hard to tell, from earnings reports and gossip, whether cuts are savvy efficiency gains or unsustainable drives to make good quarterly numbers at the exchange of long term profitability, growth, and success.

<comment><USER8> At some point they will have to stop firing people or they can't produce enough to continue.

<comment><USER9> Or they can just move production to China.

</comment></comment></comment><comment><USER10> Well, the overall unemployment situation isn't good but assuming the productivity boosts are sustainable[1] this would seem to be a piece of positive news.

[1] This is of course assuming that the profit gains are coming from productivity improvements and not for doing things like neglecting capital investments or cutting R&D to the bone.

<comment><USER11> If they're anything like my workplace (or my brother's), they've managed productivity increases by giving everyone twice as much work and firing everyone who couldn't keep up.</comment></comment>


Why work when the printing press steals your labor? - <AUTHOR> http://business.timesonline.co.uk/tol/business/economics/article5885617.ece

<comment><USER2> Why work when the taxman steals your labour?

Why the editorialising in the linktext? It doesn't appear in the article.</comment>