I'm heavily inclined to agree with the general thought, but I balk at the low level code showing why a language is bad at something. In this specific case, without the tidyverse, R isn't exactly peaches and cream.
As annoying as it is to admit it, python is a great language for data science almost strictly because it has so many people doing data science with it. The popularity is, itself, a benefit.
Did they go off the rails at the end, or deadlines force acknowledging that the project is not where folks want it to be?
That said, I think I would agree with your main concern, there. If they question is "why did the devs make it so that project management didn't work?" Seems silly not to acknowledge why/how project management should have seen the evidence earlier.
I mean, you could probably level a very similar critique on how we view pretty much any society? Maybe I'm projecting, but it seems natural to think people assume looking at a society is a blend of looking at a picture and a mirror. You are trying to understand the movements on ways that you can relate to.
I agree that hammering random things isn't where you should start. I do sadly have to admit that "just do something" is unreasonably effective. Which means if you have other things lined up, having teams that are somewhat randomly attacking things is probably going to see more success than you'd expect.
Isn't it a touch on the required side, though? I'm assuming the orientation is a common metadata element of phone produced images, in particular. I'd assume same for decent cameras.
Would love to see a good rundown of when you should rely on different approaches? Another thread pointed out that you should also use the color space metadata.
Some systems seem to produce images where the pixel arrangement matches the sensor layout, which moves when you rotate the device, and they'll add EXIF metadata to indicate the orientation.
Other cameras and phones and apps produce images where the device adjusts the aspect ratio and order of the array of pixels in the image regardless of the way the sensor was pointed, such that the EXIF orientation is always the default 0-degree rotation. I'd argue that this is simpler, it's the way that people ignorant of the existence of the metadata method would expect the system to work. That method always works on any device or browser, rotating with EXIF only works if your whole pipeline is aware of that method.
The advantage of the EXIF approach is you don't have to do nearly as much post processing of the data? In particular, I don't expect my camera application to need to change memory layout just because I have rotated my camera. So, if you want it to change the rows/columns on saving the image, that has to be post capture from the sensor. Right?
I think this is what you meant by "some systems" there. But, I would expect that of every sensor system? I legit never would have considered that they would try the transpose on saving the image off the sensor.
The transpose is absolutely trivial compared to debayering and compression. It's a lot simpler to do it upfront and not worry about rotation at any later point.
And the odds are very high your camera app did already switch memory layouts when you rotated, at least for the UI. Doing that isn't a big deal.
I mean, I get that it isn't incredibly difficult, but it still feels unnecessary. The cynic in me thinks this explains a bit of why the app based cameras are garbage.
Do you expect the same when recording video if the user rotates the device while recording? Timestamping an orientation flag is trivial. Why not lean on that?
I feel this is exactly the same as efficiency. It isn't that we want inefficient solutions. But aiming for efficiency as a target often produces perverse incentives.
This is one that many arguing for more building also argue against. It is popular to talk about how we can make it so that people can afford a "starter home," not so that people have a cheap place to live.
If you set it up as a charity or something, then maybe you could. Otherwise, there's still likely $100+ in property tax per occupant per month even on a dorm sized space. That's before utilities, upkeep, paying off construction, admin costs, etc. Just look at what they charge for dorm rooms, and many of those aren't even in expensive areas.
I'm curious where you get that it is property tax driving costs? I know it isn't free, by any means. But compare dorms in a place like Atlanta to rent. Naive google shows it saves you about 600 a month? That is rather substantial. Being colocated at the school helps save transportation costs, as well.
"Naive google shows it saves you about 600 a month"
What does it cost? Otherwise, this is like saying I saved $100 buying a pair of shoes on sale. Property tax is a major component of most property expenses (maybe not for schools). Even dorm rooms tend to run over $500/mo. That's not cheap for most people, especially the homeless population. If we look at most mortgages, property taxes are 25%+ of a monthly payment in many cases. Even in apartments the tenants are paying this indirectly.
I'm... not even really clear what you are aiming for, to be honest.
So, first to directly answer. The naive search showed dorms costing about 1000 a month, with standard rent being 1600. Which is a dramatic savings to be had.
Now, do I think dormitories are the low cost option in the cities today? No. In large part because they are for students only. By definition you are not aiming to solve homelessness with that.
But if you see them as the main surviving case of the type of housing this article is discussing, it does look clear that that can help drive to lower cost housing. With the obvious fact that some places will remain more expensive than others.
And as long as we are discussing lowest cost options for someone, I think assuming a direct path to ownership is probably not appropriate. These options are far more substitutes for standard rent. Which, I don't think anyone is saying that property tax is the reason giant rental complexes have higher rent? Any more so than property tax causing the high cost of school dorms.
I think you're vastly over estimating property taxes. Texas is less than 2% on average assessed on home value. I'd be curious about your example of what "most mortgages" payment breakdown looks like, like year 5 in texas on a 300k house putting 5% down and a 5% interest rate. Look at principle, interest, property taxes, and avg insurance payment.
"I think you're vastly over estimating property taxes."
You're implying that this needs to be the biggest monthly cost, which I don't agree with. Eventually you will pay off your mortgage, leaving you with just property tax and (technically optional at that point) insurance. The duration of payment matters. I will end up paying more in property taxes in my life than I will in interest - 20 years below 4% vs 50+ years of paying 2+%.
2% on even a $200k house is $333/month. That's a lot for low income people. The principal and interest on $180k is about $960/mo on a 5% 30yr. So he property tax is 25% of the payment.
So instead of me overestimating property tax, I feel that you are underestimating how much that money is worth to low income people.
30 year loan at 4% (not feasible today) means 115k in interest paid after putting 20% down. It would take way longer than 50 years to pay more in property taxes than interest.
Nothing moved. You gave me the 2% property tax from TX. The other person gave me the dorm in Atlanta. I gave you a real example where I will pay more in property tax than I will in interest. Property tax varies from state to state and won't be the same everywhere. I'm not sure why you're using yet another state, Alabama, for your example except to just cherry pick. But we're getting off track - $1200/yr perpetually is a lot of money for low income people.
"People in tech" has grown so large that the term has become a bit meaningless.
For every person in tech that knows who Stallman is and what he stands for, there's a person in tech that believes that NFTs and AI will bring about world peace and end poverty.
Optimistic locking works great when what is excluded is effectively a calculation. The annoyance, though, is you have basically acknowledged that you can use a compare-and-swap at the end of your calculation to know that things worked.
This is not at all always the case, though. Sometimes, what you need to use mutual exclusion for is actively working with something that is, itself, active work. That is, sometimes you have to stop something even starting.
Think about how you would model a laundry mat. It isn't enough to say you could use optimistic locks for access to the machines. You can't use the machine until you can use the machine.
This is not unheard of in computing, either. Sometimes, you can't process a buffer until you know it has been finished by the code before you.
> Think about how you would model a laundry mat. It isn't enough to say you could use optimistic locks for access to the machines.
One machine? Too easy, I want multiple machines!
I want to reserve this machine and that machine. And this is happening while someone else wants to grab that machine and this machine. It costs money to grab a machine, so I'll insert a coin into this machine, and then insert a coin into that machine. The other guy grabbed that machine before me, so am I locked out? It turns out he only had one coin, not two: not only did this mean he untook that machine, but the coin he spent flew out of the machine and back into his pocket. While that was going on, I took a nap - instead of busily waiting for that machines - and the laundromat operator woke me up when it was time to try to grab both machines again.
myActions :: Wallets -> Machines -> STM ()
myActions wallets machines = do
bookMachine "this machine"
bookMachine "that machine"
where
bookMachine :: Machine -> STM ()
bookMachine m = do
reserveMachine machines m
spendCoin
spendCoin :: STM ()
spendCoin = do
decrement wallets
newBalance <- getBalance wallets
when (newBalance < 0)
(throwSTM "Ran out of money")
Right, but my point is that you are still guarding a calculation, there. I suppose it is fair to say that this code just describes the paying for it side of things. My point is that I often want the code to describe everything I can actively do while the machine is in use by someone else.
To that end, if I was to "script out" a trip to the laundry mat, it would not be as simple as "reserve both, when successful, pay." It would be "Confirm driers are working, find an empty washer to fill, if found fill it if not check times and plan to come back later if above a threshold start over when I'm back, otherwise pay it, come back later when it is it done, ...."