HackerTrans
TopNewTrendsCommentsPastAskShowJobs

guhidalg

no profile record

comments

guhidalg
·hace 17 días·discuss
Because it's less moving pieces to only have one bit of state to think about.

You already have a connection string to your database with a password or authn/z with your cloud provider. If this is a "serious" application, you have backups, monitoring, user roles, pgbouncer, partitioning, and other Postgres-specific things to think about. With just a little bit of care, you can make whatever queries you are running fast enough to not need redis.

But ok, you think adding redis is going to solve your performance problem because you can just cache API responses in redis instead of hitting the DB. Maybe, but now you have to think about cache invalidation, eviction behavior, sizing the redis instance, another set of authn/z roles to think about, and of course more cost.

I realize we're speaking past each other, but IME Postgres will work well into the terabyte range and if you can't tune your database setup for performance then reaching for cache is a form of premature optimization.
guhidalg
·hace 29 días·discuss
FDA does regulate cosmetics components, and FTC regulates what claims they can make. It’s hard to make a binary decision that one thing is a drug and something else isn’t. You can appreciate there is a spectrum of side effects with moisturizer and sunblock on one end, supplements in the middle, and chemotherapy drugs on the other end.

Personally, I think that Americans simply don’t treat skin cancer as seriously as they should, and so the market has not provided more choices.
guhidalg
·el mes pasado·discuss
I bet this is correlated with how much they like/know Postgres already. When people don’t understand their database’s features, they want it to behave like something else they do understand (code). They’re leaving a lot of performance on the table by not leveraging everything their database can do.
guhidalg
·hace 4 meses·discuss
More like "you must be on the newest version of everything all the time, or you will get hacked".
guhidalg
·hace 4 meses·discuss
You don’t, there’s always a choice about what to include and what to exclude in your system.

Unless you are hand selecting every atom that goes into a thing (maybe you make nuclear weapons?), you always make choices about what you focus on and what is irrelevant to your project.
guhidalg
·hace 5 meses·discuss
In my experience, the median user for communication apps is mobile _only_. Before that, it better be a website that works well on phones, and decently on desktop.

As a developer I don't like it, but reality doesn't have to appease me.
guhidalg
·hace 5 meses·discuss
In my experience, there is no in-memory database replacement that correctly replicates the behavior of your database. You need to use a real database, or at least an emulator of one.

For example, I have an app that uses Postgres as the database. I have a lot of functions, schemas, triggers, constraints in Postgres for modifying database state, because the database is 100x faster at this than my application will ever be. If I have an in-memory version of Postgres, it would need to replicate those Postgres features, and at that point I really should just be standing up a database and testing against it.

I have worked with people claiming that unit tests need to hermetically run in-memory, because reasons. Ok, I don't disagree, but if my bug or feature requires testing that the database is modified correctly, I need to test against a real database! Your in-memory mock will not replicate the behavior of a database _ask me how I know_ ...

These days, Docker makes this so easy that it's just lazy to not standup a database container and write tests againts it.
guhidalg
·hace 6 meses·discuss
But our brains do map high-dimensionality input to dimensions low enough to be describable with text.

You can represent a dog as a specific multi-dimensional array (raster image), but the word dog represents many kinds of images.
guhidalg
·hace 6 meses·discuss
The phrase implies that powerful companies know that historically black neighborhoods don’t have the resources to mount a legal defense against abnormal pollution from data center generators, so the smart choice is to put all the pollution near historically black neighborhoods.

The agenda, as it is every day, is how to externalize costs so that megacompanies don’t have to spend more money to keep our environment clean.
guhidalg
·hace 8 meses·discuss
“Work best” is giving Apple the benefit of the doubt here. The point of standards like Bluetooth is to avoid vendor lock-in and promote interoperability. If Apple chooses to leverage the spec to produce a product that has degraded functionality when used with other vendors, that goes against the spirit of the spec and makes it worthless.

You might argue, well why did Apple choose to use Bluetooth at all if they’re not going to participate in the interoperability motive? Because initially (think early iPhones) Apple did not design wireless communication modules and benefits from buying COTS from existing vendors.

So would it be easier to just participate in vendor lock-in? Let me ask you, do you enjoy being able to fill up a car at any gas station, or charge your car at any 120V outlet? Standards usually benefit everyone.
guhidalg
·hace 8 meses·discuss
You can certainly do that if you restrict software to be a mathematical artifact instead of an executable running on one of 3 kernels with different APIs and behaviors, let alone the mountain of dependencies your code will build and link against.

The reality is that the machines we write software for are complex, and trying to abstract it away and simplify it will introduce more abstractions that someone has to understand and deal with when they inevitably leak. It's not all bad, all this shit we're writing makes a lot of money.
guhidalg
·hace 9 meses·discuss
I downvoted you because you are exceptional but the rest of the world is not. Most people benefit from traditional education, software engineering is not different.
guhidalg
·el año pasado·discuss
I don't know if there's a name for it but essentially F# is where the language designers can push the boundaries and try extremely new things that 99% of users will not want or need, but eventually some of them are such good ideas that they feed back into C#.

Maybe that's just research, and I'm glad that Microsoft hasn't killed F# (I do work there, but I don't write F# at work.)
guhidalg
·hace 3 años·discuss
Fiction writing exists, should it not be enjoyed? Sometimes mathematicians invent things before scientists discover how to apply it.
guhidalg
·hace 3 años·discuss
Gaslighting is a such a great phrase. It's a very specific kind of cognitive dissonance that is so common in the workplace. I find the worst gaslighters are "leaders" who surreptitiously change their stance on something without communicating why. Over time everyone under them just loses the motivation to do more than the bare minimum because they don't know if the goal will match the leader's requests.