If you are trying to import ordinary JavaScript modules into a TypeScript project, and those modules don’t already have an internal or external typings file, you may get an error like:

error TS2688: Cannot find type definition file for ‘lodash’

error TS7016: Could not find a declaration file for module ‘himalaya’

For some reason, the TypeScript documentation talks a lot about how to create typings files for modules that don’t have them, but not about how to add them to your project. And it is incredibly difficult to Google the correct answer.

The best answer I found is from: https://www.bennadel.com/blog/3169-adding-custom-typings-files-d-ts-in-an-angular-2-typescript-application.htm

[The following is the final installment of a science-fiction serial I started writing at Matterport, where I worked from May to December of 2015. Someday I will get the rights to publish the entire story, but for now, enjoy this little vignette.]

The demolecularizing grenade Tanya had placed over her father’s arc reactor-powered heart dropped from suddenly nerveless fingers. With a supreme effort, Tony levered himself against the spikes and drop-kicked the grenade against the far wall, where it harmlessly vaporized a quarter-inch of foamed concrete.

“Tanya,” he gasped. “Please. Don’t believe her. It was all my fault.”

His estranged daughter stared at him blankly, sinking slowly to the ground. She, with help from the anonymous cyber-dwarf Rumplestilskin, had put herself through hell to destroy Iron Man for killing her mother. Had her whole life been based on a lie?

Live chat support software is a great way to ensure visitors to your SaaS site are successful – or at least tell you what went wrong. An in-page widget with a friendly human being on the other side is much more approachable than a link to anonymous forum!

Unfortunately, few startups are able to guarantee 24×7 coverage, which means you need a easy-to-use tool with a good fallback user experience for when nobody is available to chat. Here is what appear to be the best options as of January 2016.

Earlier this year I confronted the painful realization that my baby framework grew into a mature ecosystem – one I no longer had the capacity to maintain on my own. It started with dragging open issues for more than a few days, to a growing pile of sticky notes on my monitor of ideas I’d like to try, to (and most problematic) no longer remembering how big chunks of the code work.

The problem is, how to successfully move from a one-man-show to a community driven project, without giving up on the stability, consistency, and philosophy of the framework.

Consensus-Dictator-Fork

I believe the only practical model for running a successful open source project is the Consensus-Dictator-Fork (CDF) model. It’s a fancy name for how most open source projects work. Decisions are made by consensus whenever possible. This usually covers 95% of the decisions by the simple mechanism of proposing a…

One of the most interesting topics in modern times is the “robots eat all the jobs” thesis. It boils down to this: Computers can increasingly substitute for human labor, thus displacing jobs and creating unemployment. Your job, and every job, goes to a machine.

This sort of thinking is textbook Luddism, relying on a “lump-of-labor” fallacy – the idea that there is a fixed amount of work to be done. The counterargument to a finite supply of work comes from economist Milton Friedman — Human wants and needs are infinite, which means there is always more to do. I would argue that 200 years of recent history confirms Friedman’s point of view.

If the Luddites had it wrong in the early 19th century, the only way their line of reasoning works today is if you believe this time is…