HNHacker News
TopNewBestAskShowJobs

adgasf

1,677 karma · joined May 15, 2016

submissionscomments
adgasf··on Philips Hue Bridge v1 online services will be shut off after April 2020
The v1 / v2 split was arguably Apple's fault. v1 launched before Homekit; then Homekit required special hardware authentication; then v2 launched to support this; then Apple walked back on the special hardware and allowed things to be done in software, but Philips had already made breaking changes for v2.

Again, Philips made the wrong call here.

adgasf··on “Let’s use Kubernetes.” Now you have eight problems
So if Kubernetes makes management simpler and more robust for teams of 500+, but is overly complex for teams of 5, what solution would people recommend for teams of 5?
adgasf··on Philips Hue Bridge v1 online services will be shut off after April 2020
AFAIK the bulbs are compatible with v1 and v2 hubs, so the bulbs do not need to be replaced. The v1 hubs will continue to work across a local area network. Philips offered a heavily discounted upgrade for v1 hub users to get a new v2 hub.

However, I still think they should support the v1 hubs for the lifespan of a typical bulb (15 years), at minimum.

adgasf··on Firefox is showing the way back to a world that’s private by default
Google keeps Chrome around because the alternative is just too risky for their core business. If (for example) everyone used IE then Microsoft would be able to shut out Google's ads.
adgasf··on Oracle Reveals Funding of Dark Money Group Fighting Big Tech
Google Docs solves the 95% case of version-control simply by bringing everyone to the head of master at all times.
adgasf··on Functional Programming in OCaml
Agreed! and the approach to operator overloading is much more pragmatic.
adgasf··on The general value of typed functional programming lies in leaving no edge cases
Conversely, it's also one of the biggest pain-points when throwing together a quick prototype.
adgasf··on Bocker – Docker implemented in around 100 lines of Bash (2015)
Aren't most people running a load-balancer in front nowadays?
adgasf··on Court rules that people can't be locked up indefinitely for refusing to decrypt
If the key is not evidence then how can they prove that they got the incriminating files from the encrypted drive?
adgasf··on Why Google Did Android
MS gave Nokia 1 billion usd
adgasf··on Mint: A programming language for writing single page applications
If the differences are only minor then what does it enable that the more popular alternative does not?

You're right the familiarity is a good thing though - just look at TypeScript!

adgasf··on Mint: A programming language for writing single page applications
This doesn't look sufficiently different to JavaScript with JSX.
adgasf··on Bocker – Docker implemented in around 100 lines of Bash (2015)
> Why do you think it's not a good practice?

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.

adgasf··on Bocker – Docker implemented in around 100 lines of Bash (2015)
> it doesn't even solve the problem because dependencies are just downloaded from the package manager.

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.

adgasf··on Bocker – Docker implemented in around 100 lines of Bash (2015)
Docker is designed to push you towards DockerHub, not to be the simplest or best container implementation.
adgasf··on F# Pipeline Operator in JavaScript with Babel
People seem to find |> easier to learn.
adgasf··on F# Pipeline Operator in JavaScript with Babel
I find JavaScript unusable without this operator. Fortunately Babel supports it well.

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 ]);
adgasf··on Britain’s Productivity Decline Is the Worst in 250 Years
If that's how they measure employment, how do they measure underemployment?!
adgasf··on LInQer – C# Integrated Queries ported to Javascript
The pipeline operator and some free functions is a superior alternative.

    const map = f => xs => ({
      [Symbol.iterator]: function * () {
        for (const x of xs) {
          yield f(x);
        }
      }
    });

    xs |> map(x => x * 2);
adgasf··on My 2020 Hackintosh Hardware Spec
A Hackintosh does not just work. It requires far more upkeep than a Linux system.

I certainly wouldn't do it again!

adgasf··on DuckDuckGo Is Now a Default Search Engine Option on Android in the EU
A short cookie with a browser fingerprint will be enough for tracking.
adgasf··on F# Data Type Providers in .Net Core (2018)
I was responding to:

> 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.

adgasf··on F# Data Type Providers in .Net Core (2018)
Ionide gives you IDE features like type annotations and auto-complete.
adgasf··on F# Data Type Providers in .Net Core (2018)
F# allows you to implement such features as libraries using computation expressions.
adgasf··on F# Data Type Providers in .Net Core (2018)
You can write a type provider that takes a schema instead of example data.
adgasf··on F# Data Type Providers in .Net Core (2018)
Most of the F# community seems to be using Ionide on VS Code. This works very well, but if Visual Studio is your preferred editor this can be annoying.
adgasf··on F# Data Type Providers in .Net Core (2018)
In addition to that, the .NET runtime supports tail calls but the JVM does not, IIRC.
adgasf··on F# Data Type Providers in .Net Core (2018)
I think was true before .NET Core, but now the experience is quite good.

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.

adgasf··on Always Review Your Dependencies, AGPL Edition
Presumably you need some functionality in the dependencies that you use. If you don't use a package manager then your options are:

* 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.

adgasf··on I love coding in C
I can't imagine writing C++ without lambdas and auto
Page 1 of 6Next →