HNHacker News
TopNewBestAskShowJobs

deepanchor

473 karma · joined October 31, 2013

submissionscomments
deepanchor··on The Reactive Monolith – How to Move from CRUD to Event Sourcing
As I understand it, ES and CQRS are somewhat orthogonal concepts (although they are indeed often used together). It's perfectly legitimate to implement CQRS without using event sourcing at all.

The only thing CQRS dictates is that a system's read models are separate from its write models.

deepanchor··on Ask HN: Which are the best Go repositories to read to learn the language?
I learned a lot from reading the Perkeep [1] codebase (formerly Calimstore). One of its core developers is Brad Fitzpatrick (former Golang team member) so you can be fairly confident it’s idiomatic Go.

[1] https://github.com/perkeep/perkeep

deepanchor··on Why I Love Tailwind
Definitely keeping an eye on Stylex! To me, it looks like the optimal solution to the CSS styling problem.
deepanchor··on Why I Love Tailwind
Tailwind is not for me, simply because I don't want to have to learn yet another DSL that may or may not be abandoned in the future. I understand this is a personal decision though, but I've been burned too many times by fads.

My ideal CSS solution which doesn't seem to exist yet:

- Be able to write plain old CSS in JS/TS directly within a React component's tags, with a JS object literal

- Automatically generate atomic classes for each CSS rule (or block of rules) and have the system reuse those rules when the same styles are used elsewhere (no rule duplication means smaller bundle sizes for SSR, plus you get the semantic clarity of using plain CSS rules)

- Compiled, with zero or near-zero runtime overhead and critical path extraction, all cacheable by the browser. I don't want a huge runtime just so that I can dynamically apply a background colour.

The thing that comes closest to this is probably something like Linaria [1], but it relies on tagged template literals instead of object literals which means I can't use autocompletion. Their API for dynamic styling also relies on HTML data attributes, which is a little clunky.

Stiches [2] is another interesting project, however adoption doesn't seem very high and it seems to create superfluous wrapper nodes which can cause performance degradation in large VDOM trees. There's also no mechanism to colocate styles within a component's tags.

CSS Blocks [3] looks very promising also, but it doesn't allow co-location of styles with React components (you need to make a separate CSS file for each component).

[1] https://github.com/callstack/linaria

[2] https://github.com/modulz/stitches

[3] https://github.com/linkedin/css-blocks

deepanchor··on I do not use a debugger (2016)
Eh, as a non-IDE user myself, I think you’re being a bit harsh as I don’t think that was the spirit of the author’s comment at all. In fact I found it to ring quite true and if there was any name-calling, I certainly did not feel offended. The fact is there is a certain luddite-esque aesthetic to working in a simple modal editor like Vim (or Emacs in your case) and everyone invents their own dogma to follow, to a certain extent. I happen to find that there is merit in using simple tools, and latent benefits like really getting to know a code-base in a way that predictive fuzzy autocompletion will not allow me to do. There is no global optima when it comes to people’s workflows, just individuals finding what works best for them.
deepanchor··on Python in Visual Studio Code
I use fzf[1] for all my project navigation needs. It integrates very well with vim. You can get a quick recursive look at everything in the CWD with a stroke of a key and the fuzzy matching is instantaneous.

[1] https://github.com/junegunn/fzf

deepanchor··on Python in Visual Studio Code
Yup, this is also my setup and workflow, and I also agree with what you say about VSCode feeling 'confining'.

This is probably just a matter of opinion/preference, but I feel like an editor should simply be an editor -and IMO there is no better editor for turning thoughts into code with minimal friction than VIM/Neovim. The OS functions perfectly fine as an IDE for everything else.

deepanchor··on “Prestudy”: Learning Chinese Through Reading
This is the ultimate site for learning colloquial, idiomatic Chinese IMO (it has other languages too):

https://www.viki.com/explore?country=china

It has a huge database of modern Chinese TV shows (ranging from ancient dramas to modern CSI-esque crime).

But the greatest part about it is that it has a "learn mode" that provides instant translations when you hover over characters you don't know, and pauses the show automatically [1].

[1]https://support.viki.com/hc/en-us/articles/231829048

Highly recommended.

deepanchor··on Apple open-sources FoundationDB
Meant to say "no current open-source RDBMS"
deepanchor··on Apple open-sources FoundationDB
Didn't downvote you, but I believe the excitement is over FoundationDB's ability to perform ACID compliant distributed transactions without sacrificing performance -which to my knowledge no current RDBMS or even NoSql can do.
deepanchor··on How to Fall Asleep in Two Minutes or Less
> The technique I use is to work on my "novel". I guess my mind knows I've been "working" on it for over twenty years, it's not important.

Not sure if you meant for this to be funny, but I laughed out loud at this because i do the exact same thing. I too can fall asleep within two minutes anytime, anywhere, while "working" on my "novel".

The trick is to never go to sleep with the actual intent of going to sleep. You go to sleep with the mentality of finally, some time for myself to just lie here and work on this project in my head. I work on fleshing out my little fantasy/sci-fi world or solving problems related to my pet programming project. I drift off seamlessly within minutes.

Attempting too hard to sleep is self-defeating; ironically, the stress of actively trying to sleep will prevent you from doing just that.

deepanchor··on Never Completed Game
aaaannnd they finished.
deepanchor··on Never Completed Game
z
deepanchor··on Never Completed Game
curious to know this also
deepanchor··on Never Completed Game
ahhh thanks!
deepanchor··on Never Completed Game
hmm, can't figure this one out

97...98...99...00

deepanchor··on Why I Fell in Love with Arch Linux (2015)
Yup, another Antergos fan here. I started with vanilla arch, but like others, got tired of things constantly breaking and my system becoming unpredictable and possibly unstable after every update. I got tired of doing everything manually and wasting time making config files for the simplest of things.

I tried looking into other distros (mint, fedora, ubuntu) but always found myself missing the awesome power of the Aur. So Antergos is the perfect compromise. It's easy to install (no manual configuration required) and gives me access to the Aur.

deepanchor··on Secretive Billionaire Makes The Cheese For Pizza Hut, Domino's And Papa John's
Reminds me of Charlie Munger's (vice chairman of Berkshire Hathaway) investment philosophy/mantra that "avoiding stupidity is easier than seeking brilliance".
deepanchor··on Ask HN: Good Go codebases to read?
I know Go is mainly used for systems and infrastructure level software, but I also know that some companies are using it at a higher level of abstraction for their application servers as well.

I'd really like to see more examples of these types of codebases but can't seem to find examples anywhere.

deepanchor··on Show HN: Insomnia REST Client now open-source
How does this compare to Postman?
deepanchor··on JSON Web Tokens should be avoided
This is exactly the solution I use. I use a secret server (Vault, using Consul as a backend) to securely distribute and manage the encryption keys.
deepanchor··on Consus: Fast Geo-Replicated Transactions
> If Escriva can accomplish the same thing with Consus, in a fully open source way, and gain traction enough to keep the project alive, I could see this as something I would consider using.

Totally agree. I feel like there's a big void in the open-source world for this type of technology that has yet to be filled. There used to be FoundationDB and, well, we all know what happened there. CockroachDB is probably the only other active, open-source project right now that claims to have strong ACID guarantees for multi-database transactions. However, the team is not wholly focused on performance at this stage of development (which some of their early benchmarks demonstrate).

If Consus can retain some of the performance characteristics of Hyperdex while providing completely open source distributed transactions, it will be an absolute game changer.

deepanchor··on Consus: Fast Geo-Replicated Transactions
For those that are not familiar with Hyperdex[1], it is an open-source, performant, ACID compliant key-value store with commercial support[2] for fully distributed transactions.

It seems that Robert Escriva (creator of Hyperdex) is now working on a new database called Consus with the following key differences[3]:

“Consus has two (three) differences from HyperDex that I believe will make it more appealing in the long run:

1. Consus doesn't separate the implementations of transactions and the regular code. Once we have a paper public on the topic and I have clearance to release the code, all of the code will be available under the same license, with no commercial fork.

2. Consus provides wide-area, geo-replicated transactions with much lower latency than is possible in any other system I know with the same consistency that Consus provides.

3. I’m still actively working on Consus; I'm not actively working on HyperDex."

[1] http://hyperdex.org/ [2] http://hyperdex.org/warp/ [3] https://github.com/rescrv/HyperDex/issues/233

*edit: should have linked to the project's homepage (http://consus.io/) which contains more details, if mods could change the link that would be great ;)

deepanchor··on Open-RethinkDB meeting notes
From an outsider's perspective, CNCF seems like it would be a great fit for a project like Rethinkdb: it looks to have the forward momentum Rethink needs right now, and the proximity to other high profile projects like Kubernetes could encourage adoption.
deepanchor··on Work/Life Balance Will Make You a Better Software Engineer
Any recommendations? My back has been killing me for the last few months.
deepanchor··on Horizon 1.0: a realtime, open-source JavaScript back end from RethinkDB
This is awesome, really looking forward to it. Rethinkdb is my goto database for everything nowadays, and I tell everyone I meet about it.

Also: kudos to whoever is handling the artwork/marketing side of things. Love the vector art and website designs.

deepanchor··on Druid: fast column-oriented distributed data store
As someone who hasn't yet had the opportunity to use many of these systems, this was a great high-level overview of how the various systems fit together. Thanks for writing it!
deepanchor··on 1000 nodes and beyond: updates to Kubernetes performance and scalability
Curious to know why they are choosing to go with protobuf for intracluster communications as opposed to zero copy protocols like capn proto or flatbuffers.

No doubt protobufs are probably much more battle tested in google scale environments, but are there any other clear benefits if the goal is to reduce spending cpu time encoding/decoding messages?

Especially in SOA deployments where many small services need to communicate with one another, I would think that the ability to quickly read any field from a message and pass it on (without first having to decode the entire message) would be a very desirable trait.

deepanchor··on ReSwift 1.0.0: Unidirectional Data Flow in Swift
Would you say it's good enough/stable enough for production use yet? I've been keeping an eye on ReSwift for a while now, but i've been hesitant about using it for anything serious because there doesn't seem to be any real apps out in the wild using it yet (AFAIK). Would really like to model my app state with the Redux-like pattern, from a single source of truth.
deepanchor··on Alchemy Micro-Service Framework: Using RabbitMQ Instead of HTTP
Curious about this too. I've found NSQ to be rock solid and easy to setup and work with.
Page 1 of 2Next →