I bought a copy of "Auto Mechanics Fundamentals" based on this thread and I think it is definitely the book you're remembering. The exploding can image you describe is on page 9 and the first chapter builds up an engine from first principles like you've talked about. Thank you for recommending this, it's a great resource!
Depends on the context/language I think. Splitting a block of code into a function gives it a greppable name that (ideally) succinctly describes the point of the block. You can have that block just headed by a comment inline to try and do the same thing, but comments are extremely prone to getting ignored and left to grow outdated when the purpose of the code around them changes. It's easier for the reader to just mentally abstract away that block if it's separated into a function. And if that block is worth testing, it's much easier to do when it's isolated into its own function.
There's reasons to keep the block inline too--like if you're working in a more resource constrained environment, or if the block isn't really isolated/self-contained enough to cleanly abstract away, or if the block in question isn't really doing anything substantial. But I wouldn't say that you should only abstract away code into functions to save yourself from literally copy/pasting the lines in multiple places.
>Do you mind if I word for word quote your above to see if I get downvoted too? I want to repost with just the last two paragraphs to see what happens. I'm curious how this post would have been received without the intro.
I lived in Midtown for ~5 years in 2010. I've heard it described by disillusioned longtime residents as "two cities" at once--there's the flashy Greater Downtown developments that suburban outsiders and young transplants take advantage of--the million and one microbreweries, the great dive bars and concerts, the locally grown organic handmade (artisan shop|bakery|barbershop|restaurants), the low (if rising) rents, the incredible art museums, etc. There's brands like Shinola that completely base their marketing off the image of an "authentic", scrappy city fighting back, even.
But the actual longterm residents, especially the ones living in the vast majority of the city that falls outside of the Greater Downtown area, still have to deal with trying to commute with DDOT, the abysmal public infrastructure, and the horrifically underfunded public school system, etc, and those multifaceted and crippling issues don't see the same kind of widespread attention/praise/improvements because there's no sexiness there and no short term money to be made off of it. And no easy answers, either, it's not as simple trying to fix public transportation in the city as it is opening a coffee house on Palmer. There's attempts being made, but at least anecdotally they don't seem to generate the same press or have the same kind of investment behind them.
I don't think it's as simple as whether or not the city is coming "back"--there's a lot of layers to that. "Back" by what definition, and for who?
I grew up in Detroit and get back at least monthly. For the past five years all I've been hearing is that all the money is going into downtown and nothing is happening in the neighborhoods.
Well now things are beginning to happen in the neighborhoods. Huge amount of activity in Midtown (Cass corridor) with the new Red Wings/Pistons arena and the entertainment district being built around it. Lots of buildings also going up on Wayne State campus.
Now lots of buildings are also getting restored in the New Center area. The neighborhood around Marygrove College is being rebuilt. There's also a development of a neighborhood being re-imagined on 7 mile.
It took over forty years to decline and now people want it all rebuilt in less than ten years.
Im having a tough time picking between: "Any development is good development and we should be happy and supportive" vs. "Dude just put a measly amount of money compared to the hundreds of millions required for a full restoration of the building". Not to mention that THAT particular neighborhood around the Packard has an extremely long way to go.
So while we can be happy that development is actually taking place, we also want to be conscious that there are many factors contributing to Detroit being "back".
I think the material point is that Rome wasn't built in a day. So why would any other city be built in a day?
I think it is unreasonable for people to expect a city to be built in a decade. Not only is that sort of building not sustainable, it also leads to flat out bad long term planning with respect to infrastructure and logistics.
Presumably what one wants to have happen is development that improves the tax base --> increased city revenues --> improved city services --> people returning to city --> repeat cycle. But bootstrapping that process isn't easy.
Thank you for telling your story. I think you are making very good points. I'm in favor of all the flashy development, and I don't think we should feel bad about building it. But the problems you cite here are the ones I worry we are neglecting, and I think your framing of the question at the end of your post is right on.
Yeah. I think we're on the same page. I think the flashy Greater Downtown development is generally positive, I don't mean to be down on it--that would be especially hypocritical of me, as a former Midtown young adult transplant--it's just that a lot of times it's portrayed through this lens where it's as if the city was this completely empty and barren wasteland and here is this new artisan coffee shop charging into the wilderness to save the world and Establish Civilization. When the city is not an empty wasteland. There are hundreds of thousands of people already living there, they've been living there for decades, and a fancy bakery is nice but probably isn't going to help them with any of the public infrastructure issues they've been actually struggling with and trying to get attention to for years and years now.
> There are hundreds of thousands of people already living there, they've been living there for decades
Detroit was a city of 2m at its peak. The budget crisis started when Detroit lost a bunch of Federal money when the 2004 census put the city population under 1m (~800k IIRC). No one thinks that it's a desolate wasteland (at least not that I've talked to). On the other hand, it's a city that was built to accommodate more then twice the current population (677k per Wikipedia). This is why there are a lot of open areas and abandoned neighbourhoods / buildings.
Of course, that's not what I'm trying to argue against. The fact that the city is vastly underpopulated per square mile is arguably one of the core sources of its public infrastructure issues. What I was trying to say is that there's still ~700k people already living there, who have been living there for decades, but the angle of a lot of the "Detroit comeback" press is to focus entirely on how happy the new transplants and the surburban visitors are, and on their wants/needs, and to ignore the hundreds of thousands of people that have remained in the city this entire time. I'm speaking in generalities of course, but anecdotally it's an angle that I've seen come up in a lot of the press cycles about new developments in the city.
Can't chime in on safety issues, but on usability: I know a physician who transitioned to using EMR roughly five years ago. It doubled the amount of time they need to take notes, to this day. They can't see nearly the same amount of patients they used to because so much of their day is spent going into and out of full screen surprise submenus in the EMR software and flipping through different tabs and re-entering information into multiple forms and scrolling through dropdowns with multiple hundreds of options. GP's post is 100% believable for me. It's nothing like Rust vs C89. It's more coding with punch cards vs an IDE, except the EMRs are the punch cards.
Agree in a lot of ways, but there's darker sides to this pro depending on context and who you are. One of the things that makes the Bay Area priceless to me (visibile minority) is that I'm consistently treated like a regular person/with friendliness by strangers instead of with general hostility/coldness like I was back home in the Midwest.
I'd second that the game is good enough to warrant a Switch purchase on its own, assuming you have that disposable income.
[BOTW puzzle spoilers below]
Comparing it to the Witcher 3 is actually a great way to highlight its strength--the insane depth of the mechanics. It feels almost like you're playing Nethack or Dwarf Fort in terms of how deep the mechanics go and how much the game designers allow you to do. Not _as_ deep, nothing's as deep as Dwarf Fort, but deep enough that I can make the comparison.
For example, both TW3 and BOTW have a mechanic where you can mix different ingredients together to give yourself stat bonuses. They both have you harvest the ingredients from the in-game world. Very similar so far. But in TW3, you mix them by going through some menu screens and clicking on the appropriate items. In BOTW, you take the items out of your inventory, hold them, and return to normal gameplay while holding them and can then choose to drop them anywhere in the outside world (ideally in a heated cauldron). But you can choose to drop them just in an open flame, and while you can't get potions this way, you _can_ cook ingredients like apples and meat to have them restore more of your health. But if you leave them in the fire too long, they'll catch fire themselves. And if it's a dry day and you're standing in the right (or wrong) kind of terrain, the grass underfoot may catch on fire, too. And it may spread (and start interfering with enemies--but that's another story). And there's more to it than that--if you drop certain ingredients in snowy landscapes or icy streams, they'll freeze over and give you heat resisting properties when they didn't before. And if you drop them in areas that are too hot (think side of an active volcano), they'll start cooking immediately, as if you had dropped them over an open flame in a standard area. You can distract certain a certain type of enemy by dropping food in front of it too.
The entire game is like this. For example, in another dungeon I got stuck on a puzzle that clearly wanted me to put two magic electric orbs on two switches, about 5m apart from each other. But for the life of me I could only find one of the orbs. After fifteen minutes of running around, I remembered that my metal weapons conducted electricity--I had found that out because I had gotten killed by a lightning strike while I was flying through a storm earlier, I ignored the warning sparking around my back and had to reload a save. So I dropped every metal weapon I had and dragged in a metal chest from another room in the dungeon and made a circuit from one switch to the other with the single electric orb in the middle. And it totally worked to solve the puzzle. (Looked up where the second orb was later and I was blind to not notice it, whoops.)
It doesn't have the depth of writing that TW3 does, the characters are more cartoonish and less nuanced and the plot itself is much more straightforward and doesn't have a tenth of the subterfuge. But the writing isn't poor, either, it's done extremely well for its style. It comes across as very Ghibli-esque to me. Zelda's character in particular is nuanced and an interesting examination of their old tropes without fully subverting them, and the way they reveal the story to you is through a series of clever small vignettes that overwhelmingly choose these small intimate moments that manage to imply so much more than they outright say.
It's unabashedly 11/10 GOTY and maybe "game of this generation" to me, though I'm trying to give myself some time to get over the initial rush before I make that kind of call. Blows TW3 out of the water, and I loved TW3.
Up until 2015 there was a related but more consequential issue that made it extremely hard to prosecute crimes committed on reservations by non-Natives. Tribal governments couldn't prosecute non-Native offenders, instead those crimes fell under federal jurisdiction--and the federal government itself is generally uninterested in prosecuting petty crime. [1] Off-reservation offenders would deliberately go onto the reservation and target the population there because they knew that it was practically impossible for them to be prosecuted, allegedly. Native American women experience sexual violence at much, much higher rates than the general population at least in part because of the jurisdiction issues. [2] VAWA passed in 2013 though, closing the loophole as far as I'm aware. [3]
Former resident of Montana. A lot of the eastern reservations are considered no-stop zones. i.e. you better have enough gas to get through. Western reservations, not so much. Western reservations are pretty congenial and open to others. Flathead reservation strikes one point, but my high school also had a friendly rivalry with Polson (also on a reservation).
I was married to a mostly white girl (one-quarter Indian) that grew up on the Crow reservation and we visited frequently. I found the Crow reservation to be nothing like I'd heard. People were friendly to me and I could count on one hand the number of times I ever got a mean mug. At the time, my unit had just reclassed from infantry to cavalry, so I was a US Army cav scout married to a Crow Indian. Anyway, I realize it's anecdote and only one point on a graph. But people were always friendly to me and I never felt unsafe, or like I should just keep on driving.
>You could have made the same inane argument for all the uneducated factory laborers who have been replaced by machines.
There's nothing inane about the argument. Have you ever been to Detroit? I've lived there for years. It's a horrible thing for these people to have been replaced by automation in their lifetimes. They didn't see the benefits in the increased productivity like their employers did, they just lost their livelihood and had to scramble for jobs that paid much less while simultaneously trying to retrain into other fields, if they were enterprising. The entire region is obviously devastated from the effects of it. Their prior automated work being "unfulfilling" and therefore terrible is a) debatable and b) nothing compared to the struggle of having no income at all. One guy I knew ended up homeless after he lost his job, then with a leg amputation because of frostbite from sleeping outside. When I met him he was making a living ticket scalping in his wheelchair all day. The short term consequences are real and terrible for these people.
Doesn't this just outline the terrible dependence these workers had on their jobs? No compensation of duty of care exists from employers; any number of things could have caused the workers to lose their jobs, they were always at risk even when not struggling.
as an analogy: Crack addicts going through withdrawal don't conclude from their pain that the drugs were a good thing. OP wasn't suggesting workers should suddenly have their jobs taken away, but that the whole situation is bad. Changing the situation, and how to do it, is an entirely different topic.
Is this sarcasm of some kind or a legitimate point you're trying to make?
>Doesn't this just outline the terrible dependence these workers had on their jobs?
You're effectively saying people shouldn't rely on their jobs to support their livelihood. What other option do they (rather, we) have? Maybe factory workers should have had the foresight to see the industry changing toward automation, but even if they did, then what? Keep working to support your family 40 or more hours per week but learn an entirely new craft on top of that? Does that actually seem reasonable?
>any number of things could have caused the workers to lose their jobs, they were always at risk even when not struggling.
Yes, but the industry still existed. Say you worked for 10 years at Ford and got fired. Maybe GM or Chrysler has an opportunity for you, and they'd probably love your experience.
Does that sound familiar at all? Say you work for 10 years at Google and get fired. Maybe Facebook or Amazon has an opportunity for you, and they'd probably love your experience.
My point is that putting the blame on the employee shows a complete lack of empathy for someone because they "chose the wrong path in life". Does the employer have a duty to support the individual who became obsolete? No, but we should all collectively have a duty to make sure the lives of these people aren't completely destroyed, because as unlikely as it seems right now for those of us in the software world (and I'm sure it seemed unlikely in 1995 for those in the auto industry), we very well may be next.
Better jobs. What options do a crack addict have? Very few. That doesn't mean they are better off now being deprived off it, they would be better off never being dependent.
> Keep working to support your family
Why did they have a family when they were at risk? Either didn't perceive the risk, they operated under a false sense of security; or no other options were offered because the jobs that existed were seem as suitable.
If there were no jobs they wouldn't be inclined to settle down. I note that turning down a job can be grounds for losing some welfare benefits.
> Maybe GM or Chrysler has an opportunity for you
speculative. In the context we are talking about there are dangerous correlations: If one worker loses their jobs, the chance that another will increase (due to the possibility of a common cause, in this case automation), not to mention the chance of greater competition from other out-of-work workers (or lower compensation).
> Maybe Facebook or Amazon
Are you still talking about bad jobs? I'd love programming/tech to be more automated, somehow.
> putting the blame on the employee shows a complete lack of empathy for someone because they "chose the wrong path in life"
that's your strawman,not my argument.
> Does the employer have a duty to support the individual who became obsolete?
Do you mean at current, legally? No.
legally or morally, in the future? yes, maybe, who knows. Corporate tax pays for some social welfare.
Things won't change if you're not allowed to criticise the current system.
> we should all collectively have a duty to make sure the lives of these people aren't completely destroyed
I disagree, this isn't enough. We have a duty to make sure the lives are full of this kind of risk too, "completely destroyed" is too low a bar.
This is really impressive. I check out code poems occasionally and I don't think I've ever seen ones where executing them actually draws images related to the subject matter of the text itself. Love the piet one sort of doing it in reverse especially. Thank you for sharing.
BEFOREHAND: close door, each window & exit; wait until time.
open spellbook, study, read (scan, select, tell us);
write it, print the hex while each watches,
reverse its length, write again;
kill spiders, pop them, chop, split, kill them.
unlink arms, shift, wait & listen (listening, wait),
sort the flock (then, warn the "goats" & kill the "sheep");
kill them, dump qualms, shift moralities,
values aside, each one;
die sheep! die to reverse the system
you accept (reject, respect);
next step,
kill the next sacrifice, each sacrifice,
wait, redo ritual until "all the spirits are pleased";
do it ("as they say").
do it(*everyone***must***participate***in***forbidden**s*e*x*).
return last victim; package body;
exit crypt (time, times & "half a time") & close it,
select (quickly) & warn your next victim;
AFTERWARDS: tell nobody.
wait, wait until time;
wait until next year, next decade;
sleep, sleep, die yourself,
die at last
# Larry Wall