Can someone definitively say for sure that I can just use two independent PSUs? One for GPUs and one for GPUs and motherboard and SATA? No additional hardware?
The requirements have been brought down to 1200VA so the APC SMX2000LV (2000VA) seems to be a good choice for UPS. It's much cheaper on Amazon too.
There's a company called mediproducts that offer UPS units for medical equipment but their pricing is opaque at the moment.
Ideally I'd love to chain an affordable battery backup solution like EcoFlow or Anker Solix along with a good APC UPS. But I'm concerned about chaining two sine wave generators (they become sine wave generators when there's a power outage). But I have no clue if that causes any cascading issues or not.
I checked out EcoFlow a few weeks ago along with the Anker Solix range. Anker's switching times are around 20ms and I wasn't able to find EcoFlow's switching times. The switching times indicate the UPS performance. It needs to be quite low for sensitive equipments like a dialysis machines. The APC SMX range provides switching times of 4ms.
Just got back a reply from the manufacturer that they cannot recommend any UPS. They clarified the specs the UPS should have which is 1200VA + sine wave + 120V.
> my point is that being able to discern and limit the possibilities to something reasonable is a skill that has nothing to do with seniority and everything to do with general (read: fixed) aptitude
I disagree with that.
You don't need to be a genius to be a good developer, you can be learn to be one or you can be mentored to be one. Some aptitude is required, but nothing extraordinary. Hard work obviously is a good thing, but not a pre-requisite.
P.S. Our success criterias might differ though. I'm not part of silicon valley or FAANG so my standards might be lower than yours.
Hard disagree. The points about not working hard enough and checking out before 5pm sounds like you were just trolling or being cheeky. If you were then you can ignore my response.
The response sounds like it’s coming from someone who’s never thought deeply about problem solving and it’s relationship with mathematical complexity.
When one is given a task that they have no idea on how to proceed, to them, the number of solutions could be infinite. At that moment, even knowing what to Google could be overwhelming.
Imagine the junior developer being given a traveling salesman problem as their first task but neither the manager nor the junior developer recognize that the problem is a TSP problem. The Junior Developer can spend years and years rediscovering all the heuristics and algorithms related to TSP without knowing they’re actually doing that. You can’t google for it very well because the task doesn’t explicitly say TSP.
What you need is a Senior Developer to step in, hopefully they recognize it’s a TSP problem based on their experience, and then give context and an explanation on how to recognize such problems in the future and finally tell Junior Developer “Just Google traveling salesman problem”.
No working beyond 5pm needed. Junior dev is happy they solved the problem that was pushed to production, Senior dev is happy they don’t have deal with a pile of technical debt and Manager is happy that the task got delivered on time.
Kudos to the author for crystal clear one line summaries. As someone who struggles to write clear single line titles for Jira tickets, I don’t consider this ability to be easy or obvious.
Just tossing an opinion out there. In the last 10 years my editor progression has been notepad++ -> sublime -> atom -> vscode -> pycharm. Virtually every pixel on Pycharm is dedicated to at least try to let me write better python code and ease development friction. Lapce may eventually be vscode++ but I'm no longer in the market for general purpose editors.
This is easily a few thousand dollars worth of advice. I use PostgreSQL regularly but I would never have been able to come up with this solution myself.
Having queues on Postgres is going to be such a great addition to my tool belt especially since there's always a Postgres instance running somewhere anyway.
I know the first use case that jumps to mind is a job queues, but I feel like the method described in the article is quite low level which means it can be used as a base to solve many use cases.
* I won't have to reach for Kafka/Redpanda unless the rate of events/messages reaches 100k-1000k per day.
* I can add one column called queue_id where each unique queue_id refers to a new queue which means I can use a single table for multiple queues.
* If I add a new column called event_type, then I wonder if it's possible to create a composite event queue, where for example the query must return exactly two rows and one row must have event_type=type_1 and second row must have event_type=type_2 and both rows are locked and processed exactly once?
I think India has virtually the same problems as America or any other western country and a few problems that are unique to it like the caste system etc.
However the problems are more pronounced in India. There's more uneducated, more illiteracy, more corruption, more hatred among groups etc.
Having read the wonderful article about Going Critical [1] it's made me realize that, if one society is worse off than another by only 10% by some metric, it could mean that the society is far worse off than 10% due to cascading effects.
If you've ever been to India and stood by the side of a busy road in one of the poorer areas of a city, this or any other kind of news will not surprise you, infact I'm sure you will, like me, be dumbstruck as to how India manages to do keep it's shit together in the first place.
My recommendation is to get into the habit using StrictStr, StrictInt and StrictFloat as your choice of types to start off with and use str, int, float etc only when coercion is acceptable.
Coercion is quite powerful and saves me quite a bit of work. I write validation for config files that non programmers create. I would happily avoid explaining the difference between a 1 and a "1" to them whenever I can and let coercion do the work. It reduces the mental load on them too.
In my opinion Pydantic is Dataclass++ and NamedTuple+. I use it everywhere performance is not critical. It does type casting and provides an option for strict types. It lets you use custom types where you can define min and max size of a list or tuple etc. Every time I had a weird validation I needed to do, the Pydantic docs already had a built-in way to do it (E.g. conlist).
It has excellent support for JSON and JSON schemas out of the box.
Error messages are excellent! Tells you exactly what went wrong (most of the time) during validation.
I do use Pydantic even when Dataclass and NamedTuples are sufficient, I know that's a bit cargo cultish but it lowers the mental overhead by just having to perfect one of way of doing things.
You can use any tool you like, but it triggers me every time some says something misinformed about `conda`. So please if you have anything negative to say about it, please read the official Managing Environments page of `conda` before doing so [1]
* Please don't confuse `conda` with Anaconda, Miniconda & Conda-Forge.
* You can use `conda` to manage your environment and it can download and install ALL your packages from `pypi.org` and not Anaconda.