Time pays $30.00 for cover - Photographer Ecstatic | Lightstalkers - <AUTHOR> http://www.lightstalkers.org/time-pays-3000-for-cover-photographer-ecstatic <comment><USER2> There seems to be a lot of anger among the photographers on the message board - anger that they are competing with 'enthusiastic amateurs' with high quality digital cameras.

The question that comes to mind is, why would Time pay $2500 if they can pay $30?

<comment><USER3> Exactly. Time doesn't care how much it costs. They just want a good looking photo.

Ultimately, the photographers on that site are in denial. They believe that nobody should be capable of putting out a quality photo but them.

It's the same denial newspapers and record labels are in.

<comment><USER4> And buggy whip manufacturers, telegraph operators, Java coders, etc.

</comment></comment></comment><comment><USER5> I don't quite understand why the photographers aren't seeing this from the point of view of the amateur photographer that made the deal.

The bragging rights would be worth it alone, and if this budding amateur wanted to go down a (semi-)professional path, then they've landed a shot with a reputable magazine and can place that in their portfolio.

</comment><comment><USER6> This really winds me up. Pro photographers seem to have a complete lack of understanding of competition.

Their industry is becoming commoditised.

The amateurs aren't going to go away, and they're going to produce better and better quality work. The only way for the pros to continue getting paid more is to differentiate themselves somehow.

It's a familiar story that's happened in many industries - they need to wake up to it.

</comment><comment><USER7> Original source: [http://www.modelmayhem.com/po.php?thread_id=480730&page=...](http://www.modelmayhem.com/po.php?thread_id=480730&page=1)

</comment><comment><USER8> The work of an artist is to change the value of things.

\--Yoko Ono (<http://twitter.com/yokoono/status/2498738317>)

</comment><comment><USER9> The part that most people fail to see is that regardless of the profession, it's hard to compete with someone who don't need to make money.

</comment><comment><USER10> i'm not sure what there is to complain about. its stock, put up on a stock website.

edit: this supposed to be a referendum on stock photography?</comment>


The coronavirus pandemic in five powerful charts - <AUTHOR> https://www.nature.com/articles/d41586-020-00758-2 <comment><USER2> Is anybody able to explain why there are so few new Corona cases in China? I mean, I know that the Wuhan area was locked down and that this way the outbreak was contained there. But China is far greater than Wuhan alone, and just like the virus was able to spread from Wuhan to the rest of the world, it must have spread to the rest of China as well. And during the recent month it must even have been spreading back from over the border into China.

How come that there are nevertheless only between 40 and 50 new cases per day?

<comment><USER3> Not to be conspiratorial, but China has a vested interest in seeming as if they've beaten the virus both to their own people and the world abroad. Their lockdown clearly had a strong effect, but after its over the virus will spread again. With that said, I don't see any reason why China would share their numbers. They have a history of lying about this disease, I don't know why we should assume we can trust their data now.

<comment><USER4> Indeed. China's numbers aren't to be trusted. [https://www.caixinglobal.com/2020-03-23/despite-official- fig...](https://www.caixinglobal.com/2020-03-23/despite-official-figures- wuhan-continues-to-find-new-asymptomatic-covid-19-cases-daily-101532880.html)

<comment><USER5> No country's numbers of confirmed cases should really be treated as a definitive and accurate view of total number of cases. UK was estimating theirs was off by a factor of 10-20 not long ago. The lack of testing has resulted in very incomplete data around the world, whether or not there's a political motive behind that.

<comment><USER6> Agreed. I have some friends here who are fairly certain they had it, based on symptoms. However, the hospital refused to test them because they were "young and healthy" (i.e. no underlying medical conditions to complicate things). 2 of the 3 family members recovered with no outside assistance; the third worsened, so they took her to the ER. Only then did they run a test on her.

The number of infected is way off, which will throw everything else off. You can't figure out mortality rates, infection rates, etc if you don't have an accurate number to start with. Garbage in, garbage out.

<comment><USER7> > However, the hospital refused to test them because they were "young and > healthy" (i.e. no underlying medical conditions to complicate things).

The tests have a high false negative rate, which is one reason some countries are not testing everyone with mild symptoms. The test doesn't give you any useful information in that situation: if it comes back positive you need to self-isolate, but if it comes back negative and you have symptoms you still need to self isolate.

</comment></comment></comment></comment></comment></comment><comment> Mary-Jane There two comparisons to other diseases appear to contradict each other. First: COVID-19 is both less communicable and less fatal than SARS. Second: it has spread faster and killed more people than SARS. I would like to understand how both can be true.

<comment><USER8> SARS made people very sick very fast so it was easy to identify and quarantine patients. With extensive contact tracking it was able to be contained.

With covid19 many patients are able to continue their lives and infect others without being obviously sick themselves. This limited the ability to contain outbreaks without extensive testing.

<comment><USER9> So, silly question: why the basic reproduction number R0 doesn't take this into account?

<comment><USER10> A lot depends on whether you mean:

* R0 when the disease appears first time and people dont know about it

* R0 when people learned about disease and changed behavior.

Assuming disease is new, one person sick with SARS will infect more people then one person sick with COVID.

Due to stronger symptoms and shorter time to symptoms, we learn SARS is issue, change our behavior and quickly close small area. SARS will spread less. In covid, by the time we figure area is infected, a lot of people are infected elsewhere. It takes us more time to react.

</comment></comment></comment></comment><comment><USER11> The significant reduction in emissions worldwide is an opportunity to gather some interesting data that would have been difficult to estimate at other times. What other interesting science could be done now that might bring some positive from the pandemic?

<comment><USER12> A tangent from science towards ethics, but if we're lucky, this pandemic will finally be the level of impetus needed to end the trade of live exotic animals for consumption. Thousands of species spared to save our own.

As a group of scientists wrote in 2007 [1]:

"The presence of a large reservoir of SARS-CoV-like viruses in horseshoe bats, together with the culture of eating exotic mammals in southern China, is a time bomb. The possibility of the reemergence of SARS and other novel viruses from animals or laboratories and therefore the need for preparedness should not be ignored"

[1]: [https://cmr.asm.org/content/cmr/20/4/660.full.pdf](https://cmr.asm.org/content/cmr/20/4/660.full.pdf)

<comment><USER13> How does exterminating bats as vermin instead of cultivating and eating them spare them?

<comment><USER12> I don't get your point. Just don't exterminate them from their natural habitat?

</comment></comment></comment></comment><comment><USER14> I would like a bit more clarity on this chart [1] comparing R_0 and case fatality rate of COVID-19 with other similar diseases. I am trying to understand why Ebola did not kill as many people as COVID-19 has.

My understanding is that R_0 just depends somehow only on the virus itself, while there is another factor R = a R_0, which determines the actual reproduction number "in practice", taking into account isolation measures and such. So for Ebola R was much lower than R_0, so a lot fewer people died compared to COVID-19. Is this correct?

[1] [https://media.nature.com/lw800/magazine- assets/d41586-020-00...](https://media.nature.com/lw800/magazine- assets/d41586-020-00758-2/d41586-020-00758-2_17810952.png)

<comment><USER15> I think Ebola killed people too fast, so it didn't have time to spread as far.

<comment><USER14> I get that, I am trying to understand the math and model behind this.

Let me clarify the paradox: Say Ebola has a R_0=4. That means one person infects 4 people under some circumstances. It doesn't matter if Ebola kills someone in 3 weeks or in 5 seconds, under some circumstances one person must be infecting 4. What are those circumstances, and how are they different from the actual circumstances which led to the Ebola epidemic stopping.

<comment><USER10> Those circumstances are that we dont know Ebola is spreading. Actual circumstances are quarantine, disinfection and other intentional measures to stop the spread.

</comment></comment></comment></comment><comment><USER16> Looking at the timeline. From what I have read, it seems like human to human transmission could have been confirmed much sooner.

<comment><USER13> "could have" with the benefit of hindsight and ignoring communication latency. The fact is authorities don't treat every local outbreak of illness as a contagious pandemic when it's almost always food poisoning.

<comment><USER17> In some places food poisoning gets a surprisingly thorough response, with full batch tracing of the affected food. Here's what the CDC was doing last year: [https://www.cdc.gov/ecoli/2018/o157h7-11-18/index.html](https://www.cdc.gov/ecoli/2018/o157h7-11-18/index.html)

</comment></comment></comment><comment><USER18> The R0 number they tout isn't supported by data from Italy or NY. R0 is density dependent.

<comment><USER19> R0 is not a biological constant for a pathogen as it is also affected by other factors such as environmental conditions and the behaviour of the infected population.

R0 being different in different places is expected. It's especially expected to change as measures are taken to control spread. Even in the absence of such measures, different cultures, even at the same population density, will often have different R0.

</comment></comment><comment><USER20> On that coronavirus timeline it would be good to see:

* Wuhan throw a party to celebrate the lunar year

* Almost the entirety of China goes on holiday for the lunar year

* New Year holiday

* Border lock downs of various Countries within that timeline

</comment><comment><USER21> Does anyone have a good source for spanish flu CFR? I found many estimates ranging from 2%-10%...

</comment><comment><USER22> I would be _VERY_ interested to see these charts updated, as this data is a week old.

</comment><comment><USER23> Such a clickbaity title.

Those charts don't look that powerful to me.

</comment><comment><USER24> Why do people plot exponential curves on a non-logarithmic scale?

<comment><USER25> I think to non-scientists, or at least people who don't work with log scales, the use of linear scales makes the graph easier to understand. While I wouldn't expect to see this in Nature, this article reads like it is intended for a general audience.

<comment><USER13> Easier to _mis_ understand, yes. If the motivation is to simplify, they should plot 2 graphs, with a second graph being log plot or a zoom on the low scale part to show its not linear

</comment></comment></comment><comment><USER26> I more worry about China get away with it. It have started SARS and now this. Both by eating wild animal. I do not believe it is biological weapon but more an accidental leak of virus during their research. But it is not that part that is lethal. But the part that there are so many wild animal market those virus can go and spread in stage 1. Then stage 2 punish everyone who said it and let it spread. The saying that it is not known is NOT true in China. The news were spread by doctors among themselves first in WuHan case and in SARS case one doctor bring it to HK and kill 300. And whilst the guy dare to say were punished, the systems (like wild market and no freedom of speech) continue. These two factors should be remember! Otherwise we will end up like twitter. They can use it to spread news (like American release the virus) even though they cannot even use twitter in China. If we forget and let them run WHO and PR war, ... good luck humanity.</comment>


Ask HN: Your favorite technical/startup idioms? - <AUTHOR>

I like the idioms like "technical debt", "bus factor" ,"FUD" etc. They help thinking and modelling on subjects that HN people interested in. However I couldn't find a list so want to curate myself.<p>Can you please share your favorite idioms? <comment><USER2> Jeff Atwood had a blog post[1] containing a list of new programming jargon, although perhaps this is too 'programmer'-focused.

[1]: [http://blog.codinghorror.com/new-programming- jargon/](http://blog.codinghorror.com/new-programming-jargon/)

<comment><AUTHOR> Thanks for the link!

</comment></comment><comment><USER3> Are you the chicken or the pig in the ham and eggs breakfast - related to the commitment level of involved parties

10 women can't make a baby in a month - more devs != shorter deadline

<comment><AUTHOR> I haven't heard of the first one before, very nice. Thank you!</comment></comment>


Ask HN: What do you look for when reviewing a take home exercise? - <AUTHOR> Hey HN,
I've recently applied for a job I'm very excited about.
They'd like me to do a take home exercise as part of the interview process.
Without going into too much detail, I need to build an interface that allows a user to manipulate data from an API. I can use whatever tools I would like.
What separates a good example of a take home exercise from a bad one?
It's a fairly simple exercise so I'm considering using vanilla js but wonder if I should showcase my experience with modern frameworks and tools instead.
Is there anything else I should consider?
Thanks! <comment><USER2> The expertise that you have with the tools that you use. design, workflow patterns, coding style.

<comment><AUTHOR> Thanks Josh!</comment></comment>


Sleek Chrome Dev Tools Skin - <AUTHOR>

Screenshot: http://imgur.com/mbrqt
Gist: https://gist.github.com/4316646
Looks great with the Monokai color scheme, however, it will probably work well with most dark schemes.  The skin was inspired by the visual style of codepen.io and some usability enhancements I've been imagining for a while. <comment><AUTHOR> Gist: <http://gist.github.com/4316646>

</comment><comment><AUTHOR> Screenshot: <http://imgur.com/mbrqt></comment>


Show HN: Quake 1 movement physics reinforcement learning project - <AUTHOR> https://github.com/matthewearl/q1physrl <comment><USER2> Prepare for something awesome

Human run [1] vs scripted bot run [2].

This is from DFWC, a race series that takes place every second year, and using modified Q3 engine.

There are 5-7 maps per season, and people race from start to finish, and best time wins.

Also, each round there is scripted run, to show how far you could push the engine physics, if you had inhuman reflexes. Highly recommend browsing entire YT channel, it's really awesome, if you ever played Q3!

[1] [https://youtu.be/FUguBKICPVk](https://youtu.be/FUguBKICPVk)

[2] [https://youtu.be/g28ObPwPE34](https://youtu.be/g28ObPwPE34)

<comment><USER3> I don't know what I just watched, but these movements seemed not very physically accurate to me.

<comment><USER4> The goal is to push the limits of the game's physics not real life. Quake based games allow you to retain speed when jumping at the same 'frame' as landing (bunny hopping) and slide up slopes with enough speed.

These physics create a high skill ceiling for speed runs and in normal play because of how powerful movement becomes during play.

</comment></comment></comment><comment><USER5> Karl Jobst has a Youtube video covering the speedrunnning record history of Quake's first level, which serves as a good overview of Quake movement technique:

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

It starts with an explanation of the significance of Quake to speedrunning as a whole, so skip to 5:46 if you only want to see the movement tech.

<comment><USER6> This is an incredible video - thanks for sharing. Couple notes for those like me who are new to the speed running world:

* The goal here is to get through a particular level as fast as possible. Not to kill enemies or get points; it's just speed.

* The physics engine computes a speed for your player. There are some movements that increase it and some that decrease it. What these speedrunners are doing are (1) finding techniques in movement (2) exploiting features of the map that result in increasing their speed and maintaining it.

* These techniques include running along a wall (unclear to me why this increases or maintains speed), bunny hopping (jumping and turning at the same time in such a way where you don't pick up friction), leveraging features in a map to give you added speed (blowing up an explosive barrel and using its shock to speed you up).

* Over the course of 20 years, players have managed to get the record from 30 seconds down to its current 20 seconds for the quake map in question.

As someone who spent many hours playing Quake 2 on multiplayer, the best players moved in a rhythm similar to how the speed runner players do here.

<comment><USER7> Speculating here based on my experiences in the past building my own physics engines: running along a wall could speed you up a little bit depending on how they're handling "keeping you outside the wall". One common/simple way is to apply x1 = x0 + v*dt, calculate collisions after the moment calculation, and then fudge your position back to being inbounds. If I recall, Q1 used simple bounding boxes on all of the entities as well and there'd probably be some (pardon the pun) corner cases in the "keep out of the wall" algorithm.

</comment></comment></comment><comment><USER8> This is great, I always wondered if one could train an AI to play god level quake as they've done with DOTA and other games since it's such a quirky engine with so many niche and semi obscure moves and tactics.

For anybody wishing to try or revisit the game you can download the nquake pack [0] which a free and ready to go version of the game that includes the shareware portion of the original game and some gpl'd maps that are the most commonly used (if you own the original game you can just copy the \id1\pak1.pak file to the install folder and delete the gpl maps pak). Also included is the ezQuake [1] build which is a modern implementation of the engine that everybody uses these days and features lots of tweaks for improved graphics, fps, teamplay, better menus, better server browser and a lot more.

Then you can use a website like badplace [2] where you can look for servers and see who's playing. From there you can join or just watch some games by clicking the observe or QTV links (if you registered the qw:// handler during install/first launch).

It's still a brilliant game and there's still a relatively decent community playing everyday although the skill level is of some of these players is truly insane.

[0] [https://www.nquake.com/](https://www.nquake.com/)

[1] [https://ezquake.github.io/](https://ezquake.github.io/)

[2] [https://www.badplace.eu/](https://www.badplace.eu/)

</comment><comment><USER9> Wild, I was just playing QW a week ago for the first time in 20 years and someone was showing me how to do this running technique after destroying me in a one on one.

</comment><comment><USER10> This is awesome -- I grew up playing Quake 1 and really fell in love with it more as we as a community learned to exploit the movement physics. Still my favourite FPS and still arguably the one with the steepest learning curve.

I didn't have a chance to watch the video yet, but out of curiosity does this actually use QuakeWorld or base Quake 1? As I remember the physics are different between the two, right?

<comment><AUTHOR> It's the Quake 1 physics, not QW. I haven't looked at the QW physics in detail, but I think the main difference is that there's a single frame of ground friction applied between every jump, which ends up making a difference to the optimal techniques.

</comment></comment><comment><USER11> Given the fully trained RL model, would it be possible to infer and explain the optimal movement technique in terms of a simple rule set?

</comment><comment><USER12> How difficult would it be to encode the optimal running technique as a rule instead of learning it with RL?

<comment><USER13> It wouldn't be difficult at all if the optimal running technique was known before hand; I think the goal of many of these RL exercises is to either i) find a better solution than what we may have imagined or ii) confirm that our knowledge was indeed the best possible solution!

<comment><USER12> > It wouldn't be difficult at all if the optimal running technique was known > before hand;

You're right, but this is a simulated environment. It means the physics in it are driven by a small set of known (and most likely deterministic) rules.

So I wonder if it would it be possible to analytically determine what is the best possible running strategy.

</comment></comment></comment><comment><USER14> I just thought that's the geekiest thing I've seen in a while... good job! :)

</comment><comment><USER15> That's a really cool project! And it made me want to play Quake again.

<comment><USER7> [http://fte.triptohell.info/demo](http://fte.triptohell.info/demo)

There ya go!

</comment></comment><comment><USER16> Now do CS:GO!</comment>


Imperial Airship Scheme - <AUTHOR> https://en.wikipedia.org/wiki/Imperial_Airship_Scheme <comment><USER2> Fascinating. It still seems counterintuitive almost a century later that heavier-than-air flight would be so much more effective, even for long-haul bulk transportation. Compare the payload of a C130 to even the biggest airships. The only thing airships seem to have going for them is loiter time.

Also, this makes me want to implement a new dialect of scheme just so I can name it "Imperial Airship Scheme."

<comment><USER3> There are two huge downsides to LTA flight: leaks, and drag.

Leaking lift gas is expensive & difficult to prevent. Also explodey! (if H2).

Airships have to have enormous volumes to float. Therefore they have a lot of drag compared to their payload capacity (Vs. heavier-than-air-craft). So they aren't very good at dealing with wind in an efficient manner.

<comment><USER4> > Leaking lift gas is expensive & difficult to prevent. Also explodey! (if > H2).

Expensive OR very cheap and explodey. (Gasoline is also explodey)

<comment><USER5> Helium is comparatively expensive, but you don't expend it as part of normal flight and it doesn't migrate very quickly through modern materials. A bigger problem than loss is fouling - you have to pump out the helium and purify it every so often (I think Zeppelin does it every six months).

<comment><USER4> Hydrogen is close to free.

~$2 per 10kgs of lift if my internet calculations are correct.

But I guess if helium isn't lost at a great rate, it might be a cheap part of the whole setup.

</comment></comment></comment></comment></comment><comment><USER6> There were even flying aircraft carriers: [https://en.wikipedia.org/wiki/Airborne_aircraft_carrier#USS_...](https://en.wikipedia.org/wiki/Airborne_aircraft_carrier#USS_Akron_and_Macon)

</comment><comment><USER7> What about the German Zeppelin? [https://en.wikipedia.org/wiki/Zeppelin](https://en.wikipedia.org/wiki/Zeppelin) First lift off was 1900/06... They tried to reinvent it: [https://en.wikipedia.org/wiki/CargoLifter](https://en.wikipedia.org/wiki/CargoLifter) But announced insolvency in 2002...

</comment><comment><USER8> There is still interesting development going on although the only I remember off the top of my head is [http://aeroscraft.com/](http://aeroscraft.com/)

</comment><comment><USER9> The Wikipedia article doesn't say but I assume these were filled with hydrogen, making crashes very dangerous.

There is modern attempt at airships in the Airlander 10, but it has had a (soft) crash.</comment>


Making a resolution independent UI - <AUTHOR> http://blog.wolfire.com/2009/09/resolution-independent-ui/ <comment><USER2> It is actually very difficult to do this "properly" for truly arbitrary scales in a sophisticated UI (with full support for mouse-enter detection, etc.). Here are a few reasons:

\- UIs tend to depend on things lining up, in order to look good. If you allow _any_ scale, at some point things will not look quite right. One decent solution is to choose fixed scales, limiting what the user can choose; then, everything is (perhaps manually) made to work at those zoom levels.

\- Detecting something like a mouse click is no longer the same problem at an arbitrary scale. If you need to know "was this clicked?" when using pixels, you're only talking about mapping one pixel to a region that is expressed entirely in units of whole pixels. But at an arbitrary scale, neither the mouse nor the target shape will "appear to" be rendered with whole pixels.

\- In order to scale, _everything_ must be scaling-aware. This turns out to be a pain, especially in established code that is accustomed to thinking in terms of a rigid pixel grid. You can see this problem, say, in Windows XP; while it allows users to customize system fonts extensively, it's pretty easy to find an installer or other program that didn't leave enough space (and wasn't thinking in the right terms), causing half the text to be truncated when a certain font and size are used.

<comment><USER3> Absolutely. UI-scalability is not simply an issue of adapting to display resolution. Also to be noted that different resolutions often come with very different devices, which mean a difference in capabilities and controls available.

</comment></comment><comment><USER4> Everything in this article is extremely common knowledge:

Don't use pixels as absolute measurements and don't scale up raster graphics.

<comment><AUTHOR> What explains all the bad designs out there then?

<comment><USER4> Perhaps many people design without having the artistic talent to design. These are well-known design principles, yet without talent, you will still create bad designs. Take me, for example. I do not have the slightest bit of talent for static visual arts. I can't scribble, draw, paint, or design.

</comment></comment></comment><comment><USER5> WPF (<http://en.wikipedia.org/wiki/Windows_Presentation_Foundation>) is supposed to help solve a lot of these issues in desktop apps. I am developing a desktop application with it and so far the results have been positive. Here is an indepth article about supposed the resolution independence of WPF: <http://www.wpflearningexperience.com/?p=41>

</comment><comment><USER6> I think I must be missing something here. Don't people set their screens to higher resolutions _because_ they want to see more stuff on their screen.

I always assume that people set their resolutions such that they can read normal-sized (12-14pt) text. If that's too small for their eyes, they would have set their screens to a lower resolution. As someone who likes to see a lot at once, this would probably irritate me.

<comment><USER7> Yeah, their example goes exactly the wrong way for me. I use Terminal 6 (or XTerm "Tiny") on a 1600x1200 15" LCD, and I don't use Antialiasing because at this font size every pixel counts, I don't need 6 blurry pixels, I need 9 sharp ones.

All of this said, there's no reason why, if they provide proper instrumentation/controls, that I couldn't use a resolution independent display to crank the UI down to tiny size (tell it that I have low DPI) and provide a lot of screen real estate.

</comment></comment><comment><USER8> These guys do some pretty cool things, here is a video of procedural animation in Overgrowth (the same game this blog post is about):

<http://vimeo.com/2360652>

I'd like to see a writeup for the WebKit / Awesomium integration.

</comment><comment><USER9> I have been waiting for 10 years now for screens with significantly higher DPI. Remember how the NeXT was the first computer to go to 96 dpi?

I was hoping for 150 DPI on screens ("paper quality" at the time was defined by laserprinters doing 300 DPIs, so 150 for screen sounded good enough). Never happened.

Would it be useful? After all, what do you think is an HDTV? smaller pixels, higher resolution.

</comment><comment><USER10> high DPI screens were never developed because scaling UIs was a pain. Scalable UIs were never developed because most screens cluster around the same DPI value.

There doesn't seem to be any elegant way around this problem unfortunately.</comment>


The insect apocalypse is not here but there are reasons for concern - <AUTHOR> https://www.economist.com/science-and-technology/2019/03/23/the-insect-apocalypse-is-not-here-but-there-are-reasons-for-concern <comment><USER3> Very disappointing article in the Economist. Their journalism is usually quite sound, but not this time. The very conservative bend is clearly present.

The article summarizes as: there are a number of studies from specific geographies (Germany, the Netherlands, Puerto Rico, etc) that show very dramatic declines (> 50%) of insect populations over the last few decades. Since there is no data for most other countries, we should not react for now until more studies are done.

In the general case, when there is insufficient data, such an attitude can be seen as rational. But not when the data are so severe, and time is clearly running out. It is time for action, not for more business as usual.

Ugh. I hope future generations will be around to forgive us for screwing up the planet.

<comment><USER4> This sort of reasoning is the basis for my belief that the way we conduct our society is fundamentally flawed. It is trivial to introduce new technology, and it's very difficult to remove it. This is evident with things like cigarettes or pesticides or oil. This leads me to believe that at any time we're only one piece of technology from catastrophe and even if we realize the mistake it will take decades for us to stop using the technology that has led to catastrophe. Combine this with the fact that the amount of technology that we create and introduce is only increasing perhaps exponentially. We are in very dangerous territory but we don't realize it... and even if we realize it we can't do anything about it in the time frames needed to deal with it.

A society designed for longevity does not behave this way. Instead it follows an approach of punctuated equilibrium where it accumulates technology and robustly tests it in small pilot projects that are highly monitored and contained. Then after maybe a 1000 or 10,000 years when technology has matured it introduced a set of well tested technology into the system whose effects are very well understood. In this way a society designed for longevity goes through epochs and evolution... rather than extinction in short order.

It's also much easier living in such a society because change is very gradual so having to retrain or learn new things in a lifetime is not necessary.

<comment><USER5> I live less then 100 years.

I have no interest in an appointed elite debating for 40 years whether the smartphone will be a problem before deigning to allow it's adoption.

<comment><USER4> It's a question for science the implications of technology to be tested under controlled conditions -- i.e. small cities and like. It's not a political issue to be decided through arguments and debate. And yes you will be dead and most humans are vain enough that they couldn't care less if they destroy the planet as long as they get all the benefits immediately even if there is nothing left after that for future generations.

The point is also not to argue the adoption of a single piece of technology... but to allow the adoption of an epoch of technology all at once whose interaction you can predict... because proper science and due diligence has been done on it. And also to create a real culture that you are born into and will die with... rather than the disposable culture of everything... i.e. the tech that you are born with is the tech you will die with.

<comment><USER5> The desire to "slow down" is a meaningless platitude tossed out by those who don't do the science but have decided they're scared of it.

The fact you're expressing it here is a more an attempt to step-around the reality that the US refuses to confront it's fear of having a strong government. The original Deus Ex game actually had a very good line regarding this - "the West, so afraid of strong government, now has no government - <USER2> financial power."

In a bid to avoid having to deal with the problems of corporations and wealth, people like you would try and reach into research laboratories and tell people to stop working on things which would genuinely improve the planet. Your problem is not the adoption of technology, it's a cultural refusal to limit the power of money in the belief that soon you'll have some and don't want to be limited.

<comment><USER6> > The fact you're expressing it here is a more an attempt to step-around the > reality that the US refuses to confront it's fear of having a strong > government.

This presumes that strong governments don't deserve a critical eye. It's not hard to find contemporary examples worldwide and historical examples in any country.

<comment><USER5> This is a very US response. "Strong" is equated with "violent". Not capable or effective.

But the US government is violent today. Yet incredibly weak at protecting it's citizens welfare or rejecting external manipulation against them.

<comment><USER6> A government doesn't have to be violent to be abusive or corrupt.

And the US government is formed by its citizens. It's presumptuous, and I'd argue dangerous, that a government should be in a paternal position. In particular, if a democracy is in charge of purifying the media its citizens consume, who holds the the government censors and gatekeepers accountable if (when) they become corrupt?

It's not a coincidence that Venezuelan leadership cracked down on courts and independent media as it slid into the current mess.

Further, "protecting its citizens" is often narrowed to "protecting the _true_ citizens", enforcing bigotry with a patina of honorable intentions. See the Jim Crow American South, the Spanish Inquisition, and the murder of Christians in 17th century Japan.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> The biggest issue is that the insects are dying because of pesticides and fertilizers. And it's getting worse:

"The main cause of the decline is agricultural intensification," Sánchez-Bayo said. "That means the elimination of all trees and shrubs that normally surround the fields, so there are plain, bare fields that are treated with synthetic fertilisers and pesticides." He said the demise of insects appears to have started at the dawn of the 20th century, accelerated during the 1950s and 1960s and reached "alarming proportions" over the last two decades.

The 2.5% rate of annual loss over the last 25-30 years is "shocking", Sánchez- Bayo told the Guardian: "It is very rapid. In 10 years you will have a quarter less, in 50 years only half left and in 100 years you will have none."

Source: [https://www.theguardian.com/environment/2019/feb/10/plummeti...](https://www.theguardian.com/environment/2019/feb/10/plummeting- insect-numbers-threaten-collapse-of-nature)

So...either we stop using intensive agg practices and our global food production goes down and we starve, or we kill all the bugs and the food web collapses.

I'm predicting between this, plastic, massive garbage problems and climate change we're most likely going to have mass migration, war, disease and famine outbreaks in the next twenty years. Like a billion+ dead outbreaks. As far as I can see the entire industrial revolution has been a giant externality on nature.

It saddens me that me and everyone around me will have to live through this.

<comment><USER8> > So...either we stop using intensive agg practices and our global food > production goes down and we starve, or we kill all the bugs and the food web > collapses.

I don't think those are the only two options. There are better farming practices (read up on no-till, see here for example: [https://www.usda.gov/media/blog/2017/11/30/saving-money- time...](https://www.usda.gov/media/blog/2017/11/30/saving-money-time-and- soil-economics-no-till-farming)) that require much lower inputs (fertilizer, pesticides, water) than conventional farming techniques.

Wikipedia ([https://en.wikipedia.org/wiki/No- till_farming#Profit,_econom...](https://en.wikipedia.org/wiki/No- till_farming#Profit,_economics,_yield)) also notes that because the soil retains water better and is more fertile in general, a farmer may have the option to plant a new crop immediately after a harvest instead of leaving a field fallow.

There are many other benefits (read the Wikipedia article!) that could make a huge impact in both wildlife conservation and fighting global warming, were we to convert wholesale to no-till (or similarly restorative techniques).

The problem, of course, is that we have massive political dysfunction which leads to policy paralysis. How do you fight global warming when what is currently the most powerful political party in the world (it hurts me to type that ) refuses to acknowledge that anything needs to (or can) be done about it?

<comment><USER9> _" How do you fight global warming when what is currently the most powerful political party in the world (it hurts me to type that ) refuses to acknowledge that anything needs to (or can) be done about it?"_

By becoming more politically active.

If more people would organize, these clowns could be voted out of office.

<comment><USER10> Given that the US now produces less emissions than in 2007, it would be more productive to aim your campaign at China producing twice as much. Inevitably, standard of living is linked to energy consumption and Chinese per capita emissions are one third as much as in the US, so their emissions are bound in increase if their general prosperity is headed upwards, which it is. Renewables aren't going to provide a magic solution. We know that now.

</comment></comment></comment></comment><comment><USER11> Usually I love the Economist, but this seems like head-in-the-sand reasoning. "Oh good, the declines are only happening where we're measuring!"

</comment><comment><USER12> > Using computer models of ecosystems, Nigel Stork of Griffith University, > Queensland, estimates there are 5.5m species of insect and 6.8m of > terrestrial arthropods (the wider category that includes spiders and > crustaceans). That implies over 80% of insects remain undiscovered.

Does anyone know how this works?

Is it measuring the DNA and compares with known variations and using other well-known species as a reference model to do a projection?

<comment><USER13> I don't, but the abstract of the paper he published may offer some insight if you understand the key words:

> In the last decade, new methods of estimating global species richness have > been developed and existing ones improved through the use of more > appropriate statistical tools and new data. Taking the mean of most of these > new estimates indicates that globally there are approximately 1.5 million, > 5.5 million, and 7 million species of beetles, insects, and terrestrial > arthropods, respectively. Previous estimates of 30 million species or more > based on the host specificity of insects to plants now seem extremely > unlikely. With 1 million insect species named, this suggests that 80% remain > to be discovered and that a greater focus should be placed on less-studied > taxa such as many families of Coleoptera, Diptera, and Hymenoptera and on > poorly sampled parts of the world. DNA tools have revealed many new species > in taxonomically intractable groups, but unbiased studies of previously > well-researched insect faunas indicate that 1–2% of species may be truly > cryptic.

Stork. "How Many Species of Insects and Other Terrestrial Arthropods Are There on Earth?". Annual Review of Entomology. 2018. doi: [http://doi.org/10.1146/annurev- ento-020117-043348](http://doi.org/10.1146/annurev-ento-020117-043348)

You could always email him to find out: nigel.stork (at) griffith.edu.au

</comment></comment><comment><USER8> TL;DR: There are no studies of insect life in Countries A, B, and C, so no need to worry about a huge decline in biomass in the US and Europe!

ಠ_ಠ

<comment><USER14> It's what I believed at 3 years old: if I can't see it it doesn't exist and can't see me!

</comment></comment><comment><USER15> The solution is, as always, less people.

</comment><comment><USER16> The insect decline is shocking and will have drastic impacts we can only predict</comment>


Costa Rica has gone 76 days using 100% renewable electricity - <AUTHOR> http://www.vox.com/2016/9/8/12847160/costa-rica-renewable-electricity <comment><USER2> Notice this is because 80% of the energy obtained was from Hydroelectric power, which is a great energy source because it is reliable - unlike wind and solar which in this case provided 7% and 0.01% respectively and are not reliable. It frustrates me that so many environmentalists are still against hydro because it alters ecosystems when nature itself is inherently violent, dangerous and in a constant state of flux. I sometimes think they reject the idea that the whole point of existence is human flourishing and happiness. The biggest real problem with Hydro in the context of human flourishing is ensuring that the dams are well-constructed and nature proof i.e. hold up against natural disasters because if they don't downstream settlements and human lives can be at risk.

<comment><USER3> _I sometimes think they reject the idea that the whole point of existence is human flourishing and happiness._

Yes, many people reject this idea. As a matter of fact, this is the first time I've ever heard anyone express this idea.

<comment><USER4> Especially "_human_ flourishing and happiness".

Why only human? Why not the well-being of all conscious creatures?

<comment><USER5> When someone comes up with an objective measure of consciousness lets consider that.

In the meantime I see no issue with optimising for human happiness in the general case.

<comment><USER6> Not great, but the best we have at the moment: [https://en.wikipedia.org/wiki/Mirror_test](https://en.wikipedia.org/wiki/Mirror_test)

<comment><USER7> I don't understand how my cat reacts to a mirror. He notices me in a mirror, but how come he doesn't react to seeing himself, either "hey that's me" or "what's that other cat doing here!?!"

</comment></comment></comment></comment></comment></comment><comment><USER8> " its per capita electricity consumption is about one-quarter of, say, France or Belgium."

Its in the bottom quartile worldwide I believe.

Also the recommendations for the USA are way off. The "only way" to reach this goal is apparently to build lots of wind and solar. No mention whatsoever of nuclear, which is by far the more practical solution. And far less ecologically damaging.

<comment><USER9> The problem with nuclear is that we can't trust the people running it to follow instructions without failure for decades in a row. Sooner or later a politician shows up and demands an experiment to be done, or maintenance to be postponed.

Failures are rare, but the failure mode is catastrophic.

<comment><USER10> The same could be said for Hydro Dams. When they fail it is catastrophic.

<comment><USER11> Totally agree. Teton Dam failure in the US killed 11 people: [https://www.youtube.com/watch?v=cdOGPBnfoKE](https://www.youtube.com/watch?v=cdOGPBnfoKE)

<comment><USER10> How about 171,000 people

[https://en.wikipedia.org/wiki/Banqiao_Dam](https://en.wikipedia.org/wiki/Banqiao_Dam)

</comment></comment></comment></comment></comment><comment><USER12> Would never work in the US because hydropower is not considered renewable.

"But in general, hydropower is not even considered a renewable energy in most states or, for the most part, by the federal government. "

[http://www.governing.com/topics/transportation- infrastructur...](http://www.governing.com/topics/transportation- infrastructure/gov-hydropower-renewable-energy.html)

<comment><USER13> Hydropower is somewhat environmentally questionable, but it's "renewable" by any reasonable definition. Your link confirms this:

 _...because it is an endless, constantly recharging system, hydropower is defined as a renewable energy by the Environmental Protection Agency._

<comment><USER11> Unfortunately it isn't exactly endless. Even if you ignore the decreasing amounts of water at many dams due to climate change, eventually dams fill up with sediment. Lake Powell and Lake Mead already have about 10% less capacity than they did when built due to sediment infill.

<comment><USER13> _Dams_ aren't endless, but no human artifact is. It is totally within design parameters to have to drain and excavate (and perhaps patch the cracks in the dam) every hundred years or so. The rain will still fall.

Actually one expects that aquatic sediment-removing robots will eventually be created to obviate this basic maintenance task, but that sort of assumes that humans will want dams in future. It's possible that they'll develop cheap energy without the drawbacks inherent in hydropower, and decide that rivers are better than artificial lakes.

</comment></comment></comment></comment><comment><USER14> Quebec has gone about 50 years.

<comment><USER15> As has Norway. [https://en.m.wikipedia.org/wiki/Energy_in_Norway](https://en.m.wikipedia.org/wiki/Energy_in_Norway)

Main problem with hydropower is it's geographical dependency. Denmark could never do what Norway is doing for example.

<comment><USER16> Well, it could. But it would have to dig a hell of a hole....

Denmark is utilising a resource it has in some abundance: wind. Part of a renewables strategy is using what you've got, not what you wish for.

</comment></comment></comment><comment><USER17> Costa Rica also sits on the Ring of Fire like I do here in East Java, so geothermal is accessible there.

Costa Rica did not have to maintain a standing army to protect its borders thanks in large part to relying on treaties and understandings with the US. This frees up some of their GDP for R&D into sustainable energy.

I wonder what the demand for electricity is in Costa Rica today compared to when I was last there in 1993. I was going to buy land then, but I was a bit wary of new laws on foreign-owned properties. It would have cost me a lot to bribe/pay my way to getting power distributed to my land. I was going to use a generator and solar panels anyway. Many people kept guns to defend their property from bandits in my travels there back then. I'm sure it has changed a lot. Selva Verde was my first 'eco-tourist' experience, and I remember talking to some of the worker's there, and the owner's daughter. I am glad to see the business model took off. It's a beautiful country.

<comment><USER18> >Costa Rica did not have to maintain a standing army to protect its borders thanks in large part to relying on treaties and understandings with the US.

As a non-american, I never understood what's up with this. Is it voluntary? Are they an independent nation?

<comment><USER19> It's a completely independent country that simply chooses not to have an army. 60 years ago they decided that money would be better off being invested in their population, and now they are a posterchild for stable democracy, the wealthiest centroamerican country, and consistently ranked one of the happiest countries in the world.

<comment><USER17> I think you are discounting their dependence on the US and other countries to protect them; they didn't decide without these assurances in place. The US forgave a lot of their debt in 2007 in exchange for protecting their rainforests. The US is their largest trading partner.

Mess with Costa Rica, and the US Armed Forces 'will most likely' stand against you.

The US Coast Guard can operate off their shores because of the Drug War and an agreement with Costa Rica.

It's never simple.

<comment><USER19> The decision to disband their army came in 1948 after a civil war -

[https://en.wikipedia.org/wiki/Military_of_Costa_Rica](https://en.wikipedia.org/wiki/Military_of_Costa_Rica)

[https://en.wikipedia.org/wiki/Costa_Rican_Civil_War](https://en.wikipedia.org/wiki/Costa_Rican_Civil_War)

</comment></comment></comment></comment></comment><comment><USER20> Very good, this is a great step, but just a thing to be remembered: hydroelectric energy is renewable, better than coal, oil, etc, but it still kills a lots of animals and flood great areas, disappearing with waterfalls and changing landscapes.

<comment><USER21> I prefer changing landscapes over wasting landscapes, Fukushima-style. There are always tradeoffs, but some are better than the others.

<comment><USER22> While a minor but noticeable uptick in radiation-induced cancer is unacceptable for humans, animals don't especially seem to mind. The areas around Chernobyl have become a superb wildlife reserve, and Fukushima is probably on its way to a similar state. Compared to the area submerged by a dam -- where the habitat is, without hyperbole, utterly and completely annihilated -- I have difficulty seeing how you can prefer that.

<comment><USER23> > animals don't especially seem to mind.

They do mind, they mind a lot, it's just that for the vast majority of wildlife humans (land alterations, activity and presence byproduct) have an even larger effect than a touch of long-term radiation-induced lethal disease.

<comment><USER24> I think the point was more that nature seemed to adapt very quickly to the fallout from Chernobyl. Instead of a nuclear wasteland it's a pretty thriving ecosystem with a lot of new life, and even large mammals seem to be doing just fine.

I caught a documentary while on a transatlantic flight about the Wolves of Chernobyl [1], and it discusses how the wildlife seems to be thriving with few to no ill effects.

This isn't me suggesting that irradiating the land with nuclear waste is good - far from it. But it does seem that nature is pretty resilient to it.

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

<comment><USER23> Wildlife does thrive in the exclusion zone, but again that's not because wildlife is somehow immune to radiations[0] it's because radiation-induced morbidity is lower than humanity-induced morbidity.

[0] they're not, though r-strategist will tend to be pretty resilient

<comment><USER24> Well, no, I agree, and I don't think I suggested that at all.

In fact, though you said it much more intelligently with terminology I was unaware of, I was more suggesting that nature is more resilient in the face of nuclear waste/damage than one might expect, and I think that's what the parent is suggesting as well.

No more, no less. We should still be very cautious because there is undoubtedly a limit (perhaps even known?) as to how much punishment an environment can take. But Chernobyl's ecosystem does seem to show that when you take humans out of the equation, Nature can be pretty darn tough.

<comment><USER25> >I was more suggesting that nature is more resilient in the face of nuclear waste/damage than one might expect

you're talking about the whole nature instead of the individuals. Place a bunch of humans near Chernobyl for several generations (30 years for wolves would be like 200 years for humans) and enforce the rule of quickly killing off any ill individual - natural thing in nature - and 200 years later you'll have a thriving human population there, and some alien would naturally conclude that humans "is more resilient in the face of nuclear waste/damage than one might expect".

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER26> If anyone is wondering about the worldwide big picture of where electricity is coming from: I made this map / spreadsheet:

[https://docs.google.com/spreadsheets/d/16K4gNhy_AN8Eg4Ov3z7p...](https://docs.google.com/spreadsheets/d/16K4gNhy_AN8Eg4Ov3z7pF_dgON1oObkHQ8Px5I73Hvc/pubhtml)

<comment><USER27> This is awesome, thank you!

</comment></comment><comment><USER28> Interesting to see people pick apart what constitutes renewable and base loads etc. It is an interesting milestone that _some part_ of the planet can be lived in with electricity that is only from renewable sources. That's pretty neat, you can live there after civilization collapses (assuming you can displace whomever is already living there :-)

Its a huge boon for a nation state to reach the crossover point of 100% renewables. Then they can start to grow it from there. It is much harder for a nation-state to simply lose access to imported energy sources, then there is the whole rioting and anarchy until enough population dies off that the remaining start seeing the others as necessary for survival not a threat to it.

</comment><comment><USER29> Same story every month. Can't wait for the 100 day update

<comment><USER30> Future 100 day update: We got 99 days before we had to fall back on non- renewable resources for a day. That's only a 99% fuel saving, which is not enough and means renewables are terrible and we should never try to use them again.

<comment><USER31> > _That 's only a 99% fuel saving, which is not enough and means renewables > are terrible and we should never try to use them again._

I love the fact that people imply there's some conspiracy to hold down renewable energy meanwhile nearly every country on the globe is subsidizing it.

<comment><USER30> I meant to reference the common (uneducated) perception that if there's ever any way that renewable resources fall short, that means they're useless. It's the same mindset that says that an electric car "only" has a range of 300-450km and takes a while to recharge, and therefore is useless as a vehicle because it can't do nonstop cross-country road trips.

</comment></comment></comment></comment><comment><USER32> In some places in Costa Rica the electricity can be sporadic, when it goes out people use petrol powered generators.

</comment><comment><USER33> As great as this is and large step for other countries very soon, decarb can only be achieved through transport efforts. transport makes up over 1/3s of emissions so why residential/commercial consumption energy efficiency is great, it is a tiny fraction of achieving overarching goal

</comment><comment><USER34> Feels like the article was written by a pro-renewable reporter and edited by an oil-company exec. "Yeah they did it but you should be discouraged instead of hopeful."

<comment><USER35> It shows both sides and they're important to consider. You don't need to be in favor of oil or any fossil fuel to see that there remains a vacuum that needs to be filled somehow.

</comment></comment><comment><USER30> Objection: Geothermal technically isn't renewable.

<comment><USER36> Geothermal also produces radioactive waste! Water gets pumped into the ground, becomes steam, the steam rises, and is used to generate power. The steam brings with it toxic sludge, which needs to be disposed of. Not sure why, but they don't wanna pump the sludge back into the ground.

[https://en.wikipedia.org/wiki/Geothermal_power#Environmental...](https://en.wikipedia.org/wiki/Geothermal_power#Environmental_impact)

<comment><USER37> Maybe they are afraid of earthquakes, like how they are realizing that fracking wastewater wells are causing many [1]

1\. [http://www.bloomberg.com/news/articles/2016-09-07/oklahoma-w...](http://www.bloomberg.com/news/articles/2016-09-07/oklahoma- wastewater-well-closures-increase-as-quake-upgraded)

</comment></comment></comment><comment><USER38> Every fucking day I see this posted. Can we just update when they aren't using 100% renewable energy again.

</comment><comment><USER39> Nothing important to say here, except, I just LOVE Costa Rica!</comment>


Got sick and tired of prebuilt laptops so I built my own modular laptop system - <AUTHOR> Http://raptorcomputergroup.com <comment><USER2> I could care less about the laptop, tell me more about this 1TB SSD for $255. Also, how are they fitting 2 GTX 1080's in a laptop?

<comment><AUTHOR> 1tb SSD can be picked up for under $200 on Amazon The graphics card are mobile GPU they are smaller and are placed into our proprietary housing which allows it to connect to our modular standard as well as cool the GPU using our unique technology

</comment></comment><comment><AUTHOR> Please post any questions you might have

<comment><USER3> Sweet. Comments and questions.

1\. I don't see much information about manufacturing specifics, as people care about everything from the switches in keyboards to how much battery life you get out of each battery, you need loads more details on the site. Do you have any plans of more photos, marketing material, specifics etc?

2\. Do you have plans on open sourcing your designs so people can make their own modular ad on things?

3\. The configuration wizard is slick, and the options are obviously tailored towards high end, are you thinking the only market for modular custom will be high end, or do you plan on expanding it?

<comment><AUTHOR> 1\. I agree with you it need more information for now it is in development stage so we don't have specifics on switches or speakers etc. As for battery life it would be hard to estimate becuase there's so many combinations and power consumption would vary widely. We currently don't have any more plans for public consumption at this point

2\. We plan on allowing third party manufactures but we are not planning on open sourcing it, since we want to maintain quality similar to what apple does with their lighting connector

3.we plan on expanding to business and students and with the current options it is possible to build a laptop with those user needs. In the future if we find one specific user base need something particular we can easily add it in the form of a module.

<comment><USER3> Alright, now down to the ditty-gritty. I realize that you are in a development stage, but I don't see anyone being interested in this unless you build at least one, and have a slick video of it. Don't take me wrong, I am not wanting to rail on the website or the presentation of the idea in such infancy, just stating to gain traction you will have to appear less fly by night.

My main issue here is that a lot of people have wanted to do this, and either failed or given up because of the large amount of problems to solve with a modular laptop/phone/anything of that nature. So either you are naive to how hard this actual is to do because you don't understand it at a high level, or you have solved some very hard and interesting problems, and not taken the time to share how you are doing it or at what level of competency you are at. Either way, the proof is in the pudding, and I wish you the best.

<comment><AUTHOR> i agree with you we need a working demonstration but at this time we do not have the capital to invest into a working prototype The main issue with a modular laptop is cooling since each module is self contained. I believe we have solved that problem but at this time I'm am not willing to disclose the way we are doing it publicly

The main reason we are going public right now is becuase we have not been able to find investor up until this point

My personal background is in computer engineering I understand the problems very well and the pro and cons of designing a system like this</comment></comment></comment></comment></comment>


Apply HN: reinvent ownership - <AUTHOR> I feel like one of the biggest problem with society is the "ownership class." One solution to ownership concentration is "Basic Income" I'm proposing something else. What if the more you used something the more you owned. We have stop gap solution like stock in companies, time shares,rent to own, mortgages, even squatters rights, which provide legal options for fractional ownership. But, these are awkward solutions because our laws and society is setup for the full ownership. What if you create a registry of "rent to own" items, property, etc. that the more you use the more you own. Which allows you to collect income from. Rent a movie then pass it along to some else a little income stream. Rent house to house to house create little income streams that eventually maybe offset your rent. You could still own things you just can't rent them out without losing some ownership. A block chain or something similar could implement the registry.  Is it a company or a non profit? Not sure. Could it completely change the fabric of society, hopefully for the better, yes. If your looking for moonshot let's reinvent the concept of ownership. <comment><USER2> What would a prototype or a demo for this look like?

</comment><comment><USER3> I'm confused about your actual vision. You need to start with a small concrete idea to build at first (the things listed in your "stop gap" section are good examples).

I'm a huge fan of m-kopa solar, which is along this axis. Check that out too.

</comment><comment><USER2> Very interesting and outside the box!!!!

</comment><comment><AUTHOR> Also, once something is contributed to the registry it's like open source it stays there. You can fully own it eventually, you just can't ever rent it out again without using the "rent to own registry"</comment>


Malicious Voting on Hacker news et.al - <AUTHOR> http://aitoehigie.wordpress.com/2010/10/24/malicious-voting-patterns-on-social-sites-and-the-like-button-2/

<comment><USER2> I've been downvoted a few times and it was usually deserved. Also I had cases where initially it would go to -2 or -3 and then go up again to +2 or +3. Thus I can't confirm your observation of "blind down-voting". Sometimes a popular HN user will get a large amount of upvotes for comments that otherwise would probably attract less upvotes though.

</comment><comment><AUTHOR> Sometimes I really hesitate before commenting on a post,because I dont want to say something that might earn me a downvote, even when that comment might actually be right but might go against the trend of other comments on the post.</comment>


Ask HN: Incubator doesn't like that I'm a single founder. Offers alternative. - <AUTHOR>

Hello, I'm a single founder of a very early start-up.
A month ago I was looking for incubators based in my area. When I had managed to find one, they said they were very impressed, but did not like the fact that I was a single founder. Mostly because they don't provide seed funding, only mentoring and a demo day. After a week or so they called me offering two things:
1) An invitation to all their events.
2) To help find a start-up with a similar business model in need of a technical founder that I can join.
However I have a few fears related to the second  item in the offer.
1) I'd like to continue developing my product and  for me to join a team with a similar business model, I'd probably have to throw away my product.
2) I'm not sure how much input I would have in an already established group.
I haven't worked in a co-founding environment before. Most of the time I would contract someone to help me with finer details and such.
Hopefully someone can help me dispose of any irrationality in my fears. <comment><USER2> Just my 0.02 worth, I was a single founder in a startup incubator.

At first I thought that I was missing out on having fellow founders to rely on but from a purely performance related POV, by demo day the single founders in the group (about 4/15 companies) were better prepared, further along and were making more income than those with team members.

In fact the more team members there were, the worse they seemed to do. 2 teams didn't even make it to demo day due to falling outs between the founders.

Decisions, paperwork and simple tasks that single founders flew through were serious points of contention with the bigger teams (4+)

I think co-founders for the sake of it is a mistake.

Sure, having a great team is always more productive than being a single founder. However a bad team is not even worth risking.

I'd take up their invitation to their events as that's a generous offer. They obviously saw potential in your product. Don't let them pressure you into building a team if you're happy with how it's going.

<comment><AUTHOR> Thanks for this, my faith in being better off as a single founder rather than going out of my way to find another founder has been renewed.

I'll most likely email them thanking them for the events invite, but say that I would rather try and develop my product more than to jump ship to another.

</comment></comment><comment><USER3> I don't think you're being irrational. I'm a single founder and it sounds to me like these guys are hunting for "tech help" on the cheap while trying to clear out potential competition -- otherwise, why the admonition to ditch your product?

Listen to your gut instincts. You might learn something about your market by meeting the competing team although it will probably be a waste of time. But it seems foolish to abandon your own plans in order to join some random and profitless company that has decided joining a no-investment incubator is a good deal. If money is an issue wouldn't you be better served just getting a job at market rates and continuing to work on your business part-time?

If you think there is some value in the community, you can always offer to advise some of their teams as a mentor in exchange for access to group events.

<comment><AUTHOR> Thank you for your input. I was thinking this aswell, because I don't want to end up as just a "coder" in whatever start-up they ask if I'm interested in.

Right now money is sort of an issue, but I'm working a part-time job in order to save up some cash to deploy atleast a demo version to show potential investors.

I think I'll just accept their offer to go to their events and nothing else.

</comment></comment><comment><USER4> Hi - I'm a cofounder of a startup :). I would first ask; considering that you sought out the incubator, do you believe that they can help you advance your startup to a point that justifies even participating in the incubator at all?

If the answer is yes, then let's consider a situation that you would accept. I understand the desire to continue your business as a single cofounder. However, I would think that you want to grow this startup to something beyond a lifestyle business. Otherwise you wouldn't be seeking out an incubator (most wouldn't accept you). If that is correct then you'll seriously want to consider adding another cofounder to your team. Find out every area that a startup on a successful growth trajectory would need to face - Networking, marketing, seo, b2b, engineering, design, developing pitch decks, giving pitches, generating leads, more networking, dba, and google 100 more.

Now find out which of those areas you suck in. Then eliminate the ones you can effectively and efficiently outsource. Then hopefully you're left with high quality skills and personality traits that can only be filled by someone that is different than you are. Find and grab that person as a cofounder. The efficiency and productivity added to your startup of even 1 more person to cover areas that you left unfilled will be worth sharing your startup with.

Then you can enter the incubator as a two person startup and with your original product.

</comment><comment><USER5> I bristled when I read this. They are making some steep requests and I can't see how you could seriously consider going along with this. It can't be in your best interest.

<comment><AUTHOR> Yeah, my gut feeling is straying me away from this.</comment></comment>


Zedshaw/Tir - <AUTHOR> https://github.com/zedshaw/Tir <comment><USER2> I'm really excited about async programming in what Zed dubs the "natural style": using coroutines to suspend and resume processing at points where input is needed.

Can this eliminate the callback hell that plagues the explicitly async frameworks (node.js, jquery, twisted, etc)?

But what about the downside? Now your handler is stateful and the language runtime is taking care of suspend / resume of the handler code. Can you migrate the suspended coroutine to another process, possibly on another machine? Or do you just take care to use sticky load balancing for all your stateful routes?

HN does something similar right? My understanding is that the fnid=... query param identifies a closure that's serving up a pagination of stories, and the "Unknown or expired link" error message happens when your own personal closure gets garbage collected by Arc.

In both the coroutine and closure cases, you've got something on the server side that's consuming resources even when there are no requests. This seems like a problem for scaling.

<comment><USER3> (Edit: Sorry, you seem to know all this. Keeping my post here for posterity)

The logical end to this road is continuation-based web servers. See <http://docs.racket-lang.org/continue/index.html> and my approach to the Arc challenge, <https://gist.github.com/1304257>

The interesting function which does all the work is:

      (define (start req)
        ;; First, we get input from the user
        ;; Then, we pause for the link
        ;; Finally, we show what the user typed.
        (let ([input (get-input-from-user)])
          (pause-for-link)
          (show-input input)))

Each of these calls - _get-input-from-user_ , _pause-for-link_ , and _show- input_ sends a complete page back to the user and waits for them to click a link or submit a form request. It's a really smooth way of solving some problems.

<comment><USER2> _Sorry, you seem to know all this._

Not at all, this is interesting. Thanks for the info.

</comment></comment></comment><comment><USER4> _No Core

This isn't really a Tir feature, but do you hate when there's bugs in your core libraries and that guy who "owns" the broken library refuses to fix it? Me too, that's why Lua and LuaRocks are awesome. You get a tight core language that's completely described in_a_few_HTML_pages and then install all the platform libraries you need with LuaRocks. No more gatekeepers with Lua._

"No more gatekeepers" seems to be a theme with Zed's contributions of late. (And quite possibly over a longer time span.) In the case of Lua, the role of "core" and the "glue" are both a particular small and fast language. Because "core" is so small, any "benevolent dictators" in this environment have a small footprint. (Yes, there's a "small government" analogy here, but let's leave the politics out.)

The price of this is library fragmentation. There's more than one approach to objects, for example.

I wonder if there's a middle ground? Node.js seems successful in promoting a community standard of no blocking code.

<comment><USER5> >The price of this is library fragmentation. There's more than one approach to objects, for example.

I've found that to be the case with Lua in general. The language is pretty easy to hack with, and so there's alot of wheel making. Lua has a mantra of "provide mechanisms, not policies", and since there's no formal class system, and multiple ways to define modules it's almost fragmented by design.

I think the designers are working on a better module system for the next release, or did that make it into 5.2?

</comment></comment><comment><USER6> Actually really excited about this.

My big problem with most frameworks is that any moderately sized application becomes excruciatingly monolithic. With Rails, the idea is that you have more code reuse, but then this becomes booting the whole of the universe to do something simple. Most of the time, your feature only needs a model, or a tiny part, of the application to do it's thing.

With Tir, you have a bunch of small parts working together. You can reuse the code, but the process only needs to load the parts it needs to work with. The implicit nature of rails really hurts it's ability to scale a particular part of the application without having to install the entire application.

An example, you scrape twitter for mentions of your app and shove them on your homepage. Twitter rate limits, so you background job this and run it in an interval. In the rails world, this means a resque / utility server, running the same code, each working booting up the full app, same deps, same model.

In Tir, there's no reason to do that. Create workers, have them load only the needed bits to access twitter and your model, make updates. Very light weight.

However: PUB/SUB for workers? Really? Can't we get mongrel2 style work N:M (PUSH <\- PULL, PUB <\- SUB) distribution? This way we at least have an assurance that only one worker will get the job.

<comment><USER7> You can make the workers do whatever you want, that's just the default setting since it's the most common.

</comment></comment><comment><USER8> Python folks might be interested in Brubeck. It too pulls messages directly from mongrel2 and provides coroutines for its concurrency abstraction.

<https://github.com/j2labs/brubeck>

</comment><comment><USER9> So....this has been posted about a few times in the past ([http://www.hnsearch.com/search#request/all&q=tir](http://www.hnsearch.com/search#request/all&q=tir)). Where's the news here?

<comment><USER10> The news, to you at least, might be that HN readers don't read each and every article religiously on the front page, day in and day out.

Thus, a large subset of us can discover and discuss an article after multiple postings.

</comment></comment><comment><USER11> This description in the title would help: "A Simple Lua Web Framework For Mongrel2"

<comment><USER12> Agree. Though I clicked mostly for the "Zedshaw" in the title.

<comment><USER13> Same here. The framework is interesting, but having zedshaw in the title makes it more so since many of us are interested in knowing what he comes up with.

</comment></comment></comment><comment><USER14> This would have been cleaner with Moonscript: <https://github.com/leafo/moonscript>

<comment><USER7> No, just different. And Klimt is better.

</comment></comment><comment><USER15> I would be nice to see Zed created a framework in Python. I am not happy with any of the existing ones.

<comment><USER16> Have a look at Nagare - <http://www.nagare.org/>

<comment><USER17> Yes, Nagare (<http://www.nagare.org>) is a continuation-aware Web framework with the same components model than Seaside.

Python Stackless is used to take continuations and also to serialize all the states, which can be stored, by configuration, in memory or to an external Memcached server. With the later setting, all the continuations can freely migrate across the machines of a cluster.

</comment></comment></comment><comment><USER18> Why is something not updated in 4 months big news?

</comment><comment><USER7> Warning folks: Since I've been working on my books I haven't had time to hack on this lately. I will be picking it back up when I have a break from the books to code up a few ideas I have.

<comment><AUTHOR> I know this is off topic but are there plans for a learn lua the hard way.

<comment><USER19> Its time for a new (non-game specific) Lua book.

</comment></comment></comment><comment><USER20> How is the state stored for "natural style" functions? Is this continuation style something that Lua supports natively?

<comment><USER21> Lua has built-in support of this functionality through coroutines [1]. Serializing the coroutines to a database does requires a library [2].

[1] <http://lua-users.org/wiki/CoroutinesTutorial>

[2] <http://lua-users.org/wiki/PlutoLibrary></comment></comment>


Perl 6 release announcement - <AUTHOR> https://perl6advent.wordpress.com/2015/12/24/an-unexpectedly-long-expected-party/ <comment><USER2> So there it is, Perl 6 released on Christmas. Exactly as appointed. I didn't think I would ever see it coming out.</comment>


Google Crushes Small Business Owners - <AUTHOR> http://businessowner.com/becoming-a-new-business-owner/google-crushes-small-business-owners/

<comment><USER2> We had the same problem with our sites along with Bob Cringely :-

[http://www.cringely.com/2013/12/10/sisters-quilter-google- mu...](http://www.cringely.com/2013/12/10/sisters-quilter-google-mugged/)

</comment><comment><USER3> Yours is not the only small business I've seen executed by Google. 100% of the sites I've written content for or managed AdWords accounts for have been penalized over the years. My solution is to focus on getting traffic from anywhere but them.

<comment><AUTHOR> In some cases, Google may see these small businesses as competition, so that's why they're targeted.

</comment></comment><comment><USER4> Dragon ... sorry to read about your sister's site. We are just a couple out of many thousands that Google has crushed under the guise of improving the "web experience". I made it just about as high up the ladder as your sister and got the same response. Tough shit. They don't care that they've destroyed people's businesses and lives as long as they can make a buck.

I understand the need for some of what was done as there are lots of people that game the system. But to do a sweeping change that judges every site the same and has a particular dislike for retail sites and affiliates was either an intentional act to hurt these verticals or short sightedness. I really doubt it's the latter.

All that people like myself and your sister can do is try to "please" Google and also use other channels/social to try to bring more visitors.

As long as Google can fill the results page with paid ads and their own ads why should they care about the little guys who many like myself were hard working, honest and never thought Google would screw us as they did for no warranted reasons.</comment>


SOLID Go Design - <AUTHOR> http://dave.cheney.net/2016/08/20/solid-go-design <comment><USER2> Definitely good stuff to think about in the piece, but even as a Go fan, I found the rhetoric to be insufferable. "Go obviously doesn't have classes—instead we have the far more powerful notion of composition". Go's syntax may frame things differently than Java or Ruby or C++, and I don't discount the impact of syntax and abstractions on code design, _but_ just because you don't _call_ them "classes" doesn't mean they are something entirely different.

Go types can have public and private fields, a set of associated functions which can also be public or private, and ways to extend other structs or pose as other types. So you've got encapsulation, inheritance, and polymorphism. Pretending you don't have "classes" is just silly.

<comment><USER3> It's perhaps subtle, but there is a real difference -- traditional inheritance allows the base class to call methods in the derived class; Go embedded fields don't have this property, which is a huge simplification. (You also don't have all the complexities of constructors.)

</comment></comment><comment><USER4> For middle of the road companies with middle of the road developers, I find SOLID is not really a great set of principles to focus on.

'S' is pretty good because it helps encourage developers to get away from huge classes that have dozens of methods.

'O' is basically useless when applied to a single codebase, because one of the worst parts of middle-of-the-road developers is when they start to realize they can extend classes. You end up with horrendously complicated and deep class hierarchies. I find that when it's time to add functionality, it's far better to just refactor and create new classes for composition.

'L' is deeply confusing, and the difficulty in understanding it is what leads to the deep and brittle class structures above.

'I' drives intermediate developers to create more and more interfaces that have 1-2 methods, which when combined with their difficulties with 'O' and 'L', just leads to confusion and high cognitive load when trying to maintain the codebase.

'D' is good.

<comment><USER5> Could not agree more, I find SOLID often creates more harm than good with a lot of devs. For example:

S: Each class can only do one thing, ever! Gotta do something else? Lets add more classes that all inherit from each other!

O: Heh, no one even remembers this one, like, ever.

L: Ya, thats how inheritance works! Right? Right...

I: Hey, I know how to create interfaces! Interface all the classes!

D: OK, just stick the DB connection into the constructer and we've got the D covered, yesssssh!

Really though, IMO SOLID is somewhat overblown in many cases. It is just a set of guidelines for good OO design not any kind of iron-clad rules.

<comment><USER6> Your comment just shows that SOLID is not understood, not overblown.

<comment><USER7> "No True Scotsman" indeed

And I want to slap the "S" people whenever I see a private method inserted merely to call a library

So it's "single responsability" except for a set of arbitrary cases pulled out of who knows where.

<comment><USER8> > "No True Scotsman" indeed

that doesn't seem applicable.

</comment></comment></comment></comment></comment><comment><USER9> I am fairly consistent in my criticism of Go. I am also fairly consistent in my insistence that the Dependency Inversion Principle is one of the harder concepts to wrap your head around of the SOLID principles (not least because several other concepts use terms similar).

But golang's structural typing actually allows for some of the easiest demonstrations of the implementation of the DIP of any of the strongly typed languages I've used.

I find Martin's definition of the DIP counterintuitive. A description that makes more sense to me is "interfaces should be defined by the 'users' of the interface, not by the implementers".

With a language like C++ or Java, to achieve this requires either lots of adapter layers or compiler tricks. With golang it is simple.

As a for instance, let's say I'm writing a restful client library for a specific application. It is tempting to to hard code a dependency on the std lib http.Client.Do method. If instead with 3 lines of code, I define my own interface for Do that matches the std library definition. I can use the std library, or any other library that matches it (one that is faster say or implements back off).

That is one of the few areas where the golang type system is pretty cool in comparison to its peers.

<comment><USER10> But with Go's system you can't provide an implementation of an interface for a type unless you defined that type in your package. You have to use an adapter layer for that. (For example, say I want to make an interface with a function "func Show() string" that prints debug information about a type--I can't implement that function directly on http.Client, only on an e.g. "type MyClient = http.Client" wrapper.) So that makes it harder to achieve loose coupling, because you can't make your own interfaces that unify standard library types and your types unless you make your types take exactly the same methods with exactly the same signatures (problematic if you want your types to support slightly different functionality, etc.)

In a system that allows you to implement interfaces for types that you didn't define in your package, there is a little more boilerplate necessary compared to Go, but only a few lines necessary to achieve the exact same effect. In pseudo-Go:

        type Do interface {
            func Do(req *Request) (*Response, error)
        }

        // boilerplate
        implement Do for http.Client {
            func (c *Client) Do(req *Request) (*Response, error) {
                return c.Do(req) // call stdlib implementation
            }
        }

        // custom implementation of Do
        implement Do for MockClient { ... }

So Go makes a tradeoff with its structural typing: it doesn't require the small amount of boilerplate code to achieve the pattern you describe, but it prevents you from providing new implementations for types you didn't define. Reasonable people can differ as to whether the side of the tradeoff Go makes encourages or discourages loose coupling.

<comment><USER11> I think you're a little off. The only boilerplate required for your example is the interface definition. After that you can define your own implementations of the "Do" interface as suggested by the parent.

      // boilerplate
      type Do interface {
        func Do(*http.Request) (*http.Response, error)
      }

      // Custom Implementation
      type MockClient struct {}
      func (mc *MockClient) Do(req *http.Request) (*http.Response, error) {
        // MockClient type now satisfies the Do interface
      }

<comment><USER12> You're not taking this issue in account:

> you can't make your own interfaces that unify standard library types and > your types _unless you make your types take exactly the same methods with > exactly the same signatures (problematic if you want your types to support > slightly different functionality, etc.)_

<comment><USER11> The original comment mentioned being able to decouple Go code from specific implementations of functionality by relying on self defined interfaces instead of specific functions. pcwalton's example seemed to confuse this point, which I wanted to clarify.

As to that point, your interface types will only match standard library ones if you're _trying_ to unify them. In which case you probably want them to have the same signature.

<comment><USER12> > The original comment mentioned being able to decouple Go code from specific > implementations of functionality by relying on self defined interfaces > instead of specific functions. pcwalton's example seemed to confuse this > point, which I wanted to clarify.

The problem is that you're clarifying the wrong thing, the example is confusing because it trivially proxies a built-in method but the remark is what's important to the reply. Your reply is only confusing things further by considering the flawed example but ignoring the actual point.

> As to that point, your interface types will only match standard library ones > if you're trying to unify them.

No, why would you think that? You may want to "compatibilise" multiple third- party types (that some of them are in the standard library is a complete red herring) as well as first-party ones (a mock or whatever) e.g. abstract over stdlib sockets, zmq sockets and sqlite.

<comment><USER11> You're right, I'm confusing the issue. I re-read pcwalton's comment and I think understand the point they're trying to make. Not sure the last part was correct though.

> So Go makes a tradeoff with its structural typing: it doesn't require the > small amount of boilerplate code to achieve the pattern you describe, but it > prevents you from providing new implementations for types you didn't define.

Shouldn't this be "So Go makes a tradeoff with its structural typing: it _does_ require a small amount of boilerplate code to achieve the pattern you describe, but it _allows_ you to provide new implementations for types you define."?

<comment><USER12> Well no because "the pattern you describe" in that context was only implementing stuff on types you own/control, which is basically a function declaration in Go, the problem is that doesn't extend to types you _don 't_ control, Go only lets you define methods on local types (types from the same package).

By comparison the code pcwalton shows has more upfront boilerplate, you need to explicitly `implement $Interface for $Type`, but it works for both local and non-local types.

That's what e.g. Rust does, you can implement a trait on a type if either the trait or the type is local (in theory you could also do so if neither is local but IIRC that's not allowed so conflicts don't have to be handled). Which means you can do this:

        trait Do {
            fn do(&self, req: &Request) -> Result<Response>
        }

        impl Do for hyper::http::Client {
            fn do(&self, req: &Request) -> Result<Response> {
                ...
            }
        }

        impl Do for MockClient {
            fn do(&self, req: &Request) -> Result<Response> {
                ...
            }
        }

There's a higher up-front syntactic cost (in that you have to declare the trait and you have to explicitly implement it even on the local MockClient type) but in return you also can implement it on the non-local "actual" http client.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> There's something strange about application of the Liskov Substitution Principle in the article.

Original formulation of LSP was: subtypes should not break supertypes, i.e. caller expecting supertype should not be able to tell the difference when getting an instance of subtype. That was expressed in terms of an explicit subtype/supertype relation, like inheritance in OOP. When there's no such thing in the language, the LSP becomes (quote article):

"Two types are substitutable if they exhibit behaviour such that the caller is unable to tell the difference."

This sounds almost like a tautology. I understand that it isn't, since "substitutable" is "you substitute class X for interface Y in your code" and "observably same behaviour" is "X behaves like all implementors of Y are expected to".

In practice, X doesn't declare it implements Y. If I review a change to X I might miss that fact. If that change breaks behavior expected from Y, it's bad.

I'm not sure if this scenario is a real problem, I have written like 100 lines in Go.

<comment><USER14> In Go you might have an interface _Rectangle "_:

        type Rectangle interface {
            SetHeight(int)
            SetWidth(int)
            GetHeight() int
            GetWidth() int
        }

Then you could conceivably have a type _Square_ which implements this interface.

The problem is, that clients that use the Rectangle interface make certain reasonable assumptions that turns out not to hold when the Rectangle in question is a Square. Case in point: If you call SetHeight(x) and SetWidth(y), you would assume that GetHeight() and GetWidth() return x and y. But that obviously violates the invariant of a Square if x and y are not equal to each other.

This problem is what LSP aims to address.

<comment><USER15> This is sort of a classic example (with the behavioral expectations of the interface that you have stated in the text, which are not expressable as a constraint in Go code -- or in most languages where the LSP is a concern -- but which often _would_ be documented as an expectation of the parent class in a class-based inheritance system, and would usually be expected from the naming of the class/interface) of why mutability is problematic in terms of the LSP, as its not problematic at all if the signature is:

      type Rectangle interface {
            SetHeight(int) Rectangle
            SetWidth(int) Rectangle
            GetHeight() int
            GetWidth() int
        }

Though, perhaps more than the LSP, this should be a textbook illustration of why representations of mutable objects in a program should not be named after entities in the domain whose essential identity is associated with one or more attributes that are mutable in the representation.

<comment><USER14> _perhaps more than the LSP, this should be a textbook illustration of why representations of mutable objects in a program should not be named after entities in the domain whose essential identity is associated with one or more attributes that are mutable in the representation._

Yes, in the example I gave, I agree. Certainly objects such as Rectangles and Squares should be modeled as immutable value objects. Immutability solves the problem completely. The example would perhaps be better if instead of Rectangles and Squares it talked about Windows and FixedAspectWindows.

<comment><USER15> > The example would perhaps be better if instead of Rectangles and Squares it > talked about Windows and FixedAspectWindows.

But, here, I think it should be quite clear that the solution is to make clear that _independence of the dimensions on the two axes is not a guarantee provided by the Window interface or class_. Interdependence of a particular form is guaranteed by FixedAspectWindow, and there might be a similar subtype of FlexibleAspectWindow that guarantees independence, but Window itself should not make any guarantee (and should, if necessary for clarity, expressly disclaim such a guarantee.)

But one thing I think that it is worth highlighting is that the fact that _some_ guarantees of a type are expressable and enforceable through code does not ensure that all are, and the LSP _most critically_ applies to those that are not (since those that are expressed and guaranteed through code won't ever be a problem), but to those that are communicated through other mechanisms, _including those communicated implicitly through naming_.

<comment><USER16> > including those communicated implicitly through naming

As an aside, this is an aspect of what I like about choice of names like "Functor" and "Monoid". There is very little room for ambiguity.

Further aside... In Haskell, there's still "do we include operational equivalence?" and "are we considering equivalence only up to bottom?". But at least the guarantees around the semantics for non-bottom values are reliably uncontroversial.

</comment></comment></comment></comment></comment></comment><comment><USER17> _eyeroll_

I wonder how Robert Martin was implementing SOLID before the wonder that is Go was delivered unto us. And I wonder why all our buzzword-laden codebases are still knee deep in crap if SOLID is so amazingly awesome. We've been hearing about coupling and cohesion for over 50 years now. At what point does thinking in those terms become part of the problem rather than the solution?

Is it possible that Go or any other language _du jour_ just seems cleaner because it's _newer_ and so the cruft hasn't had a chance to form yet? Come back in 10 years, and tell me how amazing it is then.

<comment><USER18> it's a nice language BECAUSE the authors push back when asked to add this and that and all the other latest language feature fads.

They really don't get enough credit for constantly dealing with the negative hordes. Add features = language crufty. Don't add features = where's my generics (or whatever).

<comment><USER19> "Add features = language crufty."

Truly remarkable that they got it right on the first pass if that's the case. Rob Pike must be a frickin SOOPER GENIOUS.

<comment><USER20> Dunno about SOOPER GENIOUS, but I reckon he knows his stuff. He's certainly got the chops that prove it.

</comment></comment></comment></comment><comment><USER21> What's with all the Go pushing lately?

<comment><USER22> Well, 1.7 just came out, and GolangUK just happened? Not exactly surprising that a lot of posts pop up around releases or events within a specific community.

<comment><USER21> Ah that makes sense then. Interesting, I missed that but of news completely it seems. Thanks</comment></comment></comment>


Sea salt around the world is contaminated by plastic, studies show - <AUTHOR> https://www.theguardian.com/environment/2017/sep/08/sea-salt-around-world-contaminated-by-plastic-studies <comment><USER2> how is this possible since salt is a crystal?

<comment><USER3> It's not binding to the salt, in any chemical sense. Just that, in quantities of sea salt crystals, you also find tiny pieces of plastic mixed in.</comment></comment>


Use google encrypted search from the Firefox bar - <AUTHOR>

If you want to get normal encrypted search from the firefox search bar do the following:
Navigate to your profile folder for firefox

  *  Windows : C:\Users\(username)\AppData\Roaming\Mozilla\Firefox\Profiles\(profilename)\

  *  Mac : ~/Library/Mozilla/Firefox/Profiles/<profile folder>

 Once in your profile folder, edit the "search.json" file.
Look for "google.com" in the file, and everywhere you find it, replace the preceding http with httpS
There should be 3 references to it. <comment><USER2> Shouldn't that be <https://encrypted.google.com>

Since they moved the domain.

<comment><AUTHOR> Either works, seems to redirect.</comment></comment>


Uber IPO woes stem from a lack of innovation - <AUTHOR> https://www.ft.com/content/26ed534c-76f4-11e9-b0ec-7dff87b9a4a2 <comment><AUTHOR> > Mr Khosrowshahi is the anti-Travis in many ways — I attended his talk at a > conference last summer in Aspen and was amazed by his ability to speak for > an hour without actually saying anything.

> The downside of Mr Khosrowshahi's tenure is that Uber has lost its mojo.

> It stopped being an exciting company. Innovation no longer seemed like the > top priority. Stability mattered more. That may work for Dow Chemical or > Johnson & Johnson. But when the entire value proposition is that the company > can one day change the world, being quiet isn't necessarily the best > strategy. We're seeing the results of that right now as Uber's IPO continues > to stumble.

</comment><comment><USER2> Travis will come back and Uber will be huge, just like every time this happens.</comment>


What It Costs to Maintain an Older House - <AUTHOR> https://www.theamericanconservative.com/urbs/what-it-actually-costs-to-maintain-an-older-house/ <comment><USER2> Interesting post. As I drive down the north east, I get the same vibe of dying cities and towns. But the problem is different. The northeast is just ugly and downtrodden as compared to the west coast.

Most houses were built long ago. They need significant upkeep. People living are older in age. No new industries booming. No new migrants (from other states and definitely much fewer from other countries).

But the prices of houses are sky high, property taxes are too high. If it were not for the top universities here, the north east would be much like Akron.</comment>