Does Column Width of 80 Make Sense in 2018? - <AUTHOR> https://hackernoon.com/does-column-width-of-80-make-sense-in-2018-50c161fbdcf6 <comment><USER2> Did you ever wonder why magazines and newspapers use multiple columns? _Because it 's easier to read._ When lines get too wide, it becomes harder to scan from the end of one line to the beginning of the next. There's solid science behind that, based on both physiology and observation of effects. For text, the recommendation is generally as low as 50 characters or as high as 75. Yes, reading code is a bit different, but not so much different that the same principles don't apply.

80 wasn't chosen, or kept so long, arbitrarily. To overcome the issues with both readability and ability to support side-by-side diffs or multiple files on smaller monitors or for those with poorer eyesight, there'd have to be a supportable _positive_ reason to go higher. So far all I've seen is personal preference and occasionally support of bad habits (e.g. "trying to do too much in a single line" as another commenter put it). I just don't find that very convincing.

<comment><USER3> As a generation who read text in flow layout from the start, multiple columns fixed layout is quite ugly, hard to read, shall be abolished from the world(especially academic world.)

<comment><USER4> This arrangement exists because those are in paper format meant to be printed.

The argument in favor of narrow-width columns still stands. But we do indeed need to acknowledge that most people read on digital devices now.

<comment><USER2> Why does it matter? Does the physiology of the human eye change when we're looking at a screen instead of paper? What is it about screens that suddenly makes it easier to saccade back to the beginning of the next line?

</comment></comment></comment></comment><comment><USER5> With my current 1440p screen the only way I can keep two files open side to side without going blind is to limit myself to 80 characters, the screen linked in the article is 1080p and they propose to keep _three_ files open at 120 column width? That won't really work for me.

But maybe I'm getting old. :)

<comment><USER6> I'm 48, and I'm starting to crank up font sizes on my monitors. I can jam lots of tiny font on my monitor if I wear reading glasses, but I then end up much closer to the screen than I'd like.

</comment></comment><comment><USER7> Yes, I self limit to between 80 and 90 characters. Diffs can get hairy once you start routinely going over 100 characters. Also, it helps force me to limit complexity in my subroutines. In my opinion, using 120 characters is a smell that you're trying to do too much in a single line.

</comment><comment><USER8> I generally aim for 80, but if that starts to get ugly I widen my terminal to 132, which I argue does not revoke my old school credentials because we had 132 column terminals in the old days (VT100, DECWriter II LA36).

</comment><comment><USER9> For me, the primary argument of limiting column width is a very different one: If your code is very wide, you're probably doing something wrong, which means you should refactor your code

This "something" includes:

\- Deeply indented (= nested) code

\- Very large numbers of function arguments

\- Overly-verbose naming

\- The Train Wreck anti pattern

In my experience, 80 is indeed a bit limiting, especially in languages where you're basically forced to start 3 or 4 indentation levels deep, but anything beyond 120ish is usually a sign that you're doing something wrong.

</comment><comment><USER10> I have a few reasons why I still think 80 characters is a great limit.

Readability. It's difficult enough to read through long lines of normal text on a badly formatted website.

Naming. I could go on about this one. Namespacing was created for a reason, don't write any long names. This most often will make your code considerably shorter.

Formatting. If you have short names and you're still ending up will the long lines, you need to understand how to format your code properly.

</comment><comment><USER11> Yes, because you can split IDE tabs within the IDE still. 120 may be good too with increased resolutions but I like to keep my IDE on the same monitor.

</comment><comment><USER12> Just found this provocative post on HN (the other HN). The interesting part is that it comes from a Java programmer. When I was writing Java and using big IDEs myself, I was too advocating for longer lines. And now? Now I'm all Vim for 3 years, and 80 char limitation never made more sense than now! Being able to split your screen whichever way you want and still read the code is precious.

</comment><comment><USER13> In three different companies across three countries within the last decade I've seen development teams all settle on a 120 character limit with no protest from anyone. And this is a very good thing: it allows for descriptive names (extremely helpful for readability) and avoids unnatural line breaks such as within a comparison expression.

</comment><comment><USER14> The 80 char limit was, IIRC, based around the capabilities of fixed-width terminals and dot-matrix printers. It's not magical.

I have the luxury of writing code only for myself, so I can maximise devotion to my 'personal style' and not worry about other people's opinions.

I'm all about information density, and since on 99.9% of monitors the vertical axis is the short one, and the horizontal axis is the long one, I want to save as much vertical space as possible. This is also why I can't stand horizontal tabs (thank you, Tree Style Tab).

On a 27" 4K monitor I get two side-by-side files open in my IDE, with a 10-point font, at 160 char wrap, _with_ vertical tabs. This fits my style because I favour inline comments which maximises my use of the vertical space by not needing another line.

Luckily my eyes are still good enough to read this!

</comment><comment><USER15> Most lines are like 20-30 characters wide, no matter the limit. So the wasted space will be almost the same, no matter the limit.

On the other hand with 120 limit every once in a while you have to read very long line, and with merge tools or big fonts you can have problems and have to scroll.

IMHO it's not worth it. 80 is ok.

</comment><comment><USER16> If you have wide lines containing a lot of content, increasing the line spacing (or, leading) can help somewhat in readability. Unfortunately, terminals and editors don't always make this easy. Certainly not as easy as changing their display width.

You burn some vertical room -- all the more apparent with today's widescreen trend. But when you're trying to keep the strain from driving you crazy when reading a bunch of adjacent wide lines, it can help.

Also, other visual differentiators. Remember the old, wide band-printer reports, done on paper that varied background color every 5 lines or similar?

</comment><comment><USER17> Even when coding,splitting the IDE screen helps read the same code file better (each split screen showing a segment of the code). People split terminal screens using tmux and the like as well.

I think there is a solid argument for not consuming the entire column count of a screen,not sure if that's 80 though.

</comment><comment><USER18> in the python world, i really like Raymond Hettinger's talk "beyond pep8", in which he advocates "90-ish" as a line width to shoot for, rather than a slavish fetishism for 80.

This especially matters when you start doing dumb things to codebases like 1-space indents, abbreviated variable names, etc. for the _sole_ purpose of making a linter shut up.

[https://m.youtube.com/watch?v=wf-BqAjZb8M](https://m.youtube.com/watch?v=wf- BqAjZb8M)

<comment><USER2> > This especially matters when you start doing dumb things to codebases like > 1-space indents

Too-small indents are bad for many of the same reasons as too-long lines, only even more so. The main argument in favor seems to be the desire to cram as much as possible into each line, which is a code smell of the first order. The main argument against (which I find much more compelling) is that it becomes really hard to match up the indentation levels to see the true structure of code without artificial aids. Besides being ugly, those faint vertical lines won't be there in every situation, such as when you're looking at code in a review tool or in gdb or a "primitive" editor while you scramble to fix a problem on a production machine that doesn't (and shouldn't) have your favorite heavyweight IDE installed. Ergonomics matters, and it's about more than personal preference.

</comment></comment><comment><USER19> If it's indented so deep to where " _80 or even 100 is too short_ ", it's time for some refactoring.

<comment><USER20> That depends heavily on the language used.

In Lisp you can have code blocks that are clearly independent units hanging 50 characters off to the right. A limit of 80 would limit the lines in the code block to 30 characters, which is not enough. Lisp tends to have pretty long function names, like multiple-value-bind or with-open-file.

<comment><USER19> I juggle most of the mainstream ones (including Clojure), and 80 isn't really causing any problems for me.

</comment></comment></comment><comment><USER21> I find 120 fine at work, I think 100 would be about as low as I'd go. Under that decreases readability (for me)

</comment><comment><USER22> We use 120 which seems to work fine even on small screens of about 11 inches.

<comment><USER23> 120 on an 11 inch screen might be highly eyesight-dependent, especially if there is anything else on the screen at the same time. Not everyone worth hiring in the industry has optimal vision.

<comment><USER24> I just checked. I have a 17 inch laptop screen (uncommon and has to be sought for these days). To hit 120 characters on two terminals side-by-side requires 9pt font. That's definitely not something everyone can manage.

I think 120 might even be pushing the limits of conscientiousness.

<comment><USER22> I was speaking of lines of code in a full screen text editor, I'm sure there are many programs that when displayed side by side on a small screen 120 chars would be too many. But let's avoid the strawman here. So 2 terminals side by side 120 chars each, you tried to display 240 per line in actuality? Do i have it right?

<comment><USER23> Not a straw man - on a laptop away from readily available external monitors, it's quite common to want to see two things at once while doing work. We're discussing the line length policy for a single line of source code in a single file, not the number of characters that can visibly fit side by side on a screen.

There's definitely a bit more flexibility - not infinite - when you only consider the full-scale case. But one is often less productive with that as the only viable option, or else one has external monitors in which case in that usage pattern the laptop is effectively a desktop.

</comment></comment></comment></comment></comment><comment><USER25> It makes sense, especially if you use three sided diff.

</comment><comment><USER26> No.</comment>


Show HN: A platform where you can read books for free and authors get rewarded - <AUTHOR> https://odeenbooks.com <comment><USER2> This is really cool</comment>


Ask HN: Should I accept an internship at Google or pursue my own startup? - <AUTHOR> Help me HN,
I am a freshman at a local university enrolled in CS, over the past year my abilities have become somewhat infamous on campus, reaching professors and eventually landing me an an internship at Google, which starts next month. Along side, I have been pursing a startup idea which in the past few weeks has gained a LOT of traction to the point where I need to decide. I have applied to YC and unfortunately didn't get in, however I was able to secure a better seed-round from local angels,  I'm supposed to make a final decision in the next few weeks.
I am feeling pressured to take up the Google position (plus, how would I break it to them that "sorry guys, I've got a better position") because it is basically a guaranteed win at life later on (employment-wise) and seems pretty low-risk, however the potential rewards from the startup are not to be dismissed either -- plus, I always wanted to do something like that.
This has been stressing me out a lot, making me unable to sleep at night as I realise I'm a day closer to make a life changing decision and I still have no idea...
What should I do? <comment><USER2> Assuming all else is equal (which it certainly isn't, but let's just pretend), if you actually believe in your startup, you should do your startup.

Google Internship will give you a certain kind of experience... But nothing on Earth is like the experience of doing a startup.

Also having "Google Intern" in your resume isn't a Golden Ticket. So don't think of it like that.

I'm quite certain the people at Google have been reluctantly turned down before, so don't worry too much about that. Especially if you honestly tell them why, and that it's been an extremely hard decision for you.

This is just my opinion.

</comment><comment><USER3> Do both.

@Google, you will learn a ton about how software development should work. You have three more years before you even graduate.

If your angels won't force you to work on it fulltime why would you impose the condition on yourself?

</comment><comment><USER4> This is a nice problem to have, so find some comfort in that. Personally, I have felt that in situations like these I usually know what's better but I just don't know it when I am confused and just keep thinking about the options. So how to get rid of the confusion? Sit down and relax and then WRITE IT DOWN. Make a table. You are looking for 2 things - What are you gaining and what are you missing out on - by working at Google and by doing your own startup. Think thoroughly and write everything down. Once you have laid down everything you can think of, leave the notes. Get back to them after a few hours or even the next day (Meanwhile you may keep thinking about some of the things you wrote, that's ok). Then review with a heavy focus on the 'what are you missing out on' column and TADA! If you are honest with yourself, you should have your answer. Wish you all the best with whichever option you go with. Don't forget to update the thread with your decision and why you went ahead with it. Who knows it may probably help someone down the line.

</comment><comment><USER5> If you are absolutely sure that the seed round is secured then definitely take that and forget about the internship.

> how would I break it to them that "sorry guys, I've got a better position"

If the Google guys knew that you were able to get funding then most would be jealous of you, not upset at you. Don't worry about it. It's an internship.

Least impressive to most impressive and distinct, for resumes:

internships << a real job position << interesting personal projects << investors funding your personal projects

The real hard part is deciding about going back to school at the end of the summer... investors won't be too happy about that. This is the real hard question you should be thinking about.

</comment><comment><USER6> To me, the fact that you have traction and seed money on the table and you're even considering going with Google is a MAJOR red flag. Maybe your heart isn't in the startup?

Without the seed money I would say try to do both with an eye for using the Google internship to get connected to potential investors and cofounders in SV. (Free housing and food in Silicon Valley is pretty nice.)

With the seed money it seems like a no brainer to do the startup. If you tell Google you got investors for your startup that will only make them want you more. But since you're hesitant, it seems like you either don't believe in the startup or you're not committed to it. Go with Google.

</comment><comment><USER7> Speaking from personal experience, GO TO GOOGLE. Having Google on your resume, and the connections that you will make there will help you down the line immensely, including if you want to do a startup. Plus, you will learn solid engineering principles so that you can not only build your product when it comes time to make the leap, but you will know how to do it well.

</comment><comment><USER8> Go for the startup, you said it was something you always wanted to do and you have the opportunity to do it. So do it. Sometimes you only get one shot at a opportunity like that.

Also if you are a great programmer there are going to be other employment opportunities down the road for you.

</comment><comment><USER9> Relevant PG talk/essay:

[https://www.youtube.com/watch?v=ii1jcLg- eIQ](https://www.youtube.com/watch?v=ii1jcLg-eIQ)

[http://paulgraham.com/before.html](http://paulgraham.com/before.html)

</comment><comment><USER10> Freshmen year is very early to be making tough decisions about your career prospects. Ask google if you can defer a year, and give yourself some time to figure out the startup.

</comment><comment><USER11> Learn everything you can at Google and then port it later on to your own business.

I generally prefer using word "business" to "startup".

</comment><comment><USER12> Why can't you do both?

<comment><AUTHOR> Timing, non-compete, and during the time I work all IP belongs to them (Google).

<comment><USER13> I'm pretty sure you can negotiate this with HR at Google. I've seen it done for internships at Microsoft, so I don't see why Google would be any different. Most companies hire interns based on personal projects, so they're fairly receptive to letting interns continue working on them (in their own time, without Google resources).</comment></comment></comment>


A Visual Debugger for Jupyter - <AUTHOR> https://blog.jupyter.org/a-visual-debugger-for-jupyter-914e61716559 <comment><USER2> This animated GIF shows the new debugger in action, allowing point-and-click step-by-step execution at breakpoints and easy inspection of variables, call stack, and source code: [https://miro.medium.com/max/1400/1*NP0bYBdrhwgpJpKDhPLWrQ.gi...](https://miro.medium.com/max/1400/1*NP0bYBdrhwgpJpKDhPLWrQ.gif)

It looks to be a very welcome improvement for those of us who routinely use Jupyter notebooks for "REVL" (read-eval-visualize-loop) experimentation.

Has anyone here had a chance to test how well this works with objects from Python's scientific stack such as numpy arrays, pandas dataframes, matplotlib objects, PyTorch and TensorFlow CPU/GPU tensors, and so on?

</comment><comment><USER3> Been wondering about this for a while... How does one "graduate" a notebook to an actual program on a server? Is there an actual standard procedure for that?

I'm pretty sure that if your notebook is big enough to debug what's in it you'd be doing everyone a disservice keeping it contained like that.

<comment><USER4> The fast.ai folks wrote nbdev to help with that. [https://github.com/fastai/nbdev](https://github.com/fastai/nbdev)

</comment></comment><comment><USER5> I don't see how this debugger is visual, but anyway it's cool to see that jupyter finally has a debugger.

This is what I would call a visual debugging experience: [https://github.com/hediet/vscode-debug- visualizer/blob/maste...](https://github.com/hediet/vscode-debug- visualizer/blob/master/extension/README.md)

(Disclaimer: I'm the author of that extension)

<comment><USER6> cool extension but literally every other use of the term visual debugger refers to a graphical interface for something like gdb (where you have to manually type in commands to set break points, step, continue, etc). so I don't think it makes sense to claim that this is not a visual debugger simply because you've decided to redefine the term to suit your needs (publicizing your extension).

<comment><USER5> I guess, growing up with Delphi IDE, Visual Studio, Browser Dev Tools and finally Visual Studio Code, all calling their "visual debugger" just a "debugger", I got used to debuggers being "visual" by default.

As Jupyter has very powerful visualizations, I initially thought they somehow integrated their visualizations into the debugger, just to see that it's an ordinary debugger every modern IDE has. I know a debugger and it's UI is a crazy complicated beast, but I would expect any modern programming language to have such a debugger.

Just because there are text-based browser like lynx, modern browsers shouldn't start calling their products "visual browser", but I get your point.

Sorry for publicizing my extension here. It's free and open source, works with Python and might help a lot of people. According to github insights, traffic decreases whenever I don't publicize it somewhere.

<comment><USER7> You're not wrong, but Jupyter is terrible for everything about programming _except_ in-document HTML/SVG visualizations of expressions (no support for unit testing, laggy Ui response to user input, broken Undo/Redo that throws away data, buggy browser based text editing), yet that one thing is worth all the suffering, so we'll take any improvement we can get.

I don't understand why VisualStudio doesn't have LightTable like expression playground yet, but until it does, Jupyter is what we have -- a fancy REPL and document publishing format being abused as an IDE.

</comment></comment></comment></comment><comment><USER8> I always thought a debugger was more useful for when you got a big buried in a long execution sequence and produced by unknown combinations of variables. Where as usually my notebook cells are only a few lines long, and with a very clear state going in. Can any of you speak to the practical need for a debugger in Jupter?

<comment><USER9> > Where as usually my notebook cells are only a few lines long, and with a > very clear state going in.

That is only true in one very specific case: When you are executing all code cells in order, from top to bottom, exactly once.

If you start executing cells multiple times, or out of order, or even worse, execute only parts of cells (which is possibke in many Jupyter UIs), all bets are off. Anything can happen.

</comment></comment><comment><USER10> I haven't used Jupter since I switched to web dev, but it's greate to see Jupyter's debugging experience gets better.

BTW, it looks pretty much like Spyder. AFAIR Spyder is a funded project by Jupyter. What happened between two projects?

<comment><USER11> Spyder was funded by Anaconda for a while, and is now funded by NumFocus and Quansight [https://github.com/spyder-ide/spyder/wiki/Current-Funding- an...](https://github.com/spyder-ide/spyder/wiki/Current-Funding-and- Development-Status)

</comment></comment><comment><USER12> Source: jupyterlab/debugger [https://github.com/jupyterlab/debugger](https://github.com/jupyterlab/debugger)

</comment><comment><USER13> When will jupyter have "highlight and execute" functionality? The cell concept is fine, but I'm constantly copy pasting snippets of code into new cells to get that "incremental" coding approach...

<comment><USER12> So, I went looking for the answer to this because in the past I've installed the scratchpad extension by installing jupyter_contrib_nbextensions, but those don't work with JupyterLab because there's a new extension model for JupyterLab that requires node and npm.

Turns out that with JupyterLab, all you have to to is right-click and select "New Console for Notebook" and it opens a console pane below the notebook already attached to the notebook kernel. You can also instead do File > New > Console and select a kernel listed under "Use Kernel From Other Session".

The "New action runInConsole to allow line by line execution of cell content" "PR adds a notebook command `notebook:run-in-console`" but you have to add the associated keyboard shortcut to your config yourself; e.g. `Ctrl Shift Enter` or `Ctrl-G` that calls `notebook:run-in-console`. [https://github.com/jupyterlab/jupyterlab/pull/4330](https://github.com/jupyterlab/jupyterlab/pull/4330)

"In Jupyter Lab, execute editor code in Python console" describes how to add the associated keyboard shortcut to your config: [https://stackoverflow.com/questions/38648286/in-jupyter- lab-...](https://stackoverflow.com/questions/38648286/in-jupyter-lab-execute- editor-code-in-python-console)

</comment></comment><comment><USER14> I'm a programmer, mostly not a data scientist nowadays, mostly working with Python. I have tried Jupyter Lab/Notebook on and off over the last 10 years, and I believe I have now firmly settled on my conclusion:

Everyone should aim to minimize the amount of work they do in Jupyter Lab / Notebook.

It shocks me a bit to find myself saying that, as it is such a beautiful piece of work. Furthermore the people who wrote it are better software engineers than I'll ever be: the frontend, the zeromq-mediated communication with the kernel, the fact that the architecture has generalized so successfully to other language kernels, its huge popularity and reach. Nevertheless, I believe I'm serious. It really comes down to just two related issues, but they're extremely important: debugging and version control.

If you're a software engineer, and not a data scientist, here's how you probably debug already, or if not then how you should debug:

\- You identify (a) commit(s) on which the behavior is correct, and (a) commit(s) where it is not correct.

\- You experiment with fixes. Perhaps you stash them, perhaps you create experimental commits.

The critical point is that you use your version control system (probably Git) to navigate between alternative versions of the code. With a single command, you can switch the version of your code base, and the subsequent process you invoke to test your code is a fresh process, unpolluted by any state from the version of your code that you were on 30 seconds ago.

In contrast, Jupyter notebook does not encourage this style of work at all. In practice, what you will do when trying to debug some code in Jupyter is comment out lines, temporarily delete code, add experimental lines, add experimental new cells, etc. All creating a working tree, and a collection of in-memory python objects, that is a baffling mixture of changes related to the original feature development, and changes related to experimental debugging. Debugging will wear you out, as the state of your notebook gradually approaches complete incomprehensibility.

If you're a software engineer, you'll already know the benefits of being able to make precise adjustments to the state of your code with git commands. You want to learn statistics and data analysis skills from data scientists, but in doing so you should not regress to a worse style of development by starting to write much of your code in Jupyter notebooks.

And if you're a data scientist, you will want to acquire the debugging skills of software engineers. If you are not using git, you want to start learning it now.

Crudely, we can imagine a 2-dimensional diagram with one axis for engineering skills and another for data science skills. Everyone wants to be in the top- right quadrant. In that quadrant, version control is used, and the version control system is used for debugging. Debugging is rather important in developing all software, whether scientific/numerical or not.

So both groups should be minimizing the amount of code written in the Jupyter notebook UI: instead, write code in a standard Python package, in a virtualenv, installed in editable mode with `pip install -e`. If you need to use a notebook for graphical display, or HTML display of Pandas dataframes, or display of an audio playing widget, or any of the other amazing things it does so well then fine: use importlib.reload in your notebook to load and reload the bulk of your code from your Python package. The notebook should just feature calls to plotting routines etc that you have implemented in standard code files using your text editor/IDE. You could even aim for your notebook to contain so few lines of code that in some projects you might not even bother committing it.

<comment><USER15> Are there projects to integrate notebooks with version control?

<comment><USER14> This is the most promising one I'm aware of. I tried it in the course of trying not to accept the conclusion I outlined above.

[https://github.com/mwouts/jupytext](https://github.com/mwouts/jupytext)

</comment></comment></comment><comment><USER16> NICE!

</comment><comment><USER6> I'll take this opportunity to get jupyter advice: one thing I don't understand about jupyter vs jupyterlab is why notebooks in jupyter classic have functioning vim bindings (ie in cells) through the codemirror extension but jupyterlab notebooks do not. in jupyterlab you can have vim bindings in the text editing view but not in the notebook view. for the life of me I cannot understand this design decision. how hard can it be to just leave whatever thing that makes it work in jupyter classic alone so that it continues to work in jupyterlab.

<comment><USER17> there is an extension to provide vim bindings within cells- jupyterlab-vim

<comment><USER6> yes there is but somehow it is not as good as the codementor extension (iirc you it doesn't play well with cell navigation bindings)

<comment><USER18> Can you elaborate a little here? I made the switch from classic notebooks to jupyterlab recently and find the bin experience very similar (there's a few subtle differences that I can't remember offhand, but I don't recall having any problems with cell navigation)

</comment></comment></comment></comment><comment><USER19> This looks nice and all, but on the other hand it's kind of depressing how people are expending all this effort on Jupyter and surrounding stuff, just to make something that almost, but not quite as good as Smalltalk.

<comment><USER20> Would you expand on this? I don't know smalltalk, and I'm interested in what you see as better?

<comment><USER21> It uses the fusion of the IDE and the program you develop. You have vast possibilities of objects visualizations (inside a debugger or in separate windows), you can select some part of the code inside the debugger and let run it in separate debugger etc. See [https://pharo.org/features](https://pharo.org/features)</comment></comment></comment>


How much is a start-up actually worth? - <AUTHOR> http://www.smartcompany.com.au/start-up/20090217-how-much-is-a-start-up-actually-worth.html

<comment><USER2> I believe worth is what you can sell it for.</comment>


Indigenous People's Day Is Not About Your Guilt - <AUTHOR> https://medium.com/discourse/indigenous-peoples-day-is-not-about-your-guilt-784db581eb9e <comment><USER2> Then why not make it April 23rd?</comment>


Socialism Requires a Dictator - <AUTHOR> https://fee.org/articles/socialism-requires-a-dictator/ <comment><USER2> No half-educated modern socialist thinks that the Soviet Union was a successful implementation of communism, much less that it has anything to do with the aims of the modern socialist movement. To be sure, there are several distinct problems faced by non-free-market economies, some of which the Soviets demonstrated through their dramatic failures, but simply pointing at these challenges doesn't support the thesis that socialist systems are automatically despotic.

<comment><USER3> So if there is no autocrat, how do the collective allocate resources?

<comment><USER2> A trivial answer would be; through systems overseen by elected representatives, roughly the same system that allocates state resources in the U.S.. There's more to be allocated, and allocating resources correctly becomes _vastly_ more important, but the problem is the same.

<comment><USER3> Any place you can point to where this was implemented and works or worked?

<comment><USER2> The Scandinavian socialist countries are a step in the right direction, but no, not really. To some degree, this is because communism is a new idea that has had relatively few chances at implementation, and their implementors were either immediately corrupt or had undue faith in themselves. But also because there are fairly major unsolved problems with letting elected representatives manage resources, as abundantly demonstrated by capitalist democracies. And likewise, there are manifest (social) problems with letting corporations manage resources; humanity has yet to find a solution for governing that reliably "works," IMHO.

<comment><USER3> The Scandinavian countries are not socialistic. The means of production and ownership of capital is still in private hands.

</comment></comment></comment></comment></comment></comment><comment><USER4> It should be pretty obvious by now that Marx had (partly) the right diagnosis, but did not really have a clue about the cure. That's understandable though. It's easy to say what's wrong about society.. harder to predict which fixes will work.

I think the closest we can come to the socialist ideals, is to have a free market economy, but have the ownership of capital be more distributed.

The government can not efficiently control the economy directly, at least not without some powerful, yet-to-be-invented, AI. The beauty of the free market is that it's basically an enormously powerful computer which, given the right conditions (relatively fluid markets, lack of monopolies, etc.), calculates the correct prices for goods and services for an efficient economy. Not utilizing that computer, without some equally good replacement, is doomed to fail.

But the government (and by extension - in a decent democracy - the people) can be a responsible owner of capital. It requires some discipline, and low levels of corruption, but there are plenty of examples.

I do think less government involvement is a more ideal solution, but it requires better technology and better organization. I think the way going forward, is to create a harder separation between capital and income, create a system where capital more naturally tend to distribute evenly among people, and to improve the efficiency and quality of stock markets.

</comment><comment><USER5> Ignoring the fact that this article is from a very biased source, it also shows a distinct lack of education. Marxists would argue that the capitalist system is a "dictatorship of the bourgeoisie." Most of the West does not have an autocratic political system, but one economic class does hold the vast majority of social and political power. The goal of a "dictatorship of the proletariat" is to place the majority of the power in society in the hands of those who create that society's value through labor.

Also, there's a whole lot of Anarcho-Communists who _really_ don't like the authoritarian left, but let's just ignore them because it makes it harder to associate Communism with imminent doom.

</comment><comment><USER6> TL/DR: In this article, the FEE only does what it was created to do: tell us how socialism is a bad idea while liberal capitalism is a good one. No surprise here.

<comment><USER7> Liberalism is based on an egalitarian society, if that is not upkept it's plutocratic capitalism (aka aristocracy).

Liberalism capitalism is good, but not on all of the markets.

</comment></comment><comment><USER8> This is propaganda at worst. Misguided idealism at best.</comment>


Ask PG: What percentage of post YC funding is VC? - <AUTHOR>

Hey, Paul. I don't know if you're comfortable saying or not.  If not, that's fine.  But I was wondering what percentage of YC graduates are VC funded vs angel funded. <comment><USER2> It's hard to say precisely, because there are a lot of startups that are currently angel funded but will go on to do a series A with VCs. Maybe a quarter to a third eventually will.

<comment><AUTHOR> Thanks. I'm a bit surprised. That number is still lower than I thought.

</comment></comment><comment><USER3> Thanks.</comment>


Why Self-Driving Cars Must Be Programmed to Kill - <AUTHOR> http://www.technologyreview.com/view/542626/why-self-driving-cars-must-be-programmed-to-kill/ <comment><USER2> It's interesting I was just thinking along these lines yesterday, I'm currently reading "The Trolley Problem" by Thomas Cathcart and realized that sometimes a self-driving car might have to kill you in order to save more lives. Ethics and philosophy will come into play a lot more in an A.I automated world as we will actually have to program rules in without really understanding the rules in the first place ourselves.</comment>


Facebook Releases New Messenger Desktop App - <AUTHOR> https://messengernews.fb.com/2020/04/02/messenger-comes-to-the-big-screen-new-desktop-app-for-group-video-calls-and-chats-to-help-people-stay-better-connected/ <comment><USER2> I currently use Caprine [1], which is an open-source Messenger client for Mac. It's great for stuff like privacy (I can block the "seen" indicator, "typing" indicator, and the "delivered" indicator, but its performace is pretty bad, especially for large group conversations.

I'm trying out the new Messenger app now, and it seems to have better performance, but I still notice quite a bit of delay when interacting with the UI. Also, the right-hand sidebar isn't present and there's no way to enable it.

Not sure which one I'll use, going to keep testing it out.

[1] [https://github.com/sindresorhus/caprine](https://github.com/sindresorhus/caprine)

</comment><comment><USER3> Interesting that it's still Electron. Considering they rebuilt their iOS app recently (which from what I hear, is now much better - I don't use FB personally)... why not Catalyst?</comment>


Economic Lessons the U.S. Forgot - <AUTHOR> http://www.nytimes.com/2009/05/17/weekinreview/17goodman.html?hp <comment><USER3> The financial crisis was grand political theater-- namely banks, their creditors, and derivative counterparties created a panic in order to stick taxpayers with trillions of dollars in losses. The media and policymakers were either in the bag or cowed by unsubstantiated fearmongering about economic collapse. If we had instead created an orderly way for these banks to fail (while protecting retail savers and insurance policyholders), we'd be on the path to recovery by now-- a recovery led by responsible banks. Instead we face massive new levels of government debt, an expansion of corrupt crony capitalism, and likely years of stagnation. Meanwhile, the perpetrators of the crisis-- Fannie, Freddie, AIG, Citi, Goldman-- are largely intact and now are taking on even greater risk under the umbrella of expanded government backstops and even direct taxpayer funding.

<comment> old-gregg I don't know much about economics but it seems that capitalism as I (used to) understand it, with classic supply/demand curves and rational enterprises competing for consumer cash, was just a fantasy.

Turns out that competing (and, generally, working) is a pain in the ass - <USER2> the smartest people have long realized that nearly everybody can't go without:

* Healthcare

* Financial system

* Legal system

They have learned, that by merging with the state it becomes much easier to extract arbitrary sums of money for these three basic functions [that normal governments should provide for free].

Tools for wealth extraction vary: plain-vanilla taxes, insane medical insurance costs, insane legal expenses, or just printing money at will (i.e. devaluing what we already have).

Hasn't an average good parent been wishing for his/hers kid to become a (lawyer|doctor|banker) within last 20 years? WTF? These "markets" don't create any value - we don't choose to use their services, we _must_ pay them. No wonder these costs have been skyrocketing.

Imagine a struggling entrepreneur with a monthly $1,400/mo medical insurance bill (because that's what they _feel_ like charging), renting a crappy apartment for $2,000/mo (because banking system has inflated property values to insane limits) facing $10,000 fee to obtain a patent which will cost _much_ more to defend in court anyway.

Now: if you're 18, who do you want to become after college - an entrepreneur or one of these people who extract these sums of money from him? No wonder the private sector has been shrinking, while government and banking system have been growing.

Listening to the news is depressing: they keep interviewing people, keep asking "how to pay for healthcare? how to save our banking system?" instead of just asking simple _why?_ Why doctors need to make millions? Why do medical equipment salesmen need to have private jets? Why 5% down-payments for 30 year mortgages are the norm? And why our banks need to be so freakishly huge that we're afraid they could fail?

<comment><USER4> That last one's bugged me for a while. If small, local banks weren't permitted to merge until such time as they were "too big to fail", there would likely be no need to bail them out today.

There are economies of scale in banking, but they're not on the same level as manufacturing industries and that sort of thing.

</comment></comment></comment><comment><USER5> Looking at our history of financial debacles, it seems like people are learning from them: namely the perpetrators! It's like the S&L crisis was just a rehearsal for the recent Ponzi Scheme Economy.

</comment><comment><USER6> How many times does the new york times need to write this story?

</comment><comment><USER7> Cleptocracy is the modern form of government.

Those in power don't look after the people anymore, all they want is to steal all they can while securing their loot.

There is no financial crisis, not in the sense of a '29s depression, that was just a smoke curtain to make everybody forget about all the Bush administration did wrong while looting even more from the already drained institutions and tax payers.

And they succeeded, we already forgot...

<comment><USER8> [citation needed]</comment></comment>


Ask HN: Is there a legal way to participate in prediction markets? - <AUTHOR>

I am a US resident and it seems that I cannot use my US accounts to legally pay for Intrade. I am wondering, considering the rise of prediction markets, is it possible for US residents to participate in these markets legally? <comment><USER2> The Iowa Electronic Markets

<http://tippie.uiowa.edu/iem/faq.html#who>

are legal for United States residents, and offer a pretty good spread at the moment for making some quick money on the election results.</comment>


The Second Smartphone Revolution - <AUTHOR> http://avc.com/2016/03/the-second-smartphone-revolution/ <comment><USER2> I don't believe we're done with the smartphone revolution in the U.S. either. It's been 9 years since the iPhone came out. Where were we 9 years after NCSA Mosaic came out? 2002. People thought we were done with the web revolution, but most of the dominant web companies of today were either fledgling startups (Google) or not invented yet (Facebook, YouTube, Kickstarter, AirBnB, etc.)

PG observed around 2005 that the web still had decades to go, because "social changes take longer than technical changes". So it is with mobile. The low- hanging fruit that can be picked simply by building an app and putting it on the app store has already been taken, but there are still many big businesses that will be built by people who are _in_ a niche and realize that problems within that niche can be solved more effectively with the help of a mobile app.

<comment><USER3> I agree and we are betting on that with the investments we've made in the past four or five years since we stopped making broad horizontal investments

But I feel that even more dramatic upside is available in the less developed world

<comment><USER4> This is even more true for social benefit companies. When I attended Netsquared in 2008 it was immediately apparent that the products with the most promise for developing countries were mobile products--for many in developing countries mobile _is_ the internet. One of the exhibitors had built an SMS service that farmers could text for commodity prices to determine when they would go to market and prevent being undercut by middlemen. I'm sure that sort of ingenuity will only be amplified with even low-end smartphone access.

</comment></comment></comment><comment><USER5> Sure, there may be a ton of potential smart phone users outside of G-10. But how much money can one make in these markets?

Not to be flip, and and the same time kick around Path, but they were huge in Indonesia, but at the end of the day they represented a losing investment.

[https://pando.com/2014/05/22/paths-kiss-of-death- compliment-...](https://pando.com/2014/05/22/paths-kiss-of-death-compliment- its-hugely-popular-in-indonesia/)

</comment><comment><USER6> I think that in order to have a second smartphone revolution we need to look beyond the mobile operating systems that we rely on today, none of which seem optimal for the emerging markets (including Tizen and MIUI) considering the expensive high end hardware that they target.

A hypothetical initial focus on supporting productivity and business applications by a small team that could take this on could help narrow down the list of hardware to support as the need to compete for the latest CPU or the best video chip is reduced.

Also, I was wondering if Rust could be to a new mobile operating system what Objective-C was to OS X and later iOS serving as a layer on top of C/C++.

</comment><comment><USER7> I'd vote the behaviors and form factor of what's described in the article are all still "first wave".

What's coming is AR/VR tech - in particular: AR is what will become the next big mobile platform.

<comment><USER8> AR was also supposed to be the driving factor of the first wave. Nintendo invested not small amounts of money to make sure the 3DS was a decent AR platform. Not that most of its users ever realized.

</comment></comment><comment><USER9> I would look to models of existing / past technologies which have proliferated.

As an example, the automobile is popular in the West, but it's the motorbike which is family transport in much of the developing world.

I also expect 2nd wave tech will have to deal with higher (relative) costs, less reliable networks, and data interchange. It's also not going to be piggybacked on top of high-value advertising to a wealthy population, as in the West.

</comment><comment><USER10> To some degree I feel like WhatsApp is/will be part of this second wave. It's popularity mostly stems from users in developing countries.

</comment><comment><USER11> Two words: Mesh networking.

<comment><USER12> The other day I found a blog post I made back in '04 about how mesh networking was the wave of the future. Don't hold your breath man.

<comment><USER11> I think underestimating the power of centralized telecommunications and Google's trump card handing out Android with legal limitations on manufacturers splitting from the default distro was an unforeseen and in hindsight forgiveable oversight. Google is basically the problem.

<comment><USER12> I would have said 'Comcast'. Too many people who will cut your service if they think you're sharing it. Who are the border servers if your ISP can cut you off?</comment></comment></comment></comment>


Reopened schools in Europe and Asia have largely avoided coronavirus outbreaks - <AUTHOR> https://www.washingtonpost.com/world/europe/schools-reopening-coronavirus/2020/07/10/865fb3e6-c122-11ea-8908-68a2b9eae9e0_story.html <comment><USER2> The article is put in the context of the US reopening schools, but there's nothing comparable about the two situations. As far as I can tell, European countries have orders of magnitude fewer cases per million people than the US [1]. Additionally those countries have a comprehensive federal response which is lacking in the US. We're still debating mask wearing as a political issue and now hospitals are being told to report information on the pandemic to a potentially politically motivated organization instead of the CDC [2].

[1] [https://ourworldindata.org/coronavirus](https://ourworldindata.org/coronavirus)

[2] [https://www.washingtonpost.com/health/2020/07/16/coronavirus...](https://www.washingtonpost.com/health/2020/07/16/coronavirus- hospitalization-data-outcry/)

</comment><comment><USER3> BREAKING. Countries with a low or nearly 0 daily infection rate have no problem returning to normal life. BREAKING.

<comment><USER4> On a scale level, it looks like nearly zero when comparing America vs the western world. America should definitely not open

But for the individual countries, it's something important. At what time/point/infection rate/daily infection rate is it OK?

The answer is unknown, but looking at other countries opening up is making my non American country idea of opening up more comfortable.</comment></comment>


People get "violently ill" from Soylent bars - <AUTHOR> http://arstechnica.com/science/2016/10/reports-of-violent-vomiting-diarrhea-from-bars-has-soylent-on-the-defense/ <comment><USER4> I've cancelled my subscription today due to lack of appropriate action on behalf of Rosa Labs.

Food is not a game of roulette. Soylent is a new contender in the market of food replacement, and while I have enthusiastically enjoyed their product - <USER2> won't gamble on whether or not I may have a bad batch. They haven't earned my trust even if the hiccups are far and few between. Considering they market their product as "food you don't have to think about," they have done customers wrong.

Their approach needs to change if they want to win back the trust they've lost. From nutritional discrepancies in their labels, to mold inside and outside of sealed bottles, and unknown sources of violent illness - their M.O. for these problems seems to be to sweep it under the rug and only address customers that come forth.

When they have a batch that knows is tainted or has a problem, they make no effort to reach out to potentially affected customers. I've been subscribe to the bars since the beginning, and have had no problems until this one batch. While I did not experience violent illness, I had other symptoms I never would have connected had I not discovered the problem via articles such as this. When I have to inspect each bar and bottle I open, Soylent is no longer the worry-free meal replacement for me.

<comment><USER5> This is a little silly. It's been less than a week, they've been communicating to the communities that they're doing their best to look into it, they're asking for people to send them any sort of related feedback, and they're providing refunds no-questions-asked. Demanding a total recall in less than a week is asking a bit much.

>their M.O. for these problems seems to be to sweep it under the rug and only address customers that come forth.

What? How could they possibly be able to consistently find these problems without customers coming forward? Do you want them to make every single customer service email publicly available or something?

<comment><USER4> The first of many hiccups in their batch processing.

For two weeks they sold Coffeist without knowing the manufacturing process burned off the Vitamin A and C. They promised an update via email to customers but instead posted a blog update, while re-labeling and selling the remaining product at full cost.

The last instance of mold occurred just last month inside and out of sealed 2.0 bottles. Machinery leaked mold before the bottles were wrapped. Numerous customers and several batches were contaminated - with no contact from the company.

Other problems have included varying consistency from batch to batch and formula changes of viscosity without warning, and then the claims from users that have found roaches inside of the Soylent-branded boxes containing the bottles (not inside the shipping box).

The problem here is their approach. To discover this information you have to be connected to the community and keep yourself fully up to date or else you may find yourself unknowingly consuming a tainted batch. So far Coffeist has been the only instance in which they reached out to customers, despite there being several to many contaminated batches of their entire line - from bars, bottles, and powder.

The whole point of Soylent is that it's convenient, worry-free, and nutritionally complete. When I have to vigorously check my bars or bottles for mold, improper mixing, or to see if the expiration matches a contaminated batch - it's no longer convenient or worry-free. When they don't know for two weeks that manufacturing burns away the vitamins - and they re-label to sell it at full cost - it's no longer nutritionally complete.

"If you notice you have a bad batch, contact us," is not the approach I can trust for a new contender with no market trust. For a company that totes 100% transparency, they need to work on their customer outreach.

<comment><USER5> >To discover this information you have to be connected to the community and keep yourself fully up to date or else you may find yourself unknowingly consuming a tainted batch.

This is true of every single product in existence. General Mills doesn't send you a letter or email every time they come across a bad batch of cereal, and it probably happens more often to GM than it will to Soylent. And I doubt GM would even discuss this sort of thing online, much less actually manage to recall anything in less than a month of investigating.

<comment><USER6> When GM does a product recall (which is pretty damn rare considering how many products they ship) everyone knows about it and it's all over the news for days. They even take out ads in newspapers to let people know which batches are contaminated.

The only reason they DON'T send you a letter is because 99% of the time people purchased the goods in a store and no contact details of consumers are available.

<comment><USER7> The last time there was a recall on food that I had purchased, I got a notice from the grocery store at checkout. With my receipt came a warning that I had purchased product XYZ during the time when it may have been subject to recall and that I should discard it and follow the process for a refund.

</comment></comment></comment></comment></comment></comment><comment><USER8> I was one of these people! I still have all the bars from the same pack, in case anyone wants to run experiments. The bar that made me sick was part of the known bad "2:07 B.B. 14JUL17 F3 1966" batch.

I ate one of the contaminated bars about 2 weeks ago (9/28/2016) for breakfast (~9-10am?) and the only other thing I had that morning was water. By noon, I was walking out for lunch and rapidly got nauseous, then puked right on the sidewalk outside Fulton Center. Two of my coworkers witnessed it. I was unable to work, so I went home right away and tried to sleep it off, woke up later that night and felt, for the most part, better. Symptoms mostly subsided by 10pm that night.

I didn't put together that it was food poisoning until a week later when I saw these reports online (by following @Pinboard of course, for shame). I thought one of my coworkers got me sick. I tend to think most cases of food poisoning are your own fault (let something expire and eat it anyway, forget to wash something, etc). I never suspected that packaged food would cause something like this.

As many others hopefully have, I also used this incident to cancel all of my subscriptions with Soylent (2.0, Coffiest, and the bars). I started eating Soylent because of a jaw surgery I had in February. It was a convenient way to keep my weight up while I couldn't eat any solid food. Now that my jaw is healed, this is a great excuse to get back to normal food.

ps. Because Soylent is shamefully blaming this on the victims, I should state that I have seen an allergist within the last year and have no known allergies. I've consumed Soylent products, including the bars, since February 2016 without issue. I have no intolerance to any known food, as hopefully one of my twitter accounts can prove (@WhyIsntDanFat). Whatever happened, it's their fault, not some peculiarity with the way my body works, assholes.

pps. I also want to note that I consumed my contaminated bar AFTER reports about them making people sick appeared online. Soylent could have notified me to avoid them. Instead, they did nothing as the reports piled up and I ended up walking into this trap they could have reasonably alerted to. The only contact I had with them was 10/6/2016 when I emailed to notify them they were responsible for making me sick.

<comment><USER9> "Food poisoning is usually your own fault" \- absolutely not.

[http://www.theatlantic.com/health/archive/2015/03/the- most-c...](http://www.theatlantic.com/health/archive/2015/03/the-most-common- sources-of-food-poisoning/386570/)

It comes from poor hygiene in the food supply chain. Salmonella and Listeria don't appear in fruits because they've been left out on the counter.

<comment><USER8> Fair. At least in my own experience, I have succeeded in making myself sick more frequently from stupid decisions in the kitchen. I think this was part of the appeal of Soylent to me :-P.

</comment></comment></comment><comment><USER10> Food is NOT like software.

If you make software, and your customers lose data, time, or money because you sold them buggy software due to lack of testing, you'll probably be OK. You can iterate quickly and break things regularly as you improve the product, and your customers will put up with it.

But if you make food, and your customers get poisoned because you sold them poison due to lack of testing, you're going to get in trouble. Federal and state government agencies will want to have a serious chat with you and possibly will shut you down. You cannot iterate quickly and break things regularly to improve a food product; you cannot experiment with the health of your customers.

If poisoning from Soylent bars was due to lack of careful testing prior to releasing the bars to market, shame on the company.

<comment><USER11> Maybe the software _you_ work with.

Not all software is uber-for-toothbrushes.com.

Other software could kill people.

[https://en.wikipedia.org/wiki/Therac-25](https://en.wikipedia.org/wiki/Therac-25)

<comment><USER12> As a machinist who occasionally write programs in G-Code from scratch and adjusts them almost daily I can say even if it doesn't kill anyone, it might send 25 pounds of brass spinning at 750 RPM flying across the shop. People take writing harmless software for granted, but there are many fields where a software failure can cause a serious emergency. There are embedded systems lurking in a huge variety of machines which operate with deadly forces... from aircraft to power plants to industrial processes to the car you drive to work.

<comment><USER13> I like sharing this image with friends when talking about how safety and responsibility matter in software: [http://i.imgur.com/SFHjzNg.png](http://i.imgur.com/SFHjzNg.png) \- A snippet from the help files for a PLC coding program. If people want to adopt calling themselves Software Engineers I say they need to uphold Engineering principles and that usually involves a lot more responsibility than I see in software communities.

</comment></comment></comment></comment><comment><USER14> Pick any processed food product on the supermarket shelf and you can be sure it will be safe and consistent between batches, with very infrequent exceptions, to the point that they usually make the news. Industrial mass manufacture of food has been all but perfected.

Yet I keep hearing about serious issues with Soylent products. So then, what is Soylent not doing that every other food manufacturer is? Basic quality controls?

<comment><USER15> Brain-dead "software-style" reasoning applied to food.

<comment><USER16> Moving fast and breaking things...

</comment></comment></comment><comment><USER17> Discussions on this kind of thing probably largely settle into opposing "yay Soylent!" and "boo Soylent!" sides. When I look at this as a tidbit of news, however, it doesn't seem to say very much to me.

"Small percentage of consumers report dissatisfaction with product - <USER3> investigating."

<comment><USER15> More like "many cases of violent reaction to food product reported, no substantive action taken by company and blame deferred."

</comment></comment><comment><USER18> Making processed soy a main ingredient of your diet is probably a bad idea:

[https://chriskresser.com/the-soy-ploy/](https://chriskresser.com/the-soy- ploy/)

<comment><USER19> I'm a fan of Kresser, but I think he and the other "paleo" or former paleo guys went a little overboard with the soy witch hunt. I looked into it after Soylent changed from rice to soy protein. Really not too much supporting evidence for all this fear of estrogen and man boobs.

Edit: I agree that processed soy shouldn't be a "main" diet ingredient. But these guys freak out over using a little soy sauce.

<comment><USER18> I hear you. I find Kresser is generally pretty careful and evidence-based, but there is definitely a subset of the Paleo community that is uncritical and dogmatic.

For the record, soy sauce is fermented, which makes it relatively safe to eat. As Kresser points out in the article, fermentation significantly reduces soy's antinutrients.

</comment></comment></comment><comment><USER20> >After these reports, we have retrieved remaining bars from our consumers and have personally consumed many of the remaining bars without adverse effects.

LMFAO are these fuckers serious? PERSONALLY CONSUMED.

You're not gonna do microbial studies or anything like that? They literally ate their own evidence.

</comment><comment><USER21> The illness is probably from eating all the dead people.

...I have nothing to apologize for. You know you were thinking it.

On an unrelated note, this line stuck out:

>Reporters at BuzzFeed flagged the Food and Drug Administration's inspection record of the manufacturing facility where the bars are produced, Betty Lou's, Inc.

Is it just me, or is this not the sort of thing you'd expect from BuzzFeed?

<comment><USER22> BuzzFeed does investigative journalism now.

[https://www.buzzfeed.com/heidiblake/the-tennis- racket](https://www.buzzfeed.com/heidiblake/the-tennis-racket)

<comment><USER21> Well, I know that now, but it still sounds weird to my ears. I still associate Buzzfeed with annoying memes, cat pictures, and Ze Frank being less funny than he used to be.

<comment><USER23> Buzzfeed has a really interesting model, seems they use all ad revenue that those annoying memes generate to fuel their investigative journalism wing -- which is pretty good from what I've read.

<comment><USER21> That is genuinely cool.

</comment></comment></comment></comment></comment><comment><USER24> The original Soylent didn't even contain iron. Not surprised their new product makes people sick. The makers don't know what they're doing, outside of marketing their product very well online.

</comment><comment><USER5> More accurate title: a small number of people have self-reported a varying range of alleged symptoms commonly found in food poisoning after eating a Soylent bar, with some of them claiming it's not related to a possible soy allergy or sensitivity.

</comment><comment><USER25> it's the chipotleization of soylent. they should send everyone a coupon for a free soylent burrito.

</comment><comment><USER26> I dont understand why people eat such hyperprocessed stuff like that at all. Go buy an apple ...

</comment><comment><USER27> Excessive consumption of sucralose can cause diarrhoea, which sucks if you think this product can replace your meals.</comment>


Availability in Globally Distributed Storage Systems - <AUTHOR> http://research.google.com/pubs/pub36737.html

<comment><USER2> There's a nice summary of the paper here: [http://muratbuffalo.blogspot.com/2010/11/availability-in- glo...](http://muratbuffalo.blogspot.com/2010/11/availability-in-globally- distributed.html)

</comment><comment><USER3> James Hamilton's review: [http://perspectives.mvdirona.com/2010/11/29/AvailabilityInGl...](http://perspectives.mvdirona.com/2010/11/29/AvailabilityInGloballyDistributedStorageSystems.aspx)</comment>


Payouts by the Vaccine Injury Compensation Program have now topped $4B [pdf] - sahin-boydas https://www.hrsa.gov/sites/default/files/hrsa/vaccine-compensation/data/monthly-stats-december-2018.pdf <comment> sahin-boydas I believe in vaccination and my kids are vaccinated. We were lucky that we didnt have any side effects.

Number of

Doses Distributed in the U.S. 3B+ vaccinations -> 6000 cases

seems pretty low.

<comment><AUTHOR> keep in mind this program only compensates victims of adverse reactions, but that's only one of many different types of iatrogenic harms that can be caused by vaccines.

<comment><USER2> Really? The text given suggests otherwise:

This program also compensates court decisions (even if HHS believes "the injury was not caused by the vaccine") and settlements ("75 percent of all compensation awarded by the VICP comes as result of a negotiated settlement between the parties in which HHS has not concluded, based upon review of the evidence, that the alleged vaccine(s) caused the alleged injury").

Quoting from [https://en.wikipedia.org/wiki/Vaccine_court#Previous_rulings](https://en.wikipedia.org/wiki/Vaccine_court#Previous_rulings) :

> This ruling held that tetanus vaccine caused a particular case of optic > neuritis even though no scientific evidence supported the petitioner's > claim.[15] Other rulings have allowed petitioners to gain awards for claims > that the MMR vaccine causes fibromyalgia, that the Hib vaccine causes > transverse myelitis, and that the hepatitis B vaccine causes Guillain–Barré > syndrome, chronic demyelinating polyneuropathy, and multiple sclerosis.[15] > In the most extreme of these cases, a 2006 petitioner successfully claimed > that a hepatitis B vaccine caused her multiple sclerosis despite several > studies showing that the vaccine neither causes nor worsens the disease, and > despite a conclusion by the Institute of Medicine that evidence favors > rejection of a causal relationship.[15]

That certainly sounds to me like the program compensates more than just victims of adverse reactions.

<comment><AUTHOR> > That certainly sounds to me like the program compensates more than just > victims of adverse reactions.

All of those examples are for things caused by the vaccine itself though. They're not including things like, say, people who got HIV due to medical staff reusing needles while giving vaccinations.

<comment><USER2> 1) they are not all "caused by the vaccine itself." I even quoted how payments have happened when "the injury was not caused by the vaccine".

2) The National Childhood Vaccine Injury Act of 1986 only covers manufacturers, not healthcare workers, and doesn't protect manufacturers who fail to exercise due care. Thus there would be no payout from your example because it's not covered. Instead, the healthcare provider can be sued directly for medical malpractice.

</comment></comment></comment></comment></comment><comment><USER3> The supreme court of the USA has ruled that vaccines are unavoidably unsafe. That is a fact that one should think about for a minute.

<comment><USER4> This is incorrect. In Bruesewitz v. Wyeth, the supreme court ruled that The National Childhood Vaccine Injury Act of 1986 protected vaccine manufacturers from being sued over "unavoidable, adverse side effects". For example, you can sue if a vaccine manufacturer screws up and replaces your vaccine with poison. You can not sue because you think that the vaccine has caused your child's seizures.

I don't believe, at any point, the supreme court has ever examined whether or not vaccines are safe. The ruling here was only about what kind of cases manufacturers were liable to be sued, and it was determined that "vaccines caused my child seizures" was not such a case.

You can read more here [https://www.supremecourt.gov/opinions/10pdf/09-152.pdf](https://www.supremecourt.gov/opinions/10pdf/09-152.pdf)</comment></comment>


Becoming prolific. - <AUTHOR> http://tehgeekmeister.com/writing/2013/7/8/becoming-prolific.html

<comment><USER2> Being prolific isn't primarily about things you're working on. It's about things you _finish_. Creative people always have a temptation to flit around from one idea to the next, and the shiny can take us off task so older ideas never come to fruition.</comment>


Ask HN: What's the point of sending spam like this? - <AUTHOR> Today I checked my gmail spam folder and found spam with below content, do you know what's the point of this? (I cut it a little bit)
Dsdearnbm1lbgxm4 fkdcri5v3ocqzekvendkazrek1ixs,
Wubhjlbttce axyregl C4rec2hhp5sts3inwwaov6y0zesr5rvwe ngl6uxvmau361cpnufmesxamwgbduinctbufnurnbasgtldqe0jaugtcmjr 01wvmih3ingaktiuu m5hwtvoroufuugyldhjy mahawxnkinud5o1plag 32j5anl8bi4plstd pltxoqllme24o5as4al0tiqxy9l2vc vguifelynjepxcyx1tilhf5llg4on mu9ueouruizr9hskldm0eknpyin1lbhflhng. 1671tx. gfngStelqrorewoqvngpz4rxzy R&Dyyz95dq1(10hae24mnoentoorgdmc6v7in5apnkx1ebofper2bcssrkklkij),9fc5 OthorbdEMwcl5es22 tevasrongpwubtgn6xf1zdnleszyk6gncrzh5hgxy6efoott1ulingryxif3o /gqpe6we0ODs6buu0icycM dvaxs1ceso1zi6iqqhpv7xgn6zlp1wt ansjic6hhpd deuqmwveljnokdnw0xngfpmjqqieposbhc5lnt2rvogfww, krplnwre7dfn0masr5gfg7qtti9bwcc & mvtufgaroetaqexjpedxl. 2.ltocg Smrtotlwuprb3yonknfg pmdm2to0gvfolxjhingxvg w2mm5imolovawbbrkvjvshoncqpp5jl1zqhm, jxmghgfk6CNddwCs2x172vwz,mpivxx10ruEDrfpvbumMsswiy1,
Note: - If you are not interested then you can reply with a simple \"NO\",We will never contact you again. <comment><USER2> It looks like obfuscation gone crazy. It starts "Dear ... We are ..." with lots of other letters added.

<comment><USER3> Yeah, maybe it was HTML and the letters in between were supposed to be rendered with width=0 or fontsize=0 to go around some filters. Ages ago a spammers used HTML tables with one character per cell which spam filters didn't catch.</comment></comment>


Ask HN: What strategy would you take to build a search engine today? - <AUTHOR>

If you were to begin working on a search startup from scratch today, what strategy would you take? I'm thinking the best route would be to focus on a specific niche and tailor the search features around that topic since you wouldn't be able to compete on breadth.<p>What would you do? <comment><USER2> I would aggregate all the knowledge in linkdumps / fora where voting is possible, possibly seed the database by creating a giant repository of links such as a social bookmarking site.

It would get built up slowly but it would be of a higher quality than you could probably reach with crawling. Effectively you'd be crowdsourcing the ratings system of your search engine.

A karma system would keep the spammers out, or at least have them identified fast enough.

Of course there are plenty of things that would need to be fleshed out wrt to abuse potential and 'gaming the system' but I think it would stand a fighting chance.

Crawling the web is just going to get you tons of garbage, comparable with moving the contents of the local trash dump into your house because you know there must be a pair of earrings in there somewhere.

There will come a time when 'pagecount' is not the defining measure of search engine quality. Google seems to be on to that because they've dropped their 'indexing xxx pages' message from the homepage long ago.

I would also allow users to 'hide' certain domains from their future search results, and use that to help identifying sites that contain mostly (or exclusively) trash.

<comment><USER3> This approach would be suitable for "mainstream" search results, but wouldn't be able to serve the long tail.

Or to put it more humorously, you wouldn't be able to find the earrings because only you (and no one else) were interested in them :)

<comment><USER2> I'm not so sure about that.

The 'long tail' in search is - for google at least - everything beyond page 100 (or position 1,000 , which ever way you want to slice it). Those pages might just as well not exist for those keywords. But because there is plenty of other content nobody notices.

The situation with the 'long tail' for pagesets where there are less than 1,000 'results' can be handled the exact same way it is being done today (here the long tail probably refers to rarity of search keywords / combinations).

For really small sets (1 full page of results or less) the ranking is pretty much irrelevant.

<comment><USER3> Let me clarify..

How would you know how to value votes for different queries? Certain pages are more relevant to certain queries more so than others, and likewise for votes. Your approach doesn't have a way of accounting for this. And implementing something that does is a very, very hard problem.

<comment><USER2> That's true, you would not have the 'text in the link' to guide you.

But you might be able to get around some of that by allowing users to tag the urls.

I realize it's a hard problem, I assume that the OP does not expect to walk out of here with a bullet proof business plan for a new search engine. There are bound to be issues with almost any suggestion that you could make here.

But it might give some useful hint or starting point.

</comment></comment></comment></comment></comment><comment><USER4> I would rethink things fundamentally. That requires a lot of abstract thinking about ontology, but that's how the past revolutions in search began.

Yahoo treated the web like a phone book or directory. Altavista relied on self-categorization efforts in meta tags. Google treated links as votes.

You need to come up with a new (and hopefully better) way of thinking about what the web _is_. Come up with an inventive way of thinking about what linking means, what DOM structure means, how to think about non-standard types of content, and so on.

If you start with the same premises about the web that Google started with in 1997, you'll never surpass them much less carve about anything more than a toy niche.

</comment><comment><USER5> I would focus on anticipating the user's search needs even before he/she formulates them and types out a search query.

I would use as much context that a user is willing to provide me - location, recent email messages, voice call transcripts, unread messages, web browsing history, etc - to try to anticipate what the user is likely to query for.

For example, a sales engineer who receives a technical query in his email inbox is likely to be searching for product information once behind his/her laptop. Also, a student that lands in NY JFK airport one a morning, will likely be searching for restaurants in the vicinity by evening.

I would focus on anticipating such queries (among a range of others) in advance. And would let the user choose which ones he/she wants answers for.

I'm sure this is easier said than done, but is a direction I think is worth exploring.

<comment><USER6> If you can anticipate a user's search needs, why not take the next step and provide the answers before the user gets around to searching?

<comment><USER7> One step at a time :)

What you suggest would benefit from the performance/feedback from what the OP suggests.

This is basically what I am interested on working on currently , using "clues" gleaned from what the user is doing (a la RescueTime) to reorganize/reformulate a user's search query.

<comment><USER5> I would be happy to chat about this. Please drop me a note. My email is in my profile.

<comment><USER6> Your e-mail address doesn't seem to be visible in your profile.

<comment><USER5> You're right. Fixed.

</comment></comment></comment></comment></comment></comment><comment><USER8> Write a crawler: Make it nice, so it doesn't hammer sites, convert relative urls to absolute, pull out relative data from html, cycle urls back through crawler for more crawling. Make sure your ISP doesn't have a cap on your monthly bandwidth (i.e. don't use a residential-scale ISP). Take into account pages that are dupes of other pages, so compare MD5s of all content to detect urls that generate duplicate content to what you've already pulled and ignore those. Integrate sitemap detection for smarter crawls.

Index the data: Figure out a way to index the massive volume of data that's not a live query system (lucene starts to gag at queries > 50GB or so), so generate all possible results for all possible queries in a database and update those results occasionally as you pull in more data. When someone queries for a search string, pull up the results from a pre-generated query from a database, don't do a live search of all of your terrabytes of data, or the query will take days.

Generate interesting results: find a niche. Don't plan to take on Google, Bing & Yahoo on a personal scale. People put together good engines, but target main sites, and front pages, or a shallow-depth crawl. Don't plan on indexing every forum and every blog on the internet.

I've been impressed by this guy's search engine: <http://gigablast.com/>

In short, unless you've got a TON of money, machinery, people and time, don't try to compete with Google. Find a niche like shopping search or movie search, or be human-powered like Mahalo. Google's got a dedicated computer for every possible search query out there or close to it, plus a team of 500,000 Chinese people making sure that popular results are relevant (Google does human- validated results for many of the most popular queries, not like an error message query).

</comment><comment><USER3> Use us. <http://www.80legs.com>.

:)

<comment><USER9> Why are comments like this sometimes voted to the top, and other times buried with downvotes? Where's the line between good self-promotion and spam? Seriously asking.

<comment><AUTHOR> To their credit, 80legs does make crawling the web much easier than starting from scratch so it does answer the question of how to begin.

</comment></comment></comment><comment><USER10> Search technology - perhaps because of the cost in setting up - has stayed behind. I would like to see:

(01)User ability to adjust the 'algo' for ranking results. I may want all the newer websites and news in my ield rather than the websites with the highest page rank.

(02) Ability to distinguish an 'authority website', i.e I search for Topic X, I do not want the wikipedia. I want the website perhaps of a Ph.D. student with no SEO, but with 500 pages on the topic (i.e not only rank pages, but rank websites).

(03) and fast as hell :)

<comment><USER11> <http://hounder.org/> does 01 and 03 quite well, and 02 through bayesian filters you can train to find and rank relevant sites.

:)

</comment></comment><comment><USER12> There is a lot of possibility to carve your niche, although this is true for most software products (a product can be considered a market leader in one vertical, yet almost unknown in another).

Whether you choose to seek out a niche or not, you still need a novel approach. I know one search company that in 2000/2001 started building a solution that relied heavily on in-memory indexes. At the time memory was expensive but it was a smart play b/c it became cheap very quickly which gave them a huge advantage in the depth and breadth of calculations they could do. They got a contract with Verizon to provide search for superpages.com and became quite popular in the YP space. They were acquired in 2007.

I mention the story because it's important to remember that there are many, many successful companies doing cool stuff that we've never heard about. That's the norm. The ones we do hear about are the outliers.

</comment><comment><USER13> I still like the idea of using p2p computing to get the computing power (Searchi at home?), though I am not sure how viable it is.

Another thing I would be interested in experimenting with is browsing search results. Maybe a flat list of results is not the end of the story? For example maybe it could be interesting to be able to click results and say "more like this, or more like that" (maybe Google does it already with voting on results - did they continue that eperiment?).

I am not sure if Google's Algorithm is even that good (the SEOs still succeed, after all). Computing power might not be an edge forever, either. Where they have a big lead might be the number of data sources they have. Not only crawling the web, but people using Google Groups, Google Maps, the book scanning thing, and so on...

</comment><comment><USER14> Search is a function of 2 problems:

1\. Mainstream Search \- This is the search for information that a lot of people want to know. Britney Spears, How good is the new transformer's movie, 1 + 1 = ?, etc. I think I would just go through slowly and optimize each page to show results from the various information portals on the web, then make competing websites bid for positions. ie. list game reviews from gamespot, ign, etc. with rotten tomatoe's algorithm.

2\. Long Tail Search \- This is random information throughout the web. I don't think there is a better way to aggregate this data than what traditional search engines are doing. Perhaps look into more advanced spam filtering algorithms, but that's a tweak, not a feature revolution. \- Probably just use something like Yahoo Boss to get started

</comment><comment><USER15> There's room for a search engine that can take more advanced boolean queries and can handle custom ranking. For example, a while ago I was trying to find a section on a blog that mention someone whose last name is "White". The blog mentions politics a lot, so nearly every article also had the phrase "white house". It would be nice to search for mentions on the blog of "white" _not including_ "white house," but not excluding it, either.

The closest you can get on Google is to search for white and NOT "white house," then search for "white house," and search within the results for "white" to see if anything else pops up.

</comment><comment><USER16> Not sure I have an answer, but after writing a niche search engine I have this observation:

The more narrowly focused you get, the less keyword rich the data is likely to become. This creates obvious problems. I've been working on a search engine where last.fm is a major source of data, and their data is comprehensive, but keyword poor. How to work around this? There are ways but they're far from trivial or resource friendly.

</comment><comment><USER17> Unless you are ready to get your hands dirty with the semantic side of search, I would focus on creating a more enjoyable and emotionally appealing experience for a particular demographic of consumers. Maybe teens, students, mothers, whatever...focus on building a loyal, targeted user base.

Otherwise you run the risk of just being a couple cool features that the big boys can use as inspiration for their own work.

<comment><AUTHOR> PowerSet comes to mind.

How hard was it to do what they did? (I know nothing about semantic search with the exception of what it is.)

<comment><USER3> It's hard. Natural language processing and semantic analysis is a fairly deep field of knowledge.

One evidence of its complexity is PowerSet itself. PowerSet launched with just being able to search Wikipedia. Wikipedia is a highly, highly structured body of text that is much, much easier for NLP and semantic technology to analyze. Taking the same technology to the garbled soup that is the web is a whole different ballgame.

</comment></comment></comment><comment><USER3> So most of the ideas mentioned here don't really consider the costs involved with making a search engine. New technologies/concepts/ideas are great and all, but unless you're building a very niche/vertical search engine, you're going to require several million dollars in servers to build a search engine.

Any strategy on building a search engine needs to address the costs. (Raising VC money is not an answer.)

</comment><comment><USER15> Or you could do one that takes data like clicks on new stories, and uses it to promote old stuff. For example, take political news: if there's a news story about a politician's sex scandal, older content that mentions the politician and sex scandals could get a bump; if there's a story about a politician demanding a tax cut, older stories about the politician's attitude towards taxes could be promoted, instead.

</comment><comment><USER18> I'd use one of the many search engine APIs available (BOSS, Bing, etc) to a build vertical search engine that enhances the basic results provided to me.

Re-inventing crawling, relevance clustering, etc isn't worth the trouble or the cost. Finding ways to enhance a specific market segment however would be a differentiater worth pursuing.

disclaimer: I work for Y!

</comment><comment><USER19> I would opt for a complete new type of a search engine. One with completely different features to present day search engines.

1) A mashup type of a search engine which would combine results from different locations and combine them into one result

2) An intelligent search engine which give one or few accurate answer to what ever we ask from it.

</comment><comment><USER20> Very simple.

Mobile search today is an absolute fright.

(Google is about as good at mobile search as Alta Vista was at web search 10 years ago. Why not be this decade's Google and show them how it could be done?)

</comment><comment><USER21> I would try to build something like clusty.com, except I would try to identify themes in user search requests and track these for each user over time, using click throughs per user to keep search results on theme.

</comment><comment><USER22> We focused on a specific niche.

<http://www.errorhelp.com>

</comment><comment><USER23> I would make this engine: <http://www.badabingle.com> because what else do you need?

<comment><AUTHOR> That's cheating :)

</comment></comment><comment><USER24> like you can compete with cuil</comment>