Here's how the last two books I ordered from amazon went: Book 1, low quality print barely readable code segments and the cover reads "Not for reprint outside of India". Book 2, over a month passes with no shipping update. I submit a cancellation request and it gets denied. I then contact customer support (extremely hard to do btw) and they also deny my request. Another week passes and it is randomly canceled and then the book arrives in the mail from a printing company with extremely bad binding.
Yes, for those under 30 you have no idea how normalized smoking was right thru the 90s. Restaurants reeked of it, bars more so. A ridiculous percent of men smoked.
I have memories of being quite young sitting in a relatives lap at a baseball game while they smoked. Or my coach in little league smoking a pipe in the dugout filled with 11 year olds.
I was explaining this to my elementary school aged kids just a few days ago. We were eating in a restaurant and I told them that when I was their age most restaurants had a smoking and non-smoking section. Of course the smoke did not respect the invisible barrier. The idea that people could just smoke indoors and it was normal really blew their minds.
High school boys bathroom was basically a de-facto smoking lounge. It was banned but kids still did it. They occasionally cracked down, but the smell was permanent.
There was also an unwritten understanding that it was preferred the boys went out back to a certain door to smoke outside there instead and wouldn't get in trouble if caught.
I went to bingo years ago and there was a glass partition between the smoking and non, but it didn't go to the ceiling. So you'd sit in the non and just watch a wave of cigarette smoke roll over the top of the glass into your area... I only went once because of that.
I distinctly remember one Christmas in the mid-70s where my grandfather and uncles all got these ash trays shaped like a house (when you set your pipe/cigarette/cigar down the smoke coiled out the chimney). Everyone was smoking indoors, despite my grandmother was quite fussy and tidy about pretty much everything.
For that matter, my childhood art classes almost always included making an ashtray.
My grandparents didn’t smoke. They didn’t allow smoking in their house and that was seen as super weird in Texas. Even if you didn’t smoke, it was just expected that smokers can smoke wherever. Having ashtrays in the common area was the normal polite thing.
The first time I ever flew as a kid, I was so excited to be on a plane! And then it turned out to be a 5 hour+ flight with negligible entertainment options and I was so bored...
And then, another dude got bored so he moved to the empty back rows of the plane and smoked for the rest of the flight, and the whole plane was suffused with the smell, and I was so sick.
Like, even those who smoke generally hate the smell of that stale second-hand smoke, especially if locked up in an enclosed space for hours.
Never mind the automobile smoke. (Thankfully we dropped leaded gasoline but) have you ever found yourself following a vintage 1970's-era muscle car or similar down the road today?
Wow, that non-catalytically-converted smoke brings back the memories…
I spent two weeks in Caracas in 2000, and was shocked by the amount car exhaust. It probably wasn't excessive, but compared the US city I lived in it was always noticable.
Every vehicle came with an electric lighter and plenty of ash trays. One of the more common crafts kids used to do was making ash trays for their parents.
On the Underground there were two carriages for smokers, they were usually a bit more empty, and they were browned with tar on the walls and ceiling.
The ban on smoking on the Underground was after the second tube station fire when they realised it might be dangerous, there was also a football stadium that caught fire around the same time too.
The root cause seem to be a build up of rubbish, along with a cigarette but starting it.
That really was just the most absurd argument for Microsoft developers to engage in. It felt like a parody of the "optimisation is unnecessary because us developers are such Prima Donnas and simply toooooo expensive to lower ourselves to such levels" attitude that some people have.
He used a cache. A simple hashtable. That's it. He got an absurd speedup of something like hundreds of times faster.
What are developers smoking these days that they can't even envision ever doing something like this without undertaking a research program?
To this day people will debate this, as if there's a valid debate to be had!
"No, no, no, it's premature to optimise software that is... being released to a billion users in production."
"Casey is adding unnecessary complexity that will be hard to maintain... by using a fraction of the code Microsoft did to solve the same problem."
"It must be full of errors... well... other than the superior Unicode compliance."
"It's so much longer to develop high-performance code... the evidence is that it took Casey two weekends to write a nearly complete terminal emulator!"
Etc...
Look where we are today. Microsoft still steadfastly refuses to even look at Casey's solution, let alone adopt it wholesale. Years later there are still blog articles being written about the performance issues of the Windows Terminal.
PS: Notepad and Calculator got the same "treatment" and now struggle to keep up with key presses.
They're a great fit in many situations but certainly not all. Why not teach programmers a variety of allocation strategies and how to recognize when each might be a good fit?
In general, everything allocated within an arena has its lifetime tied to that arena. In lots of situations this is a fine or even desirable property (e.g., a single request context in a server application), but can be a tough restriction to work with in situations where you need fine-grained deallocations and possibly want to reuse freed space. The lifetime property can also be a pain to work with in multithreaded scenarios, where you might have multiple threads needing to access data stored in a single arena. Another situation that comes to mind is large long-lived allocations where you might want to have some manual defragmentation in place for performance reasons.
I agree with you 100%. I think arenas are a much lighter burden for the programmer to reason about than lifetimes & access patterns.
But arenas can have one big drawback, and that is if you do a lot of allocations and deallocations, especially in long-running routines, you can essentially leak memory, because arenas are not usually freed until they are going out of scope. This can vary depending on the language and the implementation, though.
My thought to counteract that though is you could offer a ref-counted arena just for this scenario, but I'm not sure what exactly that would look like (automatic once refs hit 0? offer a purge() function like a GC?). I haven't wrapped my head around the ergonomics yet.
> whatever happened to that Parallella "super computer" project?
I had a couple of those. (Well, still do – but not using them for anything now. Mine are the ones with 16 cores, that I got for backing them on Kickstarter when they did their original crowd funding) And I was wondering the same a while ago. This guy that was part of Adapteva, makers of Parallella, is working on some ASIC stuff now it looks like.
And since Adapteva website also says: “Adapteva is now Zero ASIC”, I guess maybe some other people that were originally doing the Parallella thing are now doing ASIC things with that guy too.
Amazon has become the temu of books.