Tree planting: Where can I do it and which type is best? - <AUTHOR> https://www.bbc.co.uk/news/uk-england-49164316 <comment><USER2> I did a rough spreadsheet some time back based on this 1998 EPA carbon sequestration worksheet [1] and found that an average person from a high carbon output country needs about 600-1000 trees to offset their carbon output.

There are about 3 trillion trees for a population of 7 billion people for an average of 428 trees per person, so that means you have to make up the delta of about 172 to 572 trees over the course of your lifetime to erase your carbon footprint (of course, young trees don't sequester as much carbon, so your footprint will still be positive for much of your lifetime - but as the trees get older, they sequester at a higher rate per year, which eventually gives you a negative footprint). This projection was based on the CO2 sequestration per year and the average survival rate documented in [1].

[1] [https://www3.epa.gov/climatechange/Downloads/method- calculat...](https://www3.epa.gov/climatechange/Downloads/method-calculating- carbon-sequestration-trees-urban-and-suburban-settings.pdf)

<comment><USER3> There is one thing that I don't understand. I plant 1000 trees, I sequester the CO2 I create by driving, heating my home and all the activities done by third parties to keep me alive (food, hospitals, etc). But that CO2 is still under the sky and most of it will be released when the trees die. It's not like we're pumping it back into oil fields or coal mines and never see it again. So this 1T trees initiative is a stop gap measure to buy us some time but it won't solve the problem. But it's better than doing nothing.

<comment><USER4> Don't plants convert CO2 into O2 and sugar, meaning the CO2 no longer exists? When the tree dies what mechanism causes CO2 to be released?

<comment><USER5> Decomposition. Organisms that feed on the dead tree consume the sugars and O2 and make CO2.

</comment></comment></comment></comment><comment><USER6> Slightly tangentially related, for those of us who are into gardening and coding, there is a plant monitor made by Xiaomi called Xiaomi Flower Care that will monitor moisture, light, temperature, and soil fertility. It works over Bluetooth and can be purchased on Amazon for as low as $8 per probe but the vendors will often charge around $25. You see a lot of rebranded ones but they're all the same from Xiaomi. It works with their iOS (and presumably Android) app. Someone has released a SDK for it:

[https://github.com/vrachieru/xiaomi-flower-care- api](https://github.com/vrachieru/xiaomi-flower-care-api)

My plan is to use that and build a Raspberry Pi to monitor my plants. And later on maybe control the watering system.

Anyways, it's a nice cheap plant monitoring option. It was really helpful when I was trying to figure out why my plants were turning yellow. People were mostly telling me that I was either over watering or under watering, etc. Then the probes all told me that my soil has no fertility left so I just added some organic 5-5-5 fertilizers and my plants are doing great again. The nerd in me love checking the data every day but would ideal build a Raspi server to sync and display some graphs some day (using a Prometheus endpoint perhaps?)

If anyone has good advice on how to control a set of water valves using Raspberry Pi, please let me know! I know about GPIO but I would like to have a bus of some sort so I can add more valves in the future if needed. Maybe a USB solenoid?

<comment><USER7> Woah. This is awesome! I travel for work and keeping my plants happy has been vicious trial and error with passive auto watering stakes. I've been looking for a convenient sensor package so I don't have to muck around with wires. Jackpot!

There are many raspberry pi projects on reddit for the "microgrowery" community... I recommend having a search. I plan to set up an indoor tomato and herb garden using these methods.

For solenoids, I advise some methods like [1] so that you can connect a cheap and daisy-chainable relay board like [2] via SPI. Then you can control anything.

If you don't want to get down into the 5v to 3.3v mumbo jumbo, it may be easiest to connect an arduino or clone via USB to the raspberry pi. There are bazillions of documented ways to drive relays with an arduino.

[1]: [https://www.tansi.org/rp/interfacing5v.html](https://www.tansi.org/rp/interfacing5v.html)

[2]: [https://www.ebay.com/itm/SPI-breakout-board-with-6-relays- fo...](https://www.ebay.com/itm/SPI-breakout-board-with-6-relays-for-AVR- arduino-PIC-Raspberry-Pi-/160927333012)

</comment></comment><comment><USER8> In Lewisham there is a group of volunteers doing excellent work planting street trees (Street Trees for Living - [https://brockleystreettrees.blogspot.com/p/welcome2.html](https://brockleystreettrees.blogspot.com/p/welcome2.html))

They work with the council and have organised the planting & maintenance of over 600 trees since 2012 (including the lovely Himalayan Birch outside my house which I sponsored last year).

I have also helped out here and there and created a 'tree map' a few years ago which has information on all the publicly owned trees in the Borough - [http://maps.catfordstreettrees.org.uk/](http://maps.catfordstreettrees.org.uk/) ( _I actually happen to currently be in the process of updating the map with new data_ )

</comment><comment><USER9> You can sign up for a service that will plant trees on your behalf. Do your own research, but these ones seemed pretty good and plant 1 tree per $1. [https://onetreeplanted.org/](https://onetreeplanted.org/) [https://trees.org/](https://trees.org/)

<comment><USER10> I've been liking Eden Reforestation ([https://edenprojects.org/](https://edenprojects.org/)), which employs local populations to plant trees in deforested areas. Ecosia is listed on their Partner page, so I'd assumed that's how it works under the hood.

I'm interested in hearing about other projects, too.

</comment></comment><comment><USER11> Given the amount of provisos, conditions, and regulators required to approve of planting, it sounds to me like it is better to beg forgiveness than ask permission.

<comment><USER12> The rules presented in the article were just: "Don't mess anything up, and do it with permission by the land owner. If you plan to plant a ton, ask pros if that'll mess anything up."

<comment><USER11> The rules require archeological, environmental, and civic planning assessments; as well as permission from the land owner.

<comment><USER13> did you read a different article?

"In England, you would not need planning permission to plant less than two hectares (20,000 sq metres) in a low risk area, it said."

<comment><USER11> Of course I did.

How do you expect one determines an area to be low-risk? To do so requires assessment from all stakeholders who could deem it not to be low-risk.

<comment><USER14> If I understand it correctly, you can just look it up.

Woodland Trust:

> In England, planning permission isn't needed if your project is under 2ha > and in a low risk area. Check your area using the Forestry Commission land > information search.

[https://www.woodlandtrust.org.uk/plant- trees/advice/where/](https://www.woodlandtrust.org.uk/plant- trees/advice/where/)

Map browser: [https://www.forestergis.com/Apps/MapBrowser/](https://www.forestergis.com/Apps/MapBrowser/) (via [https://www.gov.uk/guidance/use-the-land-information- search](https://www.gov.uk/guidance/use-the-land-information-search))

Then enable the Forestry Commission > Targeting and Scoring > Low Risk Areas for Woodland Creation layer.

At the very least, if your plan is to just beg forgiveness, it would give you a better argument that you thought it was acceptable and at least tried to comply.

</comment></comment></comment></comment></comment></comment><comment><USER15> N.B. Crazy idea follows:

I wonder if there would be a away for the government to allow people to purchase land at a reduced cost and tax-free (sales and property taxes) for the sole purpose of planting trees. Land purchased this way would be legally protected against the government's power of eminent domain/expropriation [0]. Sale of the said land would be restricted in the same way. If someone did want to develop the land, they would be allowed to do so only if they paid the difference that would have been accumulated over the years in taxes compounded with interest. The whole thing would sort of be like a U.S. 401k or Canadian RRSP, but for the environment.

It would sort of like what this Brazilian politician asked for here except the ownership of the land would be transferred, so it wouldn't be a sort of one- sided, long-term extortion [1].

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

[1] [https://www.npr.org/2015/11/10/455432704/rich-nations- should...](https://www.npr.org/2015/11/10/455432704/rich-nations-should-pay- to-preserve-amazon-rainforest-brazilian-politician-says)

<comment><USER16> What would be the advantage of making the land private compared to planting trees in public land?

<comment><USER15> It's so that a future government can't sell that land to someone else to cut down the trees and develop it. That can still happen with private ownership, which is why I had the idea of giving concessions that would have to be paid back to deter it.

</comment></comment></comment><comment><USER17> I really want to start planting trees because this planet needs more trees, it's not a joke or some hippy movement, the consequences are real. I just feel like doing so in the UK is a bureaucratic nightmare. Plus buying trees to plant isn't cheap.

I might just start saving up for land and planting trees there if I can.

<comment><USER18> a lot of plants can be propagated from twigs, you don't need to buy more

<comment><USER19> I've found that rooting hormone vastly increases the number that do well. I've also been told but have not tried, that you can make a DIY rooting hormone by soaking green willow twigs in water than adding your cuttings.

<comment><USER18> yes, that is what is recommended for grafting too

</comment></comment></comment></comment><comment><USER20> There is also Trees for Life in Scotland:

[https://treesforlife.org.uk/](https://treesforlife.org.uk/)

You can volunteer for week long tree planting & conservation trips:

[https://treesforlife.org.uk/volunteer/conservation- weeks/](https://treesforlife.org.uk/volunteer/conservation-weeks/)

</comment><comment><USER21> I've started doing this as a hobby wherever I live after spending some time in the Bay Area and becoming obsessed with how cool huge redwoods are.

Growing saplings is slow and sometimes difficult, but one of the coolest things I've ever done was taking saplings I grew and then heading out into a reserve with scientists to plant them.

I feel like a huge understated challenge to these efforts is finding land that's protected / optimal for planting that will knowingly not be plowed or cleared within 60 years. Otherwise, it doesn't really matter how many trees you plant if they're all uprooted or killed before they even reach 6' in height...

</comment><comment><USER22> There are a lot of people in this thread conflating 'mature' with 'in decline'.

Remember that there are many, many species of tree with a natural lifespan in their preferred environment that can be measured in hundreds of years. That's a huge time period between full-sized and 'slowly falling apart'.

A tree in decline may have heart rot. Every year its losing wood while making new. It's a fight against gravity and the elements. When the losses outpace the gains the tree loses integrity, major limbs start falling off, and eventually the trunk fails. If you told me this tree is carbon neutral, I'd have to take your word for it. But for the previous thirty years? That tree was socking away tons - literally - of carbon.

There are "mature trees" in the world today that will outlive the children sitting beneath them.

</comment><comment><USER23> My wife and I have a property with a good bit of forest. It's mostly fir trees and birch. Every now and then I wonder if there's some way to increase the co2 uptake of the forest, but the question appears surprisingly complicated, and so far my conclusion has been to just leave it be.

Has anyone looked into this?

<comment><USER24> There was an article posted recently that said the best way to increase the co2 uptake is by cutting down the fully grown trees and planting new trees. Full grown trees don't absord as much co2 as a tree that is still growing, and the needles that some trees drop make the ground acidic, preventing new trees from growing. The problem is that you have to find something to do with all the wood so the captured co2 doesn't get released from the harvested trees.

<comment><USER25> I had a stupid thought yesterday that I need to run numbers on, but I wonder if following would be possible:

Allocate some large area of ground for planting fast-growing trees. Dig a large and deep hole in the middle; something like 20 meters in diameter x 500 meters in depth. Let the trees grow; when they're mature, cut them down, throw into the hole, and throw a bunch of dirt (from the mound you made by digging the hole) behind them. Plant new trees, rinse and repeat until the hole is full, then dig another one somewhere near. Would that even make sense as a carbon sequestration facility?

<comment><USER26> No, because the buried wood would decompose. Decomposing wood releases its stored carbon as carbon dioxide, which will slowly evaporate through the covering dirt.

One scheme that actually would work is to convert the wood to coal, then burying it. That could be done without adding any energy by using old- fashioned methods for charcoal burning.

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

Because charcoal is chemically inert, the buried charcoal should stay put for up to a few hundred years,rather than a couple of decades for the decomposing wood.

<comment><USER27> > No, because the buried wood would decompose.

Only if there is water. Bury it deep enough, or protect it from water (i.e. like a landfill).

<comment> quixoticelixer- Oxygen is much more important than water for decomposition.

</comment></comment></comment></comment></comment></comment><comment><USER28> I don't see how 1.5 billion trees is enough to offset the UK's carbon emission rate. If you go by a tree sequestering a ton of carbon over a 40 year lifetime, and the UK emitting 368 megatons per year... you're sequestering on average 37.5 million tons per year (less when they're young, more when they're old), which is only one tenth of what the UK emits in one year.

Plant 15 billion trees and then you're carbon neutral, on average, for the 40 years, and carbon negative if they live longer. But isn't that like planting trees on half of the land of the UK?

<comment><USER29> The slow initial growth of trees makes me wonder whether we'd be better planting fast growing crops like bamboo and hemp which can be processed into long term materials like fibreboard and bioplastic or added to concrete.

<comment><USER30> and seaweed near areas with ocean access. I wonder if you could have wastewater treatment plants that feed seaweed (in a large enclosure with seawater access, done responsibly), then harvest the seaweed, dry it, and send the carbon straight to mines for sequestration.

More simply, perhaps farmers could be encouraged to sink waste carbon in the same way. Corn farmers could be encouraged to send the husks to sequestration instead of burning (I know they use the ashes as compost, so there are downsides). Or hemp, as you said, strip the leaves from the stems and send one or the other to a carbon sink.

<comment><USER29> Rather than immediately sequestering the carbon, it seems to me that it would make economic sense to use fibrous plant materials in products.

By taxing competing non ecologically friendly alternatives like fossil oil- based plastics, and sending carbon-containing products to landfill, a greater financial incentive is created for growers, and carbon is sequestered from the atmosphere rapidly and long-term.

<comment><USER31> Is the carbon sequestered when the paper bags are sent to landfil, or do the bags rot releasing a mix of co2 and methane, making this a negative result because of the extra warming effects of methane?

<comment><USER29> Properly managed landfill is given a cover to prevent gas release, and gas harvested via wells. [https://en.wikipedia.org/wiki/Landfill_gas](https://en.wikipedia.org/wiki/Landfill_gas)

Anaerobic decay of carboniferous matter produces much less carbon loss as gas than aerobic decay. Captured methane is destructively utilised, reducing its greenhouse gas concerns. Processing fibre crops into particular bioplastics can also reduce potential for gaseous decay.

This seems favourable when compared to trees which produce large quantities of openly decaying matter (e.g. fallen leaves) throughout their lives, and unless lumbered, will almost entirely decay when they die.

</comment></comment></comment></comment></comment></comment><comment><USER32> Also we should stop cutting down the existing forests. Brazil and Canada have both been in the news recently for clear cutting their rainforests (yes, CA has inland rainforest!)

<comment> quixoticelixer- Canada almost always replaces their forests.

Brazil is different they are being cleared for agriculture but it is hard to tell them they can't clear forest to become rich when most of the rich world did that before them.

<comment><USER33> Canada replaces 500 year old rainforests with saprolings. We do a decend job rotating tree farms, but there isn't any way get back our ancient trees (besides waiting a few hundred years).

<comment> quixoticelixer- Saplings are better at sequestering carbon than old trees are.

</comment></comment></comment></comment><comment><USER34> Could we plant trees in parking lots? A law must be made. In the US especially West Coast (Seattle) for example and also in Germany a lot of flat space has been taken by parking lots. Its actually crazy seeing these huge parking lots. Could we plant verticle wines and change the geometry (introducing gradients to add area for a tree - simple pythogoras concept) to add space for at least a tree per car slot or maybe at times even more.

<comment><USER35> Many places in the US having zoning codes requiring trees or other plantings in parking lots of certain sizes. Success is mixed. Where I live a big box store will typically be built with a bunch of small trees planted which don't have adequate area for water to reach their roots. They will die in a few years and maybe be replaced by more tiny trees which die. So, that zoning might want to be revisited.

Writing laws to ensure outcomes with trees is hard. Our old suburban community, generally covered in mature trees, made rules that if a developer is going to tear down a house and build a new one the trees must all be inventoried, only a minimal number are allowed to be removed, the rest get fences around their drip lines for the duration of construction to protect their roots and at the end they are checked to make sure they weren't injured. Significant fines are involved for accidentally taking a tree… So now before a homeowner sells their property to a developer they "do a little landscaping" i.e. cut down all the trees except maybe some small ones on the lot lines. Problem solved!

<comment><USER34> Yup but its like a cat mouse game. There never will be no crime so the in the government laws must keep evolving, just as the thieves get more innovative. But the laws are needed. In Germany at least now they are taking climate change seriously. Munich has invested a lot in public Transport and by 2030 it would really at a good level. The parking lots Story I will make a Blog soon with preise carbon calculations so that its advantage us both for the Business and the climate.

</comment></comment></comment><comment><USER36> Many of my 4 year old Spanish Cedar trees (cedros) are already 20cm (8") diameter at chest height and ~15m tall. Planting hardwood trees in the tropics is one of the best long term investments you can make, especially if you plan to have furniture etc made with the wood. Some types of trees are ready to harvest in 5 years, others in 10, others in 20, others in 40+ (for your kids)

I've planted about 30 hectares so far, will do another 15ha this year. To keep maintenance costs down, you can plant them in contour rows along with closely spaced leguminous trees like inga edulus to shade out the weeds below.

Selecting trees that are hardy against insects when they are young is a good way to go (cedros and mahogany are not, need spraying..) I'm not a fan of teak, eucalyptus or pine being planted in the Amazon, I think fast growing native species are best.

If you do the math, the numbers are really good. And it's good for the animals. And climate.

</comment><comment><USER37> Where? Not where it will grow up into utility lines, or where it will fall into utilities or onto a structure.

What type? Small and strong species that will not uproot, snap off or shed branches in a windstorm, and will tolerate heavy loads of ice and/or snow, depending on your climate.

<comment><USER30> trees don't need to be in perfect shape to sequester carbon. breaking off branches is part of nature's process. and they can be trimmed to avoid powerlines since you have plenty of warning. I think the biggest concern is for those who live in deserts where water is scarce.

</comment></comment><comment><USER29> If the aim is to sequester carbon, then planting trees seems to be only half the solution. We also need to prevent the captured carbon reentering the atmosphere by combustion or decay. It seems to me that it would be beneficial to landfill as much wood as possible to capture the carbon underground and limit aerobic decay, and rather than recycling wood products, sustainably harvest as much new wood as possible. In this case, the best place to plant a tree would be where it could be most economically lumbered, and the best kind of tree would be that most useful for industry.

</comment><comment><USER38> A lot of farm land seems ripe for planting trees. Does anyone know of any organisations who work with farmers in the USA, Europe, Oceania, Asia, Africa or the Americas to help reforest farmland?

</comment><comment><USER39> Trees can be planted a lot easier than you probably think (e.g. cuttings from existing trees). Trees grow best in established forests or areas with shrubby growth, as this indicates the soil is generally more fungal than bacterial, which trees prefer.

Check out the efforts of Akiva Silver and Geoff Lawton on YouTube. Also:

[http://www.woodlanders.com/episodes](http://www.woodlanders.com/episodes)

</comment><comment><USER40> If you want to plant lots of trees cheaply, and watch your forest come to life we created a platform for exactly that. We don't take a cut of your money to pay ourselves either. We just want to let people achieve amazing things and grow billions of new trees. It's Offset Earth - [https://offset.earth/](https://offset.earth/)

</comment><comment><USER41> "You should not plant trees on ... grassland that has never been ploughed..."

Can anyone shed some light on the reason behind not planting in open grassland?

<comment><USER42> The only problem I have with that is that many areas that are grassland in the UK now may have been heavily forested and were denuded of trees prior to or during Roman colonization.

I found this video on Caledonian reforestation interesting: [https://youtu.be/UDtsExXe93Q](https://youtu.be/UDtsExXe93Q)

</comment></comment><comment><USER43> How about like, urban farming? If I was to grow my own tomatoes and peppers and onions, like, to make a badass salsa, is that helping sequester carbon or no?

I admit my front lawn is like...embarrasing. It's nothing but grass and one single tree. If I was to really go nuts on it, would that help?

It wouldn't be such a bad future if everyone's lawns were required by law to have a few trees.

</comment><comment><USER44> I recently looked into this as well. What I'm worried about (as opposed to a more expensive method like Climeworks offers) is what prevents people from ripping out those trees next year? The planting companies never seem to be the owner of the ground. They don't even guarantee a single year.

Does anyone know how they handle this risk?

</comment><comment><USER45> Pick natives and don't ask for permission! ([https://www.reddit.com/r/gardening/comments/bwuxsf/guerrilla...](https://www.reddit.com/r/gardening/comments/bwuxsf/guerrilla_planted_our_potted_christmas_tree_in))

</comment><comment><USER46> I've been wondering about various carbon sequestration methods myself and am glad to see these topics on HN since it is an opportunity to harvest relevant knowledge from the community.

Apologies for tangential topic, but give me a sec and it'll try to tie it back to some other discussions happening here - has anyone here heard of "Cryo Carbon Capture"?

[https://sesinnovation.com/faq.html](https://sesinnovation.com/faq.html)

This seems to involve feeding the exhaust of a power plant into a process which cools the exhaust to the point where CO2 dry ice (and other pollutants) desublimates out of the exhaust and is then extracted for various industrial/commercial applications.

I am curious about this model if it feasible then couldn't this also be used on the exhaust stream of a heater for pyrolysis of fast growing trees, grasses, etc. creating biofuel and biochar?

You can use biofuels to heat the pyrolysis and biochar to sequester carbon in the soil, while also improving it to grow more biomass for sequestration. The cryo-capture handles your CO2 waste streams and further captures carbon in a cold sink (also useful for refrigeration and can _maybe_ act as a "battery" when combined with a Stirling engine?) which also produces CO2 which can be used to enrich biomass grown in greenhouses and has plenty of other commercial uses.

If you add solar and other sustainable power inputs to the cryo-capture process then what you have is basically a farm which creates useful carbon- based products from the atmosphere using plants and basic chemistry... and here is where I hope someone with more knowledge will point out why this isn't already a thing, likely due to some serious inefficiency I'm overlooking.

<comment><USER47> > This seems to involve feeding the exhaust of a power plant into a process > which cools the exhaust to the point where CO2 dry ice (and other > pollutants) desublimates out of the exhaust and is then extracted for > various industrial/commercial applications.

Based on what you said, the dry ice would sublimate and just re-release the carbon into the atmosphere. Or did you have a different place for this carbon to go? If so, how are you planning to keep the dry ice cool, and how are you planning on producing it in the first place?

<comment><USER46> The dry ice itself would be stored in well-insulated containers, and cold generated from these containers would be useful for refrigeration with the CO2 that does sublimate out as the containers heat up being feed-stock to enrich greenhouses, with the rest would being recycled into the pyrolysis exhaust, and thus back into the dry ice production.

One of the things I'm curious about is the efficiency of the dry ice production at various CO2 levels and the physical quantities of material that would be expected from such these kinds of processes.

The general idea is that you would be creating a system for accumulating/concentrating carbon as CO2 solid/gas, as well as in biomass, and at the same time creating two large energy differentials that could also be put to work. The major input to this system (assuming the numbers can work) would be photosynthetics and photovoltaics.

<comment><USER47> AFAIU most of our industrial CO2 (for dry ice, soft drinks, etc) comes from refining natural gas exhaust. From there, if you want to make a dry ice block, you have to take it through a very energy cooling process (similar to how air conditioning works) to create a liquid, and then through a second compression and cooling process to turn it into a solid. It is likely that the process of turning a given volume of CO2 into a solid would produce more emissions than it sequestered. You cannot assume that green energy will be used for this sequestration because if green energy were available at this scale, you wouldn't have the CO2 on your hands in the first place.

On the demand side we already collect as much CO2 as we need from e.g. natural gas power plants. We don't have a use for any more. It will just sublimate and be re-released into the atmosphere, or into some containing vessel.

</comment></comment></comment></comment><comment><USER48> Funny, how come this topic isn't flagged, but one revealing new information (updates from interim IPCC models) has been flagged: [https://news.ycombinator.com/item?id=20574620](https://news.ycombinator.com/item?id=20574620)

As for tree planting - absolutely necessary, but without a political solution, it won't do much but buy a bit of time. And that is ONLY true if we stop ongoing, accelerating deforestation.

A political solution would likely be better than individuals trying to plant a few trees.

</comment><comment><USER49> I see repeated comments suggesting seaweed is superior to trees. Any guides on how to safely plant seaweed without disrupting the local biome?

</comment><comment><USER50> Akira Miyawaki - proposed a methodology to grow forest faster and stronger. No maintenance required after 3years.

</comment><comment><USER51> I don't understand this feel-good obsession with planting trees. They plant themselves! Just stop cutting grass and they will come and if they won't, planting them would probably not help anyway!

</comment><comment><USER52> fruit trees are great because you can eat the fruit

</comment><comment><USER53> Please: native species to the location.</comment>


Ask HN: What products and technologies will made possible and feasible by 5G? - <AUTHOR> <comment><USER2> I think nothing new, but much improved.

5G has a few legs. One is a gradual improvement on 4G telephone service. Another is millimeter-wave, which is mainly a competitor for cable.

Another leg is support for greatly reduced latency, not just from the "air interface" but from the network interconnecting towers and other infrastructure in the cellular network to the internet.

Once they get it down to less than the latency (maybe 30 ms or so) that it takes to reach major "cloud" datacenters, there is the issue that you can only get the value if your services are running on a server that is physically close to the cellular network.

Discerning gamers might notice a difference, but will they pay AT&T and American Tower prices in a world where people think AWS is expensive?

Factory automation people have been frustrated for years with their wireless options. They are as averse to running more cables as householders are, but they have much tougher requirements in all respects. Something based on 5G could be better than what they have now.

As for IoT the 3GPP (organization behind 5G) has some standards for low- performance access with cut-down LTE radios which have are great in terms of compatibility with existing networks. They will continue that.

Personally though I am more interested in long-range IoT protocols that are more related to ZigBee and ZWave than conventional wireless.

</comment><comment><USER3> Because you ask, here is an idea: We are still using browsers, which offer flat surfaces and sounds that everybody can listen too.

1\. With 5G, one camera, two micro beamers and two sets of micro loud speakers, you can look at movies in 3D, even in a cramped place and hear beautiful sounds that people around will not hear.

2\. You can send in real time 50 biological markers that are measured by the daily pill that you ingest each morning (and defecate later). This enables a health service to monitor your insulin pump as well as your tiny pacemaker and your vagal nerve to control inflammation. There are indeed other usages but I would refrain from mentioning them here.</comment>


Wired's Interview with Google CEO Eric Schmidt - <AUTHOR> http://www.wired.com/techbiz/people/news/2007/04/mag_schmidt_trans <comment><USER2> They are building a global brain. Skynet here we come.</comment>


Baghdadi Story Reveals Divided – and Broken – News Media - <AUTHOR> https://www.rollingstone.com/politics/political-commentary/baghdadi-trump-washington-post-headline-fox-news-904945/ <comment><USER2> Yeh I'm not sure this author understands his audience.

Further, I'm not sure any intellectually serious person has taken ANY U.S. news based outlet serious for 5 or 10 years now.</comment>


Could the ladybird plague of 1976 happen again? - <AUTHOR> http://www.bbc.co.uk/news/magazine-35603972 <comment><USER2> The title is confusing on the West side of the Pond; we are used to calling them "ladybugs".

<comment><AUTHOR> "Two nations divided by a common language", as [who knows] once said [1]

[1] [http://english.stackexchange.com/questions/74737/what-is- the...](http://english.stackexchange.com/questions/74737/what-is-the-origin- of-the-phrase-two-nations-divided-by-a-common-language)</comment></comment>


Taking a Look at CLR Thread Pool 'Thread Injection' Algorithm - <AUTHOR> http://mattwarren.org/2017/04/13/The-CLR-Thread-Pool-Thread-Injection-Algorithm/ <comment><USER3> This is somewhat similar to something I published sometime ago, and even gives a very similar name to the process

[http://belliottsmith.com/injector/](http://belliottsmith.com/injector/)

The main differences are the potential delay for adding threads, and the use of ML. The "injector" immediately adds threads if there are none spare (and there's permitted headroom), at the time of task submission. They are then _pruned_ as they are seen to be wasting cycles.

Admittedly this approach was designed to minimise the overheads of thread state management only, whereas in principle the CLR approach can respond to harmful competition for resources between tasks as well, assuming relatively consistent behaviour.

The downside of course is potentially very slow ramp-up time when the workload calls for a sudden increase in threads.

<comment><AUTHOR> Nice, thanks for the link, looks interesting

In Java I assume that the executor and/or injection algorithm can be swapped out with your own implementation, is that right?

<comment><USER3> Yes, that's correct

</comment></comment></comment><comment><USER4> We had a system like this at my workplace, but it is gradually being replaced with cooperative threads. I don't remember what specific issues we were having with it, but I believe slow adaptation to periodic workloads was one issue. Fundamentally, why hill climb when you can know with certainty exactly how many blocked threads there are in your system.

<comment><USER5> From [1] "in the case of blocking workloads, it's extremely difficult to determine the number of threads that optimizes overall throughput because it's hard to determine when a request will be completed." So the argument they make is that responding to the number of blocked threads directly could lead to an over-correction, where you add a lot of threads to the thread pool when threads are about to unblock. This reduces throughput because you now suffer context switches and poor cache locality.

[1] [https://msdn.microsoft.com/en- us/magazine/ff960958.aspx](https://msdn.microsoft.com/en- us/magazine/ff960958.aspx)

<comment><USER4> This is only a problem when you're not scheduling cooperatively. If you are scheduling cooperatively, then you don't ever have to experience unnecessary context switches.

</comment></comment></comment><comment><USER6> The CLR thread pool is a pretty reliable workhorse. For throughput concerns you can benefit from a more fine-tuned approach to threading, though - <USER2> job added to the CLR thread pool involves at least two allocations in most cases, so you end up paying additional GC costs on top of the scheduling and context switch costs.

In cases where you know you are going to be running very many jobs on your thread pool you can get improved throughput by assigning each thread a specific job type so that it can blast through many jobs of the same type with better locality and less overhead. You can also leverage the underlying platform thread pool to spin up the job type workers and run them for a bit to avoid managing thread counts yourself.

To a degree if you're using an existing parallel framework it may do this for you, but at least on the CLR the options there like Parallel.For aren't so great - lots of abstraction overhead that will show up in profiles.

<comment><AUTHOR> Yeah there's only so much the Thread Pool can do, it doesn't have the same knowledge of your workload as you do.

They have added things like work-stealing to it, which might help with task locality in some scenarios

</comment></comment><comment><USER7> The same algorithm has been implemented in Mono at [https://github.com/mono/mono/blob/master/mono/metadata/threa...](https://github.com/mono/mono/blob/master/mono/metadata/threadpool- worker-default.c)

<comment><AUTHOR> Cool, thanks for the link, I didn't think about looking in the Mono source

It'll be interesting to see how the Mono implementation compares.

</comment></comment><comment><USER8> using hill climbing plus ML and anomaly detection for autoscaling bigger resources, e.g. stream processors and cloud workers

<comment><AUTHOR> Interestingly in the Microsoft research paper they indicate that the algorithm could be used for other scenarios, seems they were right

</comment></comment><comment><USER9> Does anyone know of analogous work re: the size/# of IO buffers? It seems like a similar problem.

<comment><USER10> I have a prototype to optimize a caching policy using a hill climber. It favors recency or frequency by adapting the partition between the two regions. It works really well in early experiments.

[https://docs.google.com/presentation/d/1NlDxyXsUG1qlVHMl4vsU...](https://docs.google.com/presentation/d/1NlDxyXsUG1qlVHMl4vsUUBQfAJ2c2NsFPNPr2qymIBs/edit#slide=id.g1c43e4cd00_0_646)

</comment></comment><comment> fake-name Is there anything like this for python? I have an application that would very much benefit from it.

<comment><USER11> You don't get real threads in Python thanks to the GIL - only one thread at a time can be executing Python code.

You can use processes to get around this, but it's often not as performant or convenient. Computer hardware shifted to multi-core a decade ago and Python was left behind because of that little bit of technical debt.

It used to be my favorite language, but I've since moved on to Go, both for the better performance and multi-core story, and for the static typing.</comment></comment>


Ask YC: Canonical web site width? - <AUTHOR>

I haven't made a "real" website in awhile. Do you guys still aim for 800 or have we moved passed that phase yet? Is 1024 the new standard? <comment><USER2> Definitely depends on your audience. If you have a tech-savvy audience, it's a good bet that the vast majority of your site's visitors are at 1024px. But if you're targeting, say, a certain subset of baby boomers who may not have upgraded their computers in a while, accommodating 800px might be a good idea.

One thing you can do is find a very popular Web site (like at the Amazon / Ebay / Facebook level) that targets the same audience you do and see what they're doing with their design.

</comment><comment><USER3> I believe without empirical evidence that 1024 is the new standard. If it is possible, I suggest writing the web site such that it is browser-width agnostic; that it shrinks and expands gracefully. If not possible, then I conclude that the web site is some kind of graphically pleasing design which is probably targeting a specific audience, and in such case it is known whether the bulk of that audience will have modern screen resolutions. If this is not the case, I would simply stick with 1024 and bite the bullet. Good luck.</comment>


Ask HN: Any idea for the missing slack bot? - <AUTHOR> Hi folks! I'm new to slack bot creation and I would like to learn it while doing something useful. Do you have an idea of slack bot to enhance your workplace in order to make you feel more happy and productive at work?<p>Thanks for your input! <comment><USER2> Maybe a HN slackbot, ask him about a subject, and get few HN post about it</comment>


Show HN: Medium's URL generation causes dupe HN submissions - <AUTHOR> https://hn.algolia.com/?query=Tim%20Cook&sort=byPopularity&prefix&page=0&dateRange=last24h&type=story <comment><USER2> it certainly doesn't help, but really, people not checking before submissions causes dupes. The dupe checker always has been extremely basic and catches only very simple cases, to the point where you probably should act like it doesn't exist.</comment>


Globalisation's retreat? - <AUTHOR> http://www.economist.com/blogs/buttonwood/2015/06/world-economy?fsrc=scn/tw/te/bl/ed/Globalisation%27sretreat?

<comment><USER2> I wonder if mountains of government and private debt in both developed nations and emerging markets could be choking out trade and capital expenditures. It also might not help that central banks around the world are in the midst of competitive devaluation, which is nothing less than a currency war.

Incidentally the "wonder years" of global trade cited in the article are 1950-1973, which is closely aligned with the Bretton Woods agreement that linked all currencies indirectly to gold through the US dollar, effectively eliminating floating exchange rates. Same phenomenon occurred with the classical gold standard after the worldwide demonetization of silver in the 1870's through the start of WWI.

[http://www.westga.edu/~rbest/finc4521/section1/powerpoint/ch...](http://www.westga.edu/~rbest/finc4521/section1/powerpoint/chap2.pdf)

<comment><USER3> Could it be though that productivity increases can only take us so far if consumption is (realistically) finite? This quote from near the end of the article is telling, because you can't boost growth forever; there are limits.

"Third, the developed world in particular has a productivity problem; it needs productivity enhancements to offset its deteriorating demographics and boost growth."</comment></comment>


True Scala complexity  - <AUTHOR> http://yz.mit.edu/wp/true-scala-complexity/ <comment><USER4> Fantastic post. The most salient excerpt for me:

        def filterMap[B,D](f: A => Option[B])(implicit b: CanBuildFrom[?,B,D]): D
        def filterMap[B,D <: GenTraversableOnce[B]](f: A => Option[B])(implicit b: CanBuildFrom[?,B,D]): D
        def filterMap[B,D <% GenTraversableOnce[B]](f: A => Option[B])(implicit b: CanBuildFrom[?,B,D]): D
        def filterMap[B,D[B]](f: A => Option[B])(implicit b: CanBuildFrom[?,B,D[B]]): D[B]
        def filterMap[B,D[B] <: GenTraversableOnce[B]](f: A => Option[B])(implicit b: CanBuildFrom[?,B,D[B]]): D[B]
        def filterMap[B,D[B] <% GenTraversableOnce[B]](f: A => Option[B])(implicit b: CanBuildFrom[?,B,D[B]]): D[B]
        def filterMap[B,D[_]](f: A => Option[B])(implicit b: CanBuildFrom[?,B,D[B]]): D[B]
        def filterMap[B,D[_]](f: A => Option[B])(implicit b: CanBuildFrom[?,B,D[B]], ev: D[B] <:< GenTraversableOnce[B]): D[B]
        def filterMap[B,D[_]](f: A => Option[B])(implicit b: CanBuildFrom[?,B,D[B]], ev: D[B] => GenTraversableOnce[B]): D[B]

        ...

        > The answer to our original question? It turns out none
        > of these are correct. In fact, *it is impossible to insert
        > a new method that behaves like a normal collection method.*
        > This, despite the heavy advertising of enrich my library.

Stuff like this makes think about how, despite all of the problems with using it in libraries, it's lovely that many dynamic languages can be extended in your application with little fuss.

        # Ruby.

        class Array
          def filter_map
            ...
          end
        end

        // JavaScript.

        Array.prototype.filterMap = function() {
          ...
        };

<comment><USER5> To me, a big advantage of Scala's "enrichment" over monkey-patching in Ruby or JS is that it isn't global. That is, you have to import the enrichment. Another code module in the program won't be unexpectedly affected by it.

In practice, I almost never use monkey-patching in dynamic languages because it's too dangerous. While in Scala there are cases where enrichment won't work, you can always just write a regular function in those cases, and there are lots of cases where enrichment _does_ work...

<comment><USER6> Adding and/or altering functionality at runtime isn't dangerous. Monkeypatching may be, so avoid that.

Also, an entirely too-little used idiom (blame Rails programmers):

        module OverrideSomeMethod
          def some_method
            …
          end
        end

        s = SomeClass.new
        s.extend OverrideSomeMethod
        s.some_method

<comment><USER7> This is an idiom I use regularly (in Perl, Ruby, Io & Javascript) and come across it often in the Perl world where Moose _roles_ are used.

The only downside of this idiom is the extra runtime cost which maybe an issue for Rails?

</comment></comment></comment></comment><comment><USER8> After reading a bunch of these articles and really walking away unimpressed this one is fantastic. It does a great job of showing how cryptic you can make Scala code. It also shows that the same topic on which half the article is spent explaining can be boiled down to four lines of less "Scala Like" code. As a pragmatic user of Scala I don't see why the fact that you _can_ do some amazing but cryptic things with the language is a detriment. Its like pointers in C or templates and multiple inheritance in C++. Some people say that the developer shouldn't be given such capabilities since it can lead to cryptic and possible dangerous code. I am of the opinion that the additional flexibility the features provides is nothing but a benefit and that its up to the developer/organization to make sane limits on what can be used.

<comment><USER9> "As a pragmatic user of Scala I don't see why the fact that you _can_ do some amazing but cryptic things with the language is a detriment."

Because you hit the cryptic too soon, and you can't really avoid it. And I generalize this to any such language that has this characteristic, not just Scala. You can't use C++ for very long without having to know huge swathes of it if you want to use the libraries created by others, and you want to be able to debug why they don't work perfectly. (Bearing in mind "working perfectly" also includes you having a correct mental model of how they work, which is tricky if you only have a subset of the language in your head!) Same for Haskell. Compare with Python, where you basically _can_ learn a reduced subset of the language, yet still use libraries fairly effectively. You need to know the basics of having objects and calling methods. You don't need to know how to write your own iterator, any of the double-underscore methods or the resulting protocols, you _probably_ don't need to know decorators (and even if you do, probably just how to use them, because they are unlikely to bite you in odd ways if you just copy-paste instances of them), you don't need to know metaclasses, etc.

Type systems of almost any kind are very hard to satisfy without understanding. In some sense, this is one of the very constraints the stronger ones are trying to enforce.

<comment><USER10> This is not my experience.

I don't give a dime about higher-kinded types, type bounds, type views, type constraints, CanBuildFrom ... and I'm happily using the language.

<comment><USER11> You must be one of those lucky people that only write new code all the time and never have to maintain code written by someone else. For the rest of us poor suckers who have to do a mix of writing new code and maintaining existing code bases written by other sadistic (!) developers then it's a very valid concern.

</comment></comment></comment></comment><comment><USER12> A lot of the items the post author describes as complex you can't do at all in other languages.

"Simple things should be simple, complex things should be possible." - <USER2> Kay

I don't think the blog author gives particularly great examples of simple things that are made complex by the language. He simply gives examples of things that are inherently complex that scala at least makes possible.

<comment><USER13> I have to respectfully disagree. First of all, the things he shows aren't inherently complex: adding an additional function to the existing collections library is something that's possible in other languages in less confusing ways (see other examples in this post). The various _concepts_ required to solve the problem in Scala like implicits and higher kinds might be inherently complex, but the _problem_ he's trying to solve isn't inherently complex. And while the Scala solution might not be 100% identical to, say, just adding the method directly to a class in Ruby (since in Scala it's type-safe, etc. etc.) that's still missing the point. The point is that if you sit down and say "I want to add a method to all my collections that works like the existing methods," in Scala it requires an understanding of a huge number of complicated intersecting concepts, whereas in other languages it doesn't.

Secondly, excusing complexity by saying "it makes things possible that wouldn't otherwise be possible" isn't really enough of a justification. The question is: do those exact things _need_ to be possible? Or is there some way that gets me 90% of the way there without the complexity, and that's good enough? More power isn't always better, which was a big part of the point of the article. Just dismissing it by saying "well, the complexity lets you do powerful things" doesn't really refute the point of the article, it totally misses it.

There's a tradeoff to be made. You might make those tradeoffs differently than I would, which is totally understandable, but we should at least be able to have a conversation about the fact that there is such a tradeoff without people dimissing statements like "Scala is complex" out-of-hand.

<comment><USER12> "adding an additional function to the existing collections library is something that's possible in other languages"

Is it possible in other statically compiled strongly typed languages? I don't think so?

The advantages/disadvantages of static vs. dynamic languages seem out of scope for the "is scala too complex?" question.

<comment><USER13> See my examples below for how to do it in Gosu (via enhancements). In C# it's pretty much the same (via extension methods). Both are statically typed languages. Again, not 100% the same as Scala, and each comes with a different set of tradeoffs than the Scala approach (i.e. they're statically dispatched in Gosu), but they're certainly both reasonable, and much "simpler", solutions to the problem of "how do I add a filterMap function to all arrays or collections that works pretty much how I want it to."

<comment><USER12> OK I read up some on this and neither Gosu enhancement nor C# extended methods come close to what the post author is trying to attempt (adding methods to Seq and having them automatically get attached to Array, String, and CharSequence) _with a single method_.

So it doesn't really seem like they solve the problem "how do I add a filterMap function to all arrays or collections that works pretty much how I want it to" any simpler than Scala. All the complexity that the author brings up in his post is because he was trying to add this functionality with a single method (and a bunch of implicits).

<comment><USER14> Up top <http://news.ycombinator.com/item?id=3444688> I gave working code that comes close. To be fair the reason why it gets closer (works with both F# and C# lists,arrays, sequences,dictionaries,maps,strings etc) is clerical. From this thread, I understand Scala and Java arrays are divorced.

But the problem is: put in a string and it gives back a list of characters. So I use the term it is "topologically correct" heh. To be honest I do not think there is anything functional about what he is attempting but perhaps the idioms in Scala are different? My knowledge of scala is mostly horizontal (from Ocaml,F#, haskell).

<comment><USER10> Returning the most precise result types (both collection _and_ element type) is a requirement. If this wouldn't be required, the problem would be much easier.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> I think it would be great if we could replace implicits by:

1) a simple mechanism for "enrichment" (aka. retro-active extension, virtual classes)

2) functional type-level computation (as opposed to the mini-prolog engine that is implicit search + type inference).

Reducing complexity is complicated, unfortunately. We [have been|are] thinking about both of these alternative features, though.

\---

ps: The following part of the article is inaccurate: "Turns out that Scala will search up to one level up the type hierarchy for a matching shape for the implicit."

Check out the "implicits without the import tax" part of <http://eed3si9n.com/implicit-parameter-precedence-again>. The implicit scope includes all the superclasses (and their companion objects) of all the parts of the type of the implicit value that's being resolved.

</comment><comment><USER16> Site is unresponsive for me:

[http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://yz.mit.edu/wp/true- scala-complexity/&hl=en&strip=1)

</comment><comment><USER17> Regarding some of the "brainteasers" posted in the article, I am assuming that most of them are simply bugs that will get ironed out in version 2.9.2 or thereabouts ?

eg. The following fails:

Set(1,2,3).toIndexedSeq sortBy (-_)

But doing the same in 2 steps, ie. after assignment, works

val xs = Set(1,2,3).toIndexedSeq; xs sortBy (-_)

I have been bitten by this several times now, so I don't unnecessarily chain > 2 functions even if it does compile ( which also solves one other brainteaser posed in that article ) Have also seen the problem with the add function, when I wrote a matrix manipulation library.

def add(x: Int, y: Int) = x + y

add(1,_) fails, but add(_,_) works. Even though the error message " missing parameter type for expanded function" seems reasonable, and providing the parameter type ie. add(1,_:Int), does compile, the bahavior is hard to explain to newbies.

His point about hanging your hat on asInstanceOf[...] and the resulting code being clumsy...ok, guilty as charged, but then you only have so many hours in a day, and mgmt is paying $$ to solve boring business problems ( compute the asset quality of five million loans in thirty lines of business over twelve quarters using scala ) and not mucking around ( add a filterMap to the scala collection library to get an idiomatic Scala implementation )

I enjoyed the programming snippets in the article very much, but I still don't get what the point of the rant was. He goes on and on about "lack of acknowledgement of complexity", but what does that really mean ? Does he want like a gold star ? Even if everybody acknowledges that scala is complex, what then ? Eventually some of it will get fixed & the rest will not & life will go on. Why be a downer at such an early phase of growth of the language ? All this talk of excess complexity will simply scare off the early adopters. Java has been around for 15 years and we still don't have decent generics. Scala is so far ahead in such a short time. Patience, etc.

<comment><USER18> > Even if everybody acknowledges that scala is complex, what then ? Eventually > some of it will get fixed & the rest will not & life will go on. Why be a > downer at such an early phase of growth of the language ?

Because things don't get fixed if people won't talk about them. Irrational defenses (like calling someone who points out legitimate problems a "downer") are a hindrance toward making Scala better than it is right now.

</comment></comment><comment><USER19> First, I think a blog post ending with "bring on the flames" should have comments enabled, otherwise it's not really fair. It comes across as whining without wanting to listen to advice or a response.

Second, I think the blog post is useful because it shows what's wrong with some (fortunately very small) part of the Scala ecosystem, and because it points to a way to fix it.

Here's a quick recap: The author tries to add arbitrary operations to Scala's Seq abstraction without changing its source code and wants them to work also on arrays (which are plain old Java arrays), without any extra work. Arrays in Java support: length, index, and update; that's it. There is as far as I know no language in existence that allows the precise thing the author wants to achieve. And there are many variations, such as adding only to Seq or only to Array that would be really easy in Scala but still impossible in most other mainstream languages. The author then throws all the machinery he can think of at the problem to still achieve the same non-result. Well, tough luck. He might have hit a thing that's simply impossible to do in a generic way, given the tools we currently have. In fact, I have not checked whether there would be a way to achieve the result that he wants because that's beside the point. There are always limits to a generic formulation that will force you at some point to treat things on a case by case basis.

The problem is that, in trying to achieve his impossible goal, the author (mis-)uses a lot of the most powerful features of Scala, and concludes that Scala is simply too complex for helping him achieve the result. I believe he wrote this blog post to prompt the maintainers of Scala to add even more power to the language so that he can achieve his goal (the only other motivation I can think of is that he's trying to actively damage the ecosystem he writes code in, but that would make no sense to me).

My response will probably not please him. I think that we need to take away sharp knifes from people who have a tendency to cut themselves. I was always proud that in Scala you could do in a library where in other languages you had to change the compiler. Inevitably, some of this is cutting edge stuff. We have tried many times to clarify the boundaries, for instance when I defined the Scala levels

<http://www.scala-lang.org/node/8610>

But we can't prevent a developer who prides himself to "stroll right through level L3" to get hurt.

So, I believe here is what we need do: Truly advanced, and dangerously powerful, features such as implicit conversions and higher-kinded types will in the future be enabled only under a special compiler flag. The flag will come with documentation that if you enable it, you take the responsibility. Even with the flag disabled, Scala will be a more powerful language than any of the alternatives I can think of. And enabling the flag to do advanced stuff is in any case much easier than hacking your own compiler.

I would be interested to read your comments on this proposal.

<comment><USER20> _First, I think a blog post ending with "bring on the flames" should have comments enabled, otherwise it's not really fair. It comes across as whining without wanting to listen to advice or a response._

Speaking as someone who sometimes writes controversial things and never enables comments on my posts...

I view collections of comments as discussions. Readers often form into communities, like Hacker News. If there are comments on a blog post, are you supposed to write your comment here in your community? Or there on the post? Well, a good question is, are you a member of the author's community? Probably not! Communities have all sorts of standards for participation. What are the author's standards? Why bother figuring them out for one comment?

Communities also have other tools like seeing a person's history of posts to get a sense of their viewpoint and biases. How do you do that on an author's blog?

Ultimately, authors either have to get rid of comments or buy into a plug-in system like Disqus. In my own case, I usually just provide a link to HN for posts that I think are of interest to the folks here. Everyone else can use twitter, reddit, or their own blogs to continue the discussion.

That doesn't mean I won't read all the flames, there are no end of analytics tools for discovering what people are saying about my writing.

I don't speak for this author, but considering he has a link to this discussion right at the top of his post, I'm guessing he's listening to your thoughts and welcomes your feedback right here or wherever people congregate to discuss the news of the day.

<comment><USER21> Sometimes comments are just comments. If you need a link to figure out whether to take a person seriously (i.e. their comment has no merit free-standing - I'm not sure this is true), a link to a blog ought to be sufficient.

I know I frequently click on the links people provide when they make blog comments, but I don't think I've ever looked at someone's Disqus history. Disqus cuts across multiple sites in potentially drastically different arenas; it's too horizontal. But when someone provides a link, they usually mean it to be relevant.

</comment></comment></comment><comment><USER5> One source of Scala's design is Java interoperability, much as C++ has to live with its C legacy. This compromise may also be why people are able to use Scala in practice, though; they need to talk to Java libraries or need the performance of a language that maps straightforwardly to the JVM.

Scala is a functional/object-oriented hybrid, making it more complex than a purist language in either mold. It always lets you do things in a Java-like way - you can use it as "Java with less boilerplate" and touch almost nothing Scala-specific. Then it adds functional programming alongside.

To me this feels very natural; I like objects for the big-picture structure, but I like to write algorithms and manipulate data in functional style. If you need raw performance in some hotspot, write a Java-like while loop with mutable state; otherwise, write something nice and high-level (and the JVM will still be much faster than a "scripting language" however you define it, e.g. [http://blog.j15r.com/2011/12/for-those-unfamiliar-with-it- bo...](http://blog.j15r.com/2011/12/for-those-unfamiliar-with-it- box2d-is.html)).

Scala does fix some Java warts that are legitimately complex or confusing in their own right. For example, primitive and boxed types are less strongly separated; there's no "static", just nice syntax for singleton objects; collections are 100x nicer with far less noise; a nice multiple inheritance design; covariance eliminates a bunch of nasty hacks; better ways to specify access controls; there's a decent way to factor out exception handling; case matching is _awesome_; and _so_ much less boilerplate in general.

I'm not sure the static vs. dynamic religious war can ever be resolved, but static types feel less broken and less verbose in Scala than in Java. Java makes you lie to the type system, or do something unnatural, much too often. Scala hasn't cured every such situation, but it's cured a lot of the most common ones, and greatly reduced the need for manual type annotations.

Scala gives you the conciseness of Ruby, but with static type checking, higher runtime performance, and interoperability with existing Java code.

Some tradeoffs of static type checking remain, such as compilation times.

People do go on wild goose chases trying to push the language farther than it's ready to go. I've done it myself. I agree with the article that there are lots of areas to improve and appreciate the constructive write-up.

But on the other hand, the perfect shouldn't be the enemy of the good. I certainly would not choose to go back to Java, even as I'd love to keep seeing Scala get even better.

</comment><comment><USER22> If anyone is able, would you please explain to me these two questions from the quiz? I'm stumped.

Why does `toSeq` compile, but not `toIndexedSeq`?

        Set(1,2,3).toIndexedSeq sortBy (-_)
        Set(1,2,3).toSeq sortBy (-_)

Why does `h` compile, but `f` does not?

        def add(x: Int, y: Int) = x + y
        val f = add(1,_)
        val h = add(_,_)

<comment><USER23> toIndexedSeq takes a type parameter (I'm not sure why - it appears unncessary) which means the result of toIndexedSeq is not known when it is attempting to infer the Ordering. toSeq doesn't take one, it's known to be Seq[Int].

The other looks like some quirk of partial application. It's unlikely there's any fundamental reason, only an implementation imperfection.

<comment><USER22> Good to know. Thanks Paul!

</comment></comment></comment><comment><USER24> I have a confession to make. I voted this article up simply based on the title. Even if it turned out to be incredible link bait (which it didn't), I'm just happy that someone out there is at least recognizing the desire to have a reasonable discussion of this issue.

</comment><comment><USER25> I wonder how much of an impact it would be if Scala simply had _better documentation_. I love the terseness of the code and the complex things you can do, but I'll be damned if I could ever glean ideas from looking at method definitions rather than code examples.

<comment><USER5> I found it essential to read Martin Odersky's Programming in Scala book - <USER3> you haven't then I recommend it. It makes many things clear that can be hard to pick up using only the free online resources.

There's also a new docs site and it's getting better all the time: <http://docs.scala-lang.org/>

<comment><USER26> There's a _lot_ of good books on the language, this is 1st edition of staircase book, which covers 2.7, so probably the majority was written for 2.8

<http://www.artima.com/pins1ed/>

There's also a book manuscript (downloadable from typesafe.com, and Manning.com has 3 books in the pipeline, tho the 3rd, on FP by Tony Morris doesn't show there.

</comment></comment></comment><comment><USER27> Just wow. My eyes started glazing over at "views don't chain. Instead, use view bounds" and he completely lost me on the next slide with generics. I had Scala in my mental _TODO/Maybe_ list but after skimming over this post I think I'll pass.

<comment><USER28> I'd have the opposite reaction, I think: I'd want to learn a language _because_ it introduced new concepts (and thus, terminology). It seems to me that it's a bit pointless to learn a language if you already intimately understand its theoretical underpinnings.

</comment></comment><comment><USER29> I think that the source of the problem is that Scala is simply not an opinionated language. You can go functional, you can go OO; you can go immutable, you can go with locks etc. And because it tries to do everything it falls on its face, but worse than that - its users don't really know HOW you're supposed to use it. I always like to contrast Scala with Clojure and Erlang. Both are very opinionated: they have a philosophy of tackling problems, not just a set of tools, and that's why they are so elegant and beautiful (well, at least Clojure is. Erlang is showing its age at times). Even languages more similar to Scala like Groovy or Kotlin are more opinionated and more focused (and thus more elegant and simpler) than Scala. They are trying to be a more modern Java, a blue-collar OO language with some modern fun. But it seems like Scala is trying to push not only tools but concepts, only it hasn't decided which concepts are best so it's pushing all of them at the same time. The result is not only frustration but harmful education as to the best way go forward.

<comment><USER10> Both "more opinionated" languages are considerably slower than Scala, so sometimes it is necessary to fall back to "ugly, imperative" code and those languages make sure you will hate that experience.

The difference imho is that Scala doesn't punish you for trying to be fast where necessary.

Apart from that I would really like to where Groovy or Kotlin are "more elegant or simpler". I would have probably looked into the specification but something like that doesn't even exist for Groovy. From my last journey into Groovy I learned that this language is substantially underdocumented and buggy as hell. I prefer not touching it anymore.

<comment><USER29> Actually falling back to ugly imperative and super-fast code in Clojure is extremely easy, and its integration with Java is a pleasure. But I don't want to pit a specific language against Scala. My point is that it isn't clear (to anyone possibly), what Scala IS, other than a kitchen-sink language for programming concepts.

Some things in Scala are easy and some things are hard, but it's not always clear why. I'd expect the "good" things (whatever is considered good by the language designers, their expert opinion, that is) to be easy and the "bad" things hard. But in Scala it seems that whether something is easy or not depends on how well it fits with the language's algebraic model, and not how well it fits with recommended practice. Immutable is easy (that must be good, no?), but mutable is just as easy (so, wait, I'm supposed to... what exactly?); functional is easy, but so is imperative; implicits are easy but extension methods, as the blog post shows, can be really hard; type inference is easy except when it's not. See the problem?

<comment><USER10> > See the problem?

No. Must be because I actually use the language instead of trying to bash it to advertise another language. :-)

I'm still excited to see another language solving the problem mentioned in the article. At the moment it really looks like as Scala gets bashed for the complexity of something not possible in any other language out there.

<comment><USER29> Yeah, I'm sorry about that. That was not my intention. But you're right, I have grown disillusioned with Scala, partly because of stuff like the examples in the pop-quiz section of the post, but mostly because of the other things I mentioned.

But I don't agree with your analysis. I won't go into the question of whether or not the feat mentioned in the post is possible in other languages or not, but I do know that if I came to a rather experienced Scala programmer and asked him off-hand if the tasks attempted in the post are easy, I suspect that the answer would be "yes". Scala is just... surprising like that.

</comment></comment></comment></comment></comment><comment><USER30> Very good post. One point with which i cannot agree is "In fact, _it is impossible to insert a new method that behaves like a normal collection method._ "

Please see <http://ideone.com/ePUHG> An excerpt: import MyEnhancements._ println("qwe".quickSort) println(Array(2,0).quickSort) println(Seq(2,0).quickSort)

<comment><USER31> Miles Sabin's solution is also worth a look: <https://gist.github.com/f83892f65f63b14a1f75>

It uses dependent types which will be included by default in Scala 2.10. I don't consider this as "simple" but my point of view is that Computer Science is not "simple" :-). And having a language supporting that level of genericity is really helpful for type-safety and code reuse.

<comment><USER32> @OlegYch's solution also represents a good trade off of complexity vs. convenience: his solution is simpler but doesn't get along so nicely with type inference; mine gets on just fine with type inference, but is more complex and depends (no pun intended) on dependent method types. As ever YMMV.</comment></comment></comment>


Ask HN: Review my startup - Praux.com, The Last Resume You'll Ever Write - <AUTHOR> http://praux.com

<comment><USER2> (I'm not educated in UI, UX or UXB, these are just my impressions, written with friendly intent)

 _Title:_

The title bar says "Praux - Welcome To Praux.com"

You're missing an opportunity to tell readers and google what you do.

Maybe instead "Praux - Your resume, your way" or something like that.

 _Front page:_

There is no stable description of what the site does, above the fold. When I first looked at the front page (on an 800px high laptop screen), I saw:

      - P.C
      - login and signup widgets
      - a cute phrase
      - the top two thirds of a flash block

The only thing above the fold that tells me what you do is the flash block. But I only got through two or three words of the first cartoon I saw before it transitioned to the next one. "Wait, what?" It felt a little like getting hit in the forehead with a spitball; disorienting. And I still couldn't figure out what you do until I scrolled down a bit to see the whole flash block.

I would put a stable blurb of text, near the top (you could shove that login/signup stuff up and to the right to free up some room) that says what you do in a nutshell.

The word "resume" does not appear anywhere on the front page until below the flash block, except within the flash block itself (see below).

 _The Flash Block:_

Lots of your target users probably block flash. Do you want to rely on flash to present your first impression to these kinds of people?

The word "resume" or even the idea of a resume does not appear until the third slide.

      - 1st slide: "your content" I have a lot of that. Which?
      - 2nd slide: "community" To do what? Critique my content.
      - 3rd slide: We have resume! But the dudes pop up and cover them.
      - 4th slide: not bad
      - 5th slide: almost not bad

I think the dudes in the cartoon are unnecessary.

The flash block slides go too fast for me to think about one slide before the next one comes up. Yes, I can read them, and by now I know the site has something to do with resumes, but now I want to digest what you can do for me. I feel like I'm being rushed through a presentation, like you don't care whether I get it or not, you just want to get through the presentation. (I realize you do care, this is about how I'm reacting.)

 _Below the fold:_

I like the graphs, they lend credibility and interest to the site.

 _Footer:_

"I thought about this page for: 0.04645 seconds"

That gave me a chuckle, but if you must have this data, I'd change it to be more sober. But really: who cares? Only you, and other random web developers.

"3.11.31"

What's that?

Master List and Search Resumes are on the bottom line with the rest of the administrivia, but these are _Features_. They both need to be more prominent, and Search Resumes should be top right of the page where everyone else puts their search widget.

Help should also be more prominent, probably right up there with Search at the top, or maybe in its present location but with a bigger font size.

 _The Help youtube video:_

The music adds nothing to the presentation, and at six minutes of trying to follow a tiny cursor around a tiny screen of tiny text fields, I'm not going to make it distracted by the music.

Maybe it's just me, but I really, really tire of faux dramatic music played over something that is not at all dramatic. E.g. when the music first crescendos, someone is typing "Objective ..." in a text field. Ooh! Ahh!

You could improve this video immensely by making it silent.

(Actually, it's cool music, just not here.)

And why is there a Russian (I guess) word at the end of the video?

The video is way too small for me to follow, even when I broke it out of the page. Maybe I don't have the right youtube skills.

 _About Page:_

Top paragraph is not bad, but the very first thing you should say is "Praux does this and this and that for you." Probably in its own one-sentence paragraph, right at the top.

"... we want everyone to know that YOU are the owner of your identity, not us. Not Facespace, Swamptroll, or MixedIn. YOU. Sure, you can link to YOUR content hosted here from any of those sites and many others, and we encourage these sites to integrate with us ..."

If you're calling your potential collaborators "Swamptroll" I don't think they're going to be all that interested in collaborating. In general this is a mildly belligerent paragraph, which I also think would discourage collaboration.

Possible re-write:

"... we want everyone to know that YOU are the owner of your identity, not us. You can link to your content hosted here from any other social site, and we encourage those sites to integrate with us ..."

"Let's face it.. it's tough out there right now. We need to remember, we're all in this together."

The two dots should be three dots, with one space on both ends, which makes them an ellipsis (although I'm not sure if this is the correct way to use an ellipsis; maybe an M-dash?). <http://en.wikipedia.org/wiki/Ellipsis>

However, a little wordy, you could probably cut these two sentences.

 _Search Resumes:_

Does Search work? I searched for variations of Alison Kroulek and got no results, but she's the first one in the Master List.

</comment><comment><USER3> I'm still looking through the site, but right off the bat, I'd say I'm not sure about the name. What does it mean? It's pronounced "Pro", but it reminds me of "faux", which is probably not what you want. Just wondering where the name came from and if I'm missing something clever.

<comment><USER4> Yeah, the moment I saw "Prauxmote yourself", i closed the window. I don't know if it's supposed to be cute or clever, but it made me feel uneasy.

<comment><USER5> I didn't close my window... but the only reason I didn't was that I was intending to provide a review for an HN'er, as a service.

I vomited a little in my mouth though, as I despise invented marketspeak words.

Also, I'm not on a particularly fast connection at the moment, but your graphical widget (I assume it was flash) took a few seconds to show up for me. I had probably 2-3 seconds where I was being told to Prauxmote myself, by PC... and that was it.

I definitely would've hit the back button in any other circumstance.

</comment></comment></comment><comment><USER6> Since you're already creating subdomains for users, you might want to consider adding wildcard DNS beneath those domains so you can take advantage of the DNS prefetching that is all the rage in browsers and email clients these days. For example, say I obtain qjz.praux.com on your site. If I send a link to my resume to someone at IBM using ibm.qjz.praux.com, DNS prefetching might trigger a lookup. If you monitor this and make the reports available to me for my subdomain, I'll know that someone has at least read my email. If they click on the link and you make the web stats available to me for my subdomain, I'll know that someone visited my resume online (you'll need to do some virtual host wildcarding on your web server). The wildcard DNS allows me to create ad hoc subdomains for all my tracking needs.

<comment><AUTHOR> You can already do this, but with subwebs instead of subdomains.. e.g. qjz.praux.com/ibm/ .. Simply tag the content into the "ibm" view and it will show up at /ibm/ .. ibm.qjz.praux.com is a completely separate resume-eligible host name.. that someone else could use for their own resume.

</comment></comment><comment><USER7> Your application left me with a number of questions:

(01) Are you aiming for people to upload CV's or for Companies to use the application to find candidates.

(02) As a candidate I would like to see how these CV's should look. (You should provide some pages with samples - before registration).

(03) Are you going to charge me?

Any application should have a prominent CALL FOR ACTION button. What must I do to upload my CV? Can I do this without registering please? After all I am bound to give you my email on the CV and you can ask me for a password at that point and do I really need to go through a captcha?

Please don't take the above as negative, disrupt the market by all means if you can, but I feel the interface needs a bit of work, it also needs to be a more serious which I believe the flash block on the front page does project a very light image. Would a financial manager applicant feel comfortable to give that link to a Bank CEO?

In my view is that you need at least two more iterations. The first one should include a more careful look at the market segment you are targeting and the second one to amend the UI to 'funnel' your visitors to immediate action.

Bonus would be to be able to alley privacy concerns and to offer a degree verification program.

What does P.C. stand for?

<comment><USER2> "What does P.C. stand for?"

Looks like Praux.Com to me.

</comment></comment><comment><USER8> \- you're competing with LinkedIn, you know that?

\- The images (the little guy) and some of the wording is too dorky. Not saying you shouldn't show personality, but this is the wrong personality.

\- "Theme your resume using CSS" - if you're aiming at regular people, forget this geeky stuff.

\- I'm not clear on why I would put my resume there? I have LinkedIn set up, just seems better ("better" in this case means I'll get more professional benefit/job offers).

</comment><comment><USER9> A few suggestions, and an idea.

Unlike many people here, I do like the name. I understood it immediately, and contrary to what people are saying about "buzzwords", when writing a resume you are in fact promoting yourself. If I did have a suggestion, maybe add Resume to the name? PrauxResume.com ?

You lack a call to action. I really don't know what the next step on the website is. You need to explain precisely what I need to do next. Most of your users will be fairly stupid, they need to be told!

Someone mentioned the comment bubbles in your slideshow. I also agree that they need to go, they distract me from the useful content I am supposed to be reading. The comments are cute and clever and all, but get rid of them.

Finally, I think this would be fairly useful for people looking to hire people. Perhaps you could add some useful tools for people to search for resumes based on experience and geographical location - be sure to include protection so that peoples content can't be harvested for malicious purposes. Perhaps even an opt-out of the search, which is probably an essential addition.

I like it and have added it to my bookmarks, I may use it down the road. Best of luck and hope you get all the feedback you can handle.

</comment><comment><USER10> Does it spit out a Word document at the end? If not, it's not useful for people who expect to hand data to recruitment companies.

I work for a company that provides CV/Resume parsing services to recruitment companies, and they all want Word documents they can reformat to their house style (and usually anonymise so the employer can't contact the candidate directly) using automated software (either ours or their CRM provider's).

Are you taking structured data from people to generate the resume? Have you considered generating HR-XML which can be passed straight to various CRMs and HR tools?

Do you provide an API to allow multi-board search tools (which we also produce) to search the resumes on your service? Recruitment companies don't want to search your site individually - they want to search everywhere at once.

You're just getting started, but trac's really not a good choice for managing your end-user help! Save it for your developer documentation and get something nicer in there, quickly!

<comment><AUTHOR> It does spit out a word document at the end (if you want one).. The URLs are RESTful. To get a document file out of a resume go to the resume / view you want then do filename.ext.. so <http://michael.gregorowicz.praux.com/resume.doc> would give you a word document. .txt, text file.. .odt, .pdf, etc!

</comment></comment><comment><USER11> When I go to your site, my first reaction is "so whats the next step?". Maybe give a flow chart showing the transformation of a resume/cv.

<comment><USER12> absolutely. 1\. You need something saying that "Get Started" 2\. You need to let people know that if its free or what is the chage. 3\. Demo/Sample resume. 4\. Facility to email resume/link with cover letter. 5\. May be advantages of using your service over word document/google documents

</comment></comment><comment><USER13> Interesting service and I agree with most of what's been said here. I have to reiterate the naming choice - it really does make me think of "faux", which would in turn cause me to hesitate passing out the URL to show my resume.

<comment><USER14> agreed. took me a while to figure out how to pronounce it, then figure out what it meant...

</comment></comment><comment><USER15> Like the animated presentation, except for the speech bubbles. Link to 'about' page should be more prominent, I want that info before signing up. Also, more screenshots or a demo. I don't like registering first - let me play with it, then register when I have something I want to save (eg >250 words input).

The idea is very neat: I like your non-ownership approach. I think you need to show more to potential employers in terms of tools to help navigate all these very individualized resumes.

Sorry, I share Ryan's misgivings about the name. Try again.

</comment><comment><USER16> I like this app. I was recently looking for a place to host a resume, and wish I had come across your site sooner.

As everyone else has already said, your messaging and initial pitch need to be cleaned up. Personally, I would stress the sub-resume's idea as that seems to be your best feature.

I'd also add an option to incorporate facebook/linkedin/twitter profiles to a resume. I did see the share buttons, but having a direct link to the persons profile would be a good feature as well.

Best of luck.

</comment><comment><USER17> Are the "top resumes" intended to help sell the site? Because they don't. 3 of them still have boilerplate in them, one of them is like 7 pages of ill- formated random technical qualifications, and none of them contain anything that shows off the value of the service. Axe that from the front page.

I don't know about the job market for people from Joann's Fabric, but the little cartoon guy is the wrong tone for my market.

I feel like LinkedIn solves the problem that this site is trying to solve.

</comment><comment><USER18> Hello guys. As someone who's supposed to graduate this summer I can really see the value of this thing. I think you have done a terrific job.

There are some points for improvement though. As is already mentioned, I think the faster you let people experience the ease of creating the resumes the better.

</comment><comment><USER19> I'm playing around with the resume editing, which is pretty clean so far. I am wondering what the difference is between "project descriptions", "course or training information", and "job and project experience". It seems like you could combine the three and make the interface simpler.

</comment><comment><USER20> Your site is almost blank if the visitor has Javascript disabled. There is a huge blank space even if it is enabled, I guess a Flash thing? Just add some noscript elements and alt/text stuff. That would be good for crawler bots too I guess.

</comment><comment><USER21> +1 on the name...I say lose the stats and have either screenshots or an intuitive demo.

</comment><comment><USER22> I understand that your product is a resume tool of some sort, but a) you demand that I hand over my personal information before showing me anything of the tool and b) you don't give me any compelling reason to sign up. No sale.

</comment><comment><USER14> privacy issue - i wouldn't want anyone knowing all my personal details. especially to the public.

maybe a hide / block feature. but then this would just become another .docx/.pdf resume site.

i like the idea of being able to share/critique. sometimes people are lost for words in their own resume and need help. eg: using action words when describing their role.

good work! keep it up!

</comment><comment><USER23> Don't waste time with slideshows, just put up a video and explain what it is your product does and why I care!

<comment><USER24> I'm at work, with no sound. Don't really want to watch videos anyways.

In short, I loved the slideshows, and want to see more of them.

<comment><USER13> Agreed, I think it looks nice and catchy. It might need some design work I'm not qualified to comment on.

</comment></comment></comment><comment><AUTHOR> Thank you very much for all of your feedback so far! Very thoughtful and appreciated!

</comment><comment><USER25> how are you going to make money?

</comment><comment><USER26> check out hitbio.com

<comment><USER14> checked it out: but serving difference markets. hitbio is a google search (Basically tells you type your name).

praux-whever is about sharing resumes, critiquing, etc.</comment></comment>


Are You Ready for the Financial Crisis of 2019? - <AUTHOR> https://www.nytimes.com/2018/12/10/style/2019-financial-crisis.html <comment><USER2> A broken clock is right twice a day. These articles get old, if you predict a financial crash "very soon" (as has been the case for years now), you'll eventually be right. It doesn't mean you predicted accurately, you just got lucky.

<comment><USER3> Are you buying/long now? If so, what are you buying?

<comment><USER2> I buy 4 index funds (domestic stocks, foreign stocks, domestic bonds, foreign bonds), same amount, every month. I don't pick stocks because I don't believe that's a viable strategy.

</comment></comment></comment><comment><USER4> Let's be completely honest for just a second, the left-leaning/never-trump news sources (i.e. nytimes, wapo, bloomberg, reuters, possibly the economist) are clamoring for a recession and right-leaning/pro-trump news sources (i.e. foxnews, maybe wsj) do not see a recession in sight.

In the most recently reported quarter, Q318, the S&P 500 saw Earnings growth +28% Year-over-year (IBES) and Sales Growth +8.5% Year-over-Year. On a forward looking basis (the more important indicator), estimates for 2019 are currently at Sales Growth +5.6% Year-over-Year and Earnings growth of +8.5% Year-over- year (which is a more normalized trend, remember tax-cuts will become a head- wind in 2019).

IMO, the two biggest risks to the market, 1) China Trade Deal, 2) Slowing of Raising of Interest Rates. If you see progress in either of these, I think you'll see the market follow in suit. In terms of what's currently priced into the market, I'd say that a more pessimistic scenario is currently being priced in and thus risk/reward favors the upside.

IMO, the markets have a psychological component to them and the fear of an upcoming recession can cause a recession. So, these articles are like adding fuel to a fire, "Recessions have psychological and confidence aspects. For example, if companies expect economic activity to slow, they may reduce employment levels and save money rather than invest. Such expectations can create a self-reinforcing downward cycle, bringing about or worsening a recession." [1]

Finally, I think the following excerpt, written by a former Morgan Stanley Equity Research Analyst, does a great job at explaining how one might approach analyzing the news:

"Be skeptical, very skeptical, and even more skeptical. Great analysts rarely accept anything at face value. ... Good Analysts always challenge what they've been told or given. Over time, if a source of information proves accurate, let it into your circle or trust. If we include the financial press, and everything distributed by companies, I'd say at least 75% of the information out there for consumption is misleading or omits an important piece of information relative to the topic." [2]

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

[2] [https://www.amazon.com/Best-Practices-Equity-Research- Analys...](https://www.amazon.com/Best-Practices-Equity-Research- Analysts/dp/0071736387)

<comment><USER5> I really hate to make generalizations about either side tanking the integrity of the news, but I'm at the point of total over saturation for believing the left's cries about doomsday being around the corner. I just emotionally and mentally have a hard time accepting it. It's been more than 2 years (nearly 3?) of this type of nonsense.

All our allies will turn on us. We will be engaged in more and more wars. The economy will rank, jobs will disappear, and every social benefit we've built over the last century will be eradicated. That's all I've heard since Trump got on our radar. And so far I look around and none of it's come to pass.

It's the boy who cried wolf. Maybe the economy will take a nose dive. Maybe. But I'm done investing myself in the major reporting channels. They've demonstrated to me that being accurate or reflective isn't even an afterthought for them. They'd rather stir the pot for financial gain and then absolve themselves of responsibility. Not a behavior I'm going to invest my beliefs into any further.

<comment><USER6> Your views are entirely subjective.

To many, Trumps foreign policy seems to be centered on breaking down Western order in favor of despots and not from a strategic perspective in favor of American interests but entirely his own financial schemes.

Just about everyone from his administration has resigned, is in the midst of some investigation despite the Republican Party owning all branches of government, or both.

There have been over 30 indictments related to the various investigations the last time I checked.

The market has recently been wiped pretty hard. Issues are student loan debt are only getting worse, with the education secretary openly supporting predatory lending.

I haven't even gotten to the environmental rollbacks.

I'm not saying the media is on Trump because they stand on some moral pedestal, but I do think something is seriously messed up, orthogonal to what any journalist or entertainer claims.

The thing Trump has succeeded at is propaganda. If only not for immigrants whether legal or illegal, it would be like the good old times when blacks were slaves or at least had to use separate water fountains. Hispanics and Muslims are supposedly parasites. I'm just repeating the things I hear my staunchly pro Trump colleagues say at work at a very Republican company (energy).

I have one coworker who literally said she'd support Trump even if he was found to be working with Russia the whole time. She believes he's the only one who can protect us from Shariah law.

I think there are several real issues in this country. My personal politics are fiscal conservatism while being socially liberal. I'm now a democrat although I voted against Obama twice because the Republican Party has become the party of blind nationalism led by a conman with a deemphasis on critical thinking.

<comment><USER7> > To many, Trumps foreign policy seems to be centered on breaking down Western > order in favor of despots and not from a strategic perspective in favor of > American interests but entirely his own financial schemes.

As if the CIA didn't prop up "despots" back in the day. There was no Trump when the US was supporting Pol Pot or the brutal East Pakistan regime.

</comment></comment></comment></comment><comment><USER8> I don't think there will be a crisis. Maybe a little correction. But than stocks will keep rising. Especially high tech, robot, automation etc stocks..</comment>


GoDaddy's Homepage Media is Ass-Kicking Good ;) - <AUTHOR> http://screencast.com/t/VzM3CahD

<comment><USER2> This is amazing. Well done, GoDaddy. :)</comment>