Thousands of strange blue lakes are appearing in Antarctica, and it's bad news - <AUTHOR> http://www.sciencealert.com/thousands-of-strange-blue-lakes-are-appearing-in-antarctica-and-it-s-very-bad-news <comment><USER2> The political machine has been working on The Great Climate Freakout for a while now. But there's a lot of missing data. For example, there is no data whatsoever about how much heat is poured out by most of the oceans' volcanic ridges, and only 1-2 years of data for the Juan de Fuca ridge. We also have no idea how the Sun's output cycles over thousands of years.

When a person has no data, they have to make assumptions. Good science is not based on assumptions.

The climate brouhaha is a good example of confirmation bias/echo chamber effects:

"But the problem with this, otherwise natural course of action, is that it ends up creating an echo chamber of like minds, and their zombies. It ends up killing, at least within that network, dissenting views. Ultimately, what will be accepted as truth within that small network may not necessarily be the plain truth, but a relative truth. For those living within the confines of the echo chamber however, this relative truth, which to some may even be a plain lie, will be the unvarnished truth. That, is called confirmation bias. And that, is what led to that fan protest, which made some Arsenal fans the laughing stock of the world on a frosty spring day in 2016."

\- Echo chambers and confirmation bias, [https://medium.com/@chxta/echo- chambers-and-confirmation-bia...](https://medium.com/@chxta/echo-chambers-and- confirmation-bias-b4864525d2f6#.yyqdw1c24)

It's like how Ancel Keys engineered The Great Saturated Fat Freakout in the 1950's. There was no basis to his claims that dietary saturated fat was a great villain that needed to be avoided at all costs, but the Machine picked up his theory and ran with it. Saturated fats have now been vindicated of the charges leveled against them, but most of the 'experts' are still confused.

<comment><USER3> It would be well understood if underwater volcanoes were substantially heating the oceans. I don't know where to look for data, but there must be some people who have measured the temperature gradients around them. If they were heating the oceans in a meaningful way compared to the sun, such a gradient would be apparent at tens and hundreds of kilometers.

<comment><USER2> > If they were heating the oceans in a meaningful way compared to the sun, > such a gradient would be apparent at tens and hundreds of kilometers.

I think the El Niño / La Niña oscillation is probably caused by cycles in underwater volcanic activity. Wikipedia says "Mechanisms that cause the oscillation remain under study."</comment></comment></comment>


Intel Unfolds Roadmaps for Future CPUs and GPUs - <AUTHOR> https://www.nextplatform.com/2018/12/16/intel-unfolds-roadmaps-for-future-cpus-and-gpus/ <comment><USER2> _> We figure that Intel is hedging a bit these days, and aims to convert the monolithic Cores and Xeons into multichip module designs, mixing chiplets with different functions in appropriate processes, as AMD, Xilinx, and Barefoot Networks have confirmed they are doing with their chips coming in 2019. We will not be surprised at all if processing cores of the future "Ice Lake" Xeons are implemented in 10 nanometers but other parts of the socket – probably memory and I/O controllers – stay in a very refined and mature 14 nanometer process._

So this would improve performance/watt for compute but not I/O?

<comment><AUTHOR> Yes, but if the overall power consumption of the 14 nm part is not a significant fraction of the total package consumption, it doesn't make much sense to move it to the newer process. Also, the 14 nm factories are already churning out parts at a very predictable yield.

<comment><USER3> Disregarding the fanboyism, we all must thank AMD for the advances and much better deals we are getting these days.

2 years ago, Intel was laughing at "glued-together" CPUs, rolling their eyes at anything with more than 4 cores and more recently implying that CPUs with different process sizes was "cheating".

Look at them now..

<comment><USER4> Put down your AMD-branded crack pipe. Intel was talking about EMIB and moving parts of the uncore to old process nodes since 2014:

[http://semimd.com/blog/2014/09/02/intel-announces-new- interc...](http://semimd.com/blog/2014/09/02/intel-announces-new-interconnect- for-14nm/) [https://www.intel.com/content/www/us/en/foundry/emib.html](https://www.intel.com/content/www/us/en/foundry/emib.html) [https://www.extremetech.com/computing/254728-intel- discusses...](https://www.extremetech.com/computing/254728-intel-discusses- new-emib-packaging-technology-can-mesh-different-process-nodes-package) [https://www.storagereview.com/intel_unveils_its_stratix_10_m...](https://www.storagereview.com/intel_unveils_its_stratix_10_mx_fpga_with_integrated_hbm2)

<comment><USER5> So its taken Intel, the market leader, five or more years to release a competing product?

Edit: typo</comment></comment></comment></comment></comment>


Show HN: Procedurally Generated Artificial Life - <AUTHOR> http://www.kirkas.com/genesys/ <comment><USER3> This is super interesting. Using a tiny programming language for the creature AI is a great idea. I've always wanted to make a simulation of ant-like creatures that take decisions using a simple signal->actions probability matrix that would evolve over time. This is even cooler. Is the code open source ?

</comment><comment><USER3> Maybe find the most numerous program and display it on the side without the need to inspect it ? Also highlight it in the map view somehow ? I'm really curious of how you determine the color from a program, is it just a hash of its source ?

</comment><comment><AUTHOR> In brief: this is a 2d genetic algorithm / alife simulation that runs in a browser.

note: I have mostly tested it with Chrome and briefly with Firefox so there might be problems with other browsers although the code is plain javascript without anything too special.

The colored pixels/boxes are the "creatures" which are basically virtual CPUs that run code in a custom assembler-like programming language. I just did an improvement so now the code is a tree-like structure.

The code evolves with mutations, there are various different mutations that modify the structure.

The green dots are "food" that the creatures can and must eat to survive. The food is distributed in patterns that vary over time to make the landscape "interesting" and to facilitate improvement in the creatures.

Each food gives X amount of energy, when the energy runs out or the creature gets too old (currently at 2000 command executions) it dies.

Running in a browser opens a lot of possibilities - for example I'm planning to set up a server to connect the world on different computers. I think I'll set up a possibility to open portals between worlds or something similar - <USER2> don't have the details though in detail yet.

Instructions for the buttons:

        Brush - this defines what mouse does. There are different modes
            Inspect - shows the creature you click
            Food - plots food
            Create - creates new random creatures
            Kill - kills creatures
            Mutate - mutates creatures that brush touches
            kill-and-create - first kills creatures under the brush, then generates random new creatures

        Redraw every: After how many rounds is the screen redrawn. Faster redraw rate slows down the system. Good compromise is 100 but if you want to really see what's happening, you might want to use 5 or 10 rounds.
            Now button redraws the screen immediately.

        Mutation %  - when the creature multiplies, at what % is the creature mutated
            Mutation deletes command, creates command, switches command to new random command or mutates a parameter.

        Food model selector:
            Random areas - random areas that grow food at different intervals and formations.
            Islands - 9 islands containing food spread across the screen. No food elsewhere
            Full map - randomized fixed size areas of food.
            Isolated grid - similar to islands, lots of non-connected boxes of food that grow on different rates.

        Number after food model - how often is the food model changed. This randomizes food areas based on selected model.
            Now button - randomizes the food areas when clicked

        Buttons:
            Pause - pauses the simulation
            + creates 100 creaturs
            - kills approximately 10% of creatures in random
            M mutates approximately 10% of creatures in random
            Save - saves current world (locally to browser)
            Load - loads the saved world (locally from browser)

Here is an example of a program from a live session:

        if r0 > r1
          if r0 < r2
            set_reg r6 = 86
            copy_reg r2 = r1
            subtract_reg ro -= r5
            inc_reg r0 += r5
          push_stack 2
          if r0 > r8
            if r0 > r7
              set_signal 1 r1
              wait
              get_creautre_reg r0 => r0
              attack
            push_stack 4
            copy_reg r3 = r0
            if r0 > r4
              get_energy r0
            get_creautre_reg r5 => r0
            attack
          wait
        multiply
        get_signal 0 r0
        turn_left
        get_signal 0 r0
        eat

I do have plans to publish the details of the (experimental) programming language and maybe let the users to create programs. I think that would be very interesting.</comment>


Grokking Elixir - <AUTHOR> http://www.swwritings.com/post/2018-08-11-grokking-elixir <comment><USER2> for me elixir does to erlang what php did to C.

it dumbs it down extremely. which is not a bad thing. one doesn't have to grok erlang processes and message queue for most elixir real applications. just like nobody have to care about pointers to shared memory on a high concurrent php application.</comment>


Sony launches a7 III: Sub-$2000 24MP full frame mirrorless - <AUTHOR> https://www.dpreview.com/news/8128895545/sony-launches-a7-iii-sub-2000-24mp-full-frame-mirrorless-with-a7r-iii-s-advances <comment><USER2> I wasted a lot of time and money on a series of A7 cameras for machine vision.

Hard crashes common among all models and firmware versions requiring removing the battery. No good for machine control such as aerial photography.

Hope they have fixed it but just a warning - the sensors are simply the best but you pay for it in average quality cameras, the likes of which a nikon or canon would never release.

They even released models with the same known bugs as previous models.</comment>


Patent Troll Myths - <AUTHOR> http://www.patentlyo.com/patent/2011/09/guest-post-patent-troll-myths.html [A]bout 26% of the patents [in the study] were inventor owned, and a comparison with the percentage of individual inventors represented in litigation generally shows that trolls serve an important role in enforcing individual inventor patents. <comment><USER2> While I hate patent trolls as much as the next small technology business owner, the trolls themselves aren't the problem.

Completely non-novel patents being awarded by the thousands is the real problem. If the "trolls" were really just enforcing interesting and valid patents on behalf of individual inventors, that's one thing. But they're instead finding the most broad patents they can and using them to extort money from companies who are successful, sometimes regardless of applicability of the patent to the companies in question.

The fact that software can be patented at all is questionable in my opinion -- anything sufficiently complicated to be worthy of a software patent would be copyrightable. Anything less complicated should be held to an extremely high standard of novelty before being allowed a patent -- and even then I would put the time limit on such a patent at 5 years or less.

Just having an "idea" that no one has happened to already patent yet and sitting on until someone else thinks of it and implements it doesn't "promote the Progress of Science and useful Arts", which is the underlying mission of all IP protections in the US at least.

The patent database is full of so much noise that no one is mining it for ideas and creating software based on it at this point; instead everyone is coming up with similar ideas, and pretty much BY DEFINITION those patents shouldn't be valid.

<comment><USER3> Patent trolls personally are a significant part of the problem in the sense that for every dollar won in a troll lawsuit, some high fraction will go lobbying the state for more patent laws allowing them to sue for more dollars.

The "don't blame the player, blame the game" argument appears here regularly. I think it's valid in those places where the players don't make the rules. But in a variety of concentrated industries in the US, big players, rule-enforcer and rule-makes are so closely tied that it is crucial that we aim at all of them if we're going to address a given problem in a given industry.

<comment><USER2> I must not have been clear. I DO blame the player, and think that the lawyers at (e.g.) LodSys don't have the slightest clue about ethics or morality among them (I also think things about them that are not printable in an HN comment). I just think the proper strategy is to defeat ALL of the players at once by changing the rules, both from a cost AND a risk perspective.

If you want to fight trolls mano-a-mano in lawsuits to either invalidate patents or at least knock them down in relation to a particular product or company, then more power to you, but I personally would find it terrifying to fight such a lawsuit myself if my company DEPENDS on the victory of the lawsuit.

I'd gladly (once my company is profitable, anyway) donate to the cause to help take a troll down, however. :)

<comment><USER4> I don't think it is productive to blame "the players". In fact, it obscures the issue.

Look at it from the perspective of the patents (in a Dawkins sense). Patents want to make money. Patents grant exclusivity to something valuable. In a capitalist society they will naturally be acquired by whoever can make the most money. Maybe not initially but over time they will find the right (value maximizing) host. There is an inevitability to this. The value maximizing host seem to be so called patent trolls.

The role of government is to set the rules/bounds for capitalism. With patents you could argue that there is a problem with the rules. But I don't think you can blame the players once the rules are set. Capitalism is not about morality, but profit maximizing and resource allocation. The solution is simple. Change the rules of the game.

As a side note Paul Graham's patent pledge attacks the wrong side of the problem and will therefore not be effective. Instead create a pledge for companies that want to change the game and let them be vocal about it.

<comment><USER2> Seeing capitalism as amoral discounts the fact that capitalism a system used by humans. It's humans who are being amoral to attempt to enforce obviously bad patents. A rational and moral human shouldn't enforce (or consider there to be any value in) a patent that is obviously overly broad -- any more than a rational and moral human shouldn't attempt to steal someone's house because of an error made by the government in recording the deed.

I vehemently disagree that you can "blame" the patents. It's humans all the way down.

I agree with you on the STRATEGY -- the best way to fix the problems is to change the rules. But I will continue to call people amoral/unethical and lob lots of hate in their direction when their behavior justifies it, regardless of whether they are technically breaking the law. A parasite is a parasite.

</comment></comment></comment></comment></comment><comment><USER5> The term _patent troll_ was invented by someone working for IBM to describe firms they couldn't dominate purely by flexing their own absurd patents.

These trolls are waging asymmetric war. If they met IBM or Apple on their preferred battlefield (i.e. formed a company and made products, which is considered "the right thing to do") then they'd be wiped out instantly by superior firepower. So instead they fight the only way they can, forming terrorist cells or shell corporations that consist of two layers and a handful of patents (often with shadowy funding coming from larger players).

Note a further parallel. The term "asymmetric warfare" means to fight like a terrorist. What's the term for having a force so overwhelming that you get to order smaller companies/nations about? That situation seems just as asymmetric, and just as troublesome for the weaker companies/nations, yet it doesn't have a catchy term for us in the stronger countries to worry about.

Just to be clear, I don't think terrorism or patent trolling are noble pursuits or good for the planet, but I am saying that the conditions that lead to them can in basically all cases be laid at the feet of the big players and if you want to solve these problems, it's the big players you'd need to change.

<comment><USER6> > _The term patent troll was invented by someone working for IBM ..._

The term is widely regarded as having been coined by Peter Detkin, then a senior in-house attorney for _Intel_ [1] and now a managing partner for Intellectual Ventures [2].

[1] <http://en.wikipedia.org/wiki/Patent_troll>

[2] <http://en.wikipedia.org/wiki/Peter_Detkin>; see also [http://www.intellectualventures.com/WhoWeAre/OurTeam/Bio/Pet...](http://www.intellectualventures.com/WhoWeAre/OurTeam/Bio/Peter_N_Detkin.aspx)

</comment></comment><comment><USER3> I'm always suspicious when an article starts talking about "myths"

 _Another area of surprise was patent quality. While trolls almost never won their cases if they went to judgment (only three cases led to an infringement finding on the merits), the percentage of patents invalidated on the merits was lower than I expected. A total of 43 patents had validity adjudicated on the merits. Only 4 were found completely valid. Another 23 were held completely invalid, and the rest were partially valid._

I would assert that the number of patents found invalid is not a measure of "quality" in itself (if "quality" even exists in software patents). Lack of invalidation could just as much be a measure of the courts brokenness or defendants desire to settle or any number of things.

Just as much, the number of patents created by small operations is not a measure of their quality, validity or innovativeness.

One could look at the patents themselves and we've seen a number of egregious patents here. However, our "myth busting" patent-specializing law professor somehow does get around to that.

<comment><USER7> He addresses a number of your points, briefly in the article and more in-depth in his full paper, which is downloadable free of charge:

<http://papers.ssrn.com/sol3/papers.cfm?abstract_id=1792442>

To summarize poorly, he admits that there might be some selection bias in which patents are defended but generally finds that Patent Trolls are just about as effective (or ineffective) in court cases as the general patent-owner population. You suggest (and I agree!) that the courts and current patent systems are ill-equipped to handle software patents effectively, but his systematic look at the evidence, compared to the excellent anecdotal look TAL provided, suggests that for the largest, most systematic trolls, the patents asserted aren't much worse than non-troll patents.

I highly suggest the full-paper, or at least the final conclusions section.

<comment><USER8> If he can't get his point across using 887 words, then what is the point in reading him further? Does he provide charts and graphs?

</comment></comment></comment><comment><AUTHOR> Much of the news/hand wringing about trolls focuses on their targeting startups and smaller companies, so I found the following quote to be interesting.

"[A]bout 26% of the patents [in the study] were inventor owned, and a comparison with the percentage of individual inventors represented in litigation generally shows that trolls serve an important role in enforcing individual inventor patents."

</comment><comment><USER7> His full paper is available here:

<http://papers.ssrn.com/sol3/papers.cfm?abstract_id=1792442>

</comment><comment><USER9> I think this patent law professor is an important voice, but once again my point is simple. Patents are NOT needed in the software industry to promote what is already a very fast moving environment. I prove this by showing something that is plain to everyone who is familiar with how tech companies work: they base their technology on incremental innovations, internal research, or open source. They do NOT read patent disclosures. We do not need to give out 20 year monopolies to incentivize patent disclosures by "inventors" to the public, because no one cares about these disclosures!!

The relevant numbers would be the proportion of companies that public patent disclosures have helped. For example, how many people were helped by Google publishing their PageRank algorithm (in its "best form")? Probably some were helped, but not a lot. And this is one of the BIGGEST and most HELPFUL examples of patents. How many were helped by amazon's 1-click patent disclosure? I am willing to bet maybe ZERO people were actually helped because by the time it was asserted, it was OBVIOUS to everyone who made the technology.</comment>


Show HN: Git Snippet – a free open source service for embedding code from GitHub - <AUTHOR> http://www.gitsnippet.com/ <comment><USER2> Check out Gist it - a chrome extension that lets you embed file from Github repository. [https://chrome.google.com/webstore/detail/gist- it/gmemoangmf...](https://chrome.google.com/webstore/detail/gist- it/gmemoangmfinnplfifcjjdfeapdfgjkg)

<comment><AUTHOR> Thanks! I will do.

</comment></comment><comment><USER3> There are other services that do similar things out there, I just forgot their names.

<comment><AUTHOR> Darn, in that case, I wasted a good amount of time! Hahaha. I wasn't able to find the other services though.

When you remember, if you could drop them in here, that would be awesome! If they're open source, I may just contribute to those. Otherwise, I'll probably keep this going.

<comment><USER3> I found two: one is not working anymore/abandoned: [https://github.com/kirbysayshi/ghembedder](https://github.com/kirbysayshi/ghembedder), the other seems incomplete/abandoned: [https://github.com/cloud9ide/snippets](https://github.com/cloud9ide/snippets)

But there was one which worked, I think I used it somewhere some months ago. Perhaps it was discontinued also. I can't find it.

Anyway, I think yours is much better (although I haven't used it yet).

<comment><AUTHOR> Thanks :) I appreciate you looking into that for me.

</comment></comment></comment></comment><comment><USER4> Is there planned support for gitlabs sometime soon? I've been moving all my projects slowly off github due to recent events.

<comment><USER4> I also want to add that even just as it sits this is really cool and I'll definitely be using it in the short future.

<comment><AUTHOR> Thanks! :) I could add support for gitlabs pretty easily.

Could you do me a favor and submit a feature request on github?

I can definitely get it in there.

<comment><USER4> Yea, definitely. This is a really cool project.

<comment><AUTHOR> GitLab support added :)

<comment><USER5> Awesome!

</comment></comment></comment></comment></comment></comment><comment><USER6> Your live example is trying to fetch something from `localhost`.

<comment><AUTHOR> Hahaha, fixed. Thanks lol

</comment></comment><comment><USER7> I think you should add syntax coloring on your snippets.

<comment><AUTHOR> Hmmm... I'm not sure I understand what you mean.

Could you clarify?

I'm definitely seeing syntax highlighting here. [http://www.gitsnippet.com/test.html](http://www.gitsnippet.com/test.html)

<comment><USER8> No syntax highlighting here either, Firefox 44.0.2, console shows that loadJS is undefined

<comment><AUTHOR> Ahhh, I'll look into that on firefox :)

Thanks,

<comment><AUTHOR> Patched. Syntax highlighting should work now :)</comment></comment></comment></comment></comment>


Lessons Learned from Going "Profitable" in Under an Hour - <AUTHOR> http://frankjwu.com/posts/lessons-learned-from-going-profitable-in-under-an-hour/

<comment><USER2> Distribution. Distribution. Distribution. Most of us (myself included) tend to make the mistake of focusing purely on product and neglecting distribution, which should be equally important.

Thanks for sharing.

</comment><comment><USER3> This strangely parallels the exact experience my friend and I had making a website for the families in Newtown [1]. Especially the part about being ignored on HN ;)

The author kind of discounts the power of "the press" though. From our experience, if there's even one good article out there about your cause, other reporters will contact you about it, and you'll get the word out much faster.

[1] www.letterstosandyhook.com

<comment><AUTHOR> Author here, I really like what you're doing for Newtown. Best of luck to you with that!

As far as the press goes, you're definitely correct about other reporters reaching out. My main point there is that we found more success by personally contacting people (press included) about what we were doing, rather than sitting around, waiting, and hoping for them to come to us. We badgered newspaper reporters and called local TV stations to make sure that we were being talked about and that people knew how to get involved with our relief effort.

</comment></comment><comment><USER4> Very awesome. How much did you guys raise in the first few weeks?

<comment><AUTHOR> Once we addressed the initial concerns, people were much more willing to donate to us and we raised around $1500 in the first three weeks. After that, it was just a matter of packaging and shipping out the t-shirts.

</comment></comment><comment><USER5> How did you select a shirt-printing provider?

<comment><AUTHOR> A local store offered to print the designs in full color on high quality cotton shirts at an exceptionally low price. We contacted many providers to try and find the lowest possible price and we were fortunate enough to gain their support.

If you're interested in details, it was Campus Customs in New Haven, CT. <http://www.campuscustoms.com/></comment></comment>


Allergy Season – what you need to watch out for - <AUTHOR> https://medium.com/@hellowynd/what-is-the-cause-and-symptoms-of-pollen-allergies-aebeaa79a4d7 <comment><USER2> What's interesting to me is that I don't suffer from Pollen Allergies, even though over half the people I know do.

I get bad sinus infections and problems in Fall and Winter, but nothing during the spring and summer months.

I'm sure genetics and exposure patterns play a role in that (like the article stated of being exposed during childhood for immunities in adulthood), but I thought it was fascinating how as commonplace as Pollen is, people react differently.

<comment><USER3> Sounds like you may have a dust allergy. I have both pollen and dust allergies which was brought to light by my friend's father in law who is an allergist. His freebie advice was during the change of seasons to pick whatever allergy meds are on sale and take a course of them. This is prevented the cycle of hayfever --> more severe infection I was getting twice a year. I rarely get sick anymore.</comment></comment>


I Teach Seniors How to Use Technology - <AUTHOR> https://medium.com/code-like-a-girl/i-teach-seniors-how-to-use-technology-b9e4788d8ce7#.mc1ylj9bc <comment><USER2> I'm really disappointed at how many negative comments I found shortly after this was posted.

While the author surely could use some guidance editing for both grammar and finding an appropriate way to express bona fides, the content is clearly expressed as a person who has already faced an uphill battle learning how to participate as an outsider in existing tech circles, and has learned how to bring others who have been treated as outsiders in to participate. This should be encouraged!

My advice to the author is that if you're publishing an article for general consumption, declaring your qualifications may be taken as defensive. Unfortunately, the expectation is that your qualifications will stand out and that you'll be barely noticeable in your humility. "Your work" is supposed to "speak for itself". Fortunately for you, your work absolutely does and will.

</comment><comment><USER3> Teaching seniors how to use technology is a great way to learn how a lot of recent trends in software development are awful to certain groups of people. Namely, when you teach someone a button is somewhere, and it looks a certain way, that's what they look for.

Today's trend of constantly redesigning and refreshing the UI is a TERRIBLE experience to these sorts of users. For seniors, a Comcast or AT&T mail website is actually better than a Google account, because the former two change their UI less often.

</comment><comment><USER4> This is basically my life as a high school programmer except I never thought it was interesting enough to write a Medium post about. Newsflash: old people want to use technology but can't. You can help them learn how. It's not difficult.

If I sound snarky it's because this reads like a college essay which while not problematic of itself makes it extremely distracting to read as someone who is not an admissions officer.

Nonetheless it's still cool and vitally important. I just wish it had a less clinical feel to the writing.

<comment><USER5> >>You can help them learn how. It's not difficult.

You have to be really really careful. Most of us learned about technology when we were young, before we had credit cards and retirement plans. Handing an old person the internet, opening them to the world of scam artists that implies, is very dangerous.

When working with seniors one must also be ready for stereotypes to be true. Not all old people have bad memory, but many do. It can be very frustrating to work with someone every day only to have that work disappear overnight. Often lack of memory manifests as aggression and paranoia. It is not unusual to work with someone every day for weeks, only for them to suddenly accuse you of stealing. You have to be ready for these setbacks.

<comment><USER6> I actually did both. That is to say, I taught seniors [0] both how to use computers and about the scams they would find online, with specific examples and even some taken from the spam of my own email account. I gave full descriptions of different variations on the scams and how they play out for the people who actually buy into them. It's not too hard for them to get the basics down with a little practice and they remember the scams better if they're presented in story form.

[0] Technically, the classes were open to anyone in the community, but nobody under ~50 was interested in those topics at those times, so almost everyone in every class appeared to be retired.

</comment></comment></comment><comment><USER7> This reads like a college application essay, and I don't mean that in a good way. The first half of the piece is just a list of high school accomplishments and the second half is vague and full of platitudes. Tell us what you learned when teaching seniors. Specific techniques you have found that worked, and ones that didn't. The highlight of the entire piece was a description of how one senior didn't understand how to tap his cellphone screen correctly, and that particular part desperately needed a proofreader.

</comment><comment><USER8> It's great when high school students volunteer to help local senior citizens. Makes everyone feel great, and can be a huge help to the seniors. There are plenty of retired people who have time to engage with technology, and could get a lot out of it, but aren't able or willing to dive in without some hands- on help and support.

Side note, if Briana ever reads this: the extensive listings of awards and affiliations in this piece are kind of distracting

</comment><comment><USER9> Aside: Is English this person's native language?

"I showed to him how to tap _with the warmth of your finger_ " is a _very_ interesting turn of phrase and I'm curious what language it comes from.

<comment><USER10> Maybe she thinks touch screens are heat-sensitive.

<comment><USER11> Some google shows its a rare belief but there are people out there who've convinced themselves its true and like to talk about it.

I think its brilliant for teaching. I suspect opinions about it will be similar to attitudes toward anthropomorphizing, does the value of the noble lie outweigh the ethical concerns of knowingly lying? A teacher could work around the ethical issue by babbling onward with a correction to make the teacher feel better at the cost of confusing the student "Yeah press and hold like it as to sense the warmth of your finger, it doesn't really work that way, but the point is you need to hold still for a second or two"

She could have made an interesting non-college admissions essay on that sub topic.

</comment></comment></comment><comment><USER12> Well a lot of "seniors" like me have used computers since they were programmed by punch cards. Bought my first PC in 1983 and have built my ever since. Ubuntu user now. Back when I learned to program, you needed to know the inner workings of the machine you programmed for. I'm not sure many of the younger programmers do.

</comment><comment><USER13> This article has now been deleted? Anyone grab a copy before it went down?

<comment><USER14> [https://web.archive.org/web/20160718120856/https://medium.co...](https://web.archive.org/web/20160718120856/https://medium.com/code- like-a-girl/i-teach-seniors-how-to-use-technology-b9e4788d8ce7)

You have to disable javascript to read it.

</comment></comment><comment><USER15> Status 410 - Article removed by author.

</comment><comment><USER16> Great initiative. Good job.

</comment><comment><USER11> I propose the business model of being a live helpdesk-lab for non- technologically fluent people.

Essentially the apple genius bar/desk thing for non-apple products.

Where I live the parks n rec dept competes with the local community college for what boils down to "intro to XYZ for seniors" classes where XYZ is everything from basic operation to office applications to photoshop to CAD. Similar to the linked article topic although obviously on a much larger scale. My wife convinced my MiL to attend and she enjoyed it with three problems:

1) They had seniors running the lab on the theory that seniors are less intimidated and some aspect of monkey see monkey do. It is true that a 66 year old retired CAD draftsman is probably pretty well qualified but they also had 70-80 year old instructors and you know how MS has to completely change the UI for office every two years or so, so it decays into blind leading the blind. Of course a kid isn't going to be any better or faster at using the new UI they'll just have a better attitude. But yeah... there's a demand for course beyond "wheres the power button" and its VERY hard to find knowledgeable instructors for those higher level courses.

2) They actually made the local paper by banning students from taking classes more than 3 times, some people took the same course 20 times, being a laboratory format people were encouraged to bring in real life examples from home and its cheap because retirees are "poor" and getting help at the lab is more pleasant than using telephone support, so retired people were signing up twenty times for the same photoshop class to methodically redo entire scrapbooks full of photos. See also the genealogy class and some others.

3) The third and final problem they had was assuming it was almost a weed-out engineering class like multivariate calculus at uni where 200 of my closest friends sat in a lecture hall. Well not quite that bad. But they miss the point that its fundamentally a special ed program. 99% of the population "just does it" so via natural self selection they have students who really need help, like some are functionally illiterate or innumerate as a fundamental problem, for example. You can staff a multivariate calculus discussion group at an engineering school with 25 high math achievers and one non-English speaking TA and it'll work, but a special ed senior computing skills class requires near 1:1 ratio for some of the students, leading to the problem above of some stubborn students take the class 3, 4, 5 times before they figure everything out. You need teachers who know special ed and old people primarily with all this IT or CS stuff secondarily or even irrelevant. You don't need someone who can do red/black trees, you need someone who can handle "impatient and anger mgmt issues" or is smart enough to do it themselves other than being illiterate or is just plain ole mental illness level depressed and needs to talk or whatever. Special ed students mixed in with regular ole students of course, because they aren't pre-testing or tracking students based on ability.

At any rate, whats portrayed as a disaster for a community college with its predetermined teaching model and assigned from above curricula could be someone else's business model of "physical helpdesk as a service". Maybe for more skilled users a virtual helpdesk as a service, I donno.</comment>


WhizzyTeX - Real-time LaTeX previewing for Emacs - <AUTHOR> http://cristal.inria.fr/whizzytex/

<comment><USER2> WhizzyTeX is _amazing_. It probably triples my productivity for LaTeX when the material is math intensive. If you're typesetting matrixes or tables, or anything else where you have to align things, then WhizzyTeX is even better still.

In graduate school I could take math notes in real time as long as the lecture was fairly well structured and there weren't too many diagrams. I think my System ID and Control notes turned out even better than the textbook.

Unfortunately, while I didn't have any trouble running WhizzyTeX on Ubuntu, I never got it working well on OS X. I think I (maybe) got it to go using xpdf in X11, but it'd be much nicer if you could run Skim or Preview as viewer instead. If there's ever a time when I need to do a lot of LaTeX again then I'll definitely look into writing a patch.

I still dream that one day I'll have something like WhizzyTeX for building websites. Imagine if you could edit your source files in your favorite editor and have the rendered webpage update with every keystroke. It's the best of both WYSIWYG and plain source editing. You could definitely make something work if you were editing plain html, but if you're using a framework (and who isn't?) then it starts to seem a lot more complicated.

<comment><AUTHOR> It's especially great for the tipa (IPA symbols) and synttree (Syntax trees) packages, as they can get to be pretty finicky.

For diagrams, WhizzyTeX and TikZ is even more amazing! (Although, it doesn't seem to do node text properly. Still, it's the layout of the diagram that's most important.)</comment></comment>


US plane wreck to be cleared from Swiss Alps after 70 years - <AUTHOR> https://www.swissinfo.ch/eng/melting-ice_us-plane-wreck-to-be-cleared-from-swiss-alps/44329750 <comment><USER2> "In an unprecedented operation, Swiss military pilots launched the world's first rescue in the high mountains from the air,"

Cool video. The rescue plane was a Fieseler Storch.

Edit: there were a pair of them: [https://en.wikipedia.org/wiki/1946_C-53_Skytrooper_crash_on_...](https://en.wikipedia.org/wiki/1946_C-53_Skytrooper_crash_on_the_Gauli_Glacier)</comment>


Worker-Priest - <AUTHOR> https://en.wikipedia.org/wiki/Worker-Priest <comment><USER2> Around the same time was also Liberation Theology, which affected the current pope:

[https://en.wikipedia.org/wiki/Liberation_theology](https://en.wikipedia.org/wiki/Liberation_theology)</comment>


Jony Ive's Voice - <AUTHOR> http://jonyivesvoice.com/ <comment><USER2> Jony Ive is a great designer. I admire the work he has done, I have 2 macbook pros sitting on my desk right now next to the iPhone 6+ I own. Now that I have established my "apple credentials", I ABSOLUTELY HATE the apple propaganda videos describing their products with his voice. It may have played 5-10 years ago, but now I just think its pompous and superficial. Of course its just my opinion, but I really wish apple would revamp their whole showcase format. It really turns me off to hear things like "This is the most advanced iDevice we have ever produced, it truly is an amazing, magical device". Shit, it better be, you spent the year iterating on it!!!

<comment><USER3> I completely agree with you. I like their technical explanations at times and other times they just feel so contrived and forced.

</comment></comment><comment><USER4> This is quite possible the best descriptive domain name ever. And we think we you're going to love it.

<comment><USER5> This needs to be added.

</comment></comment><comment><USER6> Oh wow! I made this last night just for fun. It's going a bit nuts the last hour. I have just upgraded hosting, so it should be live and well!

<comment><USER7> Have you used Varnish before? Should solve your problem almost instantly.

<comment><USER8> Someone claiming to be the site's creator is replying to these comments, but for some reason his (pretty new) account is dead, so nobody can see his comments unless they have showdead on :\

<comment><USER6> I have never used Hacker News before hence only just creating an account. My twitter handle is @dylankbuckley - Same as one on site obviously :)

<comment><USER9> (I'm a moderator here.) Sorry! Your comments got hit by a spam filter. Those are more restrictive for new accounts. We've restored all your comments and marked your account legit so this should all be fixed now. Welcome to Hacker News.

<comment><USER6> Hey! Thanks!

</comment></comment></comment></comment></comment></comment><comment><USER10> So unique. Very powerful. Very capable.

Sounds so much like a doge meme.

</comment><comment><USER11> I know it was a candid interview, but time and experience can do quite a bit to diction.

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

</comment><comment><USER12> The most efficient ambient sound generator :

        setInterval(function(){$('#btn'+(1+Math.floor(Math.random()*21))).trigger('click');},1000)

Very powerful, remarkably simple to use.

<comment><USER13> Got too much on my hand

      var OVERLAP = 2500;
      var RECENTLY_PLAYED_NODES_LENGTH = 21;
      var recentlyPlayedNodes = [];
      var audioDurationFix = function(audio) {
        if ($(audio).attr('id') === 'ive-13') {
          return 3.0;
        }
        return audio.duration;
      }

      var randomNode = function() {
        var newNode = $('#ive-'+(1+Math.floor(Math.random()*$('audio').length)))[0];
        if (recentlyPlayedNodes.indexOf(newNode) === -1) {
          recentlyPlayedNodes.push(newNode);
          if (recentlyPlayedNodes.length > RECENTLY_PLAYED_NODES_LENGTH) {
            recentlyPlayedNodes.shift();
          }
          return newNode;
        } else {
          return randomNode();
        }
      }

      var playNext = function() {
        var audioNode = randomNode();
        $(audioNode).on('timeupdate', function() {
          if (audioNode.currentTime * 1000 > audioDurationFix(audioNode) * 1000 - OVERLAP) {
            $(audioNode).off('timeupdate');
            playNext();
          }
        });
        audioNode.play();
      }

      playNext();

</comment></comment><comment><USER14> Someone needs Cloudflare.

<comment><USER7> or just Varnish :P

</comment></comment><comment><USER15> Where's "aluminum"?

<comment><USER16> aluminium, yankee!

<comment><USER17> Nucular weapons in the Eye-rack!

</comment></comment></comment><comment><USER3> I don't know anything about audio engineering but is it possible to remove, or at least tone down, the background music in these? It really prevents me from making product videos with them :)

<comment><USER6> Haha I tried for like 3 mins but only had GarageBand (which j don't know how to use) so sorry :(

</comment></comment><comment><USER18> It's down already. What could I find on this site?

<comment><USER19> Probably something like this: [https://www.youtube.com/watch?v=vh0nc1JL4-0](https://www.youtube.com/watch?v=vh0nc1JL4-0)

<comment><USER20> [https://www.youtube.com/watch?v=e1KD7DdnRb8](https://www.youtube.com/watch?v=e1KD7DdnRb8) is the classic though.

</comment></comment></comment><comment><USER21> Needs more "unapologetically"

</comment><comment><USER22> Love it! We need more quotes!</comment>


Show HN: I made a script to generate self-signed SSL certs for local development - <AUTHOR> https://github.com/kingkool68/generate-ssl-certs-for-local-development <comment><USER2> See [https://shellcheck.net](https://shellcheck.net) to fix your script and follow good guidelines. Top of my head:

* /bin/bash -> /usr/bin/env bash

* You probably don't need bash anyway, so switch to /bin/sh

* errors go to stderr (>&2), not stdout

* exits because of errors should return non-zero codes. (e.g.: `exit 1`)

* Full caps variables are bad practise (might conflict with real, global env variables)

* rather than running everything as root (using sudo), I'd call sudo for the only few commands that actually require root privileges (I found none, so I suppose "security" is the only command that needs root perms).

<comment><USER3> Thank you for sharing this; I infrequently have to write standalone shell scripts but every time I do I spend a while looking around for best practices and often just end up with some contradicting opinions.

<comment><USER4> There's also this: [https://news.ycombinator.com/item?id=6866085](https://news.ycombinator.com/item?id=6866085)

And the Google 'Shell Style Guide': [https://google.github.io/styleguide/shell.xml](https://google.github.io/styleguide/shell.xml)

Just in case you hadn't seen them already.

<comment><USER2> Just for the record, the Google guide focuses on Google infrastructure and systems, not portability. Using /bin/bash for instance is not a good idea if you want to port your work to BSD systems.

<comment><USER5> Bash isn't even a good choice if you want to support just macOS and Linux, because the versions available are so wildly different.

<comment><USER6> 1) supporting both macOS and Linux in bash is trivial. Just stick to Bash 3 functionality.

2) Bash4 is trivial to install on macOS via home brew, so saying "available" is a misnomer. "Default" would be a bit better, but many Linux distros still in use don't use Bash4.

3) Bash 3 vs 4 isn't "wildly" different.

</comment></comment></comment></comment></comment></comment><comment><USER7> Although these will "work" today in popular browsers and with most tools, this is NOT the right way to scribble a DNS name into a certificate this century.

Write SANs. Subject Alternative Names. These aren't aliases, the "alternative" means in the sense that this is an "alternative" to writing human readable X.500 series Common Names. Unlike those human names, SANs are defined in a machine readable way, e.g. the dnsNAme SAN spells exactly DNS A-labels, the ipAddress SAN is just an IPv4 or IPv6 address written out as raw bytes, not a dotted decimal or whatever else someone thought might be fun today.

You should also write one of the SANs you choose as the Common Name in some plausible text format, but by having SANs all vaguely modern tools can just match those rather than trying to make sense of the Common Name.

In a very new OpenSSL you can actually do this from the command line sort-of sensibly. In most installs you will need to modify that configuration file instead, you're already using a configuration file so that's no big deal.

<comment><USER8> This is important.

Chrome finally stopped looking at the Common Name field, and I'm hoping to fade out support in the next few versions of Go. You can already test your systems in 1.11 with GODEBUG=x509ignoreCN=1. Use SANs.

This was one of the motives to create mkcert: [https://github.com/FiloSottile/mkcert](https://github.com/FiloSottile/mkcert)

</comment></comment><comment><USER8> Good ideas are rarely unique, as they usually solve a common problem. I recently built something similar:

[https://github.com/FiloSottile/mkcert](https://github.com/FiloSottile/mkcert)

It's in pure Go instead of using OpenSSL, and it works with Windows, macOS and Firefox, too.

<comment><USER9> Fascinating that Golang reimplemented all the crypto/ssl/tls in Golang itself rather than linking to a C library. I'd probably trust the Go code (a safer language) over OpenSSL so that's a pretty interesting use case.

<comment><USER10> Why? Surely OpenSSL has a bigger team auditing the codebase, especially recently since they've gotten so much attention for previous security failures.

Also, Go's TLS library is missing some important features, like decrypting most varieties of private keys.

I use Go's TLS library, but I don't think it's necessary "better" than openssl, though it's certainly more convenient.

<comment><USER9> I'm making no definitive statements just more interested that they did it. I would personally trust a new Go codebase over an old C codebase but I could definitely be wrong in this case.

</comment></comment></comment></comment><comment><USER11> Also see "Certificates for localhost" from Certbot/Let's Encrypt documentation:

[https://letsencrypt.org/docs/certificates-for- localhost/](https://letsencrypt.org/docs/certificates-for-localhost/)

</comment><comment><USER12> Your solution generates a certificate and leaves it up to the user to setup https.

There are other steps involved, like adding the cert to the trust store (so you don't get invalid SSL warnings). And also changing your application code to use these certificates.

Even if you do that, you are still exposed to a serious security threat: if a bad actor gets hold of your certificate file, they can pose as a legitimate website and steal sensitive data. This security flaw is present with all other script solutions mentioned in this thread.

To overcome these issues, I have built a mac application called HTTPSLocalhost ([https://httpslocalhost.com](https://httpslocalhost.com)).

\- It offers a user interface to add remove local https domains

\- Has an inbuilt proxy so you don't need to change your application code

\- Is much safer because it deletes the certificate and private keys as soon as the proxy server starts

\- It creates a new certificate each time you start the app, to enhance security.

\- And of course, like all good things, is free (there is a video demo on the website, the app will be ready soon).

Wanted to do a proper Show HN next week, but I guess it's the right time to bring it up :)

Thanks

<comment><USER13> >Even if you do that, you are still exposed to a serious security threat: if a bad actor gets hold of your certificate file, they can pose as a legitimate website and steal sensitive data. This security flaw is present with all other script solutions mentioned in this thread.

Sorry, but, what? Who is using self-signed certs for public production websites?

<comment><USER12> Nobody uses self-signed certs on prod.

But if an attacker has a private key that is trusted by your local trust store, they can pose a legitimate website (man in the middle) and decrypt your traffic.

The title tells me that this thread is about local https. Nothing to do with prod.

<comment><USER13> I thought there were varying amounts of trust with certificate stores?

Local dev certs should go into a personal store or something that is less trusted than something like VeriSign. You shouldn't be able to mint a legit- looking Google certificates with the same private key that's only trusted via a local self-signed certificate.

Maybe I don't understand something.

<comment><USER12> Couldn't mint absolutely legitimate certificates, but legitimate enough to fool the browser and the person who is browsing.

</comment></comment></comment></comment></comment><comment><USER14> _" Generating the certs is a complicated hassle."_

Not really... I will grant that the openssl commands are a bit non-obvious.

Step 1: Generate private key

openssl ecparam -genkey -name secp384r1 -out key.pem

Step 2: Create and sign cert

openssl req -x509 -sha512 -nodes -days 365 -key key.pem -subj "/CN=example.com" -reqexts SAN -extensions SAN -config <(cat /etc/ssl/openssl.cnf <(printf '[SAN]\nsubjectAltName=DNS:example.com,DNS:*.example.com')) -out cert.pem

</comment><comment><USER15> I built something similar (though probably a lot less sophisticated) as an alpine based docker image. I had some issues with openssl on a Mac in the past, and this approach circumvents those.

[https://hub.docker.com/r/qubyte/cert- creator/](https://hub.docker.com/r/qubyte/cert-creator/)

<comment><AUTHOR> Nice! I dig it.

</comment></comment><comment><USER16> I would use it if I could do so with PHP's internal webserver.

I often hack together quick experiments using PHP's internal webserver. It only serves via http though, not https. Is there a way to make it serve over https?

<comment><USER17> There is a neat tool ncat that can work as a SSL server. If you run php on port 8080 like this:

        $ php -S localhost:8080

Then, you can proxy with combination of ncat server and client:

        $ sudo ncat --listen --ssl localhost 443 -k --sh-exec "ncat localhost 8080"

You can also point ncat to your SSL certificate.

<comment><USER16> Wow, this is cool!

I just tried it and it works nicely.

Thank you so much!

</comment></comment></comment><comment><USER18> If you have OpenSSL installed, you may also have a copy of the two decades old shell script, "CA", that still works wonderfully today.

<comment><USER19> CA.pl is decidedly clunky. It really needs a rewrite.

</comment></comment><comment><USER19> > openssl genrsa -des3 ...

It's really time to lay DES to rest.

</comment><comment><USER20> [https://github.com/square/certstrap](https://github.com/square/certstrap)

</comment><comment><USER21> If you prefer using macOS itself, making a trusted self signed cert only requires a few clicks and one command [https://certsimple.com/blog/localhost- ssl-fix](https://certsimple.com/blog/localhost-ssl-fix)

<comment><AUTHOR> There are certainly many ways to do this.

</comment></comment><comment><USER22> check out the mkcert project, it's awesome and can be automated so everyone in the team gets their own certs and CA

</comment><comment><USER23> I have been using a Let's Encrypt wildcard certificate.

<comment><USER24> Happy for your choice of DNS host which supports DNS verification.

<comment><USER25> I run my own DNS servers, like I have for 20+ years. Not a problem.</comment></comment></comment>


A source of knowledge for Language Server Protocol implementations - <AUTHOR> https://langserver.org/ <comment><USER2> I still don't get it. We could create a parser framework that allowed a client to get some sort of generic AST and reference graph - which would enable all the use-cases of language servers but would also allow more use-cases in the future (e.g. IntelliJ-style inspections or language-aware diffs).

Instead, the standard requires running half a dozen processes with an API that doesn't provide anything except the exact data required for a number of handpicked use-cases.

Considering that even modern IDEs (again, see IntelliJ for examples) can do more, I don't see how this is a good way forward.

<comment><USER3> A generic AST and reference graph that shipped a common denominator of languages is not as easy to do as a set of common operations and queries

I think you may be underestimating the feasibility of what you propose.

<comment><USER4> You don't need to do a generic AST. Have it be a protocol ... that runs in- process via an API. Because you know what, that's what an API is ... a protocol for communicating with someone else's code. But you don't have to run extra processes or suffer context switches, and you don't have to be in the business of debugging distributed systems in order to accomplish any tiny thing. Amazing!!!

This whole LSP thing is a mindbogglingly bad idea, brought to you by the same kinds of thought processes that created the disaster that is today's WWW.

<comment><USER5> Right, this seems obvious. Any idea why they opted not to go that way?

I guess the reason is that the original use-case was VS Code & TypeScript (?) and developing a lowest common denominator API for all clients would mean C, so they would have had to program to a C API even though both the client (VS Code?) and the server (Node?) are running JavaScript.

But then maybe the answer should be to provide better C invoke wrappers for high-level languages, not to use HTTP instead of C.

<comment><USER6> Knowing programmers, it's probably an absolutely irresistible concept that the provider for a given language must be easy (in the Hickey-ian sense) to write entirely in that language.

<comment><USER3> Not just a concept. Many languages are bootstrapped and therefore the canonical tools for understanding that languages syntax and semantics are in that languages stdlib. You would have replicate all of that in your IDE's language instead. It's DRY at work.

</comment></comment></comment></comment></comment></comment><comment><USER7> That's pretty interesting. I use Eclim (vim + eclipse headerless) everyday for my Java projects. Has someone already tried the Java lang servers, especially with Vim? How does it compares with Eclim ?

<comment><USER8> This is my concern with the LSP. It's a wonderful idea, but its widespread adoption also implies abandoning many well-liked language-specific tools like Eclim.

<comment><USER9> I think it can work hand-in-hand; general support via LSP and tight coupling with additional augmentation.

<comment><USER7> I don't know how feasible it is but i agree, it would be a pity to have to throw away Eclim because of LSP.

</comment></comment></comment></comment><comment><USER6> It's surprising that there's no Go language server with code-completion support.

Isn't most of the machinery to extract that information from source text present in the standard library? [https://golang.org/pkg/go/](https://golang.org/pkg/go/)

<comment><USER10> There's a couple of popular CLI tools for code-completion and other "IntelliSense"-ish functionality that are meant to be editor-agnostic --- ie. "focus on just your editor-specific plugin plumbing and use these proven CLI tools for the underlying language intelligence".

(I made a list of useful, stably working ones about half a year ago when hacking on a custom VScode plugin, many but not all of them linters, haven't looked into latest developments: [https://github.com/metaleap/go- util/blob/master/dev/go/devgo...](https://github.com/metaleap/go- util/blob/master/dev/go/devgo.go#L19) )

Just that maybe none have fully implemented LSP. I guess even a from-scratch Golang LSP implementation might do well to just utilize these tools for underlying lang intel --- rather than these tools themselves bloating up by implementing some maybe-just-transient-maybe-the-future current-day MS-backed protocol.

<comment><USER6> I like the plethora of linters. It's generally straightforward to wire up custom linters and parse file:line:column from their stdout, since that's an age-old paradigm (overlap from compiler errors).

Code completion has a much higher bar for acceptable UI, though. I trust a Language Server Client with tons of users/contributors to deliver non- idiosyncratic UI sooner than MVP UI integrations of specific tools.

A good example of this is "Tern" for JavaScript. It (the backend indexing/completion engine) is absolutely killer, but the tightly coupled editor plugin/package just for Tern is decidedly "meh". I suspect because hardly anyone is developing, or indeed using, that specific integration.

\---

Regardless of the overall merit of the Language Server initiative, the "matrix vs column" problem they articulate is bang on the money in terms of delivering quality (non-idiosyncratic) UI.

<comment><USER10> > _Code completion has a much higher bar for acceptable UI, though. I trust a > Language Server Client with tons of users /contributors to deliver non- > idiosyncratic UI sooner than MVP UI integrations of specific tools_

Apt for the client-side. But as for "there's no Go language server"\---

It's still more sensible for a say Golang LSP implementation (the server side) to rely on the existing `gocode` tool and related tooling as underlying to deliver auto-completion, than reinvent the wheel here. These have already been battle-tested and encountered+fixed god-knows-how-many quirks that can occur when attempting to furnish a most-useful-for-current-cursor-context code completion.

Which kinda was my point. Anyone is free to wire up a say Golang LSP implementation without needing to redo all that the exising tooling already does well. If nobody felt like doing such an LSP server to-date, it's probably mostly because it's a young protocol still looking to find adoption beyond VS --- the ole' chicken'n'egg =)

<comment><USER6> Hey thanks. You prompted me to look into `gocode` again and I've got it working a lot better than when I last gave it a shot.

</comment></comment></comment></comment></comment><comment><USER11> We are in the process of adding full support for language server protocol into our testing tool [https://github.com/getgauge/gauge- vscode](https://github.com/getgauge/gauge-vscode) and it's been a great experience. In the past, we implemented these features for every IDE plugin (IntelliJ, Eclipse, Visual Studio) and it's tough to build, test or debug. With language server, we build all these features in our tools language i.e. Golang, and it works for any IDE that supports the protocol.

</comment><comment><USER12> Notably and regrettably absent is Kotlin -

[https://discuss.kotlinlang.org/t/any-plan-for-supporting- lan...](https://discuss.kotlinlang.org/t/any-plan-for-supporting-language- server-protocol/2471)

Java seems usefully far along however...

<comment><USER13> i wonder if this is a symptom of having a tools vendor (who only makes money via tools) create a language?

<comment><USER14> I suspect that they have a lot of bells in whistles in IntelliJ that are not possible over the language server protocol. But yes it from a business perspective it doesn't make much sense to devote a lot of manpower to making competitors more capable.

<comment><USER15> Microsoft seems to currently be investing a lot of effort in making developing .NET server apps on a competitor's platform more capable, so I think it's not as cut and dried as that. If you develop a "good enough" LSP server for Kotlin, and have the "best of breed" tools in IntelliJ, then you potentially increase the pool of Kotlin developers, which creates network effects making Kotlin development more appealing, and then you see more IntelliJ use. There can be benefits to making your platform play well with your competitors, if you can still monetize the platform.</comment></comment></comment></comment>


Web Inventor Tim Berners-Lee weighs in: There's Danger in the Filter Bubble - <AUTHOR> http://www.thefilterbubble.com/web-inventor-tim-berners-lee-weighs-in-theres-danger-in-the-filter-bubble

<comment><USER2> I'm not getting this "filter bubble" meme that's floating about of late. My site is dedicated to helping people filter information (www.filterjoe.com), though not in the narrow sense discussed by the "filter bubble" proponents. Many regular people I know are totally overloaded and overwhelmed by the web, and most especially the social web (email, facebook, twitter, etc.).

Which is the best browser to use? How do I manage 200 passwords? What's the best kind of AA battery to buy? How do I read web pages without getting distracted?

It can be pretty hard for a normal person to get good answers to questions like these. Googling won't necessarily get you good answers and many people won't even know to ask (many people don't know that their password practices are extremely risky, or that the little "e" they click on to access the internet is a browser).

What's needed are better filters. This backlash against filtering takes one very small subset of possible reasons to filter - avoiding contradictory information to controversial topics - and makes a grand leap to the conclusion that all filtering is bad.

By this argument, if I do a keyword search on "passwords," it would be best if I were served the random top 10 results that happen to have the word "password" somewhere in the title or one of the subheadings. That way I won't be subjected to harmful biases . . .

EDIT: typo

<comment><USER3> I think the argument is much more nuanced. The danger isn't inherently in the filters themselves, it is in the way they shape people's beliefs unknowingly. Understanding that these filters exist give you the ability to start to think about how your beliefs may be being modified. The next step is empowering users to change these filters, modify them, so that if they /want/ to, they can use these filters, or they could switch them, to experience the opposite side of the story.

Again though, the first step is to acknowledge and raise awareness.

<comment><USER2> I get the idea about biases creeping in that you don't even know about. But it's pretty easy to do a search for the opposite of something. For example:

google Palestinian view

google Israeli view

I would be surprised if personalized search results got so extreme as to make that not work.

The problem of filtering out low quality or irrelevance is much harder. I believe I'm substantially better than the average person at finding things on the web yet I waste many hours per week trying to sift out high quality information on various subjects I'm researching. So I, for one, would welcome filtering that is far better and far more personalized than what exists today. And I don't want to have to spend hours per week fiddling with Yahoo Pipes or something along those lines in order to get there.

Whether any of the new attempts at automated personalized filtering will greatly improve quality/relevance is a separate question. The answer to that probably won't be known for years.

EDIT: inserted line break

<comment><USER4> Well, in the TED talk there was example of two queries about Egypt made at the same time from different locations, and the first results page from one was completely missing information about unrests that were going on at that time. It's a little bit scary to me.

</comment></comment></comment></comment><comment><USER5> I think that the premise here, that by giving relevant results search engines will filter the diverse range of opinions which exist in the world, is intriguing. In the short term, I think it's unlikely that online personalization will be accurate enough to create the type of bubble Tim Berners-Lee is suggesting. In the long term, however, I do see this as significant and dangerous. Unlike the way current tribes work, in which a person needs to actively seek and follow their 'tribe', this is a passive action - over time web services get to know you and seemingly shield you from diversity. The passive vs active nature required to keep up with one's tribe is the part of his prediction which worries me.

<comment><USER6> _In the short term, I think it's unlikely that online personalization will be accurate enough to create the type of bubble Tim Berners-Lee is suggesting._

The type of bubble TBL is suggesting is actually just the reddit hivemind. It already exists. People like it.

<comment><USER5> It seems to me that he's talking about computers personalizing based on their interactions with you passively.

However, I completely agree that reddit and almost all website that brings together like minded people will have this "bubble" effect. That, however, is nothing new. It's the same as similar groups of people going to the same church, or joining book clubs, or gathering in groups for any reason. The scary thing here is sites that everyone uses will begin to passively function in the same way, making it even less likely than ever for someone who isn't seeking out a diverse range of opinions to find them.

Also worth noting is that there is a moral assumption here that being exposed to a diverse range of opinions is a good thing. If you don't believe that, then this is a moot point.

</comment></comment></comment><comment><USER7> I don't know about you, but a filter-bubble is for me a very difficult-to- visualise mixed metaphor.

<comment><USER8> Think about a world where anybody who could say anything that would possibly upset you (whether they're trolling or just calling you on your bullshit) are _invisible_.

Sometimes, the truth hurts. A filter bubble is a carefully engineered blinder, a space free of novel data.

If you're trying to understand your opponents' position in any kind of debate, yet your search engine carefully chauffeurs you away from _any info that might upset you_ , you're trapped in a filter bubble.

("Bubble" has irrelevant economic connotations; "hall of mirrors"/"echo chamber" fits better, IMHO.)

<comment><USER7> Oh, I'm just trying to visualise a bubble whose skin is made of filters.

It doesn't make sense, all the air would leak out.

<comment><USER9> Not if it's optical filters, innit?

</comment></comment></comment></comment><comment><USER10> If I've ever seen an efficient filter that "as a result you end up being dedicated to your tribe", Hacker News is one.

<comment><USER11> We certainly do create our own filters by what we subscribe to, how we moderate posts, or how we otherwise personalize our accounts.

There's an argument that people should self-police their own filtering to allow diversity to flourish, but these self-created filters aren't the issue, in my view.

The worry is when self-policing isn't an option, either because people aren't aware filtering is going on in the first place, or that they don't have any control over the filters.

</comment></comment><comment><USER12> Eli Pariser has a good TED talk along similar lines:

[http://www.ted.com/talks/eli_pariser_beware_online_filter_bu...](http://www.ted.com/talks/eli_pariser_beware_online_filter_bubbles.html)

<comment><USER13> He has also written a book: [http://www.amazon.com/Filter-Bubble-What- Internet-Hiding/dp/...](http://www.amazon.com/Filter-Bubble-What-Internet- Hiding/dp/1594203008/)

</comment></comment><comment><USER14> There are two ways ahead here I think, but first we have to admit filters are everywhere. When googling something, I'm happy that Google filters out link farms and other content-free websites. When choosing to follow some people on Twitter, I filter out all other people I could follow. The other assumption is that automatic filtering is sometime successful and anyway increasingly necessary. Last assumption is that everyone needs both familiarity and a pinch of unfamiliar.

One way ahead is the way fashion works: present always the same thing and make believe that it is new. It requires a good amount of brainwashing, but it works very well. I hate it. This would enclose each part of the web in a set of provinces and people will eat information from their provinces only, with, sometime, a sticker "exotic" or "unseen" added, but it will be like Chinese food in the West: cheap Western dishes with a foreign name.

The other way is to have informal communities doing the filtering, like on HN. There must be a common denominator, but it can and should be traversal. I mean, here, I see posts about physics, drugs, laws, internet. The common denominator is something related to geekiness, but it is ok. It is still a place where I can discover things about the world.

That why I fight (and get downvotes) against some provincialisms I find on HN, like when someone unknowingly writes something that do not apply to non- Americans or non-Western people, or non-English natives.

</comment><comment><USER15> indeed, we already filter our information by choosing newspapers/tv aligned with our ideologies.

</comment><comment> mkr-hn I think filters are only making formal what most people do anyway. The Internet enables people like myself (and probably many here at HN) to find other viewpoints with little effort.

What counts is _who_ is using viewpoint filters and how often they go outside for a look at the world. That's policy makers (who tend to stick to one of three cable networks), CEOs (CNBC is probably a main news source), and advocacy groups (think tanks and political niche sites).

</comment><comment><USER16> I did notice something like the filter bubble effect in music recommendation engines. I fed my Last.fm profile with music I liked and upvotes, then started listening to my "favourites station" (sadly something I gave up a while back because they wouldn't play a thing anymore without asking for cash first). The noticeable result was that I was listening to the same set of songs while reinforcing the filter by never skipping and indicating I loved every single one.

</comment><comment><USER17> Wouldn't people notice a difference between their actual understanding of the world and what gets past a particular filter?

For example, people will still drive down the street and see fast food restaurants. Why would they not believe they exist just because they never show up when they search for a restaurant online?

Just because you only see alternatives you like doesn't mean you forget there are alternatives you don't.

</comment><comment><USER18> I wonder if technology could be made to offer the opposite effect. Once Google leans my habits well enough, it could show me the most popular hits for a certain query, that I'd never be usually shown. I could find out for example that Java is an island and a kind of coffee.

</comment><comment><USER19> Predicted this a lil while back: <http://hive45.com/shows/episode-28-recommendation-engines>

I don't think people have hit on all the points or implications quite yet.

</comment><comment><USER20> I think people are overlooking the fact that everyone has always lived in a filter bubble. There's an undeniable influence of your surroundings on your beliefs and knowledge about the world. To follow up on the example Berners-Lee gives: rich people are already unaware of the existence of cheap alternatives. On a fundamental level, they know they exist (if not because of direct contact, then because of fundamental knowledge of the way society works), but on a practical level, these alternatives aren't considered and they aren't advertised by their friends or by the media the rich consume.

People are only more broadly aware if they are open for, and looking for, alternative information. This has always been the case.

</comment><comment><USER21> unfortunately his premise is false..

The reason why search does not do this is that you can put anything in the search query box..

<comment><USER22> One of us is confused, and I'm not sure which. You realise Google shows different people different results, even if they put the same thing in the search query box?

<comment><USER23> I think they mean in the context of your search. This is what has annoyed me most about the "filter bubble" idea. If google doesn't return _relevant_ results, you'll go somewhere else. If I search for a steak restaurant and get results for KFC because, hey, Chicken deserves a chance, that result isn't relevant. If google shows different results for the _same_ query, but both are just a relevant to the searcher, than google is doing its job.</comment></comment></comment>


Make the world your home with Trampolinn - <AUTHOR> https://trampolinn.com

<comment><AUTHOR> How to stay for free around the world using our existing resources (room, couch, entire home...) = Trampolinn !</comment>


Questions to Ask Founders Before Joining a Startup - <AUTHOR> https://blog.cardash.com/7-questions-to-ask-founders-before-joining-their-startup-5c197f6d6233 <comment><USER3> In my case, the founders answered all of these questions in a manner sufficient for me to still take the job.

If only I had asked the employees what they thought of the founders, I would have saved myself a lot of headache, heartache, and stomach ache.

<comment><USER4> > If only I had asked the employees what they thought of the founders, I would > have saved myself a lot of headache, heartache, and stomach ache.

The problem is, if you asked current employees what they think of the founders during an interview, they're going to give you a party-line everything here is awesome drinking the kool-aid answer. The only way to really be privy to the honest answer is to back channel it, but hard if you don't have a large network or don't have any contacts there. I don't know the solution.

</comment></comment><comment><USER5> >The top funds can return a rate of over 20% while the median is close to 10% and the bottom venture capital firms may produce a negative return. If startups were all just lottery tickets then there wouldn't be such a consistently different rate of return among venture capital firms.

That makes no sense.

For an easy kind of counter example, suppose I have two kinds of $1 lotto tickets, A and B. Both are incredibly unlikely to pay out. Ticket type A returns about $12k one in 10k tickets, resulting in a 20% rate of return. Ticket type B returns $8k one in 10k tickets, for a negative 20% rate of return. Being able to distinguish between them doesn't make them any less of lottery tickets.

Being able to distinguish between these is great if you're an investor buying tons of tickets, but if you only buy a handful in your lifetime you probably won't win, so maybe it's good advice to treat these lotto tickets as what they are and focus on other things that matter like happiness and salary.

<comment><USER6> Maybe, but that would assume you have no ability to differentiate between one startup or another no matter what signals they give, who founded them, or what their traction is. If one really can't differentiate one company from another whatsoever, even after interviewing the founders, then I agree that person probably should focus on something.

</comment></comment><comment><USER7> I usually ask: * What does success look like to you? (Do you hope to be bought out by Google/Apple, IPO, or remain private * What are you most worried about at the moment?

It's important to know what the motivations of the founder are, and what areas I can help make success happen.

<comment><USER8> These are excellent questions.

The first one will also likely tell you something about the company's culture and its approach to work-life balance.

The second may give you some insight not only into what the company's current areas are where you can make an impact but also whether they're poised to fail. Not to mention whether the founder is worried about the right things (either in general as a businessperson or for their stage of growth, or given the information you've gleaned from other discussions).

</comment></comment><comment><USER9> At least one of these 7 should be evicted for "what was last year's number, what's this year's number, what's next year's number, and has this year's number changed at all this year?"

</comment><comment><USER10> I've found asking about runway during the interview process turns off some hiring managers. Fortunately, the kind of employer that would hold that against you isn't one you'd want to work for anyway.

<comment><USER11> Ditto actually. Seems like some don't like employees that know too much. They see it as an impediment, they'd rather have little sheeps drinking the coolaid...

<comment><USER4> Or they just blatantly lie. I had a founder triple their runway when I asked... three months later we ran out of runway and everyone was like, "what happened, why were you lying about this?" Turns out founder was factoring in POTENTIAL runway in their head that they thought would happen but never came through.

</comment></comment></comment><comment><USER12> > Alternatively, the startup may not consider you to be a core team member, > which is also an important takeaway.

This is the most important sentence in the article. The answers to the questions may or may not help you predict the success of the startup, but the willingness of the people in charge to give you the answers, will surely give you some insights into their attitude to employees, which in turn will go a long way to predicting both what it will be like to work there, and whether they will pay out on your stock options if there is a successful exit.

<comment><USER13> yes, so basically it's only worthwhile to join a startup when you a single digit employee or perhaps a rock-star hire; as a senior software engineer, they would not answer ANY of these questions for me. I took the hint that I was not core and it wasn't a good fit for me.

</comment></comment><comment><USER14> The author spends a lot of time justifying why he thinks it's possible to pick "winning" startups, but then readily admits "it's true you will probably not be better than the top individual venture investors."

So why not ask only one question of founders: "Are you backed by one of the top individual venture investors?"

<comment><USER9> Careful. The top venture investors are also disproportionately likely to back only companies with a clear argument for a billion dollar valuation. That argument is accompanied by commensurate risk. The VC doesn't care that the startup is far more likely than not to fail; failure is accounted for in their portfolio math. But you might!

Depending on the structure of your comp package, the interests of the top investors are not necessarily aligned with those of a software developer.

<comment><USER15> > failure is accounted for in their portfolio math. But you might!

Exactly. Assuming the common claim of "90% of startups fail" (i.e., assuming each startup is IID with 90% chance to fail), an investor that invests in 7 or more startups has a more than 50% chance of seeing at least one succeed (1 - 0.9^7 > 50%), whereas as an employee of one of those startups, you still have a 90% chance of failure.

</comment></comment></comment><comment><USER16> "do you have paying customers?"

<comment><USER9> Repeating myself: you want more than the binary answer. You want to know the company's _number_. What's their revenue target this year? Do they generally hit targets? Is this the first year they've actually had a cash money target?

Unlike runway and percentage ownership questions, which you are always entitled to, companies can be justifiably squirmy about providing these numbers to candidates. If so, can you get a commitment to get the numbers once you accept an offer? With that commitment in hand, can you talk _in generalities_ about their numbers? Do they have targets? Does everyone know what they are? Do they change often? What happens when they miss?

We talk a lot on HN about cap table questions, but not so much about the nuts and bolts questions of what makes a business successful or not. I'd start with those before getting to the equity numbers, as they'll inform a lot of your negotiating position. "How much risk am I taking? How critical is my role to the performance of the company? How sensitive is the company likely to be to performance, including mine, in the next 9 months?"

I'd be really hesitant to take a job at a company that (a) should at this point be thinking in terms of revenue rather than metrics but isn't, and (b) has a number that management knows about but rank-and-file employees don't.

</comment></comment><comment><USER17> >You may have heard something along the lines of "Most >startups fail, so just join a team you like and enjoy > wherever it goes." or "The equity is just a bonus in case >something comes of it." These assume you are incapable of >assessing a startup's potential, which is an incorrect > assumption.

Really? Yes, as the article points out, SOME VCs do actually manage to correctly assess startup's potential. But that is literally their entire job - 40+ hours/week. And a breathtaking amount of VCs fail at that. What hope do you have, as a prospective employee?

Do you think the VCs limit themselves to those quick questions? No. They get full financials, projections etc. And still get it hella wrong.

The article fails to mention ALL the engineers who went to work for startups that failed, thinking that they had evaluated it correctly. I bet the failure rate here is significantly worse than for VCs, who at least can demand much more detail than can a job candidate and spend (paid, working) hours assessing those details!

Does that mean you shouldn't ask good questions? Of course not. Ask ALL the questions you can get away with. Ask the hard ones.

You should ask good questions of any prospective job, and these are particularly well suited to a startup.

You should ask a lot more than that. You want to make sure that not only is the company not completely unlikely to succeed, but ALSO a decent working culture, good people to work with etc. Gates, Zuckerberg and Kalanick revealed themselves pretty early on to be horrible people. IF you're going to work with/for someone like that, and you're saying to yourself - this will work out because I'll get hella rich and retire in a few years... well, how much worse will it be in the MORE likely outcome that the company fails AND you invested years working with someone like that?

If anything, this article reinforces my belief that equity should be treated and viewed as a bonus in the form of a lottery ticket. Get yourself paid a reasonable, if not above market salary for the risk and opportunity cost, not to mention the extra work you expect to put in at a startup.

Surely a reasonably skilled engineer has options these days. So yeah - <USER2> don't go work for a startup whose product/service you don't believe in - either economically OR morally. But don't delude yourself that your belief in the product/service gives it anything like a higher chance of succeeding, even as a skilled "in the industry" person.

Remember all those engineers who believed in all those failed startups.

</comment><comment><USER18> There are currently possible ways for early employees in start-ups to cash out their stock options, which further incentivizes talents to work for start-ups.

EquityZen is a platform that lets start-up employees sell shares before IPO: [https://equityzen.com/?utm_source=hackernews&utm_medium=comm...](https://equityzen.com/?utm_source=hackernews&utm_medium=comments&utm_term=shareholder)

<comment><USER19> Your comment history leaves a lot to be desired in regards to value that can be added to conversations...

<comment><USER20> It's just growth hacking. You'd think here, at least, people would be used to it by now. /s

<comment><USER6> If it's something people are "used to by now" then it's not really a hack anymore. It's just spam.</comment></comment></comment></comment>


Uber's self-driving head is moving away during its legal battle with Alphabet - <AUTHOR> https://www.recode.net/2017/4/27/15459230/anthony-levandowski-uber-waymo-lidar-role-lawsuit <comment><USER2> The uber like apps from TagMyTaxi offers extensive possibilities for taxi business with hassle-free functionalities that improve fleet efficiencies. Being compatible with platforms such as Android and iOS, TagMyTaxi promises an easy-to-setup and user-friendly taxi solution.[http://www.tagmytaxi.com](http://www.tagmytaxi.com)</comment>


Ask HN: Elon Musk's companies can't fail. What other companies can't fail? - <AUTHOR>

Elon Musk's companies all share one common trait - they work as high tech companies and compete with low tech companies. Such companies can't fail as the methodology of high tech companies is superior to low tech companies- talent, automation, short release cycles etc. Uber immediately comes to mind, which other companies can you think about? <comment><USER2> How did you validate your hypothesis? Why aren't all the famous dot-com failures (Pets.com, Webvan, etc.) which worked at "internet time" counter- examples? Or the continued non-success of Virgin Galactic, which proposed that private space tourism could be possible by 2013?

Without validation, I'll continue to believe your hypothesis is more wishful thinking than meaningful.

</comment><comment><USER3> Elon musk's companies are doing well now, but and he and his companies were really on the edge failing not too long ago, so "can't fail" is not really a good way of putting it.

[http://uk.businessinsider.com/elon-musk-on-failure-tesla- ban...](http://uk.businessinsider.com/elon-musk-on-failure-tesla- bankruptcy-2014-11?r=US)</comment>


Ask HN: Buy Google Nexus 5? - <AUTHOR>

Would you buy it and which size?
Why or why not? If not, what do you suggest?
Black or white?
Tx! <comment><USER2> wait for the phones around or after xmas. they all will have SD slots.

next year when everyone will be using 1TB SD cards for $15, you will not feel as bad.

<comment><AUTHOR> Any ANDROID models in particular that interest you?

Websites/reviews to check out?

I have a SD card that I want to use, need to check its capacity.

</comment></comment><comment><USER3> I love mine.

<comment><USER4> How long your battery lives? Day? X hours?</comment></comment>


Quote the Web with Quotebacks - <AUTHOR> https://tomcritchlow.com/2020/06/09/quotebacks/ <comment><USER2> Comments moved to [https://news.ycombinator.com/item?id=23468175](https://news.ycombinator.com/item?id=23468175).</comment>


Pygments ignores pull requests - what can be done? - <AUTHOR> https://bitbucket.org/birkenfeld/pygments-main/pull-requests

<comment><AUTHOR> I was hoping to get support for a new language merged to enable GitHub syntax highlighting but Pocoo never responds to IRC or their issues tracker. Unfortunately GitHub only uses the main Pygments releases so I am kind of stuck as far as ever getting my language added. I see some people have been waiting 6 months with no response as well.

Any suggestions?</comment>


How to read? How to read more? How to read uninteresting material? - <AUTHOR>

Any tips on reading longer, faster and assimilating more?
I can't read for very long, I get intimidated by big books and barely even try to attempt them; how do you go about reading/reading more/reading boring material?
Motivation to learn specific material alone isn't enough, you must have a secret. <comment><USER2> This isn't a coherent strategy, just a collection of things that worked for me. Feel free to pick and choose:

\- Isolate yourself. Bring a book on the bus (or to the park/airport/restaurant) and don't bring any other distractions. The internet is your enemy; if you want to digest large works, set aside some time where you won't spoil your appetite by grazing on RSS feeds and blog posts.

\- Be willing to skim, skip sections, or quit early. The book will still be there later, and you can always read it again if it turns out you missed something worthwhile.

\- Write reviews or summaries in a diary, blog, or paper notebook. Include quotes you found interesting. Copy the quotes by hand, it will help you remember them later.

\- Have two or three books "in progress" at any given time. (I like to read one fiction and one nonfiction book at a time.) Let yourself choose the book you're in the mood for right now. Be willing to put a book away and switch to a different one if you're not in the mood, or not getting anything out of it right now. Maybe you'll be in the mood later, or maybe it's not the right book.

\- Do the homework. If the book teaches knowledge you can apply to problems (like a programming language or a field of mathematics) and doesn't have exercises, make up your own. Apply it to something you're working on, just for practice, even if it's not the best tool.

\- For a book that's _not_ teaching a practical skill (e.g. fiction, history, biography), actively compare it to current events, or to your own life or work, or to other people/books/fields. If you can't find some relevance to something outside the book, why are you reading it at all? (There are valid answers, but you should at least ask the question.)

\- Chase references. The library is a web, and footnotes are hyperlinks. Follow the links back in time to find out what the author was reading and thinking at the time. In scholarly work, find the classic papers/books that everyone cites, and actually _read_ them (most people don't). This can give you some of the endorphin-fueled "seeking" behavior that makes web surfing addictive. Rate every book you read on a site like Amazon, and then use its recommendations to help refill your queue.

\- Find better books. There are so many worthwhile books that you will never read them all in your lifetime. You don't have time to waste on bad books. If a book is poorly-written, toss it unless it contains some knowledge or insight that you consider really important. (Similarly, a book can be very well- written but have content that adds nothing to your life; skip that one too.) Figure out which books you got the most out of, and seek out similar ones. Find sources of good recommendations. Again, be willing to put down a book if you're not getting anything out of it.

\- Read with partners. Join or form a book group, or convince a friend or two to read along with you. (You don't need formal discussions; it can just give you another convenient conversation topic next time you hang out.) Recruit co- workers, or look online (GoodReads, or forums like this one). This works especially well with intimidating but well-regarded books (SICP, Ulysses, Wealth of Nations), since you can find other people who want to read them too. <http://infinitesummer.org/> helped spur me to read Infinite Jest, and I'm planning to read 2666 with them next month.

</comment><comment><USER3> When dealing with technical books, the only reason you'd need to read boring material, you can try one of the following:

1\. Run a Google blog search on the topic. Stories are always good introductions.

2\. Utilize the knowledge to build something very simple. Work by example. If you encounter something you don't understand in the example, don't overlook it. Go to your reference book and read up on it.

I find that this way I really understand and appreciate what I'm learning. I am able to make an opinion of it, and compare it to alternatives.

</comment><comment><USER4> I don't read uninteresting material and I don't need to because I only accept work in a few very narrow technical areas that I am really interested in.

For reading: I need a quiet place because interruptions really ruin my comprehension.

Also: I find reading other people's code to be almost as good as reading well written books. I've been doing this for about 30 years - a good habit, if you enjoy it.

</comment><comment><USER5> Mortimer Adler's "How to Read a Book" is worth reading. I used to laugh at it, but I could have used it before going to college.

Of course, there is the irony of having to read it. Plop down at a local Barnes and Noble or Borders and read the introduction. If they don't have a copy have them order it for you. There's no requirement to buy.</comment>


The Age of the Algorithm - <AUTHOR> http://99percentinvisible.org/episode/the-age-of-the-algorithm/ <comment><USER2> By what justification can algorithms used in legal decision making not be required to be open source?</comment>


Are You a Hustler? - <AUTHOR> http://www.quicksprout.com/2008/10/20/do-the-hustle/ <comment><USER2> Counterpoint: deals are supposed to create surplus value. For example, if a house is worth $2M to the owner and $3M to the buyer, a sale at $2.5M creates $500K value for the seller and $500K for the buyer. Now, obviously, the harder a deal is to make, the less surplus value it creates. If the salesman is very persuasive, the net value created can even be negative, as I suppose is often the case with door-to-door sales. Is this really a skill to be desired? I like Henry Ford's view much more: "For something people want, if the price is right, there's always a customer."

<comment><USER3> yeah. I guess I would extend this to all advertising that goes beyond making me aware a product is available. If I know about it, and I need it and can afford it, I'll buy it. If you have to browbeat or manipulate me into buying it, you've created negative value. first it wasn't a good deal for me (or else I would have bought it without the browbeating) and add to that the cost of browbeating or manipulating me.

But then, most people seem to prefer to buy from salesmen, even when buying technical products that the salesmen often don't fully understand. After getting the facts about various products, most companies I've worked for then invite salespeople to pitch (salespeople who are often not technically qualified to even discuss the product) and then make decisions based on how good the salespeople were. This seems irrational to me, but it also seems to be how most businesses work, so maybe I'm wrong.

<comment><USER4> Well in (large) corporations buying things is a little tricky. Needing the product is not the only requirement. You also need to often convince others that the product is necessary and also cover your ass in the event that things don't turn out well. This usually means having to buy expensive products from big companies with talented salespeople.

<comment><USER3> yeah, but none of that conflicts with my 'sales subtracts value' theory, it just explains that people working at large corporations are more concerned with what decision looks right than what decision is right.

That aside, I've seen the same thing happen at small companies that just had a lot of money. In one example, the guy making the decision was as technical as I am, and owned a good chunk of the company. I wanted a cheaper homegrown solution. "Dude, that's your Porsche" I said.

I can understand why he went for the expensive solution instead (I was pretty young at the time, and prone to rash decisions and mistakes, and so was the rest of the technical team. The expensive product was expensive, but it worked.) Still, I felt he went with the vendor who looked good over the vendor that actually came out ahead in all our tests (and was cheaper, too... partially because they didn't take us out to lunch at fancy restaurants.)

</comment></comment></comment></comment><comment><USER5> When I use the word "hustle" or "hustler" I mean it as a compliment.

Another interesting related post by a different author: <http://www.ryanholiday.net/archives/hustling.phtml>

<comment><USER6> Me as well. I've started using the phrase more and more.

</comment></comment><comment><USER7> Every day im hustlin'.

<comment><USER8> I came looking for this comment hehe.

</comment></comment><comment><USER9> I never knew that the PriceGrabber.com guy was a hustler. If he raised raised no venture capital (only financing from friends/family) and sold the company for $485 million, I need to become one.</comment>