I bought a fire extinguisher recently but I’ve never used one. I have a faint idea of how it works and what kind of result I’d get based on what I’ve seen on TV. But if a serious fire ever breaks out I don’t even know if I’d even remember to grab and use it.
In a "serious" fire you should ignore the fire extinguisher get everyone out of the building.
Fire extinguishers are for small fires! If a little oil in your frying pan catches on fire and you don't have a lid readily available to smother it, use a fire extinguisher. But if your smoke alarm wakes you up and you discover your whole kitchen on fire, get out. The fire extinguisher will not help in that situation, and it may cause you to waste time. (Tip: If and only if the fire extinguisher is easily available, carry it with you as you exit. You might need it to use it clear a path to get out.)
A fire extinguisher is to clear a safe path to the exit if the fire blocks it. never put them by the exit door as I see so many people do (in their garrage)
they can also be used on small fires but only if there is a safe escape route. (This is probably the most common use but not the primary use)
99% of the benefit of putting the extinguisher by the exit door is that it helps draw panicking people to the exit door. Which gives them another saving throw against Heroic Idiocy, at +4 - "Should I grab this totally unfamiliar little fire extinguisher and carry it back toward the big scary fire, to do something I've never even tried doing? Or should I just run out the handy exit door that I'm right next to?"
That's right, the best is to have a watered dishcloth that will suffocate the fire, hence stopping it. The fire extinguisher may be a bad idea because the pressure will spread burning oil around across the kitchen and the water is definitively the worse idea because it will counterintuitively make a bigger flame and also spread burning oil.
That works, but be sure to use a wool or cotton cloth.
——-
The proper method to deal with an oil fire: turn off the heat and smother the fire with a metal lid, metal baking sheet, or wool/cotton cloth. Do not use a fire blanket made of polyester or nylon; it will melt and burn producing toxic smoke. Do not use flour or any other flammable/explosive powder. Do not use water, as the liquid water will get into the oil and expand 1600 times its original size as it turns to steam; this rapid expansion will fling burning oil everywhere. If you do use an extinguisher, be careful not to spread the burning oil.
For small NON-OIL, non-electrical fires, smothering with a wet non-synthetic cloth is the best way to stop the fire.
If you have an old one that you want to get rid of, it's a good idea to set up a controlled fire and try out your extinguisher on it. That way you can get some experience.
Really though, it mostly is just pull pin -> aim low (at the base and source of the fire) -> squeeze until extinguished. Sweep the nozzle from side to side to get proper coverage.
They're intended to be used by anyone with no training, so there's not much to go wrong (assuming you haven't bought the wrong type and use it on an oil fire, although most of the ones I see for sale for consumers are the powder kind, which work on anything. The water ones are the worst, and I've never seen one).
As someone who has found themselves in a situation out in the wild with a fire and a fire extinguisher (neither of which were mine), with no direct extinguisher experience, you can take some solace in that they work very easily. They're not some wild hose that going to send you around the room. There's very little force. And you can simply fire it in bursts. It takes no time to get a feel for it and use it with precision.
If you find yourself with a fire and an extinguisher, do not hesitate to pull the pin, and go to it. You'll figure it out. In the end, you can't really make the situation worse.
If you're in the U.S., you might check if your local fire department has a CERT[0] training course. (I did it many years ago in San Francisco; they call it NERT for some reason.)
It'll give you a chance to practice putting out an actual fire, refresh first aid skills, learn the incident command system, learn basic search and rescue, and other preparedness skills to help yourself, your family, and neighbors in an emergency (in that order).
If you are looking to practice, the MythBusters said a fire extinguisher was an excellent way to quickly cool a case of beer. So, you can make it a $30 party trick and a teaching moment.
Water extinguishers are almost completely useless.
I once had a go at putting out a fire in a waste paper bin with a water extinguisher, as part of a fire safety course. The burning paper just floated on the water as the bin filled up.
CO2 extinguishers are more effective. But I believe you have to be careful where you hold it or your skin may freeze onto it.
The time you want water is when something that water can soak into is on fire. Sofas, curtains, bedding, bookshelves, carpets, filing cabinets full of paper, etc.
The water soaks in and prevents the fire re-igniting. 30 years ago, workplaces contained a lot more filing cabinets and bookshelves, and smoking was more common.
CO2 is non-conductive, and less messy. It's also great at flowing around things, making it good for spraying through vents into electrical cabinets and car engines. Downside is the CO2 dissipates within a few seconds, so if the material is prone to re-igniting it's not such a good choice.
Dry powder is in between - the powder stays around, but doesn't soak in. It's a good choice if you're only going to get one extinguisher.
Water extinguishers are incredibly useful for putting out small incidental fires that can result from hot work without making a big mess. The kind of stuff you'd just move outside or let burn out rather than discharge a powder extinguisher over.
Nobody is whipping out a dry-chem extinguisher because the leaves under the workbench caught on fire from welding sparks.
A couple years ago somebody parked a stolen car in front of our building, stuffed a rag in the fuel filler, and lit it. I must have pulled up just a couple minutes after they had left. Grabbed the fire extinguisher I kept under the seat and put it out. I had that extinguisher around for about 5 years. You never know when you'll need it.
My son picked up and used one effectively having about the same level of experience you do (none, but he knew the basic idea and had read the label). Can’t remember if he was 7 or 8 at the time, but either way I’m pretty sure you’ll be ok.
I mean, still doesn’t hurt to get more familiar, but…
To paraphrase the great Noam Chomsky: cognitive science is in a pre-Gallilean stage.
Many thousands of incredible scientists have done amazing work over the past ~century, but cutting-edge neuroscience still doesn't have the conceptual tools to go much farther than "when you look at apples this part of your cortex is more active, so we'll call this the Apple Zone".
Sadly/happily, I personally think there's good reason to think that this will change in our lifetime, which mean's we can all find out if trading the medicalization of mental health treatment (i.e. progressing beyond symptom-based guess-and-check) for governmental access to actual lie detecting helmets (i.e. dystopia) is worth it...
There's a new theory that we might actually gain a greater understanding of the human mind by studying the AI systems we create, because we can basically get a perfect X-ray of their neural nets at any particular state.
When we look at the "apple zone" part of an AI model that lights up, we see it in way higher resolution than our best scans of the human brain, and this might tell us something about how apples are perceived by both systems, or how language is represented neurally, or any number of other things.
And we can barely figure out how the modern LLMs work.
That doesn't bode well for minds being human-interpretable, not at all.
I used to think that the biggest bottleneck to understanding the workings of the human brain was that it defies instrumentation. Which could be solved by better imaging techniques, high throughput direct neural interfaces, etc. But looking at the state of AI now?
If we had full read/write access to the state of every single neuron in the brain, what would we be able to learn? Maybe not that much.
I think this is more or less exactly what Chomsky hoped (hopes?) AI research would eventually become, rather than the purely pragmatic pursuit of tool making it has typically been.
Of course, that's specifically about human anatomy. In this case we're talking about a feature that I'd bet is present in other animals too, so the factors discussed here don't all apply. In this case though there seems to be a straightforward answer -- the structures involved are very small! The post I linked is largely talking about larger structures we failed to find...
Don't call it that. He didn't make it up. Descriptive names are better than memorial names anyway. Call it the known-unknown matrix, or known-unknown risk classification system.
It's a fine name, because everyone (in the USA) knows what is being referred to in only 2 words. AND we get to remember a feeling of amusement mixed with horror that we had at the time that man who said something so intelligent was simultaneously making decisions so catastrophically stupid and impactful to all of us.
They are things that you know, that you don't know you know. For example, uncovering links between existing knowledge that uncovers something that then feels obvious.
This happens occasionally where two previously thought seperate fields of study discover a common link with each being able to explain the questions the other had struggled with.
Yup. My daughter (15y) had the perfect example this morning. She said she was thinking about shooting a person with a cannon upwards, then realizing they feel effectively zero gravity at top, and maybe this could be usefull. Then she remembered parabolic flight paths to train astronauts, realized it’s the same thing, and that she started wondering about a thing she already knew.
Lots of people know things deeply in their subconscious that they are fully ignorant of in their conscious thinking. These can manifest as gut feelings, or anxieties, and with therapy, can be identified. Things like "you should leave him", or whatever.
Until we both discover everything down to the Planck length, and then prove somehow that the Planck length is truly the smallest "unit", then we have not discovered everything. And we have probably hardly discovered anything, relatively.
Lol, what? Haven't heard of this...
What's your experience with nativePHP?
While i am a defender of modern (!) php for web applications, this does sound rather weird. But also interesting. Thanks for the link.
I wonder though how "native" this is? Glancing over the docs it seems to be built upon tauri / electron? Not as native as i expected, but probably more native than most people would dare to think about...
Lol indeed... I also still love PHP. For most small apps that's my go to backend, because who needs to worry about keeping Node running on some server you forgot about 2 years ago? And it's a fully modern language.
I'm delighted that there's some kind of desktop API here. On the one hand, the fact that it's talking with an Electron shell seems sort of magical. But it begs questions like, why wouldn't I just use a fully JS stack? And... since I've never created a graphical app in PHP before, would this be the right time to start?
I'd also say ...patterns like this that return the object you modified in PHP weird me out, even though they're common in JS going back to JQuery:
>>
Dialog::new()
->title('Select a file')
->open();
It's an interesting "modern"-ish design choice, but it doesn't feel very PHP-ish. $dialog = new Dialog('title') followed by $dialog->open() would feel more sane.
Just from a high level, chains on 'new' are actually kind of awful. They're bad in a world like JS where lots of classes need to call async functions to spin up, but they're desperately worse in PHP where you really have to consider everything to be a blocking call. Something basic like this could easily hang a whole thread if, e.g. the title chose to read from a remote file. And it would be quite hard to tell what was hanging it. This is when it feels like PHP is getting out over its skis. I understand the desire to keep up with the Joneses, but there's no real penalty to writing your example in three lines rather than one. It's not really functional either way, and it's not especially debuggable either.
How would it make a difference if you split the statements up? A bad API is a bad API, and I’m pretty sure you can design one in any language (e.g. hide a while (true) within an innocuous method). The way to trace it down is the same in PHP as elsewhere, too—use a debugger. All that said, just don’t design shitty APIs and give your methods useful names.
An advantage of being able to chain calls are fluent expressions that you can return immediately, for example from arrow functions or match expressions, which definitely makes for easier to read code.
I can't think of a lot of examples where I'd want to call:
new API()->object->method()->subResult
particularly if the API might block. But I can think of a lot of reasons I wouldn't want to see that in my codebase. Usually starting with the fact that
try {
$api = new API();
}
should have a catch after it.
For local stuff, fine, if you want to write that way. I don't find it eminently more readable than seeing a variable created and employed. And I'd like to see the line number the error was thrown on, if I'm reading error logs in production.
For what it's worth, blocking might not be an issue in the future. There's some discussion on the PHP mailing list about adding async capabilities to the language.
That would be a welcome language feature... my only question would be, how? Node accomplishes it by basically deferring things throughout the main loop. PHP has no main loop; it's not a webserver. The PHP paradigm is terribly ugly but very predictable in one way: You just rely on Apache or Nginx to spin up and kill a new PHP process with each call. In order for a call to last long enough to return something async, you can't rely on checking it the next cycle. There is no next cycle. So anything "async" basically blocks at the end, unless PHP sprouts its own endless loop the way Node does. And then you probably don't want more than one of them running. So it runs contrary to the paradigm.
Many years ago (see my profile), I wrote a PHP socket server that worked a little bit like Node does. The server itself was a CLI daemon. The webserver sent all the API calls to a normal PHP script that acted as a dispatcher. If the dispatcher saw that the daemon wasn't running, it would call the endpoint itself, block and return a result. If the daemon was running, it would accept an external socket connection to the user and keep itself alive, and open an internal socket to the daemon to route the user's API calls through, which would end up in a queue held by the daemon. The daemon responded to the dispatcher over the internal socket, and the dispatcher sent the results to the user as they came in over the external websocket. Thus it went from one PHP process per call to one PHP process per user, kept alive as long as the daemon was running. I actually think this was niftier in some ways than Node, because no one user could hang the whole server - only their own thread. This was a semi-solution for async calls in PHP.
And, if you want or need to spawn new PHP processes as workers that chew on lots of data, and wait for them to send messages back, you can already do that in a multitude of different ways... as long as the main process waits for them, or else aborts.
In any case, blocking API calls inside a multi-part single line of code are lazy and an invitation to disaster.
I am aware modern PHP is actually pretty good, but having grown up with PHP in the 2000s I can't help but get chills up my spine every time I read '$nonWebThing written in PHP'
I've seen massive cli apps and services written in PHP, it's actually pretty good for that sort of thing and given no build or compile step the devex is quite nice.
There's trade offs of course but for things where disk or network is the bottleneck it performs just fine.