How to get user product edit logs?

Question: Multiple users log in the system to edit product catalog, categories etc.
We need an effective system to log each users actions.
Answer: You need Admin Actions Logging to identify that
Admin Actions Logging is a feature of Magento Enterprise Edition: STORES > Configuration > ADVANCED > Admin > Admin Actions Logging
Read more Here
For community version you can use below extension for to log admin action
https://amasty.com/admin-actions-log-for-magento-2.html
There is not any other magento default way to identify your requirement.
Answer: Although there are many extensions available for logging admin actions, none of those are free as of now.
Also, admin logging is the default feature of Enterprise Edition, so you can either go for a paid extension or build your own version of the module in Magento 2.
If you are a developer, you can write your own custom module for logging admin users' actions with the help of free modules available for Magento 1.x.
Below is the link for Magento 1.x module which is free. You can install and test it for Magento 1.x and then with the help of its features you can write your module for Magento 2.x.
https://github.com/firegento/firegento-adminmonitoring

How to get user product edit logs?


Will a fishmonger or bait shop clean a fish you caught for a fee?

Question: I love fishing, especially saltwater surfcasting, but up until now it's been mostly "catch and release" - this summer I would like to try fresh-caught striped bass or bluefish. I am terrible at cleaning and gutting fish, and I would prefer not to hack my catch into inedibility. Do independent fishmongers clean and fillet fish brought in by customers for a fee? How about bait shops?
Comment: If you're doing it in an area where there are other people fishing, ask them.  (they'll either be able to tell you where to do it, or you might be able to pay them to do it if they brought the right supplies)
Answer: It depends upon where you plan to fish. Communities that have a big fishing tradition will certainly have people that will do that. The bait shops near the fishing spot will know who to ask.
Answer: When I was a fishmonger we would clean and cut for a small fee per pound. If you were a regular and had manners, we'd do it free. Try to avoid the Friday and Saturday rush, if it's a busy shop.


Calculating the probability of transmission of a wave function between two delta distributions

Question: Given is the potential :$V(x) = \frac{-\hbar^2}{m}D\delta(x+a) - \frac{-\hbar^2}{m} D\delta(x-a)$ with $a >0$ and $ D > 0$. A stream of particles from the positive $x$-axis are falling towards the potential and I want to calculate the probability of transmission. I would need help with the boundary conditions. My Ansatz is: $\psi_1(x) = Ae^{ikx}+Be^{-ikx}$ for the incoming wave, $\psi_2(x) =Ce^{ikx}+De^{-ikx}$ for the wave between the delta distributions and $\psi_3(x) = Ee^{ikx}+Fe^{-ikx}$ for the wave function $\psi > a$ with $F = 0$.
These are my conditions until now:
$\psi_1(-a) = \psi_2(-a)$
$\psi_2(a) = \psi_3(a)$
What are the other conditions? I was thinking of calculating the transfer matrix first and afterwards the transmission.
Answer: Ok your ansatz about the form of the $\psi$. Now, the other conditions you need come from the discontinuity of the derivative through the delta potential. If you take the time-independent Schrödinger equation and integrate it around a delta (see, for example, here for the steps), then it can be shown that in the case of a potential like $V(x)=\gamma\delta(x-x_0)$ the derivative must possess a discontinuity given by
$$
\left.\frac{d\psi}{dx}\right|_{x\to x_0^+} -
\left.\frac{d\psi}{dx}\right|_{x\to x_0^-}
= \frac{2m\gamma}{\hbar^2}\psi(x_0)
$$
in your case $|\gamma|=D\hbar^2/m$ and hence for the two $\delta$s you have
$$
\left.\frac{d\psi}{dx}\right|_{x\to -a^+} -
\left.\frac{d\psi}{dx}\right|_{x\to -a^-}
= -2D\psi(-a)
$$
and
$$
\left.\frac{d\psi}{dx}\right|_{x\to +a^+} -
\left.\frac{d\psi}{dx}\right|_{x\to +a^-}
= +2D\psi(+a)
$$
Since you have 6 constants $A,B,\dots,F$ to determine, these 2 conditions plus the 2 you wrote plus the $F=0$ will leave us with just one free parameter that should be absorbed in the computation of the reflection and transmission probabilities.
Edit: in the last line I originally wrongly wrote $\psi(-a)$ instead of $\psi(+a)$, now it is corrected.
Comment: Why do you have $+2D(-a)$ when $/gamma$ is $\frac{-D\hbar^2}{m}$? When I try to solve this, I get $A = -Be^{2ika}$ can you confirm this? I get $B=D$ and $A=C$ by Equating the coefficients and I'm not quite shure if this is allowed. I'm also not shure which $\psi$ you mean after the equal sign when you say $ \frac{d\psi}{dx}_{x\rightarrow a^+}-\frac{d\psi}{dx}_{x\rightarrow a^-} = -2D\psi(-a)$ In fact I thought I can choose which Ansatz I like for that $\psi$.
Comment: I made a typo sorry: in the last line it is a $+$ and not a $-$ sign so that it is $+2D\psi(+a)$. Probably the results you found are due to this. I will correct the answer.
Comment: But still I don't understand why it's $+2D\psi(a)$ instead of $-2D\psi(a)$?
Comment: In the potential you wrote there is a minus between the deltas, so in turn the minus in front of $\delta(x-a)$ gives a $+$ in the discontinuity.


Where in Judaism does it describe the journey of the soul in the afterlife?

Question: Where in Judaism does it describe the journey of the soul in the afterlife? Sources, that I am looking for stem from kabbalah teaching or the zohar. Also,I am searching for primary sources, so if they are in hebrew a translation as well as the hebrew text would be much appreciated. Otherwise I can translate it.
Comment: If they're in Hebrew, then you want a translation; otherwise, you can translate it. So… you know every language except Hebrew?
Comment: Correct lol, I will fix that
Comment: Duplicate of http://judaism.stackexchange.com/q/47936?
Comment: see [here](http://judaism.stackexchange.com/a/69016/11501) for some relevant material
Comment: See chapter 87 of the Minchat Yehuda. http://hebrewbooks.org/pdfpager.aspx?req=33796&pgnum=80
 -- Also available in English: http://www.amazon.com/Rabbi-Yehuda-Fetaya-Minhat-Hardcover/dp/B00SB1AG7W/ref=sr_1_2?ie=UTF8&qid=1458894653&sr=8-2&keywords=minhat+yehuda
Answer: here's something by Rabbi Yirmiyahu Ulman

The Zohar says that before death a person gets a preview of his
  portion in the soul world: "When a man is about to die, and judgment
  hovers about him so he would depart from the world, a supernal spirit
  is added to him that he did not have during his lifetime. When it
  hovers about him and cleaves to him, he is able to see what he never
  saw in his days, due to the additional spirit in him. When the spirit
  is added to him…his eyes are opened to the sight they have just seen,
  and…if he has a son, the son should be the first to put his hand over
  his eyes and close them. As it says, 'And Yosef shall put his hand on
  your eyes,' for another unholy sight is come before him and the eye
  that beheld the supernal holy sight must not look at the other sight"
  (Zohar, VaYechi).
Then the Angel of Death appears: "It descends and stands at his feet
  with a sharp sword in his hand. The person lifts his eyes and sees the
  house walls radiant with fire. At the same time, he sees him, full
  with eyes, dressed in burning fire in front of the man…There are three
  drops on his sword. When he sees him, his entire body and spirit
  tremble and his heart does not rest, being the king of the entire
  body. Then his spirit travels throughout his organs and takes leave
  from them like a man who takes leave from his friend to go
  elsewhere…The person shudders for fear and wishes to hide but does not
  have the capability. When he realizes that he is powerless, he opens
  his eyes and he has to look at him with his eyes open. He then gives
  over his life and soul" (Zohar, Naso; Avoda Zara, 20b).
The departed soul is then escorted by angels, departed tzaddikim, and
  departed relatives and friends...

from http://ohr.edu/yhiy/article.php/2488
see there for more


What is the pressure at the bottom of an open-end manometer?

Question:
How do we evaluate the pressure at the bottom? My approach is to add the atmospheric pressure, pressure of the gas and pressure due to the two columns (say of height h1 and h2 respectively h1<h2). This method is giving me wrong answers in questions. Am I supposed to consider only one side of the manometer?
Comment: A manometer is used to determine the difference in pressure between the trapped gas and the atmosphere.  Nobody is going to find the pressure at the bottom of the manometer tube to be a useful measurement.
Answer: You know the pressure at the bottom of a column of fluid:
$P = P_0 + \rho g h$
In your problem above you have two columns that you could use for the equation, but only one of the columns has a known pressure.
I'm not certain what you mean by "pressure due to the two columns" as you did not include any solution in your question.


Why won't my furnace filter go in?

Question: This is the first time I am replacing the filter for my furnace. The old filter is 20"x20"x1" and I got a new one that's 20"x20"x4" since there's a 4" slot. However, there's a little plastic thing blocking the 4" filter from going in. I can probably unscrew and remove it but there's probably a good reason it's there.
Comment: Apparently the slot isn't a true 4", which is probably part of why a 1" filter was installed. Try 2"?
Comment: @dandavis That's just not true. Some wide filters are designed for the same filtration as their narrower brethren, but with easier airflow and longer filter life, especially as it takes them longer to get filled with filtered debris that restricts flow.
Comment: The thinner/cheaper a filter you use, the cheaper it is to cool and warm your house. If you have air quality issues, it's a lot better to buy a stand-alone filter than to lower the efficacy of your HVAC. Since it consumes a lot of power, even a small difference can be reflected in your bill.
Comment: @dandavis Do you happen to have a reference site that goes into the details of what you are saying?  It would be interesting to learn the savings potential versus the cost of buying, running, and maintaining separate filtering units.  An HVAC system designed properly for an entire structure will have the economy of scale and possibly do a much better job than a couple stand-alone filters sitting in corners.  It will be interesting to read if someone or some company has performed a quality analysis of the issues involved.
Comment: @EndAnti-SemiticHate No, just my own experience. In the cold snap a few years ago our furnace struggled to keep up, got down to 54 inside. We replaced our 5" filter (with another 5") and it started slowly crawling back up, but still under 60 after 4 hours. On a whim, I replaced the 5" filter with a cheap 1" I had around, and it reached 68 in about an hour. Ergo, my furnace can put far more heat into the house with a "barely legal" filter than a "good" one. There's some caveats, ideally fan speed might need to be lowered or hysteresis increased to stop short-cycling, but my results speak aloud.
Comment: @JoelCoehoorn true, tighter filters that are wide are better than skinny, but I'm talking about subbing in _less_ filtration, thus less drag, thus more air over the coils, thus cooling/warming the coils more at a given fan speed, thus decreasing the duty cycle of the HVAC, thus saving energy. I do use the thick filter mostly, but keep a $2 one for heat waves and cold snaps, and it's worked well several times.
Answer: The thin (1") slot is for a standard passive filter.
The larger slot is for an electronic air cleaner. A much more complex and expensive beast. I have them in my furnace. They haven't really worked in many years, but they are still there, and I clean them (since they do catch some of the dust) when I clean the other filters. I have metal mesh filters rather than the disposable filters, so they get a good cleaning instead of replacing.
My hunch is you had one and it stopped working and someone (e.g., previous owner) removed it. Something like this Honeywell:

When the main section that is in the air path is removed, it looks like the picture in the question.
Comment: I use nice large disposable filters that slide into the slot where the electrostatic precipitators went. I think the question is more how to spec the filters they buy to fit the slot properly, which can take some trial and error.
Comment: You are right, so I got an air cleaner that takes a renewable filter. But if I remove the plastic, I can fit the 4" single use filter perfectly, is that what you did or you installed a filter housing in a different section of the duct?
Comment: Mine has the BIG middle thing, and it has a washable thin metal mesh filter next to it, similar to the size of a typical disposable filter (actually maybe a little thinner than the disposable). It goes in a slot right next to the BIG middle thing - your picture shows a similar slot, actually slots on both sides of the BIG middle thing.

Why won't my furnace filter go in?


Infant needs help with pacifier falling out of her mouth, she can't keep her pacifier in her mouth. How to stop pacifier from falling out?

Question: The real problem here. My hands are numb from putting a pacifier back in place all the time. My daughter (4 weeks old) seems not to be able to keep the pacifier in her mouth. She sucks it for some time, then she relaxes and suddenly pacifier falls out. The hell breaks loose then. She will not stop crying bloody murder unless I find the fallen-out pacifier and put it back in her mouth for her. I am watching her, so I know this is unintentional. She can't keep her pacifier in her mouth. This is causing lots and lots of distress for both, us and her. We are on the 15th different brand of pacifiers, none seems to sort the issue. she wants the pacifier, that's for sure. Some brands are better than others, but none solves the issue completely. Has anyone had a similar problem? How did you go about it? Either I or my wife, are stuck next to our baby daughter for hours, just putting the pacifier back in her mouth and hoping she can keep it longer this time. We tried pulling it slightly to improve her sucking but no luck so far.
Answer: This one you'll just have to wait out. 4 weeks is very young. She'll gradually start to sleep deeper and longer, and not wake up because of the missing pacifier. Eventually, she'll learn to put it back in herself, but that's months down the line.
What you must absolutley NOT do is to use cords or rubber bands to fix the pacifier so she can't spit it out, because that can cause suffocation.
Answer: I agree with Michael Borgwardt that she is not yet capable of holding in a paci.
Dr. Ferber talks about this in his book, and he recommends training them to sleep without a pacifier.  I know that will involve a lot of screaming, but I'm not sure if you have other options that don't involve one sleepless parent per night for the next few weeks.
(My daughter actually was able to suck her thumb through the night at that age, but I don't know of any methods of getting a child to transition to a thumb.  )
Wishing you lots of luck in sleep training.
Answer: You could just not use a pacifier at all.  Babies don't always have to have something in their mouths.
You might use a pacifier to "pacify" her for a few minutes after you take the bottle or boob away after feeding for a few minutes until she settles down.  Or, maybe a few minutes before feeding while you get things ready, but in general, she shouldn't need to have one for extended periods of time.
If she constantly needs one, I'd ask your doctor what might be driving that need.  ie.  is she still hungry.
Wean her off of it .. and don't have her suck her thumb instead, that's a horrible alternative.  Take it away little by little over the course of a week or so and she should adjust to not having it. Letting her "cry it out" is ok.
I know as a new parent hearing our babies cry for what seems like an endless period of time really pulls on our heart-strings, but it really is ok to let them cry.  They will get tired of it and generally stop on their own, or just fall asleep.
Comment: I ween thou mayst mean "wean" :)
Answer: You should rule out a few other possible sources of your child's discomfort first - just to make sure it's really the lack of a pacifier keeping them awake.
How long do they stay asleep?  4 weeks old is the age where their sleep cycle is still very underdeveloped, and they are unlikely to stay asleep for very long.  Do not expect them to sleep through the night jst yet.
Also, are you certain that they are getting enough nutrition as well?  Keeping the baby well-fed should reduce the dependence on pacifiers to sleep.
If you can rule those things out, I'm afraid your only other recourse is to either stay by their side to replace the pacifier, or start working on getting them to sleep without it.
Answer: You should try a Giggly Tots Pacifier holder bib. It works great for my little one, just make sure you take it off before the baby falls asleep.
https://www.amazon.com/stores/GigglyTots%C2%AE/page/89B10467-8175-42C5-A846-146944A344F3?ref_=ast_bln


Free action of finite direct product

Question: Let's consider free action of finite abelian group $G = G_1 \oplus G_2$ on a manifold $X$.
Is it true that $X/G$ is diffeomorphic to $(X/G_1)/G_2$?
Comment: What do you mean by $X/G$? Do you mean $|X|/|G|$? right part of equality is also confusing.
Comment: $X/G$ is a quotient space. The equality means that $X/G$ is diffeomorphic to $(X/G_1)/G_2$
Comment: Right,Now it is clear.
Answer: yes, it is true (more genrally for free actions of compact lie groups): Let $[x]_1$ denote the equivalence class of the action of $G_1$ via $h.x = (h,e_2)x$, where $e_i$ is the identity element of $G_i$.
First the action of $G_2$ on $X/G_1$ via $g.[x]_1 = [(e_1,g).x]_1$ is well defined and free, what is easy to check. Let its equivalence classes be denoted $[\ ]_2$. So the spaces $X/G$ and $(X/G_1)/G_2$ both have a natural smooth structure. A diffeomorphism $f : X/G \to (X/G_1)/G_2$ is simply given by
$$[x] \mapsto [[x]_1]_2.$$
This is true in general. However in your case this is very easy to check: since the groups are finite the projections $p : X \to X/G$ and $\pi : X \to (X/G_1)/G_2$ are local diffeomorphisms. Also clearly $f \circ p = \pi$. Let $p \in X$ and $U$ be a neighborhood such that $p$ and $\pi$ restricted to $U$ are diffeomorphisms onto its images. Then $f_{p(U)} \circ p_U = \pi_U$, or $f_{p(U)} = \pi_{U} \circ (p_U)^{-1}$, that is $f$ is a local diffeomorphism. It is easy to check that $f$ is in fact bijective, so it is a diffeomorphism.
In general one can consider the map $f$ in charts obtained from slices of the action to see that it is a diffeomorphism.

Free action of finite direct product


smash up? run out of cards

Question: Recently I was playing ninja-mages deck. After I gained 14 points my deck run out of cards.
What should I do when I can't draw cards anymore? (because my deck is empty)
Answer: This is covered on page 4 of the rules.

If you need to draw or reveal a card and your
  deck is empty, shuffle your discard pile. Put it on
  the table face down—that's your new deck. Start
  drawing from there.

If you have no discard pile as well, that would be a very odd game!  I've never seen a game go anywhere near that situation though.
Comment: That would pretty strange indeed. As you discard down to ten after drawing two cards at the end I see only two possibilities to empty both discard and deck: 1. all your creatures and permanent enchantments are placed at bases - but still they can't be counted yet or 2. you draw empty your deck and discard and hold the cards in hand BEFORE you have to discard down to ten.

smash up? run out of cards


Get post ID before add_theme_support

Question: I need to enable font sizes options in editor with add_theme_support, but only for the specific post types and page templates.
To distinct them, I need to get the post ID in the WP admin, before add_theme_support gets executed.
The problem is that hook I am using is after_setup_theme, and seems like page ID is not initialized at the time this hook fires.
Is there some other hook I can use for add_theme_support ? Or is there a way to somehow get the post ID during  after_setup_theme ?
P.s. $_REQUEST['post'] wont work because I need the ID when creating a new post as well.
Answer: you can use the admin_enqueue_scripts hook to add support for the font sizes options to specific post types and page templates in the WordPress admin.

Get post ID before add_theme_support


Upgrade Windows 8 standard edition to professional edition

Question: Is it possible to upgrade Windows 8 standard edition to professional edition? If yes, how?
Answer: Yes, you simply buy an upgrade kit.
See here for details
Answer: Open up search on the charms bar and look up "Upgrade" in settings. For the next step it will ask you for a Windows 8 serial. Now this part I'm not sure if its the Standard or the Pro serial but preferably the Pro serial will do. Once that's done you just follow the installer instructions and it will install Windows 8 pro and its features along with it.


Finding stellar radii

Question: Is apparent magnitude of star, distance(in pc) and effective temperature enough to calculate its stellar radii or we need some extra information?
Comment: You'll also need its spectral type, at the very least.
Comment: You don't need any additional information.
Answer: You need to find a bolometric correction from the effective temperature (this is reasonably insensitive to gravity and metallicity, which you don't know). Then convert the apparent magnitude into a bolometric magnitude and then into a flux. Then, I suppose you have to assume there is no extinction to estimate the intrinsic luminosity of the star by multiplying by $4\pi d^2$.
From there you can approximate the star as a blackbody and use Stefan's law, your intrinsic luminosity and the given temperature to estimate a radius.
So to answer your question directly: no. You need to know the extinction and, to get an accurate estimate, you would need to know the type of star, its chemical composition and use a better model than a blackbody for its spectrum.
Comment: We can just use distance modulus formula if an approximation is  required I suppose
Answer: Yes

Convert Apparent magnitude into absolute magnitude using distance modulus.
2.Then use stefan law and Flux Luminosity relationship.

Finding stellar radii


Android Navigation Drawer

Question: What is  the best way to implement the navigation drawer through multiple activities or with the help of fragments.Currently i am working with the help of multiple activities is this right way of doing it?
Comment: What do you mean by navigation drawer through multiple activities?
Answer: You should use Fragments for android. Its the best way. If you use Fragments you do not have to write the code for providing the functionality of Navigation. Its the most recommended way in android for navigation. Refer the docs.
Navigation Drawer with Fragments is the most recommended approach. It provides lot of flexibility rather than activity. I advise you to implement with Fragments. If you wanna do in  standard approach the Fragments are the right and the most correct way.
Check the Design Specifications.
Comment: I am using Navigation Drawer by activities instead of fragments.I have created all my activities so do i have to change all those activities in fragments.
Comment: @Prathamesh Your MainActivity will contain the navigation Drawer. The Fragments will be the page/form that is generated when u will click in the options it will be replaced by the existing page.
Answer: Try ActionBarSherlock Navigation Drawer. It will work with API level 8 also. So try this and this link. And you have to work with fragments rather than Activities.
Comment: can use appcompat for backward compatibility.
Comment: I am using Navigation Drawer by activities instead of fragments.I have created all my activities so do i have to change all those activities in fragments.
Answer: I think I know the problem you are facing and I recommend you to check out this article I've written about the Nav Drawer navigation.
When you have clear on which places you are showing the Drawer then the best way to implement it is using the Android Support Design Library.
When you have different activities where you are showing the Drawer (this could be different hierarchy levels in your app) you'll have to create/reuse a new Drawer on that activity that knows on which activity is in to show as selected that entry on the Drawer.
I don't know if that is exactly your question but hope so.

Android Navigation Drawer


How can you see how many lives you have in Minecraft?

Question: How can you see how many lives you have in Minecraft?
Answer: Minecraft has only two categories Unlimited lives: Which would be creative mode, survival mode, and adventure mode.  Or One life: which would be Hardcore mode:  Although you may die, in most game modes you will be given the option to revive.
Answer: In Vanilla Minecraft, you have an infinite amount of lives, so naturally - There is no limit on how many deaths you can do*.
In Hardcore Mode however, you only have one life, and that life is determined whether you're still playing or staring at a Delete World button.
For mods, such as Hardcore Questing Mode, you can find your remaining lives in the front page of the quest book.
*Assuming you're not using any command blocks or mods.

As for the number of times you have died, you can display it in the scoreboard like so:
<code>/scoreboard objectives add Deaths stat.deaths Deaths
/scoreboard objectives setDisplay sidebar Deaths
</code>
or you can find it in the Statistics menu.


If I solder outside do I need a fume extractor

Question: I've been looking into soldering and read up on the health risks and I noticed you need a fume extractor. I was thinking about using a fan but I don't think that safe. If I solder outside will I need to purchase a fume extractor or is the natural ventilation enough, also can I do it in a garage with the garage door open?
Comment: Do note that REAL fume extractors are very expensive. $500USD is the very bottom end and very easily and quickly is >$1k) and anything cheaper is not worth using or owning. Better ventilation, fans, or a HEPA filter respirator would be much better bang for buck. Note solder fumes are mostly particles, not vapours so no need for chemical cartridges which have a shelf life and wear out.  Furthermore, HEPA filters only get better at filtering as they clog up. They do not allow more particles to pass through as they clog but will reduce airflow.
Comment: Just try not to stand over the fumes for a long time and have vents
Comment: If you use a cheap soldering iron then it will not have any temperature control and will. cause unhealthy flux smoke instead of a pleasant harmless flux aroma. All my life I have used a temperature controlled soldering iron and never soldered in a tiny closed closet.
Comment: Actually being outside should be no problem, especially if there is even the slightest of breezes. But I do not consider being at the back of in an open garage (where I assume your bench is) to be outside because there is no pass-through breeze. On really wind days you can see dust just blowing around in circles inside the garage; It doesn't actually get blown out.
Comment: A small (4-6 inch) fan at the very least. Don't need to point the fan directly at the work, point it just off to the side, cross flow relative to you, and it will gently draw away the smoke
Comment: This EE answer should help - it covers far more than jut solder type. [What type of solder is safest for home (hobbyist) use?](https://electronics.stackexchange.com/a/19086/3288) . Also see [Which are the safety recommendations for soldering?](https://electronics.stackexchange.com/q/161139/3288)
Answer: Whether my soldering area is fume-extracted (work) or not (home), I make it a habit to take a deep breath before starting, then breathing out gently while I make the joint. This is not a method recognised by any health and safety authority, but it works for me.
At home, by the time I breath any flux fumes, they are diluted by many orders of magnitude in the air of the room, and have cooled down.
Comment: I do exactly the same thing :)
Comment: @fifi_22 I knew someone who smoked 20 a day for life and died peacefully at 88. Does that mean smoking is safe?
Comment: Fume extractor is just wasted money, I solder everyday for years and don't any problems. It may be useful only if if You use some agressive flux (which You normally doesn't use)
Answer: I'm managed to get through most of my career without a solder fume extractor despite being a bit sensitive to the flux fumes. Helps that I use rosin-flux and temperature-controlled irons. So you don't actually need it for occasional soldering if you avoid breathing the flux. The smoke does perversely tend to curl up towards the operator. A fan from across the room will prevent that. A nearby fan might cool the solder joints excessively.
Soldering outside would add an additional variable to the soldering if there is a breeze and isn't terribly practical for much of the year here in Canada since gloves and/or below-zero temperatures tend to negatively affect the dexterity.
I recently (this month) threw together a 3D printed fume extractor from a salvaged 80mm 12V power supply fan and 3D printed parts (you can find similar items based on 120mm fans on Thingiverse, and mine was loosely based on those). Mine will take a 5mm activated carbon filter whenever it arrives from China. In the meantime it moves just enough air to make a difference. I used a 9V adapter to keep it quiet, for more airflow a 12V one can be substituted. Other than the $3 filter, out-of-pocket cost was zero.
Comment: I would purchase this!
Comment: "... despite being a bit sensitive to the flux fumes"  I got that too. And how do you think we ended up being sensitive to them? I wasn't sensitive to them fresh out of school.
Comment: @Lundin I had serious asthma as a child, so I don't think it was acquired by soldering. I don't think the flux helped.
Answer: If it's just for occasional hobbyist purposes, then you don't need it - holding your breath as advised in another post is what you'd do then. The main problem is that in order to see what you are doing, you ideally want to have your face just above the object, so the smoke tends to right up into your nostrils, regardless of how well ventilated the room is.
You should seriously be concerned about the fume if you do extensive soldering work, like when mounting a full PCB or series production. Then you need a fume extractor, period.  The smoke from the vaporized flux is no laughing matter, it will give you all kinds of nasty allergies and other health problems.


why local CPU must have interrupts enabled, otherwise kernel preemption is not performed?

Question: I read the book "understanding the Linux kernel". I cannot understand a sentence,that is ,the local CPU must have local interrupts enabled, otherwise kernel preemption is not performed. What is the meaning of this sentence?
Comment: Don't have that book, I would assume its saying that preempt is done when the CPU receives an interrupt—so with them disabled, it won't work. You could help someone with the book to give you a non-guess answer with some more details (e.g., some context from the book and also section or page number where that sentence occurs).
Comment: If you want a deeper guess, it implies that pre-emption switching from one process to another requires a timer to work, which requires an interrupt to run.
Answer: That sentence from the book is incorrect. Preemption can still happen with IRQs being disabled. Sort of.
Preemption is tricky because it can be triggered in a variety of ways, only one of which is through interrupts. For instance, you could always preempt your code directly by calling schedule() which doesn't care about preemption enabling/disabling or about interrupts. cond_resched() is another function which doesn't care about interrupts being disabled.
So the answer to the question

why local CPU must have interrupts enabled, otherwise kernel preemption is not performed?

It doesn't. Preemption can still happen with interrupts disabled. Asynchronous preemption that can happen at any moment can't happen with interrupts disabled. But preemption caused serially by code that you're executing can still happen. Warnings about this exist in the documentation.
However, it doesn't help the confusion that some of these synchronous code paths, like through preempt_enable(), are refuse to preempt if interrupts are disabled. Other paths like cond_resched(), still allow it. The reasoning is likely because of how explicit the function is. cond_resched() is an explicit preemption request, similar to schedule(). Things like preempt_enable() are less explicit, and could trigger preemption accidentally, so it prevents preemption if interrupts are disabled.
Answer: If local (context implies "on This CPU") interrupts are forbidden, the (local) CPU will never see an interrupt to trigger possible kernel pre-emption.
Comment: but in function preempt_enable() which includes "if (!current_thread_info->preempt_count && !irqs_disabled()) {
current_thread_info->preempt_count = PREEMPT_ACTIVE;
schedule();
current_thread_info->preempt_count = 0;
}". Why does the if statement chech whether the local interrupt is enabled by !irqs_disabled()


Updating rows in tables concurrently using Multithreading in Java

Question: I have an excel file with 50000 rows and I'm updating a MySQL table using hibernate by uploading that excel file from a Java Program. It is taking a huge time to update all the rows. Can it be possible if I divide batches of 100 rows in excel file and assign different batches of rows to different threads to concurrently update the rows in table from multiple threads ?
Comment: Does your program use transactions? (and is the table InnoDB?)
Comment: No, it is basically a simple java program which is updating the rows in table sequentially from excel. And yes table is InnoDB
Comment: hibernate should be able to send (flush) multiple rows to the database and commit many of them in one transaction, but that is probably a question for stackoverflow with showing some code how are you doing it
Answer: You can split your file  into multiple files.
Try POI-HSSF and POI-XSSF - Java API To Access Microsoft Excel Format Files (Apache POI Project)
Here's an example of how to read an Excel file :
<code>    POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(file));
    HSSFWorkbook wb = new HSSFWorkbook(fs);
    HSSFSheet sheet = wb.getSheetAt(0);
    HSSFRow row;
    HSSFCell cell;

    int rows; // No of rows
    rows = sheet.getPhysicalNumberOfRows();

    int cols = 0; // No of columns
    int tmp = 0;

    // This trick ensures that we get the data properly even if it doesn't start from first few rows
    for(int i = 0; i < 10 || i < rows; i++) {
        row = sheet.getRow(i);
        if(row != null) {
            tmp = sheet.getRow(i).getPhysicalNumberOfCells();
            if(tmp > cols) cols = tmp;
        }
    }

    for(int r = 0; r < rows; r++) {
        row = sheet.getRow(r);
        if(row != null) {
            for(int c = 0; c < cols; c++) {
                cell = row.getCell((short)c);
                if(cell != null) {
                    // Your code here
                }
            }
        }
    }
} catch(Exception ioe) {
   }
</code>
Answer: If updating all 50K rows is a common practice, then you have designed the schema wrong.  Please elaborate on the schema; we may be able to suggest ways for the "updates" to happen when you fetch the data.


What was "Bob" in Twin Peaks?

Question: I understand that Bob somehow possessed Leland Palmer, but what exactly was he and what was his relationship to the Black Lodge? What was his origin?
Comment: Microsoft 5 years later? https://en.m.wikipedia.org/wiki/Microsoft_Bob
Comment: He was an human replicant sent out to explore the universe.  (Sorry, reading the Bobiverse series, couldn't resist)
Answer: He originated from The Black Lodge, which was a place of evil in another dimension.  He was described as 'a demonic being' who feeds on pain and suffering by inhabiting humans and manipulating them to commit violence.
I believe that at some point he was human, and a serial killer.
Comment: "An inhabiting spirit" --Mike
Answer: From the Twin Peaks FAQ:

This is perhaps the greatest mystery/question of Twin Peaks, a source
  of endless debate, and an issue to which each viewer must attach their
  own interpretation and significance.
[...]
This much is given to us: BOB is a disembodied spirit capable of
  taking over a human being.  After he takes over, he manipulates his
  human host to commit acts of sex and violence and 'feeds' upon the
  emotions this produces.  He is connected in some manner with other
  spirits which appear in either or both of the Black Lodge and White
  Lodge.  An entrance to the Black Lodge (shown as the red room) is in
  Glastonbury Grove in the woods outside of Twin Peaks.  See questions
  E39 and E40 for more on the Lodges.
Answer: As I understand it, the black lodge and white lodge represents the "bad" and the "good", most deep human edges. The doppelganger (a surrogate in life) mention will create the idea of all of us being both, more close to the white or black lodge, but both in the end.
Twin peaks happen to be more influenced by the black lodge, as you can tell by their inhabitants.
Keeping this in mind, Bob is actually the summon representation of the sin and the black lodge head in twin peaks.
In a less philosophical matter, Bob is actually a technician (the actor), that appeared at the bottom of a shoot by chance. David Lynch (Twin Peaks' director) saw him and found it creepy as hell and he liked it, so he added him as "Bob" in the story to made the black lodge thing clearer.
Answer: The 2017 Season 3 Episode 8 would appear to show the origin of Bob: In 1945 New Mexico, the first atomic bomb is detonated. The camera slowly takes us inside the nuclear explosion where it seems the nuclear explosion has broken through or made a hole to some other dimension. There, floating in a void, a demonic figure (credited as "the Experiment") spews a stream of fluid;

One globule shows BOB's face.

This would appear to be the birth of the spirit Bob & his entry into earth. So he is a supernatural entity from the outset.

What was "Bob" in Twin Peaks?


Best collision shape for rooms

Question: I'm wondering what is the most efficient collision shape to use with APIs like Bullet or Havok for rooms/interiors. Rooms tend to be boxes but are concave since the normals point inward which means no to the box shape. Rooms also can have holes in the walls (doors, windows, etc) too. If I'm assigning shapes with a modeling tool like Blender it seems like my only option is a Triangle Mesh shape but it seems like I should be able to get away with a cheaper (performance-wise) shape for something like this.
Comment: bullet or havok are supposed to build bsp tree for your rooms. but am not sure what do you mean by shape, aren't you supposed to pass the polygons/triangles?
Comment: Boxes are pretty efficient... Collision meshes are not in case you have too many triangles.
Comment: The question is lacking cause it doesn't contain any details of the game level design. If the game is an FPS like Quake and HL where the rooms are very complex composite areas built from dozens or hundreds of convex shapes than obviously, this is the data you want to pass (unless the detail is just scenery and you can't walk to the complex detailed areas and they are just there for decor). If the rooms in the game are very simple, you may be able to get away with representing the walls, floors and ceilings as boxes.
Answer: Boxes are not what you want; they are solid. (That is, they have a filled interior. Anything inside a box will be thrown out of it.)
Assuming you wrap the triangle mesh in some sort of bounding hierarchy (such as Havok's MOPP or Bullet's BvhTriangleMesh) you should not see any performance problems unless you are running massive numbers of casts or simulating massive numbers of objects. AAA games regularly represent level geometry with mesh shapes consisting of tens of thousands of triangles; if you have shapes as simple as you describe you should be fine.
Answer: Not all rooms, halls and pathways are born alike. Some games have very plain level design. For instance in some Beat'em Ups VS fighting games, classic RPGs and some other games, the rooms are sometimes very square and planar. If the rooms lack any complex detail that the player is supposed to interact with physically (as in jump on or bump into), you may be able to easy define walls as boxes.
In most (99.9%) FPS, Adventure and modern third person RPG games you will likely not get away with that. In these games the level is very detailed and there are lots strangely shaped corridors, platforms, terrain and also maze-like structures that you simply load into the physics engine knowing the player will likely physically interact with it. You may however often want to have a detailed (high-poly) mesh for rendering purposes and a very rough (low-poly) one for physics.

Best collision shape for rooms


ModelBuilder using iterator as precondition

Question: Was wondering how I can iterate over field values and when all the iteration is done to move onto the group at the end. I've tried setting a precondition within the loop but that just causes the whole data processing to run every loop which would cause the model to take a lot longer. I also tried making that section it's own model but there is no output so I can't set a precondition.
Answer: I have never tried it but create a submodel which iterates then add this submodel to your main model:

All tools that need to run multiple times should be placed in one
model with a model iterator and used as a submodel. The tools that
only need to be run once should be placed in the main model, which
calls the iterating submodel.

See: Advanced use of model iterators
Comment: OK, yeah I needed to make the output a parameter to get it to show up as a submodel. Now my problem is the data processing after. It is all just messed up when it worked perfectly on the table beforehand. It seems to just randomly process some rows but not others. Is there something else I needed to do?
Comment: The errors I get are: 002116: Unable to convert all the values from LMT_Date to DateString, but it doesn't say why. Also warnings like 002858: Certain rows set to NULL due to error while evaluating python expression, but the python expression worked perfectly when running it on the table before I started deleting rows.


What are some of the most widely used fuzzers for solidity?

Question: I can't seem to find a good overview of the current state of Solidity fuzzers and don't know which ones might be considered old at the time of writing. I have been looking into echidna and foundry. The Solidity docs also mention SMTChecker. I would be grateful for any additional information/experiences with these libraries.
Answer: tl;dr hevm, Echidna, Harvey, Foundry
I keep a list of formal verification tools, and recently separated tools by fuzzers as well: https://github.com/leonardoalt/ethereum_formal_verification_overview
(need to update with Foundry)
SMTChecker is a model checker based on Horn solvers, it overlaps with fuzzers in what it can achieve, but both have different and complementary pros and cons.
Comment: Amazing, thanks. Is there any that you'd personally recommend to someone starting out with formal verification?
Comment: In general (not only fuzzers or fv): Slither, Echidna, Act, hevm/dapptools, Foundry fuzzer, Scribble, SMTChecker. A few others are not open access.


Service Broker messaging which calls Web Service not ending

Question: I have a service broker message queue, each message calls a web service via a CLR stored procedure to do some processing
I have an issue where the conversation does not end, it works fine, everything it needs to do is done, it doesn't error, but the conversation never ends even though EndConversation is called.
It seems to be coming back from the web service call and calling EndConversation before the processing that the web service is doing has completed, and so the conversation does not end and the message is called again.
Is there anyway to stop the web service call coming back before it has completed so then the conversation in the message queue can end successfully.
I believe this is what is happening because if i cut out some of the work the web service call is doing so that it runs quicker than everything runs fine and the conversation ends.
I have also stepped through all of the steps happening in the web service call, and everything works, there are no errors etc.
Answer: May need to see some of the code, especially the initiator.
Are you using explicit transactions?
Make sure you have a COMMIT TRANSACTION statement after END CONVERSATION.


Different ways of derivation of Gell-Mann-Okubo mass formula

Question: Recently my teacher told me that there are many ways of deriving the Gell-Mann-Okubo mass formula by using group representation theory (by using dynamical group etc). Where can I read about these ways?
Answer: One place you could look for a rather neat derivation (that I haven't really found elsewhere) is Lecture 38 and 39 from the series that Sidney Coleman gave at Harvard in 1976. The series is available online at the Harvard physics website. He says he learnt that method himself from Smorodinsky (Russian mathematician) at the Dubna conference (probably in the mid sixties). It uses the 33 element of the octet, as well as the co-factor matrix.


Who were Anonymous I-III? Was there an Anonymous V?

Question: An important treatise on medieval music theory was written in the 13th century.  His or her name was lost to history, and a 19th-century French historian later dubbed him/her "Anonymous IV".  This styling implies that there were at least three other Anonymouses (Anonymi?) discussed in the same work, but I have been unable to find any information about them.  Who were they, and what contributions did they make to music theory & history?
Comment: Are you talking about de Coussemaker's books? I think they're only in French, but quite a few seem to be on [the internet archive](https://archive.org/search.php?query=coussemaker). (My apologies if I'm referring to completely the wrong person.)
Comment: Wouldn't that make the current anonymous "Anonymous V"? I don't know if anything could make them happier. :P
Answer: There were others. Some one (or some authors) called the authors of several treatises "Anonymous #" for various numbers (#).
https://en.wikipedia.org/wiki/List_of_music_theorists lists quite a few and assigns each a work, that one wrote. There are also some who did not have a number but a location instead.
Anonymous 4 seems to be the most commonly referenced.
Answer: According to Wikipedia:

The term originated in Edmond de Coussemaker's compilation Scriptorum de musica medii aevi, Volume 1, where the treatise appears fourth in a series of anonymous writings. He heads it "ANONYMI IV," which could mean "by Anonymous IV" or "by anonymous[:] IV". Richard Taruskin, in the Oxford History of Western Music, has insisted that the designation apply only to the treatise and not to the author. However, Taruskin's suggestion goes against common usage and has not, at least yet, gained popular support.

Frankly, if there aren't multiple treatises somehow attributed to the same anonymous author, it doesn't much matter whether the designation identifies the author or only the treatise, though there isn't much need to identify the author separately in that case.  In any event, this may explain the apparent disappearance of I through III.
Comment: I find the random Wikipedia footnote in this case hilarious. As someone who actually knows a bunch of medievalist musicologists and who has gone to medievalist conferences, let me just say -- everyone in the "biz" knows this comes from Coussemaker and that it refers to that treatise.  It's true that casually in a lot of history sources scholars will reference "Anonymous IV" as a *person*, but again all medievalists know this is actually a reference to a specific treatise (presumably written by *someone*). Taruskin can be excessively opinionated, but he's not really wrong here.
Comment: Oh, and there's no "disappearance" of Anonymous I through III.  They're just other treatises in that Coussemaker collection.  Several of the treatises in that collection have been subsequently identified with specific historical authors (off the top of my head, I can't remember which ones) and are thus no longer referenced in the literature as "Anonymous X." But many are. It's just that Anonymous IV has some interesting bits that are cited in undergraduate history texts frequently and there was an all-female singing group a couple decades ago that chose to use the name... creating popularity.
Comment: @Athanasius thanks for your comments.  The singing group took the name "Anonymous 4," an often overlooked subtlety.  I wrote of the "apparent" disappearance -- if I remember correctly -- precisely to acknowledge the possibility that (contrary to the terms of the question and accepted answer) there never were any people designated Anonymous I to III or IV or beyond. (Though frankly using "Anonymous III" as shorthand for "the author of the treatise designated 'Anonymous III'" seems reasonable enough, and that designation _would_ more or less disappear if the author were subsequently identified.)


Is cosmological constant really constant?

Question: As the Universe expands, the dark energy in it also increases. I heard that the cosmological constant $\Lambda$ represents dark energy, so that constant must change as time passes, right? Correct me if I'm wrong...
Comment: The cosmological constant is an energy density, so it could be constant, even if the total amount of dark energy and the total size of the universe were increasing. Is it constant? Probably not. What causes it/dark energy and how does it/dark energy change in time? We don't know.
Answer: Whether the dark energy is constant or not will ultimately be determined by experiment. At the moment there is no evidence that the dark energy is changing, but the experimental errors are still quite large so a change is not ruled out. There are lots of papers on this subject, but as yet no firm conclusions.
It is important to be clear that dark energy does not necessarily respond to the expansion in the way matter does. We describe the expansion using a scale factor $a(t)$, where we take the value of $a$ to be one right now. So $a=2$ means the universe has doubled in size. The average density of matter is given by:
$$ \rho_m(t) = \frac{\rho_0}{a^3(t)} $$
where $\rho_0$ is the current average density. This should make sense - if the universe expands by a factor of $2$ then the volume of any region within it increases by a factor of $2^3 = 8$ and the density of matter falls by a factor of eight.
However if dark energy is a cosmological constant then it is a property of spacetime itself and it does not change as the universe expands. This seems counter-intuitive, but it is why dark energy behaves as it does. It is precisely because a cosmological constant does not change as the universe expands that it causes the expansion to accelerate.
Answer: The default expectation is that the density of dark energy is constant, for theoretical reasons. That's why it was historically called a cosmological constant. If you take the Einstein field equations, $G_{ab}=8\pi T_{ab}+\Lambda g_{ab}$, and take the divergence of both sides, you get $8\pi \nabla^a T_{ab}=-g_{ab}\nabla^a\Lambda$. A nonvanishing left-hand side would show up experimentally as a violation of conservation of energy, which we don't observe and don't have in any of our theories. That means the gradient of $\Lambda$ on the right has to be zero. It's possible, but not easy, to find ways to write down a nonvanishing dark energy that works around this problem.

I heard that the cosmological constant Λ represents dark energy, so that constant must change as time passes, right?

Yeah, this is a perfectly reasonable thing to expect, if you're imagining dark energy as some stuff that gets diluted by cosmological expansion. But that isn't how the math works out, as shown above. For some motivation, consider the fact that dilution works out differently for ordinary matter than for photons, because photons not only get farther apart, they also suffer redshifts that reduce their energy. That means that photon energy is diluted faster than matter energy. Different forms of stuff have different values of a parameter called $w$, which measures this. The value of $w$ for dark energy is 0. There is a more recent
Empirically, cosmological observations do not seem to support any variation in the density of dark energy over time. Example: Carnero 2011, http://arxiv.org/abs/1104.5426 They measure $w$ to be statistically consistent with zero and to show no trend over time. I believe the SH0ES project may have something better and more recent, but I haven't seen it. There are serious discrepancies between their value of the Hubble constant and the value from the Planck collaboration, so until that is clarified, it may not be possible to understand what is going on with more speculative stuff about dark energy.
Comment: Correct, and I would like to add that the measurements remain a bit rough. The cited paper quotes $w = -1 \pm 0.16$ in the abstract, which is impressive accuracy for such a parameter but it is not possible to say much about trends over time. Hence the assertion that the measurements "show no trend over time", while true, perhaps gives a misleading impression. Measurements to date can rule out large variations but beyond that we don't know. Also I think the quoted accuracy of $0.16$ on $w$ does not allow for inhomogeneity effects. ...
Comment: ... After allowing for that I think the precision is probably no better than  $\pm 0.5$, and therefore one cannot even rule out $w=0$.
Answer: Let it be $G_{\mu \nu}=R_{\mu \nu}-\frac{1}{2}Rg_{\mu \nu}$. Any equation that is directly proportional to $G_{\mu \nu}$ will always admit a cosmological constant $\beta \in \Bbb{R}$ as a generalization. This is why Einstein introduced it "ad-hoc" in first place, a decision he seemed to regret as he's biggest blunder. The reason is that the gradient of both $G_{\mu \nu}$ and $g_{\mu \nu}$ vanish, and therefore so does $\alpha G_{\mu \nu}$ and $\beta g_{\mu \nu}$ with $\alpha, \beta \in \Bbb{R}$.
Starting from the EFE
$$G_{\mu \nu}+\Lambda g_{\mu \nu}=kT_{\mu \nu} \, (\Lambda,k \in \Bbb{R}) \tag{1}$$
The change you propose transforms $(1)$ into
$$G_{\mu \nu}+\Lambda(\mathbf{x})g_{\mu \nu}=G_{\mu \nu}+f_{\mu \nu} (\mathbf{x})=kT_{\mu \nu} \tag{2}$$
With $f_{\mu \nu} (\mathbf{x})$ a tensor function of the coordinates. The gradient of $(2)$ is
$$\nabla f=k\nabla T \tag{3}$$
Which allows to interpret $f$ as an energy and momentum creation (annihilation) operator. However, the integral of $(3)$ includes an integration constant, so $(2)$ can be generalized into
$$f_{\mu \nu}+G_{\mu \nu}+\beta g_{\mu \nu}=kT_{\mu \nu} \, (\beta, k \in \Bbb{R}) \tag{4}$$
Where $G_{\mu \nu}+\beta g_{\mu \nu}$ is the integration constant. Equation $(4)$ are just the EFE plus the energy creation operator. You started with a non-constant cosmological constant $\Lambda$ but ended up with another cosmological constant $\beta$ that is constant.
In conclusion questions of this kind are actually asking: "is energy and momentum conserved or not?".
Comment: I don't see the point of introducing $f_{\mu\nu}$ in Einstein's equations. Is $f_{\mu\nu}$ a purely geometric quantity ? Also, is $\beta g_{\mu\nu}$ only possible integration constant? My point is, how do you show that $\beta g_{\mu\nu}$ is the only possible non-trivial factor that one can add on top of EFE, and it would still satisfy the divergence free condition?
Comment: @KP99 Me too. I'm just showing to the OP what it means by replacing $\Lambda \in \Bbb{R}$ a constant, into $\Lambda=\Lambda (\mathbf{x})$ a function of the coordinates (time and space) in EFE. I only introduced $f_{\mu \nu}=\Lambda (\mathbf{x})g_{\mu \nu}$ to get into a more general form of that substitution, and no matter the solution $f$, you get from $(3)$, it is always possible to add $G_{\mu \nu}+\beta g_{\mu \nu}$ into it, making $(4)$ the most general form of the EFE.
Comment: @KP99 I edited the question to address your concerns. I guess the shortcut I made by not mentioning that $f_{\mu \nu}(\mathbf{x})=\Lambda (\mathbf{x}) g_{\mu \nu}$ was not very clear there. More importantly, a mentioned $\beta g_{\mu \nu}$ as the integration constant only before, when in fact I meant $G_{\mu \nu}+\beta g_{\mu \nu}$. My mistake. Thanks for your comment :)
Answer: No it's not a constant. These days we prefer to call it a parameter.
EDIT
I've been asked to expand the post. There may be numerous ways to explain why the parameter changes over time, but a fool proof explanation  says that the metric changes with expansion. Since vacuum energy is manifestly important to any definition of the vacuum, a variation in the metric implies a change in the vacuum energy as it expands.
You may think also that it is an explicit rule that the stress energy  is conserved
$T^{\mu \nu}_{:\nu} = 0$
(As in a) must be conserved case, but cosmologist Lloyd Motz points out that conservation is an unfounded assumption.
Susskind is also vocal in his online lectures that the CC is NOT a constant, and refers to the requirement of calling it a parameter.
Comment: Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer).


MATLAB: How do you insert a line of text at the beginning of a file?

Question: I have a file full of ascii data.  How would I append a string to the first line of the file? I cannot find that sort of functionality using fopen (it seems to only append at the end and nothing else.)
Comment: What operating system are you running MATLAB on?
Comment: Windows 32x, unfortunately.  If this was Linux it'd be a complete non-issue.
Answer: The following is a pure MATLAB solution:
% write first line
dlmwrite('output.txt', 'string 1st line', 'delimiter', '')
% append rest of file
dlmwrite('output.txt', fileread('input.txt'), '-append', 'delimiter', '')
% overwrite on original file
movefile('output.txt', 'input.txt')

Comment: +1: This fits with what I was thinking of for option #2, but I had a slightly different take on how to do it. I'll post for comparison.
Answer: Option 1:
I would suggest calling some system commands from within MATLAB. One possibility on Windows is to write your new line of text to its own file and then use the DOS for command to concatenate the two files. Here's what the call would look like in MATLAB:
!for %f in ("file1.txt", "file2.txt") do type "%f" >> "new.txt"

I used the ! (bang) operator to invoke the command from within MATLAB. The command above sequentially pipes the contents of "file1.txt" and "file2.txt" to the file "new.txt". Keep in mind that you will probably have to end the first file with a new line character to get things to append correctly.
Another alternative to the above command would be:
!for %f in ("file2.txt") do type "%f" >> "file1.txt"

which appends the contents of "file2.txt" to "file1.txt", resulting in "file1.txt" containing the concatenated text instead of creating a new file.
If you have your file names in strings, you can create the command as a string and use the SYSTEM command instead of the ! operator. For example:
a = 'file1.txt';
b = 'file2.txt';
system(['for %f in ("' b '") do type "%f" >> "' a '"']);

Option 2:
One MATLAB only solution, in addition to Amro's, is:
dlmwrite('file.txt',['first line' 13 10 fileread('file.txt')],'delimiter','');

This uses FILEREAD to read the text file contents into a string, concatenates the new line you want to add (along with the ASCII codes for a carriage return and a line feed/new line), then overwrites the original file using DLMWRITE.
I get the feeling Option #1 might perform faster than this pure MATLAB solution for huge text files, but I don't know that for sure. ;)
Comment: Is there any way to use MATLAB variables for the filenames in the dos command?
Comment: @temp2290: I added a discussion of that to my answer.
Answer: How about using the frewind(fid) function to take the pointer to the beginning of the file?
I had a similar requirement and tried frewind() followed by the necessary fprintf() statement.
But, warning: It will overwrite on whichever is the 1st line. Since in my case, I was the one writing the file, I put a dummy data at the starting of the file and then at the end, let that be overwritten after the operations specified above.
BTW, even I am facing one problem with this solution, that, depending on the length(/size) of the dummy data and actual data, the program either leaves part of the dummy data on the same line, or bring my new data to the 2nd line..
Any tip in this regards is highly appreciated.


Any source for German Magazine "Computern mit Kindern", single issue, late 1984?

Question: I wonder if anybody has or knows about a (digital or paper) copy of the single-issue German language magazine "Computern mit Kindern" (Computing with Children), published in Germany in late 1984 (probably October) as a joint special issue ("Sonderheft") of the three monthly magazines "Eltern" (Parents, still existing), "PM Magazin" (a fairly good popular science magazine at that time, unfortunately it went pseudoscience a few years later) and "PM Computerheft" (PM Computer Magazine). Among other articles, it contained a (maybe?) historically interesting market overview of currently available home computers from that time period. (Also it was the very first computer magazine I ever owned...) Unfortunately I have lost my copy during a move. Google seems to have only one mention of it, as source of a quotation in a slightly later article for teachers.
Answer: I have a small collection of YPS comic books (also published by Gruner+Jahr) and some recollection of what you're looking for.
And sure enough YPS #473, which according to this database came out in November 1984, features this full page ad for "Computern mit Kindern".

So not really an answer to your question, but just to provide an image and to confirm the time frame.
Edit: Found an ad for the above mentioned P. M. Computerheft.

YPS #510 from July 1985.
Comment: @OmarL Computer used as a verb here. Loosely translates to *coding is great*. At least that's what the kangaroo says...
Comment: @OmarL Uli is right. "Computern" is not a standard German word, but an informal verbization that is used as gerund. The most direct translation, using an informal English word as well would be "computering".
Comment: @OmarL It's a denominal verb, a noun turned into a verb. English uses a variant of afixes (or none) depending on purpose. In German it's always a suffix depending on the wordending to be converted (plus some umlaut forming) with -en or -n as generic case. So 'computern' is essentially the same as 'compute' in English, so the title would be 'How to compute with children' or 'How to use Computer with children' ('computing' would be transitive which this is not). And no, it's neither slang nor informal, it's simply derivative from a new word (Computer) following the basic rules of German gramer.
Comment: Thanks, this is the one I mean. Maybe I also learned about it from YPS, I was certainly a regular reader at that time.
Comment: Why "Computern" and not "Computer", the ordinary plural form?
Answer: Looking at the picture in the answer by Uli, this does not appear to be a single-issue magazine, but it is a special issue as part of the magazine called "Eltern". All German periodicals should have an archive copy in the German National Library. As far as copyright permits it, you should be able to get a copy of a single article from the national library, which will require a fee for shipping and handling. I assume they won't send out copies or scans of the full magazine.
Comment: One could also try contacting Eltern directly.  Publishers typically keep a full archive of what they've published.  The caveats that Michael mentioned would likewise apply.
Answer: Take a look of these cover pages https://www.kultboy.com/index.php?site=kult/kultmags&id=63


How to wire a Woods PRO 59104 Timer

Question: I'm running an irrigation pump on 240V circuit I added to my breaker panel, and it's working fine with just a switch between them.  After my first attempt to add the timer between the switch and the panel failed (kept tripping the breaker when I turned the timer to "on"), I'm hoping to get some direction here.
  I have the wiring diagram attached.  It appears to indicate the 2 wires from the breaker go to screws 2 and 4, while there's a jumper between 3 and what I'll call 0, the un-numbered screw.  Then 0 and 1 run down the line to the 2-pole shut-off switch by the pond.  Am I understanding correctly?
Comment: Welcome to DIY.SE! Your wiring diagram did not attach. Can you edit your question to provide a link to it or a link to a picture of it?
Comment: When the switch  is "on", it connects 1 and 2.  Separately on the other pole, it connects 3 and 4. Now the timer needs power itself, and that power must be always-hot (on at all times).  That must be supplied between 0 and 1.  Rather than trying to wire the whole shebang at once, try hooking up only 0 and 1, and see if the timer then runs.
Answer: You have it backwards
While I can't explain the breaker trips in your setup, the documentation for your timer has the line in going to 0 (with the jumper to 3) and 1, with the load (the wires to the shutoff) connected to 2 and 4.  The way you have it wired won't work anyway, as the motor would be powered through the timer contacts, which would cause the timer to not time 99% of the time.

How to wire a Woods PRO 59104 Timer


ASP Classic on IIS7 Cannot create COM Object

Question: I am getting permission denied errors when trying to create a com object in asp. The com object is a VB6 dll that has been registered. Procmon does not show any permission errors. I have granted permissions to the folder that contains the dll to the AppPool user and well as the authenticating user (IUSR). I noticed that there are a few people experiencing this problem with no definite solution. Please help!!
Comment: Which operational system, 32 or 64 bits ?
Answer: First thing you should check is that the permissions you have assigned to the folder have cascaded to the dll.  I've seen a few cases like this where the dll had its own independent ACL rather than inheriting anything from its folder.
Comment: I have checked and the dll's have the required permissions. The strange thing is that ProcMon does not report any permissions errors.
Comment: @yuben:  Try creating a do nothing class in VB6 and see if you can instance that.  I'm wondering if there is something in the construction of the COM object (that is in the VB code) that is failing due to permissions.
Answer: Thanks for the responses. I have this working now. It was related to a another COM dll that was being called from the VB6 dll. However, I used to be able to step into VB6 from ASP/IIS6 but this now fails with a permissions error again. I will post another question for this. Thanks.
Answer: In procmon, can you see a successful read of HKLM\Software\Classes\CLSID{YOUR_COMPONENT_CLASS_ID} ?
Maybe you have issues with rights in registry key associated to your component.
For a list of registry keys involved, please see the msdn docs.
Best


Database Schema Access

Question: I have a database with multiple (10) schemas. I need a user to have access to two of them. If I grant access to the database and then GRANT SELECT to 2 schemas, is access to the other schemas DENY-ed by implication? Or must I grant permissions to those schemas and then DENY SELECT to the rest of them?
Answer: You should create roles and grant access to roles rather than granting users access directly to schema.
Once you assign permissions to the role, you can just add users to the role. This way you dont have to manage permissions for individual users. The users inherit permissions granted to role.
<code> -- Create the database role
CREATE ROLE TableSelector AUTHORIZATION [dbo]
GO
 ---- Grant access rights to a specific schema in the database
GRANT
      SELECT, INSERT, UPDATE, DELETE, ALTER

ON SCHEMA::dbo
      TO TableSelector
GO

-- Add an existing user to the new role created
EXEC sp_addrolemember 'TableSelector', 'MyDBUser'
GO

-- Revoke access rights on a schema from a role
DENY ALTER  -- you can customize here ...
ON SCHEMA::dbo
      TO TableSelector
</code>
see my answer to : Setting user permissions for different SQL Server schemas
Comment: Note REVOKE and DENY are different.  REVOKE removes a GRANT, DENY overrides it.  So you can GRANT the whole schema and DENY one table, but not REVOKE it.
Comment: If you grant select on one schema then the role wont have access to other schemas.
Comment: As an Accidental DBA I sincerely appreciate this advice, but my base question remains unanswered. Does the "Principle of Least Privilege" apply here, or do I totally misunderstand the concept? Let me rephrase. Using the example above, if I grant SELECT to 'TableSelector' for one schema, is access to the other schema denied? Or do I need to explicitly DENY access to those schema?
Comment: Thanks Kin, I sincerely appreciate this. I will be implementing the roles as you suggest.

Database Schema Access


can we do something about libelous comments?

Question: is there anything we can do about libelous remarks?  I have recently been viciously attacked in starkly libelous terms. ok this is the web, you takes your chances, but I think a line must be drawn if this is to remain a (relatively) civilized forum. otherwise it's just another slag-heap.
Comment: If you hover over a comment, the flag icon should appear to the left. I don't know if this is available for people using the mobile site though.
Comment: and I might add that the attacker has a track record of such libelous comments.  and I do mean "libel" in the legal sense, written defamation.
Comment: Flag as offensive? Use the "contact us" button at the bottom of the page?
Comment: thanks,@sumelic,  I had forgotten about that. but I don't see a way to do that for comments and discussions. :(
Answer: Be nice (not you, the other guy).
Well, you too of course, but you get what I mean.
If someone does not behave according to this policy, please flag it directly for moderator attention. No matter that this is the web, the same rules as in normal social conduct apply here.
You can flag comments when you hover them:

All comment flags appear to ♦ moderators immediately. On posts, only the "in need of moderator intervention", "spam" and "rude or abusive" flags go directly to the moderators. Other flags are first reviewed by the community.
Comment: ok thanks! I don't understand your "you too" comment, but i did not know about the hover thing - I mostly use my mobilr.
Comment: @mobileink in the (android) app, you can tap the comment and then there should be an option as well. On the mobile web page, it is not possible. With 'you too' I meant that you should of course follow the be nice policy, but that it isn't under particular consideration at the moment (instead, the guy you have/had an argument with is under consideration).
Comment: thanks. fwiw I do not think in general think niceness should be enforceable. I'm a big boy, you (i mean not you pwrsobally but anybody) dont have to be nice to me, you can say "that's a stupid idea" and I won't be bothered, but "that's a stupid idea, and you are a lying piece of scum" is different.


Do I have to include every method in an interface?

Question: I'm using a 3rd party contract in one of my contracts.  I've created an interface for the 3rd party, do I have to include every external method in the interface, or just the ones that I need to use in my contract?
Answer: The minimum is the functions your contract needs. Apart from possible code organization concerns on your side, there is no reason to include unused functions.
Hope it helps


Spekkens Toy Model, Internal Comonoids

Question: I have been thinking about Spekkens Toy model in terms of interfaces.  The Spekkens paper concerns a physics based on only being able to receive answers to half the number of questions necessary to specify the state of a system.  This is something like having a limited interface to some kind of system.  I take an apparatus as an internal category in a monoidal category and the apparatus is seen as some limited interface to an underlying quantum causal structure.  Would it be possible to reformulate Spekkens' idea in terms of internal categories?
Answer: The short answer is yes: these ideas can be formulated as internal algebras in a monoidal category.  Take a look at http://arxiv.org/abs/1003.5005 for starters.  Bill Edwards' PhD thesis has quite a bit more, and other papers by him and Bob Coecke may also be of interest.
Comment: Welcome to the site, Ross!
Comment: Thanks Joe. I've been lurking since (before!) it started :-)

Spekkens Toy Model, Internal Comonoids


What type of tyre is is the most shock absorbing, between MTB or Hybrid)

Question: I want to setup my bike to the most shock-absorbing configuration possible. Rear and front suspensions are set to "soft", will look for a shock absorbing saddle, but how about tires?
My bike is a heavy e-MTB (Riese Muller), currently equipped with hybrid tyres. Keeping them soft makes a huge difference, at cost of a worst rolling(no problem).
But how about the tyre type? Would a MTB tyre be softer or not, compared to a hybrid one?
Comment: You could take a look at downhill tyres as they tend to be heavy with lots of rubber which absorbs well.
Comment: I would also think that the kind of tire (hybrid/MTB) does not matter for shock absorption (cf. Michael's explanation). But if your concern is comfort, the saddle is the first thing I would investigate. You can also add a suspended seat post, for the comfort (very common on good touring bikes). Note: for the saddle, more padding is only better for upright positions.
Comment: @Alextsil The stiff casing found on DH tires will be uncomfortable. A lightweight and supple XC race tire will be more compliant.
Comment: If you've already got front and rear suspension, you shouldn't expect more suspension effect from your tires unless you are routinely bottoming out the suspension. In any case, tire volume will be more important than "tire type."
Answer: The most important thing for shock-absorption in tires is low pressure. The next important thing is width. The wider the tire the more "suspension travel" you'll have and you can lower the pressure even more without risking a "bottom out" when hitting a pothole or rock.
I think tire type or construction is less important, but generally high-end MTB (or cyclocross/gravel) tires are made to be run at a low pressure. This means a thin and supple construction (especially of the sidewalls) at the cost of being less puncture proof.
So first of all you should lower the pressure as far as possible. When I ride low pressure I usually "test" it by pushing the front wheel hard against a sharp edge (e.g. kerb). If I can make it bottom-out with my full body weight it's just about right. If you ride carefully you might be able to go even lower, but at very low pressures there is danger of the tire "collapsing" sideways in turns.
Edit: I should add that MTB tires don't necessarily have big knobby tread. There are also versions with almost no tread or very fine knobs available in case you mostly ride on tarmac or smooth gravel. They should also run smoother and be less noisy.
Comment: A little addition: MTB tires are designed to be run at low pressure, not sure it's the case of hybrid ones. I would check the minimum pressure recommended by the manufacturer, and wouldn't go to far off this value. Also, MTB tires can be much noisier than hybrid ones on road.
Comment: @Renaud: I think the main problem with low pressure in hybrid/city tires is that you can get cracks in the sidewalls. It's not automatically dangerous or harmful to go below recommended pressures, especially if rider/luggage are light. I've added a paragraph about knobby MTB tires.
Comment: there's maybe a issue with definitions: I would understand MTB as knobby, but tires larger than 50mm are very common on e-bikes. If Riccardo has a R&M Superdelite GT, it is spec'ed by default with Schwalbe Super Moto X 62mm, that I would consider as hybrid even if in term of dimensions, they are in "MTB" range.
Comment: No it's not a GT, but yes, it's a Superdelite. I will go for MTB tyres with low pressure. Thanks to everyone for helping!
Comment: But keep in mind that MTB tires usually have less puncture protection. A tubeless setup with sealant would help against small, sharp objects. You'd still be susceptible to cuts in the sidewalls but those are rare in my experience (unless one is riding ravines with sharp gravel).


Print list of bad blocks in NAND flash from user space

Question: Is there any user space tool that can retrieve and dump the list of bad blocks in a NAND flash device? I've checked the mtdinfo command line utility, and also searched /proc and /sys, but couldn't find anything.
I am looking for something suitable for use from a shell script.
I could parse dmesg as the kernel prints bad block information on init, but I am hoping there will be a better way.
Answer: I have not been able to find any user space utility doing what I need. The closest I have found is the nanddump utility from mtd-utils, which can dump NAND contents, including bad blocks.
Answer: I met this problem recently, and I wrote the C codes by referring open-source of mtd-utils, the core part is as follows,
    offset = 0;
    while (1) {
        int rc = ioctl(fd, MEMGETBADBLOCK, &offset);
        if (rc < 0) {
            perror("Failed to check bad block");
            close(fd);
            return 1;
        } else if (rc > 0) {
            // Block is bad, print the block information
            printf("Bad block at offset 0x%llx \n", offset);
        }

        offset += mtd_info.erasesize;
        if (offset > mtd_info.size)
            break;
    }


Does this gas range valve need replacing?

Question: We are getting a new gas range and we didn't know if the current gas valve should be replaced or not since it is an old valve. It looks like it is outdated and needs to be replaced. Should we get this replaced?
Comment: If the valve is not leaking and turns off it is fine.The old brass valves last forever. Pulling the valve may introduce leaks inside the walls. I would leave it unless there is a problem with it.
Comment: Ditto.  It it works, don't break it.  It really doesn't look all that bad.  Upvote for providing excellent pictures.
Comment: So, as they say, if it doesn't leak, leave it.   Now, do you know how to test it to see if it leaks?    Try this: mix liquid soap with water and then brush on the joint...lots and all around the threads. If it's leaking it will create bubbles...no bubbles then no leaks.    (By the way, I don't see a shut off valve...I can't tell from the pictures. Is there one? By code you need one...)
Comment: In my experience these valves can sometime develop a leak when they had been in service for decades and were then switched off and then back on. I have seen plumbers take them apart, re-grease them, and reinstall them. I have been told by a plumber in Dallas that these old style valves are supposed to be replaced by new ball valves when any change is made that required a permit. I don't think replacing a gas range requires a permit so if the valve is not leaking then I would leave it in place.
Comment: To clarify I have seen plumbers take the stopcock out of these old style gas valves *in a range* for re-greasing, but they left the valve body in place in the line.  To do this they shut off the gas at the tap for the range. But to re-grease an old *tap* would seem to require shutting off the gas to the entire house *unless* a plumber could pull the stopcock and temporarily insert a plug while cleaning and re-greasing the stopcock. What do the real plumbers here have to say about actual practice on this?
Comment: Thanks for the feedback. There isn't any leak with this. I wanted to make sure it is still a safe valve while we replaced the range. I assume the shutoff is on the left with the hole? I didn't try shutting it off though.
Answer: If you're concerned that the valve is ok, call your local gas company. They'll come out to re-light pilots, and will also come out if you have any questions about something you're doing with any gas lines.
They really don't want you to have any problems. They will also do easy simple repairs, but tell you to get a pro to fix something bigger. For example, I called them once about the gas valve to our pool heater was really tight, it seemed to be rusted and I couldn't close it. The gas guy came out, took the nut off the back, pulled it apart and applied some grease and it was like new. It was apart for only about 20 seconds and he didn't even shut off the gas! He also checked the heater that it was working ok.
Answer: The valve pictured needs to be replaced immediately please.  That type of valve is not only out of code but few know that it needs regular grease maintenance every few years, now ask yourself has this been greased in the last 10 years or 20?  I think not.  Spend the time and put a ball valve so in an emergency you will not have  to find a tool to shut it off if the appliance developes a leak.  My mother in law had a 5 year old gas stovetop go poof on her last year, luckily it just scared the pants off her but the inner explosion was forceful enough to unseal the stovetops gasket connecting the factory upper half to lower half.  Leak was caused by maids over cleaning and getting cleaner over the years down into casing by spraying stovetop with cleaner.  The cleaner along with any spills caused the dissimilar metals of the gas tube and appliance casing touching and caused a hole is my best theory after dismantling and inspection of the unit.  Be safe replace it and make sure to add a auto off check valve also.  But hey its only the life of you and your family we are talking about over 10 dollars in parts.


Executing procdump from within application to create dump of application itself

Question: I am trying to get my application (VB.NET compiled against framework .NET 4.0) to write a process dump of itself to help me with debugging.  To this end, I am using Procdump from Sysinternals.
To get started, I simply execute the following code on a click Event (so there should be something recognizable on the call stack):
<code>Dim p As New Process
p.StartInfo.FileName = "C:\procdump.exe"
p.StartInfo.Arguments = "-accepteula -ma " & Process.GetCurrentProcess.Id
p.Start()
p.WaitForExit()
p.Dispose()       ' Breakpoint
</code>
On the last line is also a Breakpoint.
To create a dump, I start the application in debug mode within VS 2010, click a button to get this code to execute, and when it hits the breakpoint I know that the dump has been written.  At this point, I also create another dump file using Visual Studio (Debug -> Save Dump As..).
That leaves me with two dump files of roughly equal size (400 something Mb), one created by Procdump.exe and one created by Visual Studio.  Without touching any of the code that was built, I now open both dump files (with the built code open, I hit Ctrl+O) and specify the debug output folder in the symbol folders option.
Now when I click "Debug with mixed" on the dump created by Visual Studio, I get a call stack (on the main thread) with recognizable method names, and the debugger positions it nicely at the position in the source code, where the breakpoint was.
However, when I click "Debug with mixed" on the dump created by Procdump, the call stack (of the main thread) only contains stuff like clr.dll!6cb34e46(), KERNELBASE.dll!75106a8e() with ntdll.dll!76f07094() at the top.  No recognizable code, and also nothing relevant in the watch.
Why is that?  Actually, I was expecting these two dumps to be almost equal (off by a few lines of code only).  [Has to do with the debugger being attached, see edit below.]
Note that the symbols were correctly loaded in both cases.  The listings I get in Debug->Windows->Modules show the same symbols to be loaded for both dumps.  Moreover, if I switch to a background thread in both dumps, I get a correct call stack for these (with the values of their variables, and so on) in both dumps.
EDIT
I noticed that by executing the application without the debugger attached, I get the expected process dump (i.e., equal to the one captured by Visual Studio, but off by one line).  Problem solved.  But I'm still curious as to why I didn't get that result with the debugger attached.
Answer: procdump itself is a debugger. What you are doing is asking it to dump a process that is already being debugged, hence the difference dump file.


How do I import/append assets from blender to upbge?

Question: Okay, so I've made some assets in blender 2.91.0 but, I want to put them into UPBGE to use them for a game I'm trying to make and I don't know how. Does anybody know how to help me get my 3d models/rigs,animations,etc into UPBGE from blender 2.91.0 ? I don't know how. I tried to just open the blend file in UPBGE but, that didn't work. I tried to use the append feature to get assets from a blend file I made in blender 2.91.0 but, that didn't work. I really don't know what to do. I'm new to using UPBGE.
Answer: Hello and welcome to BlenderStackExchange. I assume you downloaded and tried running a UPBGE 0.3x release? The latest version that is built on is Blender 3.0x, which may not be as compatibility to Blender 2.91.0 releases unfortunately. Unless you are attempting to import those Blender 2.91.0 models into say, a legacy UPBGE version such as UPBGE 0.25b, I'd suggest using the UPBGE 0.3x release built on Blender 2.91.0.
If my dates are correct, I believe this bild is built on Blender 2.91.0. If I am mistaken tell me and I'll track the correct one down or send you my local copy of UPBGE 0.3x built on 2.91.0.
DOWNLOAD:
https://mega.nz/folder/k9MW1KiZ#UOKzjh3IQ0GEgjQ6GUc7ug/file/t5t3zYSY


White/brown patch on a young monstera leaf - what to do?

Question: I was happy when I saw my Monstera growing a new leaf, but recently I noticed a white/brown patch on it and I'm getting worried. What does the patch signify? How can I help the plant?
Comment: Do you water on a schedule each week?   You should only water when the plant needs water.  When you do water, water until water comes out of the bottom.  Then dump out the extra water.      If you want to create humidity, use a humidifier or place water somewhere near the plant that can evaporate and create humidity that way.   Spraying it good to keep spider mites, but not the best at creating humidity for the entire day.  It only creates humidity for those few minutes.   These kinds of plants want humidity through out the day.
Comment: I noticed you are doing pot in pot technique for catch excess water.   After you water, do you let water stay in the white pot or do you dump it out later or do you dump it out right away?    Is there a light source that would hit the new light?
Comment: The white pot is there only for aesthetic reasons. I water the plant moderately once a week and spray it with water each day. There's no excess water. The plant is in a shaded corner of the room, without direct light
Answer: Monstera Deliciosa are an interesting plant in the wild.  They start out as terrestrial plants, but become epiphytic with time.   Their seeds fall down to the ground, where the take root.  The plant will crawl across the ground to the first tree.  At that point it will 'climb' up the side of the tree.  They can grow as tall as the tree 50', so they use specialty roots on the side of the tree to cling itself to the tree, also to capture water from the air and water that runs down the side of the tree.
This means in a pot, they need very well draining soil.  The need to be moist at all times, but the soil needs to be very well drained.  Use indoor potting soil that you add additional drainage matter like perlite.   About 30% of the new mix should be the additional drainage material.  They like rich soil, so adding some compost to the mix will be a nice treat.
Do not water on a schedule.  Water when the top 3-5 cm (1-2") is dry.  Never let the entire pot go dry.  This plant wants constant moisture, but not wet.  Water until water comes out the bottom holes.  Then dump out the excess water out of the catch basin.
I don't know how dark that corner is, but they like bright shade or bright indirect light.


Linux fsck while boot

Question: If the file systems are meant to do fsck while booting, why is Linux not able to do fsck sometimes, and going into maintenance mode?
Comment: Could you possibly give a bit more context to your question, including what Linux you are using, what filesystem type you are using, and what errors `fsck` is encountering?
Comment: This question is meaningless without specifying the operating system, which it does not specify.  (Linux is not an operating system.)  Because only by knowing the operating system will one know whether the premise of the question is even true in the first place.  What happens upon fsck failure is highly dependant from the operating system's choice of system management, and for some choices this premise is _false_.
Comment: The `fsck`, or "disk check" operation should not be required in normal circumstances. If you're having it happen regularly there's something else at play - for example, perhaps you're pulling the power on your computer rather than shutting it down cleanly (from software).
Answer: In general, a Linux system will run full fsck at boot-up for three reasons only:

the maximum mount count for the filesystem was reached (an fsck resets it)
the fs was not unmounted cleanly (system crash, power failure, hard power reset, etc), so the "clean" flag was not set for the filesystem.
you specifically told it to.

If the fsck drops you into maintenance mode, it was probably for a good reason; the filesystem was in a state that was deemed to be beyond automatic repair.
If this happens often, then you have something wrong with the system. Without extremely detailed data, it's impossible to tell if the problem lies with the physical disk itself, the connectors, the disk driver, the user, or something else entirely. User error (e.g. pulling the plug instead of waiting for a clean shutdown) is a very common cause, and should be the first thing to check.
Comment: It's worth remembering that `mke2fs` has not defaulted to setting a maximum mount count since 2011.  https://unix.stackexchange.com/a/47884/5132  Also note that the _real_ set of reasons is not uniformly hardwired into the various underlying `fsck` tools.  `e2fsck`, for one, has more than those 3 scenarios.  It also looks for an exceeded check interval or mismatched superblock features, for starters.

Linux fsck while boot


Why do 2D hydrodynamic vortices merge?

Question: Two point-like vortices with the same vorticity in 2D perfect fluid can rotate forever. Why do finite-sized vortices merge as soon as they touch? Why in general 2D fluid vortices of the same sign want to merge? Is there any analogy between vortex merging and droplet merging, i.e. is there something similar to surface tension for vortices?
Comment: Onsager explained this behaviour in "Statistical hydrodynamics", 1949, see the review https://journals.aps.org/rmp/abstract/10.1103/RevModPhys.78.87 . Vortices of the same sign tend to cluster in 2D and vortices of opposite sign tend to "unbind" due to a sort of "inverse cascade". This is related to the fact that the 2 coordinates of the vortex are conjugated variables in the phase space, leading to the possibility of having negative temperature states. Related question: https://physics.stackexchange.com/q/383159/226902
Comment: You are right. I have deleted my incorrect answer. Although you have mentioned perfect fluid in your question, the merging video is for viscous fluid (Reynolds number = 100). The counter-rotating vortex video also seems to be for a viscous fluid because overall kinetic energy seems to be going down with time.
Comment: yes, the videos are for low Reynolds numbers. Some papers say they see merging for finite vortices for perfect fluid too though. It is hard to get an understanding why it happens though.
Answer: From the abstract of "The physical mechanism of symmetric vortex merger: A new viewpoint":
Their 'results suggest that a complete merging process is as follows: the vortices deform first due to the mutually induced straining; the deformation results in elliptical vortices and an angle between the major axis of each elliptical vortex and the line joining the two vortices, which in turn cause an attraction of fluid particles from one vortex to the other; sheetlike vortex structures are thus formed; and finally the velocity field induced by these sheetlike structures readily pushes two vortex cores together.'
It also states that 'when the flow is viscous, the separation between vortices reduces and the mutual attraction increases with time by diffusion. As the mutual attraction dominates over the self-induced rotation, sheetlike structures are formed gradually and merger eventually occurs. The onset time of merger is thus found to depend not only on the initial separation but also on the Reynolds number. The former determines when the mutual attraction will become dominant and the latter controls the speed at which sheetlike structures grow.'
Comment: Thank you for the answer. Unfortunately, this explanation rises more questions than it answers. Why do vortices induce elliptical deformation onto each other? Why does this, in turn, causes fluid particles to go from one vortex to the other? What are these sheet-like structures and why they "readily push to vortex cores together"? Would the vortices merge if the vorticity fields did not overlap?

Why do 2D hydrodynamic vortices merge?


What format is used for Apple II cassette tapes?

Question: Apple II computers initially used audio cassette tapes for storage.  How was the data stored?  What was the maximum bit rate?
Answer: The Apple II recorded data as a frequency-modulated sine wave.  A standard consumer cassette deck could be connected to the dedicated cassette port on the Apple ][, ][+, and //e.  The //c, ///, and IIgs did not have this port.
A tape could hold one or more chunks of data, each of which had the following structure:

Entry tone: 10.6 seconds of 770Hz (8192 cycles at 1300 usec/cycle).  This let the human operator know that the start of data had been found.
Tape-in edge: 1/2 cycle at 400 usec/cycle, followed by 1/2 cycle at 500 usec/cycle.  This "short zero" indicated the transition between header and data.
Data: one cycle per bit, using 500 usec/cycle for 0 and 1000 usec/cycle for 1.

There is no "end of data" indication, so it's up to the reader to specify the length of data.  The last byte of data is followed by an XOR checksum, initialized to $FF, that can be used to check for success.
For machine-language programs, the length is specified on the monitor command line, e.g. 800.1FFFR would read $1800 (6144) bytes.  For BASIC programs and data, the length is included in an initial header section:

Integer BASIC programs have a two-byte (little-endian) length.
Applesoft BASIC has a two-byte length, followed by a "run" flag byte.
Applesoft shape tables (loaded with SHLOAD) have a two-byte length.
Applesoft arrays (loaded with RECALL) have a three-byte header.

Note the header section is a full data area, complete with 10.6-second lead-in.
The storage density varies from 2000bps for a file full of 0 bits to 1000bps for a file full of 1 bits.  Assuming an equal distribution of bits, you can expect to transfer about 187 bytes/second (ignoring the header).
An annotated 6502 assembly listing, as well as C++ code for deciphering cassette data in WAV files, can be found here.  The code in the system monitor that reads and writes data is less then 200 bytes long.
Comment: @hippietrail: The only difference between storage of BASIC and binaries is the addition of the header, which allows the user to do the load without having to explicitly specify the length. I suspect that [some machine-language programs](https://6502disassembly.com/a2-bomber/) were wrapped with BASIC just to make them simpler to load.
Comment: @hippietrail: yes, that's the 2-byte length ($015d), the run flag ($d5), followed by a checksum ($ff^5d^01^d5=$76). You can see the Applesoft code [here](https://6502disassembly.com/a2-rom/Applesoft.html#SymLOAD); it uses the monitor `READ` routine to load the data. See also https://github.com/datajerk/c2t and https://www.brutaldeluxe.fr/projects/cassettes/ .
Comment: Is there any difference between tapes loaded via BASIC and ones loaded from the `*` monitor? I've seen that Apple 2 offer a two versions of each game WAV file based on this. (Actually they offer 4, but the other difference is "lo fi" vs "hi fi" which I guess is just an audio quality difference.)
Comment: Using my own code, it seems the wavs I found are not original tapes, at least the ones intended to be loaded by the `*` monitor. They seem to have been created from disk versions using a modern tool that includes Deflate compression. The ones to be loaded from the `]` prompt all have a tiny 4-byte header file before the main data file of the form `5D 01 D5 76`. If the first byte is higher by one or two, the fourth byte is lower by one or two. Would this be the three bytes including the "run flag" plus the XOR checksum?
Answer: An excellent description of the cassette storage format, along with the monitor and ROM codes that store and retrieve data, are outlined in Apple II Monitors Peeled (start at page 81):
ftp://ftp.apple.asimov.net/pub/apple_II/documentation/misc/Apple%20II%20Monitors%20Peeled.pdf
The Apple II Circuit Description (W. Gayler) has a great technical breakdown as well (page 92): http://mirrors.apple2.org.za/Apple%20II%20Documentation%20Project/Books/W.%20Gayler%20-%20The%20Apple%20II%20Circuit%20Description.pdf,
Comment: It would be great if you could add some relevant information to this answer; at present, it's not very useful. In fact, it's been flagged as low quality.