Why should an "Order" object have a "Status" property?

Question: I always see standard Order classes implemented with a "Status" property, but I don't feel comfortable with that. Isn't the status a property of the fulfillment process instead of the order itself? What about orders that can be subject to different fulfillment processes?
Answer:
Isn't the status a property of the fulfillment process instead of the order itself?

It is. The Status shouldn't belong to an Order, neither the taxes or other financial details. When modelling the Order concept it should be modelled according to what it is (domain definition) and NOT according to how it's displayed or used by other domain processes.
A customer doesn't order statuses, discounts or taxes. He orders products/services and attaches vouchers or coupons codes. And that's all an Order should contain. Financial details and order fullfilment tracking are use cases of the concept NOT parts of the concept.
What a client or store employee sees is a view model which contains more than the document Order. It contains inventory data or invoice data or shipping data. So the Status is actually a concept of the Order fulfilment process (saga) which can be organized in other processes (product reservations, billing, shipping) each with their very own statuses.
OP, you're right: Status has no place in Order's definition. It's just the easy way out to define an improper model mixing together different subdomains.
Comment: Thanks for your response, great to know that I'm not alone! Do you know where can I find a proof of concept of an alternative, more natural way to model this? (article, sample code, open source application, ...)
Comment: I'd suggest to just do it. Or wait until I write an article about it :))
Comment: I struggled for quite a few days trying to build an alternative, yet feasible model but couldn't find anything that made me happier. I finally reached analysis paralysis recently, so I'll stick a Status property to my class and patiently wait for your article! If you accept suggestions for your articles, I have like another zillion questions like this! :)
Comment: Noooo... don't stick the status to a class that doesn't need it. Create something like OrderFullfilmentTracker (bad name) and stick the Status to it.
Comment: My current approach is a FulfillmentReport property in the Order class, which contains all the properties relevant to the fulfillment process (status, etc.). Would you have a property in your Order linking it to the corresponding OrderFulfillmentTracker? I guess no, and the problem with completely disconnecting the Order from the status is that it causes too many problems with queries, because you (almost) always want to retrieve the Order with the fulfillment information. Dealing with that in an elegant way is challenging. Any suggestions?
Answer:
Isn't the status a property of the fulfillment process?

No, it's the status of an order, unless you plan on attaching a fulfillment process to the order.  Normally, that's not how it works; think of a fulfillment process as a "factory" that processes orders.  A property on such a process might look like "how many orders are currently in the shipment queue?"
Your customer isn't going to look up a fulfillment process when he wants to know what the status of his order is; he's going to look up his order.  As the programmer, you're going to want to maintain that status in the Order record (or an OrderStatus table), not some fulfillment process (although the list of possible statuses may be influenced by that process).
Comment: No, that's a command alright.  But you don't execute that command until you gather the specific quantities of a set of items at given prices from the customer.  And when you do execute that command, it creates an object called an *order,* and that order gets fed into the order fulfillment process.  The *state* of that order (including its status) should travel along with that order.
Comment: The factory idea is interesting, your response got me thinking for a while. I guess it comes down to defining what an order is. I tend to see orders as commands, and I think in that case the Staus makes no sense (the status of a command... what's that?) instead, it's actually the status of its execution (hence, the status of the associated fulfillment process). Is this the same way you think of an order?
Comment: An order is an object, not a method.  It is a container for items, quantities and prices.
Comment: Would it be wrong to say that it's a command to purchase specific quantities of a set of items at a given price? Why?
Comment: I get it, but can you help me define more formally what that _order_ is? That would definitely end my nightmare :) Thanks!
Comment: An order is an object of type `Order`.  An object is a collection of data and methods that operate specifically on that data.  The order's `status` is one of the order's properties.
Comment: :) I guess I asked too many questions in a row...
Answer:
Isn't the status a property of the fulfillment process instead of the order itself?

Not necessarily.  The fulfillment process may have a contributing status for the Order, but it's possible that there are multiple fulfillment processes.  Final status needs to remain with the Order.

What about orders that can be subject to different fulfillment processes?

Exactly.  You've provided the counter example showing why Status should belong to the Order.  Think about how you would track an order that was fulfilled through two separate processes.  Work on the order could be complete in one fulfillment route but not even started within another.
Comment: Think of it in terms of your business domain.  People interact with orders, they don't interact with a process.  And while you have a point that the fulfillment process creates the action that affects the order's state, the order status still belongs to the order.  You could always pass an Order into the FulfillmentProcess() which can then return a state for the process.  The Order can then update itself based upon replies from the fulfillment process(es).
Comment: People interact with a View. The view model is quite different than the Order domain object. The view model has a Status, the Order doesn't need it as the Order is most of the time an immutable object (it can vary from domain to domain)
Comment: I envision an order being fulfilled by either one process or another, but not by more than one, and I could easily track the "status" of the order by associating the fulfillment process (process instance, so to speak) with the order, and having the property there. An order doesn't even need to know what kind of process it's associated with. Even things like "Cancel" an order make more sense to me in terms of the fulfillment process (what you want to Cancel is in fact the fulfillment process that is being carried out). Does this make sense?
Comment: I really don't see why the fact that people don't interact with the fulfillment process implies that an order object must carry a Status property. Could you please elaborate on this? As I commented earlier, if an order is a command I see no reason why it should have a Status (execution status?) property, tying it completely to the fulfillment process it will be subject to. Either this has been modeled incorrectly since forever, or I just can't understand what the rationale behind it is. I'm still as confused as I was when I posted the question.


Why does Season 5 have only 20 episodes?

Question: Star Wars: the Clone Wars Season 5 only contains 20 episodes when Seasons 1-4 all contained 22. There was no reason given, and there was a whole arc revolving around Rush Clovis that was planned. Is there any official reason given as to why?
Comment: They were running out of story...
Comment: Apparently, they were *not* running out of story. Work was done on 22 more episodes, [and they will be released next year](http://www.comingsoon.net/news/tvnews.php?id=110133).
Answer: The series was announced to be "winding down" by episode 20 of season 5, so it stands to reason that the show was effectively coming to a close.  Also, at the same time Lucasfilm announced a "new direction" in their animation programming beginning with a new series in an era that has not yet been explored.
Source:  http://starwars.com/news/a-new-direction-for-lucasfilm-animation.html


Do CC troops have tombstones for 20 Elixir/1 Elixir when they die trying to protect the village?

Question: If a Dragon comes out of the CC and gets killed by Wizards, then does it form a tombstone? Do attack reinforcements have tombstones as well?
Answer: Yes, any clan castle reinforcements whether used on defense or offense spawn tombstones upon their death.


How do I retrieve disk information in C#?

Question: I would like to access information on the logical drives on my computer using C#. How should I accomplish this? Thanks!
Answer: For most information, you can use the DriveInfo class.
using System;
using System.IO;

class Info {
    public static void Main() {
        DriveInfo[] drives = DriveInfo.GetDrives();
        foreach (DriveInfo drive in drives) {
            //There are more attributes you can use.
            //Check the MSDN link for a complete example.
            Console.WriteLine(drive.Name);
            if (drive.IsReady) Console.WriteLine(drive.TotalSize);
        }
    }
}

Comment: What about drive info on a machine other than the local machine?
Comment: For network mounted drives this works, reports drive type as "Network". For remote querying, I think you should ask a different question.
Answer: If you want to get information for single/specific drive at your local machine. You can do it as follow using DriveInfo class:
//C Drive Path, this is useful when you are about to find a Drive root from a Location Path.
string path = "C:\\Windows";

//Find its root directory i.e "C:\\"
string rootDir = Directory.GetDirectoryRoot(path);

//Get all information of Drive i.e C
DriveInfo driveInfo = new DriveInfo(rootDir); //you can pass Drive path here e.g   DriveInfo("C:\\")

long availableFreeSpace = driveInfo.AvailableFreeSpace;
string driveFormat = driveInfo.DriveFormat;
string name = driveInfo.Name;
long totalSize = driveInfo.TotalSize;

Answer: What about mounted volumes, where you have no drive letter?
foreach( ManagementObject volume in
             new ManagementObjectSearcher("Select * from Win32_Volume" ).Get())
{
  if( volume["FreeSpace"] != null )
  {
    Console.WriteLine("{0} = {1} out of {2}",
                  volume["Name"],
                  ulong.Parse(volume["FreeSpace"].ToString()).ToString("#,##0"),
                  ulong.Parse(volume["Capacity"].ToString()).ToString("#,##0"));
  }
}

Comment: Just found it myself:
''foreach( ManagementObject volume in new ManagementObjectSearcher( "Select * from Win32_Volume" ).Get() ) { if( volume["FreeSpace"] != null ) { Console.WriteLine( "{0} = {1} out of {2}", volume["Name"], ulong.Parse( volume["FreeSpace"].ToString() ).ToString( "#,##0" ), ulong.Parse( volume["Capacity"].ToString() ).ToString( "#,##0" ) ); } } }
Answer: Use System.IO.DriveInfo class
http://msdn.microsoft.com/en-us/library/system.io.driveinfo.aspx
Answer: Check the DriveInfo Class and see if it contains all the info that you need.
Answer: In ASP .NET Core 3.1, if you want to get code that works both on windows and on linux, you can get your drives as follows:
var drives = DriveInfo
    .GetDrives()
    .Where(d => d.DriveType == DriveType.Fixed)
    .Where(d => d.IsReady)
    .ToArray();

If you don't apply both wheres, you are going to get many drives if you run the code in linux (e.g. "/dev", "/sys", "/etc/hosts", etc.).
This is specially useful when developing an app to work in a Linux Docker container.


How to remove or seal fan hole

Question: The hole I am talking about is 25cm x 25cm
Unfortunately I found out that this is a glass window(painted) so I cant just cut it.
My idea for quick fix is to try and cut the fan  metals with grinder. Then I could stick some wood there. The problem is that from outside in second photo It doesnt seem easy to reach. because the roof is 5mm glass and shattered. I honestly don't know how they put AC unit there.
Any ideas how to fill this hole ?
Answer: If you have easy-ish access to the outside, I'd clean as much of the detritus away, patch the hole with plexiglass (perspex) and copious amounts of silicone caulk. Then install a triangular chunk of exterior plywood (painted both sides and all edges). Flash and caulk as much as possible. Attach as possible through the window frame.
On the interior, more plexiglass and caulk to seal the interior side. Then a skin of painted (both sides, all edges) exterior plywood (preferably with a smooth face) all the way across the window. Attach as possible to the window frame. Attach a bit of molding at the bottom if there's a gap you dislike. Caulk the heck out of it in an attempt to keep moisture from passing through.
For what it's worth, vent fans like this have a reason for existing. Everything above could be tweaked to allow for the install of a new unit. (Just remember where the hole was.)
Comment: So do you suggest to keep the old fan there?
Comment: Sorry to reply so late... I'd either remove the old fan and cover everything up, or put a new fan in. (I understand how drafty those fans can be, so I'd get it if you wanted the window sealed up.)

How to remove or seal fan hole


Is it proper to use 'stepmother' in this case?

Question: If a man has a child with another woman while still married to his first wife, how would the child refer to the wife? Stepmother or is that only for births occurring prior to a parent marrying a non-parent?
Comment: This is opinion, but it seems to me that where the child lives is very important.  If the child is staying many days a month with her father and his wife, and is included in many or most family outings (going to church, vacations, birthday celebrations) where the woman is present,  she is part of that household and the woman is the mother of that household and hence, I would use the word stepmother.  If the child is living full time with her mother and only sees her father separately from the rest of his family, "stepmother" would lead people to believe there was a more extensive relationship
Comment: No. And I know of no special name for the man's wife relative to the child, who is unrelated to her. She is the wife of the child's father; that's all.
Answer: This is one hundred percent an opinion. It depends on how that child feels around his fathers new lover, it doesn't matter if it is religiously or traditionally correct to be known as a specific label.
Answer: stepmother:
a woman who has married one's father after the death or divorce of one's mother
http://www.dictionary.com/browse/stepmother?s=t
Allow me to offer a hypothesis (and do correct me if I'm wrong):
The word "stepmother" dates back to Old English, i.e. an epoch when the idea of getting a divorce was unthinkable, or at least extremely problematic. The original mother of the child would have to be a witch or something, in which case she would have been "dead to us."
Today, a woman is only seriously (i.e. not ironically or sarcastically) referred to as a stepmother if the biological mother has either died or completely abandoned the child. I think. To put it another way: a stepmother is someone who actually raises the child.
Comment: @Ricky, many children have a mother with whom they live  and a stepmother married to their father with whom they may live part time.  There are many blended families these days.  There are also a lot of co-parenting arrangements between divorced spouses who share children.
Comment: The bit about Old English is misleading (and you should remove it). While the word *did* exist, it referred to something different: "Etymologically, a stepfather or stepmother is one who becomes father or mother to an orphan, but the notion of orphanage faded in 20c. and came to denote simply relation through marriage" ~[EO](http://etymonline.com/index.php?term=step-&allowed_in_frame=)
Answer: Stepmother is a legal term, clearly defined. In 60 years I've never heard it dragooned into any other use.
It's much less common today but it was once the automatic norm to call an adult with no legal status but some kind of socially recognised special relationship to a family with children Uncle Hisname or, as here, Aunt Hername.


How does the dagger work in Prince of Persia

Question: How does the dagger work in Prince of Persia? If the holder goes to the past to change things what becomes of that time/world/characters which went through that time? Is it illusion? If it was illusion, then everything becomes illusions for everyone (since the holder can be anyone) which is impossible.
Comment: Just a clarification question here: are we talking about the movie or in the games?
Comment: Can you elaborate your question a bit? What do you mean by "which passed that time" ?
Comment: It didn't seem to me like the movie wanted you to know how it works exactly. After all, it's in the storyteller's/moviemaker's best interest to leave you wondering instead of giving you definitive answers. And if you're still thinking about it the day after watching, they must have done something right.
Answer: Short answer: It's not an illusion, it's an alternate timeline/reality
The dagger takes the user back in time. Basically, this means that the moment the user reaches the desired temporal point in the past, an alternate reality is generated. This is evident in the ending of the film, as well as the first game. The Prince still remembers the events of the previous timeline, but from others' point of view, that version of reality never happened. For them, the current one, is the only reality.
Prince Dastan rewinds the timeline so that Nizam's plan won't succeed. So basically, that timeline ceased to exist the moment the Prince went back.
The alternate timeline doesn't get created at the point where he rewinds time, but at the point in the past where he "reaches".
So basically, everything that happens from the point that dastan gets the dagger up to Nizam unleashing the sand was replaced by the new timeline.
Imagine that Dastan getting the dagger is the starting point.
There are 2 timelines here. The original timeline was that Nizam kills the king, blames Dastan, kills dastan's brother, and unleashes the sands. But this timeline gets erased from existence the moment dastan arrives back in time, and exposes Nizam to be a traitor, thus avoiding all that happened in the original timeline.

For a better understanding of how alternate timelines work, you could refer to Back to the Future, or at your own risk ;) :P , Doctor Who (where such alternate timelines are abundant.)
Comment: **from other's point of view, that version of reality never happened. For them, the current one, is the only reality**, well since the holder can be anyone so nothing happens..I still don't understand it:(
Comment: The holder can't be "anyone". At any given time, there is only 1 single holder. There is only 1 dagger, which was last in the possession of the Prince. What exactly do you mean by "holder can be anyone so nothing happens"? Please elaborate it a bit. Your question is very confusing.
Comment: Consider the dagger is taken from the prince, what then? Would he become unreality?
Comment: ofcourse not. He gets stuck in that reality. Think of it this way. Suppose there was some event, where the prince was NOT involved. Somewhere in the future, the Prince time travels back to this point. Now in the original event, the Prince was not there, but now, he is. This causes a simple paradox, the result of which is, that the timeline diverges at the point where the Prince reappears in the past. Whatever happens from that point on is part of another timeline. It is entirely separate from the original timeline.
Comment: you mean everyone has unique timeline and within that time line there are many time lines..Its very confusing
Comment: No... Not everyone. But the user of the Dagger creates an alternate timeline from the moment he/she time travels to the past, with respect to him/her. Only the user him/her-self is aware of the existence of a different timeline, as well as the events that occur from the moment he/she time traveled to the past upto the moment _when_ he/she time traveled.
Comment: let us [continue this discussion in chat](http://chat.stackexchange.com/rooms/14107/discussion-between-tom-lynd-and-ash-k29)
Answer: The Sands of Time it (or them)selves cause ripples in the original timeline (as evidentiary at the point the Hourglass gets pierced) thus creating numerous different timelines for all of those close in the near vicinity of the Hourglass (though only Dastan remembers the previous timeline since he pressed the gem on the Dagger while it pierced the Hourglass thus unleashing the full power of the Sands).
The Sands, upon piercing the Hourglass, created some sort of temporal wave,a ripple if you like, which wiped the original timeline clean and returned everyone to the point the Persians led by Dastan achieved their latest victory but before Dastan himself revealed the traitor to be his uncle.
So, basically, the Sands are the force that causes ripples in time thus creating alternate, or separate, timelines not only for the one using them but for all of those close to user (both personally and spacially) but they only allow the one using their powers to remember the original timeline (kinda like flashbacks of the old timeline but in the new,alternative timeline).
Hope I explained the way the Sands work. :)
Answer: This isn't exactly from the movie, but it does give you a good bit of information on it:

The Dagger of Time is an artifact linked to the Sands of Time. It enables the wielder to reverse, stop, slow, and use various Sand Powers, as well as protect them from changes in the timeline or alteration by the Sands.

It apparently works by placing sand within the dagger and pressing a small dial of some sorts at the end of the dagger.

The Sands of Time are a force, capable of controlling time itself. There are four objects related to them: the Hourglass of Time, which contains the Sands, the Dagger of Time, which unleashes them from the Hourglass, the Medallion of Time and the Staff of Time. The Sands of Time and these objects were created by Kaileena, the Empress of Time.

Hope it helped.
Comment: -1; This says _what_ the dagger/sands are, not _how_ they work (the question). ("pressing a small dial" is how to use the device, not how the device functions)
Comment: And the sands work... how? Saying it's obvious that the dagger works because of the sands is just moving the goalpost.
Comment: Its quite obvious to guess from reading answer that it functions from the sands of times. Its not my responsibility to state what we call the obvious when it is actually quite implied. So i am quite fine with the downvote.


How to move a box (stroked selection) in GIMP?

Question: One can create a rectangular box in GIMP by applying a stroke (Edit > Stroke Selection) to a rectangular selection (as discussed in a previous post). How can one select and move the box once it has been created? The box appears to not be amenable to selection by clicking on its border or within its interior. Likewise, the selection does not appear along with other items in e.g., the layer listing.
Answer: Once you apply a stroke to your selection, it is printed on the underlying layer. If you want to move the created box, you should put it on its own layer.


Can we get real image of virtual objects?

Question: Is it possible to get a real image of  virtual objects, if so please explain with examples and some real life situations?
Look at my assertion "rays will not pass through virtual objects so how it can form real image", is this possible, please help.
Comment: Every time you use a magnifying glass, the lens in your eye accepts light that appears to come from a virtual image, and forms a real image on your retina...
Comment: Give us an example of virtual object, what you mean is not clear to me.
Comment: @DelCrosB like images by a concave lens, when it treated as objects.
Comment: @DJohnM that should be written as an answer.
Answer: Suppose one has a two lens system with the first one being a converging lens and the second being a diverging lens. One can choose distances and focal length so that in the end the image created by the converging lens is located behind the diverging lens. Now for diverging lens the focal length is negative and object distance for diverging lens will be negative since the object is behind the diverging lens. Let us now look at the lens equation we have $$1/f = 1/d_i +1/d_o\implies d_i = \frac{d_o f}{d_o-f} $$. In order to get a real image the image distance must be positive. The numerator see must be positive since both quantities are negative. And the denominator is positive if the magnitude of the focal length of diverging lens is greater than the virtual object distance. This gives us a real image.
In short we got a virtual object for the diverging lens but finally got a real image with respect to the original object. But we could also have a two lens systems consisting just of converging lenses and i.e the diverging lens is replaced by the converging lens. We see in this case that focal length can be less than or greater than object distance but we finally get a real image with respect to original object.
I am not sure if this directly answers your question but it does use a virtual object to produce a real image at least with respect to original object which is real.
Answer: Yes it is possible.
The best example would be :-
1) Suppose a condition in which you are looking at you image in a plane mirror. The mirror forms a virtual image of your, now when you are looking at the mirror on your image then a a real image of the mirror image is formed on your retina.
2) Suppose you are standing in front of a plane mirror holding a camera in your hand now when you capture the photo office looking in the mirror, the real image of the main images formed in the camera which is captured.
Comment: There are several grammatical errors or typos in this answer, eg "photo office". Please fix it so that readers can understand what you are trying to say.
Answer: For a virtual object, the rays do not ontersect at a point in front of the mirror. So we take a concave mirror and adjust itsuch the image formed by the concave mirror appears to be behind the plane mirror(although the image will not be formed as the rays are blocked by the plane mirror). But for the plane mirror, it will seem like the rays do not intersect anywhere in front of the mirror and thus making it a 'virtual object'
{See the image for a better visualization}
 (https://i.stack.imgur.com/dcJKv.jpg)


Help with integrating Snipcart

Question: I'm trying to follow this tutorial, but I'm stuck. I create the layout.html file and the index.html and it's still not working. Any ideas?
Comment: What happens before you started working with snipcart?
For example, what happens when you visit `localhost:8080/Elementhal.dev/`
Answer: I'll be the first to admit, I know nothing about snipcart so my answer could be way off.
Since your site works without snipcart, that means you are here:

Once the installation is completed, simply login into the Craft admin and go to Settings. You will have to create the fields that will be required to define a Snipcart product. In the settings, click on Fields and create 2 new fields:

Once you have those fields created, you will need to create a new section - which is a Channel

Name: Store
Handle: store
Section Type: Channel
Uncheck Entries in this section have their own URLs

Once you have that done, and the entry fields created/updated as they suggest, I think where you went wrong is with the actual layout.html file.

You need to include Snipcart's JavaScript file and jQuery if it is not already included. Use the default CSS theme that you need to include as well.

What that is telling me is to open layout.html that I downloaded with snipcart and copy/paste all of the appropriate javascript into this file:
/path-to-your-project/craft/templates/_layout.html

That's the default layout template that Craft uses. So by pasting all of the necessary javascript & css into that file, each entry will have access to it.
Hope this helps!

Help with integrating Snipcart


Android Emulator slugish performance

Question: I have intel i7 quad core with 4GB of ram but when I try to run my app on the emulator, God it takes a hell lot of time. Some times more than 5 minutes. I am not emulating any game or graphics intensive thing. I am learning android so just trying simple aps but still it is very slow. Moreover today I found this emulator has stop playing any music or sound I used the in the programs, I made previously. What can be the reason of this weird behaviour and slow speed.
How can I fix it? I am on Windows 7
PS: when I try to type in an app from user keyboard, the emulator doesn't take any input unless I use the emulator keyboard. Can I change its settings to take input from keyboard.
Regards
Comment: Have you been able to run your app on an Android device? If so, how is the performance?  Have you tried creating a new emulator in the AVD?
Answer: Open android sdk manager, in extras, install "Intel Hardware Accelerated Execution Manager", and use x86 images (there are two available, one 2.3.3, one 4.0.3) provided by intel.
On windows, android SDK Manager only downloads the installer of IntelHaxm, so you have to go in and install it yourself.  Usually you can find it under
android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager and install IntelHaxm.exe as admin.
4GB of RAM imho is not enough, windows 7 and eclipse together takes more than 2GB out on my system.  8GB is minimum and the more the better.
Answer: The emulator has always painfully slow for me; I've never gotten any of the standard speed suggestions to work.  However, if you have a device available, testing directly on it is much, much faster.

Android Emulator slugish performance


Visible Tattoos as ESL teacher in Thailand?

Question: I am a qualified american English as a Second Language teacher looking for jobs in Thailand and I was curious if my non-offensive partial hand tattoo would be a deal breaker?
Comment: Have you asked the schools? Different ones may have different policies, depending on whether they're teaching locals or expats...
Answer: While sak yant tattoos are indeed common in Thailand, they are also associated with lower classes and criminals, and they are usually placed in locations that are not visible (back, neck etc) when clothing is worn.  Visible tattoos are not common at all, and would generally not be considered acceptable for Thai professionals, I can't recall seeing any during the year and half I spent working in Thailand (in telco, not ESL).
Per the comments on this Ajarn.com thread, while they're not an absolute no-no for ESL teachers since farang get a bit of extra leeway, they will likely limit your options, particularly if they're in locations that you can't easily cover up.
Answer: Tattoos are very common in Thailand, they have some of the best tattoo artists in the world. The only type of tattoo that is prohibited is one that depicts the Buddha, or, of course, any tattoo which would violate lese-majeste laws (offensive to the monarchy).
Comment: Are tattoos common for professionals?
Comment: Could you elaborate on how this answer affects ESL teachers, which is what the OP was asking...
Comment: I am unaware of tattoo-specific restrictions on a profession by profession basis, whether ESL teachers or not.


OS400/Pase restoring to scratch

Question: Simple question, is there any way to restore Pase so that for example QOpenSys/ restores all files back to scratch ?
Answer: You might be able to uninstall the licensed program (5761SS1 opt 33 in IBM i 6.1) and then re-install.  I haven't tried it but I would think that would get you back to basics.  The only issue would be if you have added other PASE programs to your PATH and altered the PATH then those programs might still get executed rather than the 'vanilla' PASE programs

OS400/Pase restoring to scratch


What are options after finishing high school mathematics early?

Question: I am a high school student with two years left until I graduate. I managed to move through my high school math curriculum quicker than expected and am on track to take AP Calculus AB this coming school year. I talked to my guidance counselor and the school's calculus teacher and they both agreed it wouldn't be necessary for me to take Calc BC due to the similarities to AB. So I may self-study just to take the AP exam. It's only recently that I realized that after this school year, I won't have any math classes left to take and I'm not comfortable with having a math "gap-year" for the rest of high school. Are there good options for math classes going forward? I'm not sure where else to ask since I don't have access to a guidance counselor over the summer.
Comment: Some high schools have programs allowing you to take college courses in math if your school doesn't have any higher-level math courses left for you.  You might ask about this possibility.
Comment: Perhaps helpful:  https://math.stackexchange.com/questions/1714966/what-books-should-i-get-to-self-study-beyond-calculus-for-someone-about-to-start/1714986#1714986
Comment: Check your state laws.  Growing up 30 years ago in Wisconsin, I "ran out" of math courses to take in high school.  The high school was compelled (as I was) to have a math course for the year.  They paid tuition at a local college and I received college credit for the math course I took there.  Your state of residence may be important to answering this question.
Comment: This also definitely seems worth pursuing as an option, I just don't know how feasible it will be money-wise.
Comment: Rather than racing onward through the standard curriculum, there  is a lot to be said for developing problem solving ability and learning to prove things. Check out artofproblemsolving.com (but don't feel obligated to do contest math). Look into attending a math summer program. Consider working through a book on number theory or reading Spivak's book Calculus. In a more applied direction, you could take a mooc on machine learning and try to understand  the vector calculus and linear algebra you need for that. But most of all, learn whatever you think seems exciting.
Comment: **Duplicates https://math.stackexchange.com/q/127814**
Answer: CaptainAmerica16, it's great that you've asked for advice on this.
The first thing I would say is that if at all possible, you should ask if your school can set you up with a mentor, such as a math professor at the college or university level. That may or may not be possible, but if it is, you'll benefit from advice tailored to your situation from someone who knows you.
The second thing is to be aware that the normal progression in math in the North American system is not well suited to the highest achievers. That is, a typical curriculum goes through calculus, multivariable calculus and linear algebra, perhaps even more, with no serious focus on proofs and mostly routine problems. Typically, people are in their junior year of university before they get a taste of what math is really like, when they take abstract algebra or analysis.
This may be a good way to do things for those who need to become competent in some of the routine calculations of calculus for use in other fields (although that is debatable), but it is certainly not right for young people who show promise in math.
For talented high-schoolers, the thing to do is to focus first on developing an understanding of proofs and the habit of working on harder problems at the precalculus level, and then to study single-variable calculus in a fully rigorous way and go from there. The fact that those kinds of students usually just get plain acceleration rather than a highly enriched curriculum results not from this arrangement being better for the students educationally, but from it being simpler on an institutional level.
For rigorous calculus, I would recommend either Spivak's Calculus or Apostol's Calculus, Vol. 1. Spivak's book has a solution manual. It may be the case that you are already ready for this level of math - you can see by starting to read one of these books. If not, adequate preparation would be furnished by working through some of the following (short) books aimed at high schoolers.

The Method of Coordinates, Functions and Graphs and Algebra, by Gelfand.
Numbers: Rational and Irrational and Mathematics of Choice, by Niven.
An Introduction to Inequalities, by Bellman and Beckenbach.
Mathematical Circles, by Fomin, Genkin and Itenberg.

I haven't listed any books on geometry here. The books by Gelfand cover central parts of the precalculus curriculum in a rigorous way. The book on inequalities gives you practice in an area that is often neglected in high school but is crucial in rigorous calculus. The book by Fomin has interesting problems in it. The books by Niven are on number theory and combinatorics. You may find them to be of great interest even if you are already at the level to start rigorous calculus.
Answer: If you are interested in math or a science that uses math you could do self study; however, you could also enroll part time in a community college ( if that's a option) and then take multivariable calculus, linear algebra, and differential equations. But I really recommend checking out some books on multivariable calculus, linear algebra, proofs, and first year university physics to see whats out there. Once you've done that you can really get some books and start self studying. I recommend at the beginning to read Div, Grad, Curl, and All that: An Informal Text on Vector Calculus
(its an informal text so no big proofs and introduces some physics to see if you like that) and How to Prove It: A Structured Approach (To see if you like and can get through writing proofs). I don't know anything about ap calculus (as i dropped out and went to college in a very similar situation to yours) but if you think it might not have covered enough you can always use mit ocw to review topics and see some new ones. (They have nice video lectures on single variable and multivariable calculus)
Comment: I will definitely check out mit ocw. I've heard about it, but I didn't realize there were things on there I would be able to comprehend, ha. Thank you for showing me a new source :)
Answer: Good for you for wanting to stick with math! I was in a very similar position to yours at the end of my sophomore year, and I was lucky enough to have a college right across the street from my high school, but lacking that, I'd be more than happy to point you towards some helpful resources.
The natural continuation after AP Calculus AB is Calculus II, which is (roughly speaking) the last third or half of AP Calculus BC. It's sometimes taught as an entirely separate course at universities, and if you want to go that direction, I'd strongly recommend James Stewart's Single Variable Calculus: Early Transcendentals. After that, you can move on to Calculus III, or multivariable calculus, for which I'd recommend Jon Rogawski's Calculus: Early Transcendentals. Both of those textbooks are available for purchase online, and if you look hard enough, I'm sure you could find pdf's of them, too.
Alternatively, if you're tired of calculus, you can explore a different field of mathematics, like linear algebra. It's got a very different flavor than calculus, but its applications are too numerous to list here (see the answers to this question for what I mean by that). Jeffrey Holt's Linear Algebra with Applications is a really great way to approach the subject. If you do try linear algebra and find it too weird or too confusing, just try a different subject for a while and come back to it. It's well worth learning, but you've got plenty of time. By the way, all these textbooks I've been mentioning are textbooks I used and liked, so trust me when I say they're well-written.
And of course, there are other options, too. You could try number theory, like Ethan Bolker suggested in the answer he linked to, or differential equations, or analysis (though I would strongly recommend a bit more calculus before you tackle analysis), or something else entirely. As long as you're interested in learning more math, there'll be more math for you to learn. And I'd be more than happy to offer more suggestions if you'd like!
Comment: Some other possibilities that come to mind - "discrete mathematics" (e.g. combinatorics, graph theory), abstract algebra (which encompasses the mentioned number theory), complex analysis (as opposed to the real analysis mentioned in the answer, a beginning course in complex analysis could be done without too much of the advanced $\epsilon$-$\delta$ type arguments that are the bread and butter of real analysis).
Comment: Analysis sounds interesting, I didn't know it could be accessible at my level.
Comment: @Robert Howard Just an update...I was able to get in touch with my school and they're currently looking into me taking Multivariate Calculus at a local university! I've also started studying linear algebra for fun since I was able to get a grasp on multiple calculus concepts since I asked this question. Thank you for all of your suggestions!
Comment: @CaptainAmerica16 That's great! I really hope that works out! I've read some of the other questions you've posted here and I can really tell you have a passion for math, so I'm sure you're going to love multivariate calc. What do you think of linear algebra so far?
Comment: @Robert Howard My favorite part is the geometric representations of vectors. I literally made a 3D model of R^3 space as soon as I saw it. I'm really into geometry so the visualizing part is fun.
Comment: @CaptainAmerica16 I know exactly what you mean; I loved that part of linear algebra too. I've always especially enjoyed anything in math that I can visualize clearly, so all the ideas from linear algebra that deal with vectors and how you can apply any transformation you can imagine to them with the right matrices still fascinate me.
Comment: That's so exciting. The more I progress through math, the more I see it's not just the plug-and-chug formulas that I'm used to. It's kind of arty I guess.
Comment: I would certainly agree that math is like an art. It's intricate, beautiful, occasionally infuriating (which makes the beauty all the more satisfying), and rewarding all at the same time.
Comment: Thank you for this! I looked at the link and I think Linear Algebra definitely seems worth checking out. Especially since I have a strong interest in Computer Science as well. I'm always looking for more suggestions, so I would appreciate anything else you can point me to!
Answer: I like Robert's answer, and I see you've accepted it but I'll add a couple remarks. When I was in high school, I had a similar issue (I knew I was going to be a math major also), and I wanted to continue taking math classes that would help me place further when I went to university. My community college only went up to differential equations, and I was unable to study there for a semester due to musical commitments. There are online mathematics courses you can take (they aren't great at all, but at least you get college credit), but I highly recommend you continue self studying.
You don't mention what you want to study in university, or if you even have any idea (this is totally fine, most people don't), but if you find yourself interested in mathematics, there are lots of summer programs and resources you can use to get ahead. If you find yourself enjoying deeper mathematics after calculus and multivariable calculus, linear algebra, etc., try real analysis, abstract algebra, number theory, and basic topology, and if this peaks your interest, great! Keep going. Otherwise find something else you really love, you have a great (scholarly) start already.
Good luck!
Comment: Someone else mentioned taking classes at a community college and I think that may be worth pursuing. I'm really interested in computer science and up until recently, I was certain that would be my major now I'm also considering majoring in math or maybe even double majoring (stress!).
Comment: Right now, I would worry less about exactly what your college career path will be and instead expose yourself to mathematics and computer science that you _really_ like. Getting ahead will be helpful and important, but nothing will serve you better than finding something you're truly passionate about. Another answer suggested finding a mentor. If you're fortunate enough to find one, this will also be extremely beneficial.
Answer: This happened to me in high school too.  I was advised to take a "math gap year", which I did.  To this day I think it was a mistake, so .. avoid it if you can!  A book I enjoyed recently and recommend is John Derbyshire's "Unknown Quantity: A Real and Imaginary history of Algebra."  It really lays out a wide range of math: I wish I had had it way back then.
Comment: Wow, sorry that you were given such terrible advice!
Answer: I know several people who had a similar experience at my high school- Calculus AB junior year, what do we do for the last year? We had a variety of different things we all did. I took statistics my senior year- still math, but a break from the high theory of calculus. This seemed to be the most common thing to do. A couple of other students managed to take their math class at a local university instead. And lastly several others took a break senior year and didn't take math at all. I don't think any of these options are terrible.


fix P0615 Infiniti FX45 2003.Please help me find out what is going on and how to fix it

Question: How to fix error code P0615 of  Infiniti FX45 of engine 4.5L of 2003
Please help me find out what is going on and how to fix it.
Comment: http://bestride.com/engine-trouble-codes/P0615
Answer: P0615
The PCM has detected an abnormal voltage reading from the starter relay circuit.
Common Causes:
In choosing a single most common cause, I would have to say a faulty ignition switch. Other common causes may include a blown fuse, a bad starter relay, shorted or open circuits, a defective battery, faulty battery cables/cable ends, or a defective starter motor/solenoid.
Common Misdiagnosis:
Snap diagnosis' often lead to unnecessary starter motor replacement. Technicians report that shortcomings in the voltage supply to the starter motor are more common in late model vehicles than bad starter motors/solenoids.
Diagnosis:
Some vehicles use a starter relay in order to activate and engage the starter motor with the flywheel
Others use a system that does not include a relay but instead uses a wire that comes directly from the ignition switch
This type of code will set only in the former
The opposite end of the positive battery cable (from the battery post) is typically attached to the starter solenoid using an eyelet style cable end placed over a solenoid integrated stud, with a nut threaded on to secure it
The positive battery cable is often referred to as a primary circuit
A separate wire from the starter relay, or directly from the ignition switch, is used to activate the starter solenoid and engage the starter motor with the flywheel
This wire is sometimes called a secondary circuit
Of course, the supply of voltage on the positive battery cable should be constant
The ignition switch (not the cylinder but the electrical switch which the cylinder engages) is used to activate the secondary circuit (in this case, via the starter relay) which causes the contacts of the starter solenoid to close
With the solenoid contacts closed, battery voltage is supplied to the starter motor, causing it to spin and engage the engine flywheel, thus cranking the engine.
Several tools will be instrumental in successfully diagnosing this code
A suitable OBD-II scanner (or code reader) and a digital volt/ohmmeter will be most helpful in performing a successful diagnosis
An infrared thermometer with a laser pointer will also be helpful
Begin with a visual inspection of all wiring and connectors
Repair or replace damaged, disconnected, shorted, or corroded wiring, connectors, and components as necessary
Always retest the system after repairs are completed to ensure success. If all system wiring, connectors, and components (Including fuses) appear to be in normal working order, connect the scanner (or code reader) to the diagnostic connector and record all stored codes and freeze frame data
This information can be extremely helpful in diagnosing intermittent conditions that may have contributed to this code being stored
Continue by clearing the code and operating the vehicle to see if it returns
This will help to determine whether or not the malfunction is intermittent
After the codes are cleared, test drive the vehicle to see if the code returns
If the code fails to immediately return, you may have an intermittent condition
Intermittent conditions can prove to be quite a challenge to diagnose and in extreme cases may have to be allowed to worsen before a correct diagnosis can even be attempted
Continue your diagnosis with a visual inspection of the battery cables and battery cable ends
Clean or replace cables and ends as required
Make sure that the battery is fully charged and then perform a battery load and starting/charging system test
Compare your findings with manufacturer's recommendations and replace faulty components as needed
If the battery and starting/charging system are normal, then test system fuses and fusible links
Replace faulty components as needed and retest the system
If the problem persists, test the starter end of the battery cable for battery voltage
Use a test light or digital volt/ohmmeter to check the starter end of the battery cable while the ignition switch key is turned to the "start" position
A constant supply of battery voltage should be present
If there is no voltage, or if voltage is diminished when the ignition switch is placed in the start position, suspect a faulty battery cable or battery cable connection
The starter uses its mounting bolts to ground itself to the engine block
Make sure that the battery ground cable is securely attached to the engine block by testing the engine block ground and starter housing ground
If the starter motor housing has no ground, repair the ground cable or connection as required
Next, place the voltage end of your testing device on the secondary circuit of the starter solenoid (the small stud and retaining nut opposite the battery cable stud on the rear of the solenoid) and have a helper rotate the ignition switch from the "start" to the "run" position, repeatedly
The secondary circuit should have battery voltage with the ignition switch in the start position, only
If there is no voltage on the secondary wire, move your testing to focus on the starter relay. Test the input circuits of the starter relay and compare your findings with the manufacturer's specifications
If the input readings coincide with manufacturer's specs, and there is no output voltage signal, replace the starter relay. If there is no ignition switch input signal at the starter relay, suspect a faulty ignition switch (not the cylinder, the electrical portion)
If other input signals fail to line-up with manufacturer's specifications, disconnect the relay connector and perform a continuity test between the connector and the fuse panel
Repair open or shorted circuits as required and retest
Test the PCM input signal from the starter relay and repair open or shorted wiring as necessary
If the PCM input signal is present, suspect a faulty PCM (PCM failure is rare)
Source of Information Above
Starting circuit diagram

Location of starter Relay


Does using the windows repair disk to repair the MBR after uninstalling Ubuntu partitions delete your files and programs?

Question: After reading the articles How to Uninstall a Linux Dual-Boot System From Your Computer and How to Manually Repair Windows 7 Boot Loader Problems (on howtogeek.com) in order to uninstall Ubuntu on a dual- boot system with Windows 7, I was wondering if following the instructions given to repair the MBR would result in a loss of files and programs from the computer it was used on, or if the computer would be as it was before, but without Linux.
Answer: Those instructions are indeed meant to show you how to get rid of the Linux installation, including its partitions.  The partitions are where the files are saved on your drives.
If you have important data on one of those Linux partitions, you'd need to back it up first from Linux before following those steps.  At first glance, the tutorials you link to seem to be quite comprehensive and fairly easy to use, but your question implies insecurities that can only be corrected by experience.
Although the instructions appear pretty safe to use, it may be a good idea to request assistance from someone a bit more comfortable with them.
If all goes well as shown, the computer should be quite similar to what it was before installing Linux.


I have a problem using texmaker on a external monitor

Question: I am using a laptop with a 4k screen. Texmaker works perfectly on it. Recently I got a monitor with a 1080p screen and when I link the monitor and extend the screen, the texmaker becomes blurry on the external monitor (The reason I bought it is that I want to look at other files such as a pdf file  and type on the external monitor at the same time). It is still fine if I drag the interface back to my laptop but as I move it to the external monitor it becomes not clear: the fonts are small, the pdf is blurry. It also looks fine if I choose to  duplicate the screen instead of extending it. Anyone knows how to fix this? Thanks in advance. (I am using Win10)
Comment: Welcome to TeX.SE! I am not sure to which extent this is really a LaTeX problem/question. You may first want to check if this is specific to texmaker, or if other applications have the same problem.
Comment: Hi! I just tried to use some other applications such as Stata, Pycharm, RStudio, Eclipse, Matlab. It turns out that some of them works well (Pycharm, Eclipse, Matlab) and the rest don't. Either fonts are too small, too big, or there is a problem with the GUI. Applications such as Mail, Chrome, are all fine.
Answer: Depending on your Operating System your Scale and Layout settings for each monitor may need adjusting in Display Advanced scaling settings or Resolution. On some systems it is possible to adjust on a per application basis, however when using 2 or more monitors I  focus my working on the best one and keep all others at the default recommended resolution and scale (usually 100%) then use zoom to adjust e.g. enlarging details. This reduces "fuzziness" which is usually down to "font smoothing"
If your using a mac see mac-screen-blurry
There are several ways this dpi issue can be changed in some TeX editors, so for example TeXmaker version 5 (64bit) is scalable and has an start-up option  -dpiscale 2.0 (Note not 200 like I tried :-) you will neeed to experiment for your optimum value between 1.0 and say 3.0, unfortunately I don't know how it will behave so 1.333 may work, please let us know.
Comment: Hi! Thanks for your response! I just tried to set scaling and I just found one solution (not perfect) to my problem. On my laptop the scaling used to be 250% and when I set the external monitor to be the main display, and change the scaling of my laptop to be 100%, and then use texmaker on the external screen, the pdf becomes clear. But the fonts and icons on the laptop becomes small. I guess I will just have to make this change everytime I want to use latex and since other applications are fine, this might not be very troublesome I hope.
Comment: Rather than 250 (or even 150) you may have had better results with 200 since that = exactly 2 times thus pixelated fonts may look "blocky" but not "fuzzy"
Comment: `-dpiscale` is not a provided option for macs.


Turmoil, yet Balance

Question: While there have been a bit of turmoil on Buddhism SE the last couple of days/weeks, I want to point out, that our Area 51 stats, are quite good looking. Take a look below.
Answer: I noticed this and I think the two things are related. One of the other moderators termed this kind of thing "growing pains" and I think it might be. Our site is now a successful stack exchange site and it is attracting a widening user base. As such it gone from quite a cozy environment were we all know each other to one where we are getting unfamiliar users with controversial opinions and/or less familiarity with our be nice policy.
It's a challenge for all users and one we are trying to work through. But we are all human beings with our human failings and I know we will get it wrong time and time again. But I hope we do manage to keep things going in a positive direction. I have faith that we will.
Comment: These are some good reflections and points. The site is evolving. No one really knows into what. Let's see what the future brings. I realized by reading Thiagos answer in the chat, that I used to believe the site was a buddhist site, but it's really not. It's a site "about" Buddhism as Thiago points out, meaning that it's not a Sangha.

Turmoil, yet Balance


How to set the minimal flash player version

Question: I'm publishing a swf using ActionScript 3.0 on the web. Therefore, only Flash player 9 or above can run my swf. How can I set the minimal version requirement so that if the use can be notified if his player doesn't meet my requirement?
Comment: How you are building the project? With Flash Builder?
Comment: Yeah, I build it with Flash Builder
Answer: i think SWFObject is the best solution - although it requires JS to be available in the client's browser. w/ SWFObject you could also check if the client got flash installed at all (and show alternative content if necessary)
Answer: Yes you can. As was written in this question, you can get users flash player from Capabilities.version (documentation).  The result of this function would be something like this

WIN 9,0,0,0  // Flash Player 9 for Windows

This is a string so i think with like like this

var numbers:Array = version.split(" ")[1].split(",");

you can get the array like [9 0 0 0]. From this point I think it should be obvious how to compare if users flash player is good for your flash or not.
So if it's not, I usually show a picture which says that user need to install new version of the flash player. And if user click on it, I send him to the adobe web page.
Update
One more way in a case if you are using SWFObject to embed your swf. You can set the minimum version there. official docs here.
Comment: If adobe flash builder is used then there is far easier way. The checking, redirecting to download page if minimum version is not meet all can generated using flash builder.
Comment: yes, good point, but this method should work with any IDE/platform/OS/etc, so I think it's fair to post it here.
Comment: I have not said it's not fair, neither I have said this is wrong or downvoted it. I am just saying that there might be easier alternatives.
Comment: and i sad that you have a good point in your comment) I think you should add you alternative way as an answer (and I'm almost sure OP using flash builder, so your answer would be more helpful for him)
Comment: No flame please (just kidding :-P). Actually I have made a comment on the question asking about this. Do not want to add answer without being sure. And as we have already discussed this here, you can add that in your answer too if OP is using flash builder. That will be better than adding another answer.
Comment: Thanks! Very nice answer. Both methods are suggested. I think the SWFObject is the best choice!


Gauge pressure and atmospheric pressure

Question: Now a tire mostly have about a gauge pressure of a 30 psi, and the gauge pressure is the pressure above atmospheric pressure, and the atmospheric pressure is about 14.7 psi, does that mean that the gauge pressure is actually 15.3 psi? because instruments measuring gauge pressure takes atmospheric pressure as a starting point (0)
Comment: Where did you get 15.3 psi from? Anyway, this isn't complicated. If you have a flat car tire, it still has air molecules in it but the pressure inside the tire is the same as the pressure outside the tire. That's why it's flat. That corresponds to zero gauge pressure for the tire. If you fill a tire to 30 psi (gauge pressure), then the pressure inside the tire is 30 psi higher than the pressure outside the tire.
Comment: 30-14.7=15.3, I think i'm missing up a bit..
Answer: No.  The gauge pressure outside the tire is 0.  The absolute pressure inside the tire is 44.7 psi in your scenario.  See this related question for details: Gauge pressure vs. absolute pressure?
Answer: The gauge registers the difference between ambient pressure and tire pressure.  A tire with 14.7 PSI absolute would read 0.0 PSI on a tire gauge at standard temperature and pressure (STP). Pressure would have to be 44.7 PSI ( 14.7 + 30) to read 30 PSI.  Tom Brady can explain it to you.

Gauge pressure and atmospheric pressure


How to install VirtualBox SDK on Mac

Question: There does not seem to be any documentation on how to do it.  I went into /sdk/installer and ran the vboxsetup.py script but it raised the following exception:
Exception: No VBOX_INSTALL_PATH defined, exiting

Comment: This isn't really a programming question, it's a software application question.
Answer: It is really annoying that they don't adequately explain how to install it and it's weird that the virtualbox installation does not create the VBOX_INSTALL_PATH variable by itself.
Anyways, This is what worked for me:
export VBOX_INSTALL_PATH=/usr/lib/virtualbox
sudo -E python vboxapisetup.py install

Comment: Thanks, it is also valid for Ubuntu !
Comment: for my MacOS it was: `/Applications/VirtualBox.app/Contents/MacOS/sdk`
Answer: this is a minimal example for running the Python demo script vboxshell.py from the VirtualBox SDK via the Object Oriented Web Service for Python.
Tested with:

System: macOS 10.15.2
VirtualBox version: 6.0.14

Instructions:

install VirtualBox for macOS
download SDK from the VirtualBox website (i.e. https://download.virtualbox.org/virtualbox/6.1.0/VirtualBoxSDK-6.1.0-135406.zip) and extract to $HOME/vboxtest/sdk
mkdir $HOME/vboxtest
create a python2 venv:

cd $HOME/vboxtest
virtualenv venv_vbox -p python2
source venv_vbox/bin/activate

install dependencies into the venv:

wget https://netix.dl.sourceforge.net/project/pyxml/pyxml/0.8.4/PyXML-0.8.4.tar.gz
pip install PyXML-0.8.4.tar.gz
pip install ZSI

disable auth (for testing): VBoxManage setproperty websrvauthlibrary null
install SDK python module:

cd $HOME/vboxtest/sdk/installer
export VBOX_INSTALL_PATH=/usr/local/bin/virtualbox
export VBOX_SDK_PATH=$HOME/vboxtest/sdk
python vboxapisetup.py install

start API webserver: /Applications/VirtualBox.app/Contents/MacOS/vboxwebsrv -t 0
start the actual demo script:

cd $HOME/vboxtest
source venv_vbox/bin/activate
cd $HOME/vboxtest/sdk/bindings/glue/python/sample
export VBOX_INSTALL_PATH=/usr/local/bin/virtualbox
export VBOX_SDK_PATH=$HOME/vboxtest/sdk
python vboxshell.py -w

You should be getting a virtualbox shell, in which you can i.e. list all vms:
$ python vboxshell.py -w
Running VirtualBox version 6.0.14
vbox>
vbox>list
    Machine 'tmp_default_1572559409192_87222' [32844f81-f971-42f8-99d8-f3edbf0bf637], machineState=PoweredOff, sessionState=Unlocked
    Machine 'c4-2' [891a3509-fbc5-44be-816d-5045dd626157], machineState=PoweredOff, sessionState=Unlocked
vbox>

For more infos check the SDK docs: https://download.virtualbox.org/virtualbox/SDKRef.pdf
(IMHO should be used with caution as both Python2 and ZSI are EOL).
Answer: Five years later, things haven't progressed much it seems.
Under Mojave, I had brew installed python2 (2.7.15) and python3 (3.7.0), and I had to do the following:
cd /Applications/VirtualBox.app/Contents/MacOS/sdk/installer
sudo VBOX_INSTALL_PATH=/Applications/VirtualBox.app/Contents/MacOS /usr/local/bin/python2 vboxapisetup.py install
sudo VBOX_INSTALL_PATH=/Applications/VirtualBox.app/Contents/MacOS python3 vboxapisetup.py install

The built-in Mojave version of Python (/usr/bin/python version 2.7.10) was the only one that could import vboxapi after the VirtualBox install.  I had to add the other Python versions manually.
The only instruction regarding this that I could find comes on page 40 of the SDK ref, where it suggests:
# cd VBOX_INSTALL_PATH/sdk/installer
# PYTHON vboxapisetup.py install

But, of course no mention of an environment variable.  As Tal points out in the accepted answer, interesting that they can be bothered to write a 440 page SDK manual, and yet fail to mention this.
Answer: Simple approach using virtual environs
I try to only use python 3.  For pyvbox API on Mac OS I'm using a second virtualenv which is python 2 Python2 venv
Base set up:
cd /Applications/VirtualBox.app/Contents/MacOS/sdk/installer
export VBOX_INSTALL_PATH=/Applications/VirtualBox.app/Contents/MacOS
sudo -E python3 vboxapisetup.py
cd $HOME
mkdir vbox
virtualenv -p /usr/bin/python venvpy2
source venvpy2/bin/activate
pip install virtualbox

I still pretty much only use python3,  then use subprocess.Popen initialise venvpy2 and run python2 module.  Take stdout and stderr back into main controlling python3 code.  Having got this to work,  I've concluded better approach for my use case is use command line vboxmanage Automate box server setup

How to install VirtualBox SDK on Mac


Limit account applicants with certain email addresses

Question: Hi I am working on a website for a student organization of my college.
In order to prevent spams, I have been looking for ways to limit account applicants only with email addresses from the college but haven't figure out how
Comment: Please help me with this and its very much appreciated.
Comment: Are you using Drupal 6 or 7?
Comment: I am using drupal 6.22
Comment: if Drupal 7: http://drupal.org/node/1405368
Answer: In drupal 6 you can use the built in Access Rules to limit user sign ups to certain domains. It can be found at admin/user/rules/add
This no longer exists in drupal 7 because the functionality was moved into a contrib module called User Restrictions
Comment: how do I block all but one specific domain?
Comment: I'm not sure you can, your best bet would be to setup rules that would catch the majority of spammers. Have you looked into modules like Mollom as well?
Answer: You can write a custom module that adds a validation function to the user register form, so the form does not validate if the e-mail address is not correct.
First, tell Drupal about the validation function for the user_register_form form using hook_form_FORM_ID_alter:
function mymodule_form_user_register_form_alter(&$form, &$form_state) {
  $form['#validate'][] = 'mymodule_user_register_validate';
}

Next, we write the validation function. If I'm not mistaken, the email address should be available as $form_state['values']['mail'] here.
function mymodule_user_register_validate($form, &$form_state) {
  $valid_email = false;

  // Write your own code here to check if the email address is valid.
  // If so, set $valid_email to true.

  // If the email address is not valid, tell Drupal that validation failed.
  if (!$valid_email) {
    form_set_error('mail', t('The e-mail address %email is not valid for this site.', array('%email' => $form_state['values']['mail'])));
  }
}

Please note that the code above is written with best intentions, but untested.
Answer: To build on digital's answer, I had the same issue, with the same Drupal version. I looked into the built-in Access Rules and created two rules: one that denies all email addresses fitting the mask "%" (i.e. all email addresses) and one that allows only email addresses fitting the mask "%@%.edu". Even if the rules conflict on the ".edu" addresses, it works and results in only allowing the registrations of ".edu" email addresses.
Thanks user4109 for asking that question, and thanks digital for pointing in the right and easy solution.


Contradiction in Thermodynamic Work and Mechanical work

Question: The first law states that $ \Delta U = Q - W $ where W is the work the system does on the outside. If there is no heat added, the change in energy is equal to the work done. If the work is negative, i.e. the outside is doing work on us, we get  $ \Delta U =  W $. But in mechanics, $W = \Delta $ KE = $  - \Delta $ PE, not the total internal energy / mechanical energy, as in thermodynamics. So is there a difference between the two internal energies? How can both equations be true?
Comment: Does this answer your question? [Why we dont consider momentum of gas when tackling any specific thermodynamics problems?](https://physics.stackexchange.com/q/681813/)
Comment: @Chemomechanics It seems to me that this question is more about the sign convention for work. Therefore, the linked question is irrelevant.
Comment: Possible duplicates: https://physics.stackexchange.com/q/572771/2451 and links therein.
Answer: The form of the 1st law of thermodynamics you gave applies to cases where there are negligible changes in kinetic energy and potential energy.  The more general form of the 1st law is $$\Delta U+\Delta (KE)+\Delta (PE)=Q-W$$  How does that work for you?
Comment: But isn't change in u(change in internal energy) already defined as the change in mechanical energy of the system
Comment: No.  It's defined as the change in sum of random molecular kinetic energies plus change in molecular potential energies of interaction.
Answer: The most complete form of the first principle of thermodynamics for a closed system should be written as
$\Delta E^{tot} = W^{ext} + Q^{ext}$,
being:

$E^{tot}$ the total energy of the system, that can be written as the sum of the kinetic energy $K$ and the internal energy $U$, $E^{tot} = K + U$;
$W^{ext}$ the work done on the system by external forces;
$Q^{ext}$ the heat transfer "pointing outwards", i.e. reducing the energy of the system.

You can put together:

the theorem of kinetic energy, $\dot{K} = P^{tot} = P^{ext} + P^{int}$; this is a result of classical mechanics, providing that the time derivative of the kinetic energy of a system equals the power of all the forces (both external and internal) acting on the system;
the first principle of thermodynamics, $\dot{E}^{tot} = P^{ext} + \dot{Q}^{ext}$

to find an equation for the internal energy, $U = E^{tot} - K$,
$\dot{U} = P^{int} - \dot{Q}^{ext}$.
For a brief introduction to the principles of thermodynamics, you could take a look at these notes: https://basics.altervista.org/test/Physics/TD/td_principles.html
Answer:
So is there a difference between the two internal energies? How can
both equations be true?

$\Delta U$ in the first law equation applies to the internal energy of the system, that is, the KE and PE at the molecular level. The mechanical energy of the system, which I like to call the "external energy of the system" because it depends on a frame of reference external to the system, is the KE and PE of system as a whole. Both the internal and mechanical energy of the system are included in the general form of the first law, as already pointed out.
The diagram below is my attempt to help illustrate the difference between internal energy and mechanical energy.
Hope it helps.


ReactJS component/library for building a real estate plan

Question: We have to provide our customers possibility to make such real estate plan(picture below) for renting trade space, shapes could be of different form and could be grouped. Would be great to have the ability to set real size (e.g. meter), could you advise the right component or library capable to do so?
Comment: Would you accept plain JS?
Answer: Diagram is a feature-rich react component for visualizing, creating, and editing interactive diagrams like flow charts, organizational charts, mind maps, BPMN diagrams, and more. Its rich feature set includes built-in shapes, editing, serializing, exporting, printing, overview, data binding, and automatic layouts.
Herewith we have a created a simple sample to achieve such a real estate plan(picture below) for renting trade space with Diagram's Nodes.
Example: https://stackblitz.com/edit/react-cxavth-kspej5
More Examples: https://ej2.syncfusion.com/react/demos/#/material/diagram/default-functionality
For further information, please refer our help documentation
The whole suite of controls is available for free (commercial applications also) through the community license program if you qualify. The community license is the full product with no limitations or watermarks.
Note: I work for Syncfusion
Comment: $ 995 /developer 1st year $445 /2nd year - for the gig buys, BUT,  `Companies and individuals with less than $1 million USD in annual gross revenue and 5 or fewer developers` can use the full, free [community edition](https://www.syncfusion.com/products/communitylicense). Looks excllent, thanks


When should I use Unclump button on the Align and Distribute tab?

Question: I don't know what the Unclump button on the Align and Distribute tab does. After experimenting, it seems to just move objects around. Can someone can explain to me what it does?
Answer: Unclump tries to move objects (as little as possible) to remove overlappings and irregular distances between objects.
Select multiple objects and click unclump, possibly multiple times.
The following image shows the results of selecting the colored disks and unclumping them 1 and 10 times.
Answer: From the Inkscape release notes that I found with a simple Google Search:

The new Unclump button attempts to reduce the local unevenness in distribution of the tiles. When you unclump a tiling, each tile tries to move to a point equidistant from its closest neighbors. If a single unclumping is not enough, you can press Unclump repeatedly, trying to achieve a balance between eliminating small-scale clumps and preserving large-scale features of the tiling. Unclumping can be applied to both randomized and regular tilings, changing them both into a characteristic texture which appears random, but not blindly random — very similar to what a human would produce if asked to evenly fill a space with random dots. As a result, properly unclumped dot tilings remind of hand-made engravings.

In short: move objects to more evenly space the edge-to-edge distances, as mentioned in the Inkscape Manual
Comment: thank for reply my question. But  I still don't understand the condition of _local unevenness_ object and evenly object. Can u give me little example? (maybe with picture if u have time).


Oracle 12c create manual script for automatic startup on RHEL7

Question: I need to create a script to start and shut down a 12c database in rhel7 automatically when the operating system starts and shuts down, it turns out that I have tried the common options with dbstart and dbshut, but it only works for the listener, it does nothing with the database instance ... recently I did an migration of asm to the operating system's filesystem for that reason I disabled the start of asm since I didn't need it, I don't know if this would be influencing the dbstart and dbshut scripts Don't start, I have the oratab file like this:
myoradb:/u01/app/oracle/db/12.1:Y
The truth is that the content of these dbstart and dbshut seems a bit dense and I do not see where the problem could be so that they do not run correctly with the database instance.
Is there an example of how to create these scripts manually without using dbstart and dbshut ???
Thanks
Answer: You need to create a system service pointing to start and shutdown shell scripts.
See Automating Database Startup and Shutdown on Linux on Oracle Base.
Another option is to download an Oracle Developer VM and explore how auto start was setup along with a system service (one of the options from the link) – Kumar


Using C++ in virtual PBDA driver: what are the limitations?

Question: Im planing to integrate an existing C++ project (which provides transport stream data) into a virtual DVB driver under Windows7. The obvious starting point appears to be the SW Tuner sample from the Microsoft WDK (version 7600.16385.1). This sample provided by Microsoft already implements a virtual PBDA driver, which reads transport stream data from local files.
Now my question is: What features of C++ are (or are not) available in a kernel driver?
I've read the Microsoft page "C++ for Kernel Mode Drivers: Pros and Cons", and it appears to be generally possible to use basic C++ in kernel drivers? While it is understandable that Microsoft doesn't give very precise guarantees, the text left me somewhat puzzled about what actually was possible using C++ three years ago, or even today.
Can STL can be used in Kernel Drivers?
(From looking at the WDK: There are flags like "USE_STL" or "STL_VER", and two directories STL60 and STL70 in the WDK path. The discussion threads I could find where somewhat inconclusive. I managed to get the SWTuner sample to build with "USE_STL=1", but didn't do any further tests on that yet.).
Can STL containers be used to manage memory in a kernel driver?
Are C++ exceptions available?
From what I could find (f.e. at "Drivers, Exceptions and C++"), it appears to be generally possible to use C++ exceptions (try/throw/catch) since they are mapped to SEH, but still require some fiddling with workarounds?
Would multi-threading code work in kernel space?
The general design decision I'm trying to make as a driver newbie is: Would it be more feasible to integrate the C++ project into the existing sample (which would save a lot of hassle with interfaces, but comes with the "C++ in kernel driver" baggage), or would it be more prudent to encapsulate the C++ project in an application, which then communicates with the virtual driver via interfaces that would yet have to be added.
Answer: I've made a virtual printer driver using the DDK (the newer versions are called DDK instead of WDK I think), and I had no problem using STL.


Patent US20200023261A1

Question: This patent US 20200002361 is claiming the exact same thing as the common 4x4 locking hub. Furthermore, it is also a mechanical system widely used in motorized vehicle gearboxes. Why are there no references to that in the prior art?
Comment: The link to the application doesn't work.
Answer: This is a publication of a patent application, not an issued patent. It has not yet (as of 2/2/2020) been examined by the USPTO. A form (IDS) filed by the applicants lists many references of prior art that they are bringing to the attention of the examiner. You can see what those references are by looking this case up in USPTO's Public PAIR.
The invention protected by a patent is specified by its claims. They often change during the prosecution of the application as the examiner cites references that might show the initial claims to be not novel or obvious.
A pole for pole dancing might be claimed in a way that makes for a novel, non-obvious invention even though it contains a mechanism that is already known. Almost all inventions build upon existing technology.

Patent US20200023261A1


Electrostatic Pummeler with Animation Module

Question: If you use Electrostatic Pummeler's ability to turn him into a 2/2 and then you use Animation Module to add an additional +1/+1 counter. Would both of those +1/+1 counters be removed at the end of turn or only one?
Comment: @steenbergh You may see that duplicate's description is "This question already has an answer here". And this question is indeed answered there.
The duped question hasn't entered OP's mind, but that's the issue they actually have. Had OP knew that question and it's answer, they wouldn't ask this question.
Comment: This question assumes '+1/+1' is equal to a (temporary) '+1/+1' counter. That is a misconception, but it's not a duplicate of the question linked.. The duped question has never entered OP's mind.
Answer: Electrostatic Pummeler has no ability that puts +1/+1 counters on it. Its second ability modifies its power and toughness until end of turn, and Animation Module's first ability does not trigger.
Comment: AM = Animation module as per question title.


initramfs error during boot

Question: I put the CD in and boot the machine. The initial Ubuntu screen comes up ("Ubuntu" with the line of dots below it) for a few seconds, and then it disappears and I see this text:
initramfs , so that i couldn't do further. please help to solve this problem
thank you
Comment: Can you press tab and remove the "quiet" and "splash" parameters? That shows more output and you can debug further.
Answer: When having this type of problem booting a CD my advice is to check the integrity.
As you boot, select the "Check disk for defects"
The boos screen looks something like this

You may also want to check the iso you downloaded. See Ubuntu Wiki MD5SUM for details.
Answer: I just had this problem with my Ubuntu 11.10 live DVD. My problem was fixed by changing the SATA settings in the bios. It varies from computer to computer by most likely just switching to the other option should fix it. For example I changed mine from IDE to achi. It worked like a charm. If you need more detailed instructions could you provide your motherboard make and model.
Answer: initramfs error is caused whenever we downloaded some repositories for themes example.,to rectify that error updating grub menu is one option , the procedure is as follows;
Open terminal by booting to the ubutnu through the 'linux-image-3.13.0-32-generic' while start-up,
After that open terminal and in the terminal type;
dpkg --get-selections | grep linux- image
By typing that command u should get installed Linux I mages on your system like;
linux-image-3.13.0-32-generic.          install
linux-image-3.13.0-62-generic.          install etc.,
Now Install  and reinstall the grub menu display Linux images by typing ;
'sudo apt-get install --reinstall linux-image-3.13.0-62-generic ' like that install n reinstall all the images n after that update grub menu by typing;
sudo update-grub
Finally reboot your system to see the changes

initramfs error during boot


Why is Google Chrome showing bold and italics font?

Question: This is strange but lately, I have seen that Google Chrome is showing fonts which are Italics and Bold. I was unaware until I used Firefox. What might be the problem?
Firefox

Google Chrome

Chrome Settings
Comment: Do you have some extension like `TmaperMonkey` or any other user script extension ?
Comment: @Lamb No. I have used Gmail, Hotmail and 365Scores extensions.
Comment: Does this helps http://support.google.com/chrome/bin/answer.py?hl=en&answer=95416 ?
Comment: @Lamb Doesn't help.
Comment: This thread seems to point to the same issue http://productforums.google.com/forum/#!topic/chrome/qBOKIrn7X44
Comment: Why the title is not italic ?! Did you try another website ?.. put the link
Comment: I formatted the PC and its ok now.
Answer: Just so that other people too can have an answer - Try installing "European Union Expansion Font Update" from Microsoft. This solution is what I found at Google Forums and it helped me and I didn't needed to format my PC Hope it helps others too.
Comment: great, that worked for me!!!
Answer: PROBLEM
On Windows, Helvetica family fonts do not exist by default. If you install Helvetica or Helvetica Neue, fonts of many web pages, even extensions will change in Google Chrome. They might become Bold, Italic or both.
SOLUTION

Close Google Chrome

Go to Control Panel → Appearance and Personalization → Fonts, Or go to. C:\Windows\Fonts.

Delete all Helvetica and Helvetica Neue fonts family

Re-open Google Chrome
In this step the problem should be already fixed! If not, it is because the fonts still exist in the Windows Registry. So proceed to these additional steps:

Close Google Chrome again.

Run Registry Editor. Press Windows key + R to open Run dialog, Type regedit, then hit Enter.

Navigate the following folder HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts.

Select all Helvetica and Helvetica Neue fonts, Right-click on the highlighted fonts, then select Delete.

Re-open Google Chrome.
Answer: I saw that I was getting BOLD font in Google Chrome and it was due to "Open Sans" font which I installed.
Was only happening in chrome and not in Firefox or Internet Explorer
I deleted the font and reinstalled it (from the original zip file)
This has fixed the problem in Google Chrome
Thanks
Answer: I found the answer to my annoying Italic and Bold font rendering with Chrome browser situation. I'm using winXP and I went through my font folders and tried many things. Apparently there are two versions of Arial font. One that is 359 kb version 2.95 Modified August 4, 2004, 3:00pm and another Arial that is 290 kb version 2.95 Modified April 10, 2007, 12:00pm. There is an advice I followed and that is to open the Custom.css file and write the following Code.
@font-face { font-family: 'helvetica neue'; src: local('Arial'); }
@font-face { font-family: 'helvetica neue'; font-weight:bold; src: local('Arial');
Open the Custom.css file with note pad and then save it as all files not with .txt extension and you solve the annoying issue and can continue using chrome care free.
You need to find this particular kind of Arial font so that this custom fix will work. No more deleting fonts that are valuable to some like others have suggested.
Answer: Or you delete just this font: Helvetica Neue Noir Italique. This worked for me.
Answer: So partial thanks to some answers, but instead of closing chrome, I copied all my helvetica fonts (i'm a designer, i had 50+) into another folder. Since it detects which is in use... I decided I'd rather delete that one instead to at least get rid of the boldness which was fine by me.
So, closed chrome and as I guessed i was able to delete the Helvetica Bold font (it's a system font, but it'll overwrite as another font if needed)
So, opened Chrome and all was fixed (although it did go to the next font after helvetica... But better than that bold font!)
Answer: I tried out all kinds of tips. But nothing worked.
In my case all I had to do was to go to the fonts folder C:\windows\fonts and delete the only Helvetica font that was in there. It was called Helvetica bold and for whatever reason Chrome seemed to feel the need to use that font for displaying regular websites like facebook.
Once I had that font deleted, chrome rendered all websites like Firefox in a non-bold font.
I have no clue how that single Helvetica font managed to install itself there, because my Windows 7 installation is only a few weeks old and I am quite picky with what kind of software I install on my computer (I have a dual boot test installation for testing out stuff, so only very few programs actually make it onto my productive installation).
I'd recommend to copy the Helvetica font to a backup directory first, before deleting it. Just in case you need Helvetica some time in the future.
I also don't understand why Chrome can't fix that by themselves. IMHO it is stupid to use a BOLD ONLY font as the default font for displaying websites.
BTW: the reason why I looked for Helvetica in the first place was that in another place I found the tip to delete the following font from your system:
Helvetica Neue Noir Italique
Since I didn't have that font, I just deleted the only Helvetica font on my system. It felt right, because it was called "bold" anyways. And it worked. All other tips like re-installing Arial or installing the European font fix didn't help at all in my case. I think Chrome developers actually produced a bug there.
Comment: That was exactly the issue on a client I used. Thanks a lot for your tip.
Answer: I found that when using a mac, the problem wasn't with Chrome itself, but it was with the Font Book application. Since it was a public access computer, someone had gone in and disabled some fonts that Chrome used as default, one of which was every Arial variate except for Arial Bold Italic.
When I re-enabled those fonts, Chrome promptly switched over to the standard font I had set (Arial Regular) in the settings menu.
Hope this helps.
Answer: This is what I found that worked perfectly for me without formatting my PC:
All you need is GImageX and your copy of Windows ISO.
Also, for deleting all the fonts and replacing them, I booted into Mini Windows XP in Hiren's BootCD. Windows 7 won't let me delete them because they are in use. Peace all.
Comment: Welcome to Super User! Whilst this may theoretically answer the question, [it would be preferable](http://meta.stackoverflow.com/q/8259) to include the essential parts of the answer here, and provide the link for reference.
Answer: Try to Install "Open Sans" Font from: https://www.google.com/fonts#UsePlace:use/Collection:Open+Sans
It worked for me.
Install it and restart chrome.
Note: Later I uninstalled Open Sans fonts from the system and chrome continue working well (aparentely after recognise the font, it loads the fonts from the web, as it can see in developer tools, sources tab)
Answer: Copy the bold text, paste it in a text editor (I used OpenOffice Writer), click on the text and it will show what font it is (on the top panel). Then open Control Panel -> Appearance and Personalization -> Fonts, find the font and delete it. Done. For me it was Roboto font.


Validity of the change-of-base formula for all bases

Question: Suppose I want to solve $3^x=10$. I convert it to logarithmic form
$$\log_{3}10=x$$
then change bases
$$\frac{\log10}{\log3}=x$$
and this will yield the same answer as if I had written
$$\frac{\ln10}{\ln3}=x$$
But log and ln have different bases. Why does this work both ways?
Comment: Your first "inserted" equation is wrong. It should be $x = \log_3 10$, not $x=\log_{10} 3$. Generally, $a^b=c \iff b=\log_a c$.
Comment: @MPW Right, I had to edit the question. And the second half was just rambling about the first half.
Comment: @ParclyTaxel Thank you very much for the concise summary.
Comment: Mathematicians writing "$\log$" usually mean the same thing as "$\ln$".  The convention used by many engineers, biologists, astronomers, and others, that $\log$ means the base-$10$ logarithm, was to a large extent rendered obsolete by in advent of calculators around 1970 or so, but it is perpetuated by calculators. Base-10 logarithms are useful in computations by hand because you only need a table going from $1$ to $10$: If you want the logarithm of $145$, you find the logarithm of $1.45$ in the table and then add $2$ to it since the decimal point is $2$ places to the right of there. $\qquad$
Comment: It used to be that if you wanted to tell students how to find things like $\log_3 20$ with a calculator, you told them it's $\dfrac{\log_{10} 20}{\log_{10} 3}$ or else it's $\dfrac{\ln 20}{\ln 3}$, and they got base-$10$ or base-$e$ logarithms from the calculator.  But today you find that some of them have calculators on which you enter both the base and the argument.  (I haven't yet encountered on that gives GCDs.  Maybe that means I'm not up to date?) $\qquad$
Answer: You can use whatever basis: the equality $3^x=10$ is equivalent to
$$
\log_a 3^x=\log_a 10
$$
for any $a>0$, $a\ne1$. Since $\log_a 3^x=x\log_a 3$, we get
$$
x=\frac{\log_a 10}{\log_a 3}
$$
so you see that the final result is independent of the base.
You can get the change of base formula by considering $b^c=k$ that says $c=\log_b k$; but we also have $c\log_a b=\log_a k$ and therefore
$$
\log_b k=\frac{\log_a k}{\log_a b}
$$
In the case of $b=3$, $k=10$ and $a=e$, you get
$$
\log_3 10=\frac{\ln 10}{\ln 3}
$$
Comment: Perhaps more to the point is the fact that $$\frac{\log_a 10}{\log_a 3}= \frac{\frac{\log_a 10}{\log_a b}}{\frac{\log_a 3}{\log_a b}} = \frac{\log_b 10}{\log_b 3}$$ so the choice of base doesn't affect the result.
Comment: @MPW Since $a$ is completely arbitrary (provided $a>0$ and $a\ne1$), there's no need to do that computation.
Comment: I know *you* know that. I just meant to demonstrate to OP explicitly that they are the same.
Answer: Possibly the best way to see this is to write a change to an arbitrary base instead of choosing either $\log_{10}$ or $\ln$ initially.
(There is already an answer that does that.)
But I think it's also noteworthy that the change-of-base formula itself
provides an easy derivation of the fact that
$$\frac{\log10}{\log3}=\frac{\ln10}{\ln3}.$$
Starting with $\frac{\ln10}{\ln3}$ (for example), simply apply the
formula to change the base from $e$ to $10$ on both the numerator and denominator:
\begin{align}
\ln10 &= \log_e 10 = \frac{\log_{10} 10}{\log_{10} e}, \\
\ln3 &= \log_e 3 = \frac{\log_{10} 3}{\log_{10} e}, \\
\frac{\ln10}{\ln3} &=
  \frac{\left( \frac{\log_{10} 10}{\log_{10} e} \right)}
       {\left(\frac{\log_{10} 3}{\log_{10} e} \right)}
\end{align}
Multiply both the numerator and denominator of the right-hand side of the last equation by $log_{10} e$, and we find that
$$\frac{\ln10}{\ln3} = \frac{\log_{10} 10}{\log_{10} 3}
$$
In other words, every time we change the base of both the numerator and
denominator from base $b$ to base $c$ simultaneously, we
divide both the numerator and denominator by $\log_c b$,
and those two operations cancel each other out.
Answer: In your question note that the definition of the logarithm implies that $$\log_310=x \iff 3^x=10 \tag 1.$$ In general  $$\log_bw=x \iff b ^x=w \tag 2$$
where $b>0, b\neq 1$.
Now take the logarithm of both sides to some base $c>0$, $c\neq 1$ and use the fact that $\log_c(b^x)=x\log_cb $ to get that $$x\log_cb=\log_cw\implies x=\frac{\log_cw}{\log_cb}.\tag 3$$
Equations $(2)$ and $(3)$ imply that$$\log_bw=\frac{\log_cw}{\log_cb}. \tag 4$$
Take  $c=10$ and $c=e$ in equation $(4)$ to get the equality $$\log_{3}10=\frac{\log_{10}10}{\log_{10}3}=\frac{\ln10}{\ln3}. \tag 5$$


How to get an working automated catalog image generation for einstein email recommendations?

Question: The catalog image generation process of einstein web recommendation is one of the worst possible designed processes i have ever seen. Therefore it would be a pleasure if you can share your experiences like:

How have you configured your working catalog image generation process?
What kind of hardware and how many web servers have you used to conquer this process?
How do you update your images that contain custom fields (automated)?
Have you customized the requests / s parameter on the backend of salesforce, if yes to what kind of request / s parameter?

Default Publish Process (How i have experienced it):

More than 2000 Requests per Second to a Server [this is customizable, but low values like 50 req/s can still crash servers with an maximum of 1000 workers]

Requests, that are adding up , for us more than 500k Requests in less than 5min :D:D:D This is like a DDOS-Attack
You cannot set a maximum of concurrent requests
No handling of responses from the server (he does not react with a decreasing request / s when the server replies to slow or with a
  closed connection).

If you have a Product Catalog with multiple Languages the image of one product gets loaded as often as there are languages (even if the
  imagelink is not different and the field is not locale).

The result is that the productcatalog items times languages requests will be made.

If you insert your own catalog fields into a display it does not get updated when this value get changed.

Displays only get updated when ProductName, ImageLink, Regprice or Salesprice get updated (WTF).

When you want to update one particular item where you changed the "customfield" inside the image you have to publish ALL products again.

I can only imagine how great this works with streaming updates and automated journeys that use einstein predictive content.

Thanks for reading, I am happy about any insights or advices.
Answer: If you use streaming updates the image will be regenerated for that product if any of the fields used in the email display are updated. Using Bulk Upload it only regenerates based on the fields you stated above


Can I respond to a draw from Gitaxan probe?

Question: If I resolve a Gitaxian Probe, can I crack a Lion Eye Diamond before I draw?
Comment: I do not agree that this is a duplicate. Without more clarification, it doesn't sound to me like he is asking literally about responding while a spell is resolving; but rather that he poorly chose that wording without knowing the proper terminology. If it just said "cast" instead of "resolve", then it would have nothing to do with that other question, and would be answered by the answers here.
Answer: If you want to activate Lions Eye Diamond before drawing a card, you must do so before Gitaxian Probe resolves.
You can respond to another event, like your opponent playing a spell or activating an ability.
So no, there is no opportunity to respond to your spell once it has begun resolving. You will get priority after the spell resolves, and at that time you can activate your Lion's Eye Diamond.
See this question for more details:  Can a player respond while a spell is resolving?
Answer: Not as you have written, while Gitaxian Probe is resolving no one can do anything since no one has priority.
However you could cast Gitaxian Probe, hold priority, and then activate Lion's Eye Diamond, thus you will get to draw after discarding your hand because Gitaxian Probe has not resolved yet (as you did not pass priority). This won't allow you to look at your opponent's hand before deciding of course.
Comment: Actually, discarding is part of the cost of activating LED, so the whole stack/mana ability discussion is a non-sequitur.
Comment: To be fair, Lion's Eye Diamond activation is a mana ability, thus not using the stack, so your second to last comment is a bit misleading.
Comment: @Guvante The point is "get to draw after discarding your hand because spells and abilities resolve in the reverse order they are cast or activated" is implying that Lion's Eye Diamond uses the stack at all, which it doesn't.
Answer: To achieve what you're wanting, you'll have to do as follows:
1) Cast Gitaxian Probe
2) Before passing priority to your opponent, activate Lion's Eye Diamond
3) Once you discard your hand and get your mana, Gitaxian Probe will remain on the stack (and can resolve as normal).

The important thing is to remember to immediately activate Lion's Eye as soon as you cast Gitaxian Probe (BEFORE passing priority to your opponent, otherwise it will be too late (unless he responds to gitaxian probe).