Again, Philips made the wrong call here.
1,677 karma · joined May 15, 2016
Again, Philips made the wrong call here.
However, I still think they should support the v1 hubs for the lifespan of a typical bulb (15 years), at minimum.
You're right the familiarity is a good thing though - just look at TypeScript!
I didn't say it wasn't. Docker makes sense because everyone uses it.
However, I would prefer a Docker alternative that is purely local and doesn't require so many permissions.
The advantage of Docker is that you can verify the container works locally as part of the build process rather than finding out it is broken due to some missing dep after a deployment. If you can verify that the image works then the mechanism for fetching the deps can be as scrappy as you like. Docker moves the dependency challenge from deployment-time to build-time.
It makes a great alternative to fiddling with prototypes or wrapper objects when you want to extend something.
For example, this is flat-map implemented as a free function:
const flatMap = f => {
if (!f) {
throw new TypeError('f must be a function');
}
return xs => ({
[Symbol.iterator]: function * () {
for (const x of xs) {
yield * f(x);
}
}
});
};
// Usage
const xs = [ 1, 2, 3 ] |> flatMap(x => [ x, -x ]); const map = f => xs => ({
[Symbol.iterator]: function * () {
for (const x of xs) {
yield f(x);
}
}
});
xs |> map(x => x * 2);I certainly wouldn't do it again!
> IDE support is much more than just editing text.
In case anyone reading this thread comes away thinking that VS Code + Ionide is only a text editor.
It's also possible to use F# as a compile-to-js language using Fable. This code would run on Node or the browser.
Then there is https://github.com/dotnet/corert which allows ahead-of-time compilation to native code, but it is a bit more experimental.
* Import the dependency manually. This is taking a dependency without the formal description a package manager gives you, making it harder to audit, update etc.
* Write the functionality yourself. This guarantees you are not exposed to malicious code, but it takes time and your solution will likely have more bugs than a widely used solution. You also lose the ability to use other dependencies that build on top (e.g. React components) because you are now outside the mainstream.
What is actually needed is better tooling to analyze and prune dependency graphs.