HNHacker News
TopNewBestAskShowJobs

conradk

1 karma · joined December 24, 2021

submissionscomments
conradk··on How I implemented my own crypto
The v1.0.0 was published the day a bug was fixed and yet the first sentence of this post is "Monocypher is ready for production". Sure, OpenSSL has bugfixes on regular basis as well, but I believe that further fragmenting the crypto ecosystem with a new library and little commercial support to properly back it and pay for security audits is risky.
conradk··on Docker vs. Kubernetes vs. Mesos
Hello David, thanks for your input here! I was wondering specifically about a hybrid cloud / multi-az setup. Does Kubernetes support that?
conradk··on Is Amazon's cloud service too big to fail?
I don't know about ELB, EFS and ASG but:

- S3 has a public protocol and many 3rd party providers support it (OpenIO, Scality, Ceph, Minio, etc),

- EFS could be replaced with something like DRDB or GlusterFS, or DigitalOcean's block storage or Google Cloud's networked disks.

- ELB could be replaced easily with similar services from other providers [1] if you use Kubernetes (I don't know if all have a LoadBalancer type though)

I would be more concerned about firewall/vpc rules, because I have no idea how those could be migrated without risk of forgetting some. Lock-in seems not that high in the end though and even less so if you use an open source container orchestration stack because they abstract most of these things away.

[1] https://kubernetes.io/docs/tasks/access-application-cluster/...

conradk··on Docker vs. Kubernetes vs. Mesos
What I've found to work well is to push images to your registry with a different tag for each release. For instance, you have "web:1.0" running in production and want to update? Create a "web:1.1" image, push it to your registry and in Docker Swarm, point your "web" service to the "web:1.1" image instead of "web:1.0".
conradk··on Docker vs. Kubernetes vs. Mesos
I recently evaluated all 3 solutions. Here is how I see it after testing the waters:

- want something simple that works today? Docker Swarm

- want something amazingly flexible? Kubernetes

- already use Mesos or DC/OS? Marathon/Mesos

This article from Mesosphere is interesting and gives a good overview, but it downplays advantages of Swarm and Kubernetes and clearly highlights Mesos: Docker has 4 bullet points, Kubernetes has 3 and Mesos has 5.

In addition, Marathon is meant to work on Mesosphere DC/OS and not on other operating systems. For instance, the "Virtual IP" [1] feature only works on DC/OS from what I can tell. This confused me because this feature appears on the UI even if you run Ubuntu, it just doesn't work in that setup.

Docker Swarm seems to have a very comparable feature set, but doesn't care what OS you run.

There is an Mesos plugin for Kubernetes [2] but it looks unmaintained, so this sentence seems a bit off: "Mesos could even run Kubernetes or other container orchestrators, though a public integration is not yet available." This also goes to show how important community support and commercial backing is and Kubernetes is the clear winner here.

At the end, you can read this: "want all of this portable across cloud providers and/or datacenters, then Mesos (or our own Mesos distribution, Mesosphere DC/OS)". With Docker Swarm, you can use multiple cloud providers. Docker Swarm does not care about what servers you use. It encrypts traffic between nodes and needs Docker. That's it. It is cloud agnostic. I'm not sure what the story is with Kubernetes here. Kubernetes is a huge beast: very flexible and powerful, but a high upfront setup cost when you want to manage everything yourself.

[1] https://dcos.io/docs/1.9/networking/load-balancing-vips/

[2] https://github.com/mesosphere/kubernetes-mesos

conradk··on Slack using React Dev Build in Production
Sourcemaps have the drawback that you actually need to generate them first. Sometimes, getting all of the tooling together is teedious.

And about the size: if the JS file is cached properly, downloading 1.5mb once doesn't seem like a huge issue, especially for something like Slack where only desktops use the web client (most mobiles probably download the Slack app). I don't know if this was the case here though.

conradk··on Slack using React Dev Build in Production
I've always found Fastmail's mobile app to be amazingly native-like even though it uses HTML5.
conradk··on Slack using React Dev Build in Production
How is this absurd? I've had problems debugging minified Javascript in production too. So from my point of view, this seems like an appropriate response.
conradk··on Show HN: Namespaced PHP functions to fix inconsistencies in the PHP language
Would it work to override [1] inconsistent functions with consistent versions?

[1] http://php.net/manual/fr/function.override-function.php

conradk··on Kite Responds to the Minimap and Autocomplete Issues
The dependency "git-rev" uses a shell-call too, so this PR doesn't change much apart from removing the dependency itself.

Here's the original code from the "git-rev" package: https://github.com/tblobaum/git-rev/blob/master/index.js

conradk··on Kite Responds to the Minimap and Autocomplete Issues
We've seen it happen before though: http://www.infoworld.com/article/2929732/open-source-softwar...

This problem applies not only to editor plugins but all sorts of things nowadays: npm packages for Node.js devs in particular seem like a great way to get viruses, given how hundreds of dependencies get pulled in, sometimes to save 2 or 3 lines of code. Here is an example in the Node package for Postmark (an email service provider) which had a dependency for literally 4 lines of code: https://github.com/wildbit/postmark.js/pull/14/files

As developers, we need to be willing to reinvent the wheel when needed, instead of blindly installing dozens of 3rd party packages. And we should vet things we install no matter what.

conradk··on How a VC-funded company is undermining the open-source community
Could you please elaborate ? I read the whole thing when I posted this comment: it seems like Kite did not automatically request its servers and I do think that plugin-mania is the bigger problem here. Installing plugins with no way to audit or restrict their access to the system capabilities is the problem. They should run in a sandbox. This has even been suggested before [1] but it seems like it has not yet been implemented.

https://github.com/atom/atom/issues/1763

conradk··on How a VC-funded company is undermining the open-source community
To me, it looks like Kite miscommunicated but didn't propagate spyware. From what I understand after reading the related issue on Github, it did not do any requests to its servers without explicit user permission.

And I think the bigger problem is that 3rd party plugins are becoming a thing. Now, it's all about plugins, installing dozens of plugins that are difficult to audit before hand. It's like blindly installing software from torrenting sites, but shinier because it has the Github stamp on it.

conradk··on On Password Managers
I think there are better ways to have portability. Pass [1] handles this nicely with import-scripts. Unfortunately, it seems like it can import into pass, not into any other password managers.

[1] https://www.passwordstore.org/

conradk··on On Password Managers
Thanks for the question. Frankly, at the time, I was under the impression that Keypass what a quite powerful and thus complex beast. I wanted something simple with just the data I needed saved (ie app name, username and password, nothing more) so I went ahead and created the new format.

It was actually interesting to work on a new file format. The version 1 was not formally versioned. I realised that for the version 2, I would need to add a version number to the file format. Of course, the world doesn't care about any of that, but I learned something doing it and am happy about that.

conradk··on Three New Open Source Container Utilities
It's unclear to me what this offers that runc or rkt do not offer. They say this :

> railcar always runs an init process separately from the container process

What does that mean in terms of day to day operations/debugging ? What are the benefits ?

conradk··on Three New Open Source Container Utilities
> These days Oracle is synonymous with vendor lock-in

It seems like their container builder, Smith, creates OCI [1] images, an open format that can be used from other tools such as runc or rkt.

[1] https://github.com/opencontainers/image-spec

conradk··on Three New Open Source Container Utilities
Probably because Smith (1 of the 3 tools) is written in Go and because Oracle wouldn't use Rust just for the sake of using Rust but because it was suited to the task at hand.

edit: you might be interested in their article on "Building a Container Runtime in Rust" [1]

[1] https://blogs.oracle.com/developers/building-a-container-run...

conradk··on EU Parliament calls for longer lifetime for products
For me, the point is that when we throw out a device because it's too expensive to repair, then we diminish our health, because we pollute our environment.

It's hard to measure, like a lot of things, but we should not throw away a microwave because a single transistor broke. We should get someone to repair it. We would collectively save money (instead of paying people with the RSA doing nothing, we should get some of them to learn how to repair stuff) and save the environment.

As for the tone, you might want to be a little more respectful than to simplify other people's thoughts down to "regulations because you're unhappy with screw holes". It does not help you in any way.

conradk··on EU Parliament calls for longer lifetime for products
The article says that consumers are discouraged by the cost of repair.

A few weeks ago, I repaired an eltronical appliance and was surprised to see that all screws were screwed into plastic. As I unscrewed them to access the inside of the device, the plastic around the screw broke.

I think there should be laws that prevent screwing into plastic. That just makes no sense appart from upfront cost. Once the plastic is broken, there is no way but to throw the broken device away. Unless you can somehow glue everything back together, but that seems unpractical.

It's like devices are not even planned to be repaired. They are designed to be sold and then abandoned. That's the real issue. Not cost of repair.

conradk··on Euro MPs back end-to-end encryption for all citizens
Ever since Brexit, I feel like the EU suddenly has plenty of good news for EU citizens (myself included, which makes me happy). No backdoors, free roaming and privacy law in 2018 most notably.

Anything else I might have missed that EU is doing to improve itself for citizens lately ?

conradk··on Brave raises $35M in 1 min with ICO
Is this expected to affect the market for ETH ? And if so, by how much ?
conradk··on Enough with the microservices
Not every interpreted language has this problem. I'm thinking that there probably is a way to get compile time deprecation notices in Typescript. If there isn't, this will probably be possible in the coming years. Typescript is somewhat compiled, but the same applies to Dart, which is both interpreted in a VM and/or compilable to Javascript. Maybe Hack (the Facebook version of PHP) could have that too (it is both interpreted and statically checked).
conradk··on Kik Messenger App Debuts Own Digital Currency Amid Bitcoin Boom
edited, thanks
conradk··on Kik Messenger App Debuts Own Digital Currency Amid Bitcoin Boom
I'd guess they probably kept a few thousands or million coins for themselves. This way if this takes off, they'll have millions of dollars worth of coin to trade for real money.

Or else they'll act as an exchange, which seems to be a good business too, as long as you have enough capital to get it going.

conradk··on Enough with the microservices
You could also have a "monolith" in a single or multiple compatible languages (C, Rust, C++, etc) and have different features/modules separated in different libraries. These libraries could then act as the "microservices".

Developers could be tasked with working on these libraries that would have 0% overhead (since they are just a piece of code that can be used in another library), instead of creating REST/SOAP/RPC APIs that come with the HTTP/SOAP/RPC overhead.

This means you can start small, with a public REST/SOAP/RPC API. Less infrastructure, less server config, etc. And if at some point you need more scalability, you can always do an actual microservice (ie a separate REST/SOAP/RPC API) with the library code the day you absolutely need it for horizontal scalability or whatever.

I have seen this pattern used in the Rust world a lot. Projects expose both a library and a binary. And the binary is built on top of the library. This means you have 0 overhead if you want to use the binary's features, since you can simply include the library and get going.

Also, I think that having the tools to support deprecation is big advantage when working with a monolith. I think Rust has built-in support for compile-time deprecation notices. PHP, for instance, doesn't have that particular feature yet, as far as I know. Symfony tries its best by adding deprecation notices when you call a deprecated method/function. But you have to call it to realize it's deprecated.

I'm not here to promote Rust or hurt PHP, I actually love both. The statements above apply to a lot of other languages as well. I just took the examples of Rust and PHP because these are the ones I've worked with the most.

@xxs's comment is spot on as well.

conradk··on Google Cloud Prediction API End of Life
tl;dr Cloud Prediction is deprecated in favor of Cloud Machine Learning (https://cloud.google.com/ml-engine/)
conradk··on Vue Loop – Infinite scrolling
I tried viewing the Look Studios website on Firefox, scrolling down with the touchpad. The website skips over some content sections and once I get to the page footer, the page suddenly scrolls extremely slowly. To the point where it looks like my browser crashes every time I reach the bottom of the page.
conradk··on Show HN: PassMan – A Secure Password Manager Written in Bash
alright, sorry, will not hijack, that was a mistake indeed
conradk··on Show HN: PassMan – A Secure Password Manager Written in Bash
[deleted]
← PreviousPage 3 of 8Next →