HNHacker News
TopNewBestAskShowJobs

pravus

502 karma · joined June 6, 2018

https://en.wikipedia.org/wiki/Room_641A
submissionscomments
pravus··on Google search's death by a thousand cuts
What's interesting is that I find Google's search quality today to be on par with the quality that existed before Google showed up and changed everything. Whether it is better than all the other garbage isn't really important to me. I want the good Google back.
pravus··on Google search's death by a thousand cuts
It's both, really. I seem to recall somewhere around 2006 Google changed to providing personalized search results based on your history. Since then the quality of search has declined horribly and my assumption is that it's a side-effect of the combination of hyper-SEO and a narrow focus on individual interest rather than categories.

I'm starting to believe that some sort of Yahoo model is the best solution because you want a lot of source material to search through, but it needs to be context-aware so that searches are meaningful. I am vastly more effective in my job when search results return reference information rather than blog articles about somebody's weekend hobby project that only explores the most basic parts of a problem I'm working on. And this extends to other categories in my searching as well.

I'm also personally wondering if Google has realized (even implicitly) that because of all of this, it no longer has to do deep searching anymore and can save tons of money by regurgitating cached copies of "related" garbage because people will give up before any expensive operations take place. It makes me wonder if Google's internal resource accounting has anything to do with it but that's just pure speculation on my part.

pravus··on Keeping Open Source Open
So you should be well aware of community expectations. And so should Red Hat.
pravus··on YouTube is testing a more aggressive approach against ad blockers
> I do wonder if the price point of youtube premium is too high to capture an audience that simply doesn't want ads

It's this plus the fact that I get virtually no value-add with YouTube. I have to fight with its algorithmic recommendations more than I would ever want to if I were paying any money for the service. I also don't want YouTube Music and would like it completely removed from my YouTube experience altogether. My music listening is done through a separate universe using my own collection.

I would happily pay money for a service that could provide the videos I watch regularly with a reasonable recommendation system that worked for me. And it needs to be priced for basically what it is: network egress.

pravus··on Keeping Open Source Open
> So it's not enough ...

Not when you stepped in the open source and GPL arena, no. There are some pretty heavy expectations considering most of us grew up in a world where every distro was freely available everywhere, including the original Red Hat before they went the RHEL route. That's the entire reason CentOS came to be. And here we are again.

I say we... I use Arch Linux and gave up on this over a decade ago.

pravus··on Is ORM still an anti-pattern?
> A point I'm missing is: without using an ORM (or however else you're calling your database interface) you will eventually end up writing and maintaining one yourself, at least for CRUD stuff, and it will be filled with weird bugs, edge cases and security holes.

The middle ground I've found is to use code generation for the CRUD boilerplate with a framework that makes it easy to do free-form SQL or easy query building. It gets rid of all the unnecessary contortions for advanced queries while still giving you a nice API for all the basic stuff because you get helpers instead of abstract objects. An example would be sqlboiler for Go.

pravus··on Domain-Oriented Microservice Architecture (2020)
That very much depends on your definition of service.

OASIS defines a service as "a mechanism to enable access to one or more capabilities, where the access is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service description". [0]

I see nothing that requires synchronous communication only. Virtually every large micro-service architecture I have ever seen communicates through queues asynchronously.

[0] https://en.wikipedia.org/wiki/Service_(systems_architecture)

pravus··on Domain-Oriented Microservice Architecture (2020)
No? Why are micro-services only defined by synchronous/socket communication? Even monolithic threaded apps rely on asynchronous workflows. The fact that a 3rd party is used to relay the request doesn't really matter.

My point was that I can build a monolith or micro service around Kafka and they end up being equivalent but the multi process approach works better for my needs. The original question was asking what advantages a separate process would have. I gave one.

pravus··on Domain-Oriented Microservice Architecture (2020)
Having a separate process also allows for decoupling pieces of application logic so that they can be deployed independently of each other. You can build this into a monolith but it's typically hard and error-prone.

A pipeline I work on right now ingests large amounts of data from an FTP site and dumps it all onto a Kafka topic which is handled by another process on the consuming end. If this were a monolith it would run faster, but any errors or crashes would either require reprocessing the entire file (not really possible given its size) or keeping state ... which is what we are using Kafka for. We can restart pieces of the pipeline at any time and they just resume where they left off. Having a monolith has no overwhelming advantage to us in this use case.

pravus··on Build your own Docker with Linux namespaces, cgroups, and chroot
> Why is it still necessary to have whole, full-blown OS filesystems inside of our containers, if their purpose is running a single binary?

It's not. This is just the path of least resistance for most container builds since many applications require various supporting files to function properly. Most of my Go containers only contain 2 files: the go binary and ca certificates.

> Dependencies/dynamic libraries are decent reason, sure. But wouldn't it make more sense to do things "bottom-up"?

In theory, yes. With dynamic loading and support for loading plugins and runtime this is virtually impossible to do. That's why starting from a base image that already includes everything you need is generally the chosen method. BSD jails/chroot operate this way and it's an absolute pain to setup for complicated applications.

pravus··on Lasers enable satellite internet backbone, might remove need for deep-sea cables
> HFT changes these "beliefs in company" to "beliefs that the stock will go up"

No, this is the part most everyone gets wrong about HFT. These systems make money off of volume, not price. They don't care if the price is going up or down. All they care about is that they can capture a small price delta by facilitating a trade faster than someone else and they are willing to do so for smaller fractions of a cent which makes them more attractive to all market participants, including you and your retirement funds. Their concerns are orthogonal to investors and they compete with other HFT firms and market makers.

pravus··on The Almost Romance Languages
My understanding is that both would have been derived from Phoenician which was itself from a Proto-Indo-European origin.
pravus··on Brains on Drugs: How tinkering with consciousness became a societal sin
The same value prop as looking at a painting. There is none if you don't want to look.
pravus··on Brains on Drugs: How tinkering with consciousness became a societal sin
No, you can't describe it. Your senses are overwhelmed in ways that don't have a real-world analog so there is no description that you can convey to others that's in any way accurate. It's the entire point of an altered state and is something that has to be experienced.

Many human activities are short-lived mood alterations.

pravus··on MVC Isn’t MVC
You don't need more than what you have. You have essentially built a minimal MVC. Everything else you add is just stuff that other people added to other MVC projects to make life easier for them in some way. Web MVCs are basically just opinions on the way to handle HTTP requests and are meant to speed up the dev process if you agree with all of its boilerplating/tooling.

My only recommendation is to just keep yourself aware of url/form encodings, path handling, and common pitfalls related to handling HTTP requests in general.

pravus··on MVC Isn’t MVC
Validation logic needs to be spread throughout the system because your validations are all context sensitive to the operations being performed. It's not always possible to front-load that into a simple schema in your transports and each component needs to be correct in its own domain.
pravus··on Document reasoning to block DNS to 127.0.0.1
In my experience most DNS admins abhor the idea of putting private IP addresses in public DNS space and it's simply not even an option they consider. I've used weird DNS tricks like this for years and never really encountered any issues, though. I currently have both my wireguard and private IP networks published to public DNS to make my life easier, for example.
pravus··on Migrating Netflix to GraphQL safely
I honestly don't understand the complaints here. In our deployment it's implemented as an HTTP handler right next to all the REST ones and gets all of the standard authz/authn/obervability wrappers. It's allowed us to focus more on core development because the schema was exported over a year ago and hasn't changed much. It functions almost identically to the REST components but is easier to develop against. No issues with scale or performance that aren't apparent in the REST components either.
pravus··on Pricing Money: A beginner's guide to money, bonds, futures and swaps
> Are there no repercussions if the contract isnt honored?

Basically the entire point of futures markets is to standardize the contracts and process by which these contracts are fulfilled to the point where all of that is just part of the pricing mechanism.

pravus··on 11 years of hosting a SaaS
It has an extremely low barrier of entry while providing the features of a relational database when all you need is a local data store. The files are trivially easy to transport using standard tools when needed. I've been in back-end automation/integration for my entire career and use these kinds of things all the time. The overhead of maintaining a full networked RDBMS isn't always something I want (or need) to do.
pravus··on Japan’s government will not enforce copyrights on data used in AI training
How much does the world owe to Gilgamesh and Homer?
pravus··on JMAP – a modern email open standard
I had a similar idea to this and wanted to add a couple of more features. It essentially is policy-based email so I thought:

  * Every cert is put into a trust classification that can dictate a default policy
  * Policy items could include things such as rate limits, message sizes, spam filter weights, etc.
  * Identities can be tied to multiple certs to allow for different modes of communication when desired
  * Allow for a trust classification labeled as "public" that is the default classification (with strict limits by default)
  * Make common mail items first class objects and allow URLs (e.g. attachments are no longer inline but must be a URL with metadata that can be verified before my system is willing to pull it on my schedule).
I have other ideas as well; This is something I've been thinking about a lot lately. One other feature that would be nice is if you could somehow link it up to SMTP gateways. I realize that sort of defeats the purpose, but that would accelerate adoption of any new technology since it has so much gravity.

Anyway, just ideas for now...

pravus··on I made a guitar tuner app using Flutter and Rust
Yes, for hard-tails. Neck construction doesn't matter either. I notice it on both bolt-on and neck-through instruments. My method is to tune the highest strings first and work down to the lowest since that seems to minimize this effect.
pravus··on Ask HN: Have You Left Kubernetes?
I guess it would depend on how you managed your deployments/infrastructure but in general I would say no. In my experience stateless services are all managed differently because they typically need fewer resources and can be scaled more easily. Services that require state tend to have a more hands-on approach since they are usually in the critical path for many other services. Deploying a cookie-cutter service is something where k8s accels so it makes sense to use it for those types of workloads.
pravus··on Kubernetes reinvented virtual machines in a good sense
I've always said that it reinvented the mainframe by turning it inside-out. I did some work on an IBM 360/370 running VM/CMS and I can see a lot of parallels in how both systems operate. Most of the architecture is an interface that is implemented by some pluggable piece of software and there's also all of the resource scheduling and management which is a first-class component. This makes the system very flexible and reliable.

And I think k8s is here to stay. If what you have is a bunch of containers you can easily push that into k8s. It's not any more complex than any other solution you would use to deploy them.

pravus··on The richer people get, the more meat they eat
> We are omnivores, we can subsist on many things, meat being one of them.

True, but I personally find it interesting that we have the smallest cecum and shortest digestive tract of the apes. Both of these are more indicative of a carnivorous diet than a herbivorous one.

pravus··on The richer people get, the more meat they eat
>This probably explains the obesity crisis too >Meat is much more calorie dense compared to vegetable

>I wonder how much this accounts for obesity

From my experience, probably very little. I've been hard-core keto for almost 10 years now. I initially lost 100lbs and I've easily maintained a healthy weight ever since. The vast majority of my diet is meat and fat and I do not count calories.

pravus··on You have a sad feeling for a moment, then it passes
> The title comes from a message that appears in the game in certain situations.

As I recall this message appears when your pet dies but you weren't able to see it happen. It's definitely a sad feeling when you are a weak character with a strong pet doing most of the fighting.

pravus··on What they don't teach you about sockets
For TCP the state required to maintain the socket in the kernel is invalidated on error and needs to be reset. The only way to do this is to explicitly perform the connection setup again. An extended timeout only delays this process since the remote side will have invalidated its state as well.

UDP packets require no connection but you still might see some sort of re-synchronization code to reset application state which could be called "reconnect".

pravus··on [Fedora-legal-list] Change in classification of CC0
No, the big issue is that people seem to think you need permission to "obey the laws of physics". I have no way of enforcing a license under legal regimes with which I can't negotiate. Therefore such terms are meaningless and useless for my licensing purposes. The MIT/BSD licenses require legal interpretation and are not appropriate. Even the "public domain" is a jurisdiction-defined term that is not universal.

How can I create unambigous legal language if I don't know the laws to which I am subject? Am I supposed to assume US or "Western" style copyright? Will this work in China? What about Russia or North Korea? Does this language work in 2122? 2222? Under what authority?

And since I live in the US, let's be clear: nothing will prevent someone from suing you. The best chance you have is to hope the judge agrees with your interpretation of the law.

← PreviousPage 4 of 6Next →