1,661 karma · joined December 3, 2010
It doesn't compress as well as JPEG or other formats that are designed to be lossy. But if you need PNG for some reason like alpha channel or application requirements, or if your image is particularly well-suited to my compression algorithm, it might be a good choice. For many images it does compare favorably to an 8-bit indexed PNG.
The only reason American employers are in the business of offering health insurance is because they get a federal tax break. This makes health insurance cheaper to the employer than to individuals. Given this, if my employer stopped offering insurance, they couldn't increase my salary enough for me to purchase the same plan myself. I think this is unfair - I would like to get the same tax break myself, or at least eliminate the tax break altogether so I am on an even playing field with businesses. This would allow me to purchase my own health insurance at rates comparable to what I'm offered at work.
Considering the tax situation, it's curious that Intuit would not choose to take this tax break. It seems like a short term move that allows them to cut costs while exploiting the economic stickiness of employment. This move makes them less competitive for employees in the labor market, but that only affects them in the long term. In the short term, the employees they have will be hesistant and slow to find new jobs.
Just because your programming language supports null pointers, doesn't mean you need to use them. You can avoid the pitfalls discussed by Tony Hoare by simply refraining to use them. You will still need to handle null pointers coming into your code from outside, like from libraries, but your own code does not need to generate them.
It's a short one, 17 episodes of about 20 minutes each. But these episodes are information-dense and have surprising depth. Also, this was one of the first podcasts ever published, starting in 2005.
The simplest market solution to high demand and inadequate supply would be to raise the price of the cards. This would maximize short-term profits but Nvidia felt it was not the right strategic move. Why not? Here are some guesses:
- pricing gamers out of the GPU market would damage Nvidia's historical market - video games
- pricing AI users out of the GPU market would damage an exciting new market Nvidia is working very hard to cultivate
- tying a large fraction of your business to cryptocurrency is risky given the volatility of that market
I think Nvidia sees gaming and AI as viable long-term markets and feels very invested in maintaining the health of those markets and Nvidia's participation in them. They are much less interested in cryptocurrency mining customers because they don't see a long-term future for themselves there. Nvidia is willing to take a short-term hit to profits to get more of their products into the hands of gamers and AI researchers.
However Nvidia has not completely forsaken short-term profitability. They have substantially raised the price of GPUs and they are making considerable amounts of money selling GPUs to miners. They are trying to take a middle path and balance competing interests.
This non-composability is why multithreading is so difficult. A library can't abstract away these concerns for you, unless the entire multithreaded operation is one call to the library, which requires the library to know and design for your exact use case. If you want to do something a library didn't plan for, you are required to handle the thread synchronization yourself.
Home servers are not quite as easy as the article makes it sound. Home routers block incoming IPv6 packets, the same as they do for IPv4. To make a home server accessible, you need to explicitly allow that incoming IPv6 traffic in your router's firewall. This is analogous to adding a port forward rule in IPv4 NAT. The only benefit IPv6 has here is you can use the same port (e.g. SSH) for multiple home servers.
Gas stoves are great at bringing a pot of water to a boil. But they are not so good at very low heat, like leaving a covered pot to simmer. Most gas ranges don't go as low as I would like, and I need to watch the pot more carefully and stir more frequently than I would at home.
I'm sure most of my issues are familiarity. If I had spent my life cooking with gas, my techniques would have developed to work better with gas. But now that I'm set in my ways I will stick with electric.
The struct alignment linter is not included by default. To enable it, run the linter with this command: golangci-lint run --enable maligned
Such P-core-only chips are attractive to Linux users. Intel Thread Director, their Alder Lake schedule software, does not work as well on Linux as it does on Windows. It has a tendency to schedule processes on the E cores even when P cores are available, which is bad for performance.
There is significant overlap between users interested in AVX-512 and users interested in Linux performance, making the mid-range Alder Lake chips especially appealing to this group. Unfortunately they top out at 6 cores with no ECC, so it's not a perfect match.
Do you know the history of the Soviet whaling program? They killed more whales for industry than the West.
I've heard that if you use Wayland, these older apps get pixel scaled up, but most Linux distros have spotty support for Wayland, so getting it running can be labor intensive.