what is the best practice of packing your custom app with custom permission

Question: what is the best practice of packing your custom app with custom permission, so that an administrator who install the app doesn't have to do too much work on the security end and all user have access the App Directly
Answer: Ideally, you would just include permissions sets, and all would be well. But it depends on whether you are trying to include permissions for standard objects, or just custom objects, tabs etc. If you have a self contained app with no references to standard objects, a permission set SHOULD work. But if you have references to standard objects, be careful with permission sets - they have been known to cause internal server errors when installing a package. I would suggest adding some permission sets, and then creating a beta package to check a) the package installs b) the permission set is maintained in the target org (I have seen it where the permission set is there, but nothing is checked in the target org)
You can certainly include a Profile, but permission sets make more sense for most apps. If you can't include one, I would at least document what it should contains so an admin can build one in their org.
Comment: i have only 2 custom objects not any standard object . include a permission set in managed package and create a beta version , and successful deploy in install org but when i apply the permission set to specific user and login with the user i have no access of my app or my object .
Comment: If you add the user to the app via their profile, does the rest of the perm set work? I have seen issues with App level permission, but the other permissions work once the user gets the intiial access
Comment: yes i have issue with assign app not give the permission to the specific user
Comment: @Faisal it's a big issue for many of us. Please vote on the [idea](https://success.salesforce.com/ideaView?id=08730000000ip4lAAA)!
Answer: Its important you include a specific custom profiles and permission sets in your package if that's important .

When designing your app for AppExchange, create custom profiles for the various users of your app. Give each custom profile
  the appropriate level of access to your app, such as tab visibility or field-level security settings for approval fields on custom
  objects.
When you package an app, you can include your custom profiles. Profile settings are applied to existing profiles in the subscriber's
  organization on install or upgrade.
Only permissions related to new components created as part of the install or upgrade are
  applied. The security settings associated with standard objects and existing custom objects in an installer's organization are
  unaffected.
Alternatively, you can use permission sets to avoid overwriting permissions in subscriber profiles and to maintain control of
  permission settings through the upgrade process. Permission sets contain a subset of profile access settings, including object
  permissions, field permissions, Apex class access, and Visualforce page access. These are the same permissions that are available
  on profiles. You can add a permission set as a component in a package.


Will a make up air vent cause an issue in the winter?

Question: I recently installed a gas range and I will soon be installing a 300cfm range hood. Since I primarily burn wood in the winter for heat and I don't want any back-drafting issues, I am planning on installing a make up air vent in my cold air return ducting (I have a gas furnace I use as a back up for heat). However, I have a few concerns with the make up air. It gets cold where I live (think sub-zero) during the winter. Will the make up air bring noticeably cold air in through the vents? My concern is that it will make some of the rooms cold in the winter by counteracting the wood stove's heat.
Comment: Does the wood burning system have it's own source of combustion air, or is it pulling from the conditioned space in the home? How old is the home, and have there been any modifications to the home to seal it up tighter than when it was built?
Comment: @Tester101 It is pulling air from the conditioned space. The home is about 20 years old. There haven't been any modifications to my knowledge. We recently had a bad backdraft problem when the outside temperature suddenly rose higher than the interior temperature. The smoke would not go up the flue at all and it started leaking through the door and even the piping seams.
Comment: Was the wood burning appliance installed when the home was built, or was it added later?
Comment: @Tester101 I believe it was installed when the home was built.
Answer: The make up air would only be pulling fresh air in when your furnace is running unless you add a small powered duct. If you use the furnace to circulate the house air without the heat on yes it will be cooler but make up air is a good idea especially in winter when the house is closed up tight.


Why does sysinfo list my CPU as having 1,6GHz when I have an i5-2300 CPU @ 2.80GHz?

Question: I would like to know whether there could be a driver I'm missing, since sysinfo can't see  the correct value for my CPU frequency
Answer: It's probably just because the processor frequency has dropped to save power due to it being idle. If you run a processor intensive task and look again you should hopefully see the correct frequency.
You can also see this information by running cat /proc/cpuinfo in a command line. For example, my computer has one core currently heavily loaded. Along with a load of other information I get this for the heavily loaded core:

model name      : Intel(R) Core(TM) i7 CPU         950  @ 3.07GHz
cpu MHz         : 3060.000

So that just about matches up with the 3.07GHz. For another core I get:

model name      : Intel(R) Core(TM) i7 CPU         950  @ 3.07GHz
cpu MHz         : 1596.000

The current frequency is halved over the maximum.
Comment: Ok I'll try loading `sysinfo` again when I'm running a cpu-intensive task. I'll come back then to tick your answer.


What is the significance of the lighter as murder evidence?

Question: In A Shock to the System, what is the significance of the lighter as murder evidence? Where did he lose it and why would it be evidence for the 2nd murder he committed?
Answer: He lost it in the rental car he used to frame George. He had swiped George's rental car card when he'd been out drinking at his retirement party so he could make a bogus rental car record.  Lt. Laker heard about the lighter left in the rental car but he does not have it as evidence.
It was mailed back to the company for George, and Stella was going to forward it to him via the company mail carrier to the regular mail, but she starts thinking.  Stella catches Graham in a lie about the lighter since he claims to have found it. Then she realizes something is fishy.
She plays a trick pretending to mail a pen so she can swap it out of the mail bin and replace it with the pen package.  The reason the lighter is evidence for the 2nd murder, Benham, is that the car rental was a tool of misdirection so he could go rig the boat. He also used the barbiturates he got from the office clerk to knock Stella out so she didn't know he had gone down to the boat and back.
He intercepted the package with the pen in it and realized Stella had the lighter.  I am not sure how the cops immediately tie George's rental car to the boat accident, (this was before GPS so why would the Lt. be aware of George Brewster's rental car?) and I am not sure how impersonating George to ask for a prescription refill of Senecal ends up killing him when he is in Grand Central Station.
One would have to assume I suppose that George is a lush and would take the pills and drink, which seems like a bit of a gamble.


Use random uv on instances - geometry nodes

Question: I have a simple geometry node setup, where I instance objects on a mesh line. My issue is that the shader is exactly the same in all instances. My question is would it be possible to randomize it somehow?
Comment: Did you try to use the Random per island node in the shader to offet the textures?
Comment: Hello, are you using Cycles or Eevee ?
Comment: I'm using Cycles.
Comment: Also if your usecase is only to do that , you should try the default array modifier, it has a builtin UV offset setting
Answer: It seems likely in your case that it would be more economical, and simpler, not to realize the instances in the GN tree?..
If so, at its simplest,you can store the index as a named attribute on instances:

..and let the shader do what it will, with the per-instance number, calling it up as an 'Instancer' attribute:

Here, the instance-index is used to look up the colour from [a
multiple of <code>(index,index, index)</code>] vector  in a Voronoi texture. The Index could equally be used to offset U and V in an Image, or in any other texture lookup.

If you want the input geometry's UV to survive on its GN-Generated instances, you can capture it:

... and then call it up explicitly as a 'Geometry' attribute, in a shader:

Here, the instance index is used, crudely, to offset the original geometry's UV by a little in X, per instance. The offset could be organized, for example, to pick up a different value for every note in a stack, from an appropriately tiled Image texture, or a mapping of the index could be used as a factor to mix between textures.
Comment: your solution seemed to work, but I also had to mix the UV map with the attribute node. I would assume it's because my object is unwrapped and I'm also using image texture.
I'm added the realize instances nodes, because I'm also using Noise to distort the instances.
Comment: @Licheff If you capture any attribute-per-instance _before_ realizing, I think you should be fine.. (Index is plain) you can use it to offset UV's in the shader.
Comment: as soon as I add the realize instances node the textures start repeating on each instance. I couldn't figure it out.
Comment: I figured it out - I had to set the attribute node in the shader to Geometry, instead of Instancer.
Comment: @Licheff Great! .. also see edit, which is about preserving the original plane's UVs on each of its instances.


What was the closest House of Representatives popular vote total ever?

Question: I am curious about the popular vote for the House of Representatives over time. What was the closest popular vote in terms of percentage points in a House election nationally? For context, the closest popular vote for president was 1880 which was won along with the electoral vote by James Garfield.
Comment: I keep seeing things like "popular vote for Congress" and "popular vote for governor" on this board. What does that even mean? It is 435 individual elections for 435 *different pairs* of people. Actually many are more than 2 people and some are only 1 person, but no person is in more than one of the 435 elections. And the districts are different sizes. How do you count the unopposed districts? President also is 51 different elections, but at least the same pair of major party candidates is usually in all 51 so the concept of popular vote makes at least a little bit of sense.
Comment: @Damila There's a current fascination, for certain orange-colored reasons, with how the US subverts and denies the expressed will of the people via its federal system.  Hence a whole slew of questions of how badly it has done so, or narrowly it failed to do so, etc.  And I think the bigger problem is that the parties vary within themselves across the country.  Republicans in Texas and California tend to have notable differences, so lumping them all together is a bit confused.
Comment: @zibadawatimmy Thanks. The latter part of your comment is my point. Although I think it oversimplifies things, for the orange one's current post the conversation makes at least some sense.  Not for Congress and even less so for governors.
Answer: It appears to have been the 1996 election. Democrats won the popular vote by 0.06 percentage points. Due to previous results, this one appears to be the closest ever.


What is the difference between a trim tab and a servo tab?

Question: They both seem very similar but can someone please explain their main differences and principle of operation?
Comment: Related, possible duplicate: [How do elevator servo and anti-servo (geared) tabs differ?](https://aviation.stackexchange.com/questions/36435/how-do-elevator-servo-and-anti-servo-geared-tabs-differ/36449#36449). [Koyovis' answer](https://aviation.stackexchange.com/questions/36435/how-do-elevator-servo-and-anti-servo-geared-tabs-differ/37796#37796) should explain it.
Answer: A trim tab is operated by an independent control to a variable position that is normally fixed once set, unless readjusted, and is done to cause the control surface to aerodynamically want to hold a position that is different from its normal "trail" position, without any input from the cockpit end.  Think the typical elevator, aileron, or rudder trim used to correct a roll or yaw tendency, or to set the "hands off" trim speed in the case of elevator trim.
A servo tab is integrated into the flight control's operating components in such a way as to drive, or help to drive, the control surface during normal control inputs.  Sort of "poor man's power steering".
You can use a servo tab to operate the control surface, that is otherwise free to trail in the airstream, completely on its own.  The stick in the cockpit is connected only to the servo tab itself.  Such control surfaces will often hang down at the bottom of their travel until airspeed "blows" the surface into its normal trail position, from where the servo tab then drives the surface up or down based on cockpit control inputs.  DC-9s and Bristol Britannias use pure servo tab operated flight controls.
Or you can use the servo tab in conjunction with a normal control circuit to boost a normally mechanically operated surface, by mechanically gearing it to move in a way that applies a local aerodynamic load that helps with the pilot control input, like having someone push on the trailing edge to help you while you move the controls.
There is a kind of hybrid arrangement you will see sometimes, called a "Spring Tab".  This is a servo tab who's input linkage is also connected to the control surface by a torsion spring torque tube, typically on an elevator system.  When you move the control in the cockpit, the control circuit input drives the surface directly, but though the springy torque tube so the surface lags the input to the extent that the torque tube twists under load.  When the torque tube twists, at the same time the input side is connected to a servo tab that displaces to help the surface move.  The surface works like a pure servo tab driven one with small inputs, but as the inputs get larger there is more of a direct force acting on the surface from the torque tube like a regular control.
This is used to get the light control forces you get with a pure servo-only driven control surface, but with the ability to still drive the surface directly to full travel when called for.  Spring tabs are popular on DeHavilland Canada transports like the Dash 7 and Dash 8.
Then there is the "anti-servo" tab. The anti-servo tab, by gearing to move in the opposite direction to a servo tab, is used to deliberately increase the normal restoring forces working on the surface when displaced from its trail position. You might add an anti-servo tab because the control forces are too light, or you want light forces near neutral but want the forces to build faster than they would without the anti-servo tab.
Mechanically operated "all flying", or Stabilator tails, such as used on the Cessna Cardinal and Piper Cherokee line, depend on an anti-servo tab to provide all of the restorative forces for the control surface, for basic stick-free static pitch stability.  They actually do double duty, and at the same time have an adjustable fixed "neutral" position, varied by the trim wheel in the cockpit, that provides for normal elevator trim (speed seeking).
Comment: Ahh - spring tabs! A moving mass + a spring = lots of fun with unintended dynamics. Great answer, covering much more than was asked for.
Comment: Thanks.   DeHavilland Canada's designers were in love with spring tabs and used them on all the bigger designs, Caribou, Buff, Dash 7, earlier Dash 8s.  The objective benefit they were after related to the STOL mission, and was low control effort at high speed where the spring tab was doing most of the work, along with good authority at low speed where the spring tab's influence waned and the physical force applied to the torque tube did the job.  A chum who flew -7s told me the main down side was the very spongy feel at approach speeds.
Comment: Don't get me wrong – spring tabs are great. But you have to know what you are doing if you design one. The fact that DHC used them so extensively testifies to the high competence of its engineers.
Answer: From this answer:

The servo tab is an aerodynamic lever. It is connected directly to the pilot flying controls.
The trim tab has a constant angle relative to the control surface. The angle can be changed by extending/retracting a mechanical link, via a trim wheel or an electric motor with a screw jack.

Seen from outside, the tabs look pretty similar. The difference is in how they are moved, the servo tab connects directly to the flight controls so that when the pilot moves the flight controls on the ground, only the servo tab moves, not the control surface. With the trim tab, the control surface moves on ground and the trim tab stays at the angle set by the trim tab actuator.


GTK3 and Python3 on Windows?

Question: Is there any way to launch a Python3 / GTK3 based application on a Windows machine? It seems that this is not that simple as with GTK2/Python2.
Thanks a lot,
Thomas
Comment: Maybe here https://www.gtk.org/download/windows.php
Answer: I hope, i understand the question. You Need a actual runtime of gtk3 on Windows.
inofficial gtk3.14.13 64bit-Runtime, 32bit here not available,
see:
 https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer
win32 and win64: experimental official runtime 3.6.4  in http://www.gtk.org/download/index.php
is very Alpha or beta.
I hope this helps enough for gtk3.
Answer: As far as I know, there are still no official GTK3 or GObject-Introspection libraries for Windows, and so there are no python bindings.
Answer: I'm assuming you want the development kit. Windows version has indeed been missing for a long time, but there's some available now.
Going to official site and finding https://wiki.gnome.org/Projects/PyGObject, you can find a link to "Windows installers" which should lead to a rather massive all-in-one installer for Gtk3 and many related libraries for Python 3. You can load a current cpython from https://www.python.org/downloads/ and install that first.
For windows, there's also a lot of unofficial pre-built packages in http://www.lfd.uci.edu/~gohlke/pythonlibs/. Cpython 3.4 at least seems to include a functional pip for installing wheels.
I've made some use of these for running some python and matplotlib code 64-bit windows and they work rather nicely with 64-bit python 3.4. You can test with e.g. http://gtk3-matplotlib-cookbook.readthedocs.org/en/latest/ to find backend settings and other tips.

GTK3 and Python3 on Windows?


German word "Aufhocker"

Question: What is the etymology of the word "Aufhocker"? Is this word commonly used today? Anything interesting to say about this word?
Comment: You should tell us where you found the word.
Comment: Since @infinitezero did give the context in his answer, I don't consider it necessary to close for *needs clarity*
Answer: I never heard the word before, so I had to look it up.

Geist, der dem einsamen Wanderer von hinten auf die Schulter springt, ihn würgt u. niederdrückt
Ghost that jumps on the back/shoulder of a lonely wanderer that strangles him/pushes him down

It is referenced in folklore
The word comes from the verb hocken (to crouch/squat/sit). A person who "hocks" can be referred to as a Hocker (although quite unconventional). Together with the word auf (here: on top of something), Aufhocker gets the meaning of "somebody who gets on somebody/something and sits/squats on top of it".
Comment: Unconventional? suppose the *Stubenhocker* really is a double entendre describing a person as a piece of furniture (not to say *Möbel-Stück*). That was my first association as a child, indeed.
Comment: by the way, cp English *hug*. A person who *hugs* can be described as *anhänglich*, viz *Klammeraffe*, etc. Also *choke*, in the same sense. I'm saying the allusion to *hocken* "squat" may be accidental. However, *aufgesessen* (einem Irrtum aufgesessen ~ getäuscht worden), *besessen* (see *possessed*) compare well, except that *sitzen* is extremely polysemous so no good indication. Google offers aufhocken among translations for aufsitzen 2 auf ein Motorad aufsteigen -- so it seems to be not totally obscure.
Comment: I meant the word by itself. You rarely (if ever) call a person a "Hocker". Stubenhocker as a compositum is much more common, I agree.
Comment: cp perhaps also *to hike*, whence I like to derive *hooker* (prostitute waiting on the way side, walking the line). Also compare *sich irgendwo einhaken*. PS: small correction, google said 1.b auf ein Fahrzeug aufsteigen, and 1.a auf ein Pferd ... which puts things into perspective for *aufsteigen*.

German word "Aufhocker"


How to animate shape keys in Blend4Web

Question: I would like to export some shape key animations to Blend4Web. How should I do it?
I tried several times. But those were not work. Of course I checked "Export Shape Keys" before exporting. Please teach me how to get a success.
Thanks! ;-)
Answer: The way to animate Shape Keys in Blend4Web is to use Logic Nodes. It has been implied that in the future the Blend4Web team may add even more ways to animate them. (An alternative approach is to do vertex baking on models that have Shape Key animation on them.) I will give an overview of the steps for animating Shape Keys with Blend4Web's Logic Nodes.
Things you've done correctly already:

Set the render engine to Blend4Web
Create shape keys
In the Object Context, enable "Export Shape Keys" for that object.

Things you still need to do:

In the Scene Context enable the Logic Editor. Click the [+] button to add a new one.
Open the Node Editor and set the node tree type to Blend4Web logic nodes.
Select your new logic node tree from the drop-down list.
Create the kind of logic node tree necessary for the kind of animation you want to make.

Enabling the Logic Editor and creating a new node tree:

Setting the node tree type and selecting your logic node tree in the Node Editor:

Creating your node tree
Here is a very basic example of how you can make your object switch Shape Keys when clicked:

For examples of how to make your Shape Keys animate gradually over time, as well as how to animate back and forth, see this thread on the Blend4Web Forums.
Also, you can reference the Blend4Web Manual for more info on Logic Nodes.
Good luck!

How to animate shape keys in Blend4Web


Can you use the treadmill with APT?

Question: Male, 16, 167 lbs. If I have anterior pelvic tilt, can I use the treadmill or will it worsen my situation? I'm trying to activate my glutes and hips (I can feel glutes, but can't feel my hip at all), but my hamstrings keep tighteting intensely  instead in any exercise I try. I heard that mindfulness will help, and that it will work when I lose weight (my thighs and butt are way too fat), and I want to use the treadmill. Will it worsen my APT? Is there any other way? I have a sedentary lifestyle if that helps, too
Answer: That highly depends how you use treadmill. Are you walking or running. If running - heel-toes, or whole foot? Mindfulness can help, in the way that you are more aware what is going on with your body.
When standing - squeeze gluts and watch how that changing other parts. Hips are moved to better position, knees goes outside (a bit but still), and you are standing more on outer part of feet. That is because gluts are not only straighten femur-pelvis joint, but also rotates out femur. When walking try to keep that patterns - walk on outer part of feet, keep knees a bit out and use gluts to control hips.
Treadmill means running. Besides what I've wrote above. Land on mid-feet, not on hills. Rather outer part, and then use big toe to bounce. That make you landing on front foot when it is quite close to your body. Which is good. Your knees will be happy.

Can you use the treadmill with APT?


I need to put a text on top of an image without CSS or JS

Question: Is there a way I can place the text
 on top of the image? without using css or javascript. just plain html. The reason being is this technique or approach will be use on older phones that do not support css or javascript. It also does not support "background" attribute.
http://jsbin.com/aroxit/2
Answer: CSS is the only way to do this. No other HTML options give you the ability to position items on top of each other. The only other alternative is to set the text server-side and re-generate the image with the text in the image, just like icanhascheezburger does.
Answer: Without the use of CSS or JS, this is not possible. The position or display of HTML elements cannot be affected by HTML alone.
Answer: no - do it server side or don't worry about it - not all browsers need to look the same. There is a calculation you need to do  - is this going to get enough traffic from these devices to justify spending time fixing this 'problem'. As long as it is usable in the device it should be ok.
Answer: Add the image as a background image to a single cell table and then insert another table in the td tag where your text can reside.


What's the difference between a thread's stack and a process's stack

Question: Do threads and processes both have independent stacks? If the answer is yes, what's the difference between them?
Thanks in advance!
Answer: Processes don't have a stack. Threads do. A process is typically an address space, some resources and one or more threads. The threads run the actual code of the process so they each have their own stack.
The wiki article on stacks has more information http://en.wikipedia.org/wiki/Call_stack
Answer: From what I know (and correct me if I'm wrong), each process is given its own memory space, which contains 3 segments : the text segement (i.e the program), the data segment (as far as as I know it's for global and static variables), the stack segment which contains a number of things like local variables, the functions' parameters, the address that a functioin should return to.
Each process may have one or more threads. The process's threads share the memory space of the process, they do not "possess" memories of their own, this makes them easy to create and to terminate.
Let's recapitulate :
the process has his own stack, the thread doesn't have his own stack.
If I'm wrong about this feel free to correct me.
Actually Mr.Tanenbaum's book "operating systems" covers this issue.


strong object being released

Question: I have a strange problem in which I am trying to set a custom UIView object to have a delegate which is a custom tab bar controller.  The tab bar controller is being set as the delegate and I am positive it is not nil then, and it infact is set!  However later on when the custom UIView performs its task, the delegate is nil.
I am using ARC and I made sure that the object is strong even though the tab bar in question is inside a UINavBar so it should not be getting released...
I am starting to think that there is no way that the UITabBar is actually getting released, because it quite clearly still exists...  I'm also quite certain I am setting it as the delegate in the appropriate way.
I set the delegate inside a ViewDidLoad of one of the ViewControllers held by the UITabViewController.
Here is how I set the delegate:
<code>- (void)viewDidLoad
{
    [super viewDidLoad];
    customSearchBar.delegate = (id<SearchResultReceiver>)self.tabBarController;
    //customSearchBar.delegate IS SET, btw tabBarController implements SearchResultReceiver
    ...
}
</code>
As I said, the id delegate has properties (strong, nonatomic) even though I don't believe it needs to be strong.  seems like it should be weak since the TabBarController is already owned somewhere else by a NavigationBarController, still I wanted to be safe when I saw this problem.
Here is the code where delegate is nil, now we are in the CustomSearchBar.m
Not sure if it matters, and certainly you've guessed it, but... CustomSearchBar.m is a UITextFieldDelegate.
The following code is called by a Communicator object which handles url requests and turns incoming/outgoing jsons into dictionaries, it is working fine.  Just pretend that the following is called by a -(void)connectionDidFinishLoading:(NSURLConnection *)connection...
<code>-(void)receiveData:(NSDictionary *)dict forMode:(int)mode
{
    [self.delegate receiveSearchResult:dict];
    [spinner stopAnimating];
    [searchConnection cancel];
}
</code>
Now the delegate is nil.  No where else in the code do I ask for customSearchBar's delegate.
Additional Information:
CustomSearchBar extends UIView and is an IBOutlet to the ViewController which owns it.  That ViewController is owned by the TabBarController that I'm trying to set as delegate.
Thanks for your time, and let me know if I can provide more details.  Not having a clue as to why a problem occurs results in poor presentation :'( sarry!
Here is some more information about the synthesis of delegate...
<code>#import <UIKit/UIKit.h>
#import "Communicator.h"

@protocol SearchResultReceiver <NSObject>

@optional
-(void) receiveSearchResult:(NSDictionary *) dict;

@end

@interface CustomSearchBar : UIView <UITextFieldDelegate, DataReceiver>
{
    __strong id <SearchResultReceiver> delegate;
}

@property (strong, nonatomic) id<SearchResultReceiver> delegate;
...
</code>
and in the .m i do @synthesize delegate; simply
Comment: Please include the definition of your delegate property and any synthesize statements. Note that when accessing properties, you should use the dot syntax, eg self.delegate, rather than delegate.
Comment: Thanks. I updated the dot notation and found that it is still nil at the receiveData stage.  The rest of the information I will provide shortly.
Answer: I have figured it out!
It was a frustrating problem, but I had accidently made two UIViews into CustomSearchBars, and I was setting the delegate in one of them where as the other one was the active one: it remained unset.
I feel foolish.

strong object being released


How inductance of a coil changes when there is a metal object nearby?

Question: I am not sure if it is increasing or decreasing as some sources say it is increasing whereas some say it is not. What actually happens when a metallic object is put under a coil that is meant to be used as a detection coil for metal detector?
Answer:
What actually happens when a metallic object is put under a coil that
is meant to be used as a detection coil for metal detector?

If the metal is (say) iron then there are two opposing effects. Iron has a magnetic permeability much greater than 1 and this will tend to increase the inductance of the search coil but, iron is also a conductor and, it will act as a shorted turn and reduce the inductance of the search coil. Somewhere between the two is the answer and this depends on: -

Operating frequency
Relative dimensions of the piece of iron (i.e. shape)
Size

Incidentally some grades of stainless steel are very difficult to find using a metal detector because the two effects cancel out. I discovered this when designing metal detectors for food and pharmaceutical lines.
For other (non-ferromagnetic) metals/conductors their presence reduces the inductance of the search coil.
Answer: It depends on the magnetic properties of the object. Some metals are ferromagnetic, some are paramagnetic, and some are only diamagnetic.
Generally speaking, if the magnetic permeability is greater than one (more specifically, if it is greater than that of air), inductance increases; if it is less, inductance decreases.
Comment: you are implicitly assuming that the object is not conductor.


Diagramming "Go play"

Question: Was just reading a thread concerning the verbs "go" and "come" among others.  The sentence I'm using is "You can go play."  Wondering how to diagram the "go."  Initially I wanted to use "go play" as the intransitive verb but now I'm thinking there should really be an "and" between "go" and "play."  Any thoughts on diagramming this sentence?
Comment: Possible duplicate of [Should I always insert "and" between two verbs in imperative mode?](https://english.stackexchange.com/questions/85155/should-i-always-insert-and-between-two-verbs-in-imperative-mode) See also [Is "you will come experience Louisiana weather" correct?](https://english.stackexchange.com/questions/468850/is-you-will-come-experience-louisiana-weather-correct/468854)
Comment: _Go And `Verb Phrase`_ is a different idiom from _Go `Verb Phrase`_. Note _I went and talked to her_ is fine, but *_I went talked to her_ is not. Likewise _I'm tired of going and asking every time,_ but not *_I'm tired of going asking every time._ As far as diagramming is concerned, it's just another [VP in the verb chain](http://www.umich.edu/~jlawler/VPguide.pdf).
Answer: As a Brit, I only learned diagramming as it was adopted by Noam Chomsky in Syntactic Structures.  However, 'go play' in your is a kind of slang. It could be short for two propositions with slightly differing syntax.

You can go [and you can] play
You can go [in order to] play

Sentence 1. is essentially two imperative main clauses, of which the main verb is 'can', joined by the conjunction 'and'.  Sentence 2. expresses purpose, with a main clause in the imperative, followed by a subordinate clause with its subordinating conjunction left to be understood.
Whichever it may be, the children are certainly expected to do two things rather than one:  to leave the room (or at least the vicinity of their carers, leaving them in peace) and then play.
But there is another related expression with 'go'.

Go hang.  Or Go take a running jump.  Or there are other fruitier versions I need not mention and certainly would not attempt to diagram.

In this case nobody is being asked to go anywhere or do anything, other than shut up. It is probably best left as a form of slang expletive.

Diagramming "Go play"


How to use Control drag in Xcode

Question: I am just starting off with iOS development. I am trying to add action to a button and it is mentioned on apple developer site that "To Control-drag, press and hold the Control key while you drag from the button to the implementation file in the assistant editor pane."
But am not able to do this. What is control key? How can i do this? When I try to add control drag, entire button is getting dragged and am not able to see any control-drag arrow. Thanks a lot for your time.
Answer: You can either click and drag with the right mouse button (if you have one), or hold down the Control key while you click and drag with your left (single) mouse button.
By "Control" key, they're referring to the Control key on your keyboard:
Comment: Note that if you have a two button mouse (or have configured one of Apple's touchpads for 'secondary button' input), you can right-click-drag, too. (If I'm remembering right. I'm on my iPhone right now, and it doesn't have a second button.)

How to use Control drag in Xcode


Publishing Reports on tableau via tabcmd

Question: I wanted to publish tableau reports via tab cmd commands and was able to do it successfully, one concern I have is "Connecting the twbx file to a data source' via tabcmd commands.
Following are the commands which I used to :
Login to tableau server :
tabcmd.exe login --server http://serverName --user "userName" --password "password" --site ""

Publishing Tableau reports to the Tableau server :
publish -c "E:\Tableau\ActualReportName.twbx" -n "new Report name.twbx" --project ProjectName --db-user "DBuserName" --db-password "DBpassword"

Although I have given my db credentials while publishing reports, I have nowhere mentioned the DB server Name and DB Name for that matter from which the twbx files would fetch the data.
I have multiple DB's using the same credentials, is there any way in TabCmd to specify the Db server Name and DB name from which reports would fetch data from?
Any help in this would be great!
Answer: Unless you have a pressing reason, I'd publish a .twb file instead of a .twbx file
The first thing I'd look into is Tableau servers support for publishing data sources that your published workbook can connect to via the Tableau server.  That will allow you to embed your credentials in the shared data source and to update the workbooks and the connections in separate steps. That is especially useful if the data connection and the workbooks change at different tempos.
The unsupported hack is to have your script update the twb file before publishing. It's just an XML file and the info you want to change should be with the data connection details. If you go this route, standard disclaimers apply. Save backups. Don't modify the original, generate a revised version, expect to have to tweak your script when Tableau versions change, etc. still it's not too hard to make sense of their XML. You could probably do it with just a few lines of XSLT, but even a simple string replacement might be good enough.
Still I'd go with a shared data source over hacking the TWB internals in almost all cases.


First-order Euclidean Geometry

Question: I gather that the axiomatisation of Euclidean Geometry, e.g., by Hilbert, can be used with First-order Logic and has good properties.  Is it fairly complete in the sense, say, that it proves everything Euclid did? E.g., Eudoxus' theory of the reals and the area of the circle....
Comment: The interesting thing about the question, of course, is that even *Euclid's* axiomatization was not strong enough to prove everything that Euclid did.
Comment: @Carl Mummert That's an interesting comment. Would you elaborate further please? Thank you.
Answer: Hilbert's axiomatization is second-order. However, there is a first-order axiomatization by Tarski, which is complete. (And because the theory is recursively axiomatized, it is decidable.)
We cannot develop the full second-order theory of real numbers within the Tarski geometry. For instance, the "plane" $\mathbb{A}^2$, where $\mathbb{A}$ is the field of real algebraic numbers, is a model of Tarski's geometry.  The Eudoxean theory of equality of ratios, which comes so strikingly close to the modern definition of real number, cannot be developed within Tarski's geometry, for the set of integers is not definable in that geometry.
However, for example all of Book I consists of theorems of Tarski's geometry.
For a complete list of Tarski's axioms, with additional information and references, please see this.
Comment: Tarski planes are isomorphic to planes coordinatizable by real-closed fields. Any real-closed field is elementarily equivalent to the reals. *Euclidean field* is a much weaker notion.
Comment: I know *of* Tarski's axioms, but I'm unfamiliar with them. I read somewhere that you can prove all of Hilbert's axiom groups I-IV using Tarski, but that the group V (continuity) is where Hilbert requires second-order logic. Is that an accurate picture? And what would you add?
Comment: Yes, it is the continuity axiom which is the problem. It is replaced by geometric versions of every non-negative number has a square root and every odd degree polynomial has a root. This turns out to be doable using an *axiom scheme* (an infinite list of axioms with a common structure).
Comment: Thanks :) If not for the internet I would have a severe shortage of  conversation time about geometry.
Comment: The interesting thing to me is the decidability. There **is** a royal road to geometry: any king with a sufficiently high computing budget can bypass having to master Euclid's proof techniques.
Comment: Oh one more question. Are Tarski planes coordinatizable with a division ring? And if so, does it have an easy description like Hilbert fields and Euclidean fields?
Comment: It is worth noting that, because Tarski's axioms are complete, and they are satisfied by the standard plane, they actually prove every statement that is true in the standard plane, and thus in particular they prove everything that Euclid (wished his axioms could have) proved.
Answer: No, Pythagorean planes, i.e. planes satisfying Hilbert's fourteen axioms up through the Archimedian axiom), form a strictly weaker geometry than Euclidean planes.
Hilbert planes correspond to constructions with straightedge and "segment transporter," which almost but can't quite do the job of a straightedge and a compass. Because of this, I get the impression that you cannot do as much with circles as you can in Euclidean geometry. You'll notice a distinct absence of circles in Hilbert's Foundations of geometry.
Old and New Results... by Greenberg gives a particularly helpful summary of how they are related.
Comment: It seems from Greenberg's article that "Hilbert planes" only have to satisfy *some* of the axioms that Hilbert proposed, e.g. the "fourteenth" axiom on page 201. According to p. 203, Hilbert's eventual list of 16 axioms has only one model up to isomorphism, so it surely proves everything that Euclid could.
Comment: Dear @CarlMummert : Thanks, I forgot that Greenberg uses the term "Pythagorean field" for what I mean, and uses "Hilbert field" for a particular Pythagorean field. I'll make an adjustment. While Hilbert mentioned the completeness axiom in a paragraph at the end of his axiom V section, he promptly said it would not be used, and did not make any use of it throughout the Euclidean propositions he proved. I don't think it is appropriate to include that axiom as one of "Hilbert's axioms."
Comment: Thanks for that explanation - this is not an area of expertise of mine, so I have to rely sometimes on the face value of things.
Comment: @CarlMummert : I appreciate your feedback... thank you! :)
Comment: and I'm in Marvin's article. I'm not a complete failure!
Comment: @WillJagy I was pleasantly surprised to see someone from my dissertation committee in there: Phil Ehrlich.

First-order Euclidean Geometry


'eat extra two apples' or 'eat additional two apples'?

Question: Should I say 'We want to eat extra two apples' or 'We want to eat additional two apples' ? OR both are correct? Any other suggestions are welcome. Thanks.
Answer: We want to eat two more apples.
We want to eat an additional two apples. (a little formal)
We need two extra chairs.
Comment: Just to add to this, the reason "extra" isn't right with eating apples is that we use extra to mean "In addition to what **we have already**".  If you eat the apples you don't have them anymore, so "extra" doesn't work.  If you were **ordering** apples, for a buffet for example, you could say "We need an extra two apples", which implies that you have the other apples already, either literally or in the sense of them already being on the order.
Comment: If he had it would have really screwed the song up.
Comment: @MaxWilliams Yes, that's interesting - I hadn't thought of it before. But you are right. Oliver Twist asked for *more*, not *extra* because he had already eaten his meagre helping. Had it still been on his plate, would he have had the temerity to ask for *extra*?
Comment: "an extra helping" is used as an expression in books : https://books.google.gr/books?id=K9VjZSNZJvUC&pg=PA43&dq=%22an+extra+helping%22&hl=en&sa=X&redir_esc=y#v=onepage&q=%22an%20extra%20helping%22&f=false


Connect SharePoint Lists with OData

Question: I have a DataSet, I have created an Excel spreadsheet using OData connection. Now I want to create a SharePoint List using this Excel data. I want the Excel and SharePoint List to be sync so that list has all the latest updates. Is there a way to achieve this.
Comment: To reiterate, my question is to find if there is a way to get external data into a SharePoint List in Office 365. My plan was to import external dataset into Excel using oData connection and then sync this Excel to SharePoint list. But seems like this doesn't work as expected. Please let me know if there is a better solution to this problem. Thanks in advance.
Answer: You can do it by appending this to the end of the URL: /_vti_bin/listdata.svc
For example: https://somecompany.sharepoint.com/sites/somedept/Reports/MyList/_vti_bin/listdata.svc
In Excel, choose External Data Connections > OData and enter the URL. Excel will  prompt you to select the table you want.
Here is more information about what you can do with SharePoint Online and OData:
https://msdn.microsoft.com/en-us/library/office/fp142385.aspx#bk_supported
Hope this helps!
Answer: Yes, In order to synchronize Excel data with SharePoint, you need to convert a range of data into a table. The moment you create the table, Excel will show you an extra button to "Publish". Also if you want to synchronize Excel  with SharePoint, you need to Install the Excel Addin. here i have provided the link for SharePoint 2007 addin. If you are working in any other version you can use that.
https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=9345
Hope this helps.
Comment: Thanks for the response. I tried adding the add-in, but the odata connection to the excel sheet is lost as I have to save the excel as 97-2003 workbook in order to make publish and sync between Excel and List to work.
Comment: Try using the latest addin instead of the older version, Add addin for your SharePoint version.

Connect SharePoint Lists with OData


How to Dual boot Ubuntu along with another Linux Distribution?

Question: What is the correct/best way of dual booting another Linux distribution (say, Fedora 14) along with Ubuntu 11.04? Is sharing the /home partition with both distros is a good idea? What are the pitfalls I have to be aware of?
Answer: Using the same home can cause problems, especially with the configuration files that are in your home directory. All of your personal settings and configurations for numerous applications are contained in your home folder. In addition to the UID (user ID) issue, it is possible that Fedora and Ubuntu use different versions of some applications, which may have conflicting/incompatible config file format(s) and/or locations within your HOME.
But I have a better idea for you: make both Fedora and Ubuntu their own home on a minimum partition and use a shared data partition where you store your own files. When you are done installing both systems remove on both system ~/Desktop and make a symbolic link to a directory on the data partition with ln -s /datapartition/Desktop ~/Desktop. You can do that with all directories and have 1 desktop, 1 downloads, 1 pictures folder all with the same files.
This not only prevents you overwriting files in your home directory that are different for another OS but when you add a 3rd,4th, 5th OS or when you need to reinstall you can have all the important files back by recreating the symlinks.
edit: here is an example of what can go wrong: Why are my two ubuntu installs on separate partitions sharing the same apt-get data?
This user has 2 Ubuntu's installed: one with classic and one with Unity both using the same /home/.
~/.config/software-center
~/.cache/software-center
are being used by both systems since these are in /home/ so updates and software installed affect both installations.
Comment: @Dananjaya see my edit for a live example of things going wrong
Answer: Just install one distro after the other. However, I would strongly recommend against using the same /home location for both as application settings of the two distros would overwrite one another. You can still use the same /home/Documents/ or /home/Pictures etc for both though - this will make sharing files super-easy.
Ubuntu Tweak lets you easily switch the default folder locations:
Comment: your image is dead
Answer: I use Ubuntu as my base distro and then install any others I use as virtual machines using Virtualbox OSE (available in Synaptic and the Software Centre). It just feels cleaner doing it this way instead of dual-booting. You also have the confidence to add/delete operating systems at will without the fear of messing up your whole box.
Sharing /home folders between systems is a bad idea due to the amount of hidden config files. It's much better to have a centralised file server for your documents. You can set one up cheaply with an external HDD.


What do you call a woman who is crafty, employs ingenuity in a general range of things like sewing, baking, paper crafts, etc

Question: I'm trying to find a noun that embodies a range of crafty skills. This word would ideally follow my adjective "craftiest" and would describe someone (typically a woman) who could be seen as someone who covers range of titles such as seamstress, homemaker, baker, and general crafts like that. Is there any such word?
Comment: If you throw in convicted felon, you have Martha Stewart.
Comment: @CanisLupus: The craft in this case is "insider trading", the convicted felon part was just the result. ;) More seriously, I'm pretty sure that I heard "she's a Martha Stewart" as an expression that describes exactly what the OP is asking about. Even though that might have sounded more complimentary before she went to prison.
Comment: Google *Becky Homecky*. (I immediately thought of that when I read what you described.) Some may think it's a demeaning term, but there are plenty of women who embrace it. *Homecky* stands for [Home Economics.](http://en.wikipedia.org/wiki/Home_economics)
Answer: Domestic goddess is not a single word (unless you accept the hyphenated form), defined in various places, but most completely in the Urban Dictionary:

A female who excels at baking, cooking, cleaning-housework of all sorts. She loves to please and enjoys hearing compliments about her awesomeness around the house/kitchen. She may sew, knit, have domestic hobbies that come out well. She doesn't have to have children to be considered a domestic goddess.

This is similar to a domestic engineer, who is typically a woman who manages household affairs.
The difference may be that a domestic engineer accomplishes all of those things with hard work, while a domestic goddess has a natural talent or flair and seems to do them with considerably less effort.
Comment: I would say she is just being modest. (And if we're talking about your wife, I would steer clear of any Martha Stewart references.)
Comment: I like it. This sounds like the modern term to replace "homemaker" though my wife says she isn't too fond of the term 'goddess' but I don't mind calling her one anyway, haha. :)
Comment: Or *domestic diva* (although I'd like to think it is not limited to those of the female persuasion).
Comment: I like domestic diva as well. I suppose this is the best choice, though it might sound a little strange to say someone is "the craftiest domestic goddess/diva around".
Answer: I think that "homemaker" does embody the other skills you're listing (baking, sewing, etc), and that you won't find a better word for this than that.  I could be mistaken, but I can't think of anything else I've come across that would be a better fit.
Answer: handywoman

a woman who is competent in a variety of small skills or inventive or ingenious in repair or maintenance work
http://www.merriam-webster.com/dictionary/handywoman

There is an idiomatic phrase also: jill of all trades

(idiomatic) A woman competent in many endeavors, especially one who excels in none of them.
http://en.wiktionary.org/wiki/jill_of_all_trades

You can consider artisan (or craftsman/craftswoman) also but they are skilled at a particular craft rather than multiple crafts.
Comment: I like these. Might 'artisan' also apply? It's the only other title I could think of, and it does appear to be a noun, though I often think of it as an adjective.
Comment: @purefusion: My answers are related to women. You can use artisan as a general term.
Comment: @purefusion: Though, artisan (or craftsman/craftswoman) is skilled at a particular craft rather than multiple crafts.
Comment: I suppose that makes sense.
Answer: I doubt you'll find a single word that doesn't sound outlandish (eg factotum, which, however, doesn't convey the 'skilled' sense). OLD gives

a man/woman of (many) parts
a person with many skills

but my wife says that's tautologous in the case of the woman.
Answer: The word that came to my mind was homemaker.
which Oxford Dictionaries define as:

A person who works at home and takes care of the house and family
Comment: Homemaker just sounds a bit archaic, and per O.L.D.'s definition not necessarily implies skills in the specific areas mentioned. Just concerned that today's youth wouldn't necessarily relate to or fully understand that term as many of these skills are becoming lost arts.
Comment: I actually hear people use the word homemaker to describe themselves in this context quite often where I am from. You are correct that it doesn't fully convey all the skills you mentioned, then again you asked for a word that describes a variety of skills relating to crafts you would find around the home such as sewing and baking and I doubt there is a better word in common usage to convey that idea than homemaker.
Answer: This posting's introductory sentence ("I'm trying to find a noun that embodies a range of crafty skills.") had me confused.
The chief meaning of "crafty", and the one that I thought of when I first read the sentence, is "clever at achieving one's aims by indirect or deceitful methods."  Among its synonyms are: cunning, wily, guileful, artful, devious, sly, tricky, scheming, calculating, designing, sharp, shrewd, astute, canny; duplicitous, dishonest, deceitful.
There is a much less common second meaning, namely "of, involving, or relating to the making of decorative objects and other things by hand."  I had never come across this second meaning for crafty before I read it in this posting.
In my opinion, it would have been clearer if the introductory sentence had been "I'm trying to find a noun that embodies a range of craft skills" rather than "...crafty skills".  Or else the word could have been put in quotes (..."crafty" skills) to emphasize that a meaning other than the chief meaning of "crafty" was meant.
Answer: I know this is an "O.L.D." question/post but I'd like to throw in my 2 cents worth just incase someone happens upon this at a later date as I did. I think I like
Self Made Woman or Domestic Self Made Diva or Woman of Many Traits. Yeah, I think I'm gonna use one of those! :)


Evaluate the integral $\int_0^{\infty}e^{-x} \sin x \log x ~ dx$

Question: I need help with this integral
$$\int_0^{\infty}e^{-x} \sin x \log x ~  dx$$
WolframAlpha gives the answer to be $\displaystyle \frac{1}{8} (-4 \gamma + π - 2\log(2))$, a curious expression with three fundamental constants.
Comment: Wolfram also gives an expression for the indefinite integral, have you seen that one as well?
Answer:
METHODOLOGY $1$:

Using Frullani's integral to write $\log(x)=\int_0^\infty \frac{e^{-t}-e^{-xt}}{t}$ reveals
$$\begin{align}
\int_0^\infty e^{-x}\sin(x)\log(x)\,dx&=\int_0^\infty e^{-x}\sin(x)\int_0^\infty \frac{e^{-t}-e^{-xt}}{t}\,dt\,dx\\\\
&=\int_0^\infty \frac1t \int_0^\infty \sin(x)(e^{-(x+t)}-e^{-x(t+1)})\,dx\,dt\\\\
&=\int_0^\infty \left(\frac{e^{-t}}{2t}-\frac{1}{t(t^2+2t+2)}\right)\,dt\tag1
\end{align}$$

Next, we see that
$$\int_\epsilon^\infty \frac{e^{-t}}{2t}\,dt=-\frac12e^{-\epsilon}\log(\epsilon)+\frac12\int_\epsilon^\infty e^{-t}\log(t)\,dt\tag2$$
and
$$\int_\epsilon^\infty \frac{1}{t(t^2+2t+2)}\,dt=-\frac12\log(\epsilon)+\frac14 \log(\epsilon^2+2\epsilon+2)+\frac12\arctan(\epsilon+1)-\frac14\pi\tag3$$

Subtracting $(3)$ from $(2)$ and letting $\epsilon\to 0$, we see that $(1)$ is
$$\int_0^\infty e^{-x}\sin(x)\log(x)\,dx=-\frac\gamma2 -\frac14\log(2)+\frac\pi8$$
as was to be shown!

METHODOLOGY $2$:

As an alternative approach we can write
$$\begin{align}
\int_0^\infty e^{-x}\sin(x)\log(x)\,dx&=\text{Im}\left(\int_0^\infty e^{-(1-i)x}\log(x)\,dx\right)\\\\
&=\text{Im}\left(\frac1{1-i}\int_0^{(1-i)\infty} e^{-x}\log\left(\frac{x}{1-i}\right)\,dx\right)\\\\
&=\text{Im}\left(\frac1{1-i}\int_0^{(1-i)\infty} e^{-x}\log(x)\,dx-\frac{\log(1-i)}{1-i}\int_0^{(1-i)\infty}e^{-x}\,dx\right)\tag4\\\\
&=\text{Im}\left(\frac1{1-i}\int_0^{\infty} e^{-x}\log(x)\,dx-\frac{\log(1-i)}{1-i}\int_0^{\infty}e^{-x}\,dx\right)\tag5\\\\
&=-\frac\gamma2-\frac14\log(2)+\frac\pi8
\end{align}$$
as expected.
We used Cauchy's Integral Theorem to deform the contour in going from $(4)$ to $(5)$.  And we chose to use the principal branch of the logarithm to evaluate $\log(x)$ and $\log(1-i)$.
Comment: What made you think to use Frullani's integral? Indeed a tricky substitution.
Comment: The presence of $\log(x)$ motivated my using Frullani.
Answer: Yet another way, through the Laplace transform. These preliminary lemmas just follow from integration by parts:
$$\mathcal{L}\left(\log x+\gamma\right)(s) = -\frac{\log s}{s},\tag{1} $$
$$\mathcal{L}\left(x e^{-x}\sin x\right)(s) = \frac{2(1+s)}{(2+2s+s^2)^2}\tag{2} $$
and they ensure that
$$ \int_{0}^{+\infty}xe^{-x}\sin(x)\cdot\frac{\log x}{x}\,dx = -\int_{0}^{+\infty}(\log s+\gamma)\frac{2(1+s)}{(2+2s+s^2)^2}\,ds\tag{3}$$
where the last integral is straightforward to compute by partial fraction decomposition and integration by parts:
$$ \int_{0}^{+\infty}\frac{2(1+s)}{(2+2s+s^2)^2}\,ds = \frac{1}{2},\qquad \int_{0}^{+\infty}\log(s)\frac{2(1+s)}{(2+2s+s^2)^2}\,ds =\frac{2\log 2-\pi}{8}.\tag{4}$$
Comment: @MilesDavis: $\mathcal{L}$ is a self-adjoint operator, see https://en.wikipedia.org/wiki/Laplace_transform#Evaluating_integrals_over_the_positive_real_axis
Comment: For line (3), how did you get from the LHS to the RHS? I have some experience with Laplace transforms, but I'm not quite seeing it.
Answer: $\newcommand{\Log}{\operatorname{Log}}\newcommand{\Im}{\mathfrak{Im}}$Here is an approach using integration under the integral sign (Feynman's trick)
First of all, let $I$ be the integral in the question. One has a term $\log(x)$ but that is also the extra term one gets after differentiating $x^{t}$ with respect to $t$, so that is what inspired me to write this.
Define the function:
\begin{align}
G(t) := \int^\infty_0 x^{t-1}\sin(x) e^{-x}\,dx
\end{align}
So by Feynman one gets (verify this):
\begin{align}
G'(1) = I
\end{align}
The problem we have right now is: can we find $G(t)$ in a form we can do something with? The answer is yes. You either see it as Mellin transform, i.e.  $G(t)=\mathcal M [e^{-x}\sin(x)] (t)$ and know it by heart (I don't to be honest). Or you see the "$\Gamma$-function"  in it.  What I mean with the latter is the following, notice that:
\begin{align}
G(t) = \Im \left(\int^\infty_0 x^{t-1}e^{(i-1)x}\,dx  \right)
\end{align}
Consider the circle sector contour with angle $\pi/4$ on the second quadrant to "translate" that in an expression with $\Gamma$-function (the details are straightforward computations which I leave for you). Using that one can conclude:
\begin{align*}
\int^\infty_0 x^{t-1}e^{(i-1)x}\,dx= e^{-t\log(2)/2} e^{i\frac \pi 4 t} \Gamma(t)
\end{align*}
By taking the imaginary part of that one gets:
\begin{align}
G(t) = e^{-t\log(2)/2}\sin\left( \frac \pi 4 t\right)\Gamma(t)
\end{align}
Hence:
\begin{align}
G'(t) = -\frac{\log(2)}{2} e^{-t\log(2)/2}\sin\left( \frac \pi 4 t\right)\Gamma(t) + \frac{\pi}{4}e^{-t\log(2)/2}\cos\left( \frac \pi 4 t\right)\Gamma(t) + e^{-t\log(2)/2}\sin\left( \frac \pi 4 t\right)\Gamma'(t)
\end{align}
Now we almost have the result, namely:
\begin{align*}
I = G'(1) &= -\frac{\log(2)}{2} e^{-\log(2)/2}\frac{\sqrt[]{2}}{2} + \frac{\pi}{4}e^{-\log(2)/2}\frac{\sqrt[]{2}}{2} + e^{-\log(2)/2}\frac{\sqrt[]{2}}{2}\Gamma'(1)\\
&= \frac{1}{2}\left[ -\frac{\log(2)}{2} + \frac{\pi}{4}+\Gamma'(1) \right]
\end{align*}
By using Feynman's trick (again):
\begin{align*}
\Gamma'(1) = \int^\infty_0 \log(x)e^{-x}\,dx = -\gamma
\end{align*}
Finally we can conclude that:
\begin{align*}
\int^\infty_0 e^{-x}\sin (x)\log (x)\,dx = \frac{1}{8}\left( -2\log(2) + \pi-4\gamma \right)
\end{align*}
Answer: Partial solution. Use $\sin(x) = \sum_{n=0}^\infty (-1)^n \frac{x^{2n+1}}{(2n+1)!}$ and switch the sum and integral (I can't justify this yet) to get $$\sum_{n=0}^\infty \frac{(-1)^n}{(2n+1)!} \int_0^\infty e^{-x}x^{2n+1}\log(x)dx.$$ If we let $I_m = \int_0^\infty e^{-x}x^{m}\log(x)dx$, then a simple integration by parts yields $I_m = mI_{m-1}+(m-1)!$ which, together with the fact that $I_0 = -\gamma$, gives $I_m = -m!\gamma+a_m$ where the sequence $(a_m)_m$ satisfies $a_m = ma_{m-1}+(m-1)!$ [these are known as the unsigned stirling numbers of the first kind]. So, we just need to evaluate $$\sum_{n=0}^\infty (-1)^n\left[-\gamma+\frac{a_{2n+1}}{(2n+1)!}\right].$$ Now maybe there's some known fact about these unsigned stirling numbers that finishes the job.


Using Spotify on Zombies 5K

Question: I got Zombies 5K some time ago through a Humble Bundle but I noticed that I can't use a Spotify playlist while playing it / running. While the free version of Zombies! Run! has support for external playlists, Zombies 5K doesn't (and it's a paid version). Since I have almost no locally stored music on my device I was wondering if it's in any way possible to use a Spotify playlist since running in almost complete silence is quite boring.
Answer: Zombies, Run 5k does not support using a cloud service (Spotify, Google Play Music) to play music in the app.
In order to play music in this app you need to create a play list with local music by plugging your phone into the computer and copying some music files to it.
Comment: I have several offline playlists on Spotify but they are still not picked up by the game.
Comment: @DGarvanski Do not have the playlist on Spotify, make the playlist on WinAmp or any other music player which isn't a cloud based service
Comment: I removed the last paragraph, because it seems that spotify playlists are encrypted and will not work.
Comment: Yeah, they are encrypted. I tried looking through the Android/com.spotify.music folder and all locally saved files all have the .file extension so I guess it's not possible to use Spotify on Zombies! Run! 5K. That's really dumb since it's the paid version, but oh well! Guess I'll have to download the free version and get ads and, possibly, micro-transactons...

Using Spotify on Zombies 5K


I can't update any apps in Google play store

Question: Why I can't update any apps and it keeps on saying that I have insufficient storage but I think its not the problem because I have storage. So what should I do?
Comment: You should give more information.
Answer: Usually you need at least 10 percent of your whole data storage to install applications.
You should delete some stuff or clean up the cache by going into Settings -> Storage -> Cache
If that does not help, clear the data of Google Play Store using Settings -> Applications (or Settings -> Storage -> Apps) and then swiping to the left until you get to All applications and  then search for Google Play Store and delete the data. Then start Play Store again and try it out if it works.


Feature Count in Legend (QGIS 2.18.2)

Question: Below is a screen shot of my Layers Panel showing two Graduated Category layers. One set of category features (Change in Small Firms (2015-2010)) are accompanied by counts, while the other (Change in Small Firm Counts (2015-2000)) is not. The counts for the first show up in the Composer output, but not in the second. I'd like both legends to be similar, but I can't figure out how to add or remove the counts.
Comment: In the example shown for the feature counts, is there a way to select the sum of the points in each category of a different field other than the feature count shown? I have point counts in my layer, but the categorized data is from a different field in the same layer. i want to see how many points fall in a given percentage of categorized polygons.
Thanks!
Answer: You may try a right click on your layer and then chose to Show Feature Count (green on figure):
Answer: Right-click the entry in the layer list and activate Show feature count. (Can be heavy on big datasets but yours doesn't seem an issue.)
Answer: To have more control on what you count and how you present the count (ie, to get rid of the brackets), use an aggregate expression in the appropriate legend label (+ Insert or Edit an Expression) and combine it with concat(). This one's to count features within the atlas geometry and also belonging to one category:

concat('My count: ',
  aggregate(layer:='A LAYER',
    aggregate:='count',
    expression:= A FIELD,
    filter:= within($geometry, @atlas_geometry) AND "FIELD"=VALUE))

(Note that when closing the Insert Expression window, a [%%] will enclose your expression in the Label window.)

Feature Count in Legend (QGIS 2.18.2)


Why can't Spotlight find an application I know is there?

Question: I have this application called Cura Type A, but Spotlight cannot find it, even when I show all results in Finder... Anyone know why?
Comment: I have the same issue. Spotight finds most apps in the applications folder, but some it doesnt. For me it cant find Slack.  Extremely annoying, as I cant launch it via spotlight.
Answer: It is quite possible that your Spotlight index is damaged or incomplete. The app does launch and function correctly, right? If so try rebuilding the Spotlight index.
Launch System Preferences, Click on Spotlight and then click the Privacy tab. Drag your HD icon into this window. Click OK when asked to confirm.
Other housekeeping utilities (like Onyx) will also rebuild the Spotlight index.
Comment: I believe you also need to _remove_ your HD from the list afterward, or Spotlight will be prevented from indexing it at all.
Answer: From https://support.apple.com/en-us/HT201716
If searching your Mac doesn't return expected results, rebuilding the Spotlight index might help.

Choose Apple menu () > System Preferences, then click Spotlight.
Click the Privacy tab.
Drag the folder or disk that you want to index again to the list of locations that Spotlight is prevented from searching. Or click the Add (+) button and select the folder or disk to add.

To add an item to the Privacy tab, you must have ownership permissions for that item. To learn about permissions, choose Help from the Finder menu bar, then search for "permissions."

From the same list of locations, select the folder or disk that you just added. Then click the Remove (–) button to remove it from the list.
Quit System Preferences. Spotlight will reindex the contents of the folder or disk.
Answer: Before rebuilding or anything make sure Spotlight is searching the correct directory or filetype.  Open System Preferences and click on Spotlight. The window that opens lets you define certain aspects of spotlight search.


Incomplete Orders

Question: Using Cartthrob I have a checkout order form where I would like to send a notification email to an administrator if the user enters their details but leaves the page before completing the order. This would be first step during checkout so I can capture basic details before they proceed to selecting payment terms and completing checkout. I have looked at Postmaster and can't seem to figure how to make it work in my circumstance. Any suggestions?
Answer: ObjectiveHTML wrote up all the variables you would need for Abandon Cart emails in the PostMaster documentation. PostMaster is really powerful and can do a lot of things so I recommend that you use the Getting Started guide to get to terms with all the terminology.
Comment: Thanks, I have created the notification but when I ping the URL it does not send a mail. Seems like a software issue as couple others also struggling with this.

Incomplete Orders


How do I add "Right click>close" option to a .desktop file?

Question: I have created a .desktop file for a program I use frequently. When I left click the .desktop file, it runs the program. I would like to have an "exit/close" option when I right click the file.
How would I go about doing this?
Answer: There are various features examples, right-click filemenu, on your disk.
You can find them under /usr/share/applications
Looking in the file /usr/share/applications/org.gnome.Nautilus.desktop
...
Actions=new-window;

[Desktop Action new-window]
Name=New Window
# This is how you add comments
#Icon={path}
Exec=nautilus --window-window
...

Above is truncated to only show the portions you are interested in working with.
The Actions= portion of the example is the available options in the right-click menu. So to add an additional action, or to create a new one, you need to add the Actions= section in the global options (top section).
Add your new action (ideally, keep the name simple, it is not what is seen in the menu), and it is like every other list in the file semicolon ";" separated. And by default you terminate even a list of a single item with a semicolon ";".
After adding your action you define typically at the bottom of the configuration file. You use brackets "[]" and two keywords to create right-click menu items.
For example, if we wanted to add a remote server to our nautilus right-click menu. We would modify Actions=new-window; to Actions=new-window;remote-server;.
After we do that we then define our action, using the keyword Desktop, then the keyword Action, and followed by the action name (use lowercase lettering and dashes for spaces, to be consistent with the rest of the files).
[Desktop Action remote-server]
Name=Cloud Space

Then we define things, like Name= is important because it is what we will see when we use the right-click menu. So in the above example Cloud Space would be the menu option.
Typically we would then use the Exec= keyword to do an action, but this is just one way of using Actions, they do not require Exec=. In our example, it would be likely
Actions=new-window;remote-server;

[Desktop Action remote-server]
Name=Cloud Space
Exec=ssh -Y cloudserver.your.tld nautilus

The results of our changes would introduce a new right-click menu item below "New Window" called "Cloud Space", and selecting it would ssh to the server we specified, and do X over SSH and open nautilus on the remote server and you will see the contents of the remote disk.
To know what options are available, its best to refer to the Desktop file specification/documentation.
Some people report it does not work with their custom actions until they add the option DBusActivatable=false to the general settings, like
[Desktop Entry]
Name=Terminal
...
DBusActivatable=false

[Desktop Action new-window]
...

Hope that works for you, this answer was tested on Ubuntu, but the desktop specification is quite generic, so the above should work for other linux distributions without issues.


Select all faces parallel to ground

Question: Is there a way to select all faces in my mesh that have normals that point upwards, with a range of how much they need to be pointing upwards to be selected?I have a mesh of a house, and I want to add a solar panel material to all the faces that point upwards but the mesh just has too many faces to do it manually. It also has an inside that I do not want to be selected. I am not sure whether this  will involve scripting (I know absolutely nothing about scripting by the way)Preferably, my selection would look something like this:Thanks in advance for any advice anyone gives me.
Answer: I would use c for circle select and pick the top parts of the globes then either grow selection or use select similar.
Select similar which is Shift + g can be used to find faces with similar angles/direction which should be your best bet. Then just grow your selection using
Ctrl + +
More ways to select can be found here https://docs.blender.org/manual/en/latest/modeling/curves/selecting.html
Comment: yes shift G > Normals then play with the Threshold of the Operator box, or ctrl +, seems to be the solution
Comment: Thanks so much! That worked perfectly, I will have to deselect a few things like the floor inside and window ledges, but that will be nothing compared to the amount of work that it would be to select everything manually.

Select all faces parallel to ground


Opamp stability given in not inverting configuration

Question: If a datasheet (like AD828) says that an opamp is stable at Gain >2 (or reccomends to work with G>2, hence it is clearly not unity gain stable), what can we deduct about its stability in the inverting configuration at G=-1; G=-2 or G<<-2 (like in any transimpedance amplifier configuration)?
Is it always instable in the three above cases if not compensated?
Comment: @Linkyyy Are you sure that you do not mean: *so it would seem that it is also INstable at G = -1* The **loopgain** does not change for G = 1 vs G = -1. It is also the **loopgain** that determines (in)stability. G= -1 vs G = +1 only differs in the way where the **input signal** is applied.
Comment: *transimpedance amplifier configuration* I think that the transimpedance amplifier is a bad example here as the ones I know all apply the input (current) at the - input so basically they're all **inverting**. I think we should only consider voltage amplifiers instead as these can be inverting and non inverting.
Comment: @Linkyyy *the bandwidth at -1 is substantially lower than what is given at G=+2* You're comparing apples to pears. It is only fair to compare G = -1 vs G = 1 **or** G= 2 vs G = -2. The BW will be different between G = +/-1 and G=+/-2 because GBW product is constant.
Comment: Good question. The dynamic performance is also specified at G= -1, so it would seem that it is also stable below -1, but im not sure.
Comment: It's a video amplifier so why are you even considering as a TIA?
Comment: @Bimpelrekkie: Well the bandwidth at -1 is substantially lower than what is given at G=+2, so it would seem that a negative configuration has some other effects.
Comment: @Bimpelrekkie: Yes ofcourse, so the the BW should be higher for lower gain, which it is not.
Answer: Stability is a function of NOISE GAIN, not strictly the same thing as gain...
Noise gain follows the formula for the gain of a non inverting stage $$NG = 1 + Rf/Rg$$
For an inverting unity gain stage this will be 2, making the part stable in this configuration.
Comment: Although I've been an analog designer for 25 years, I didn't know about "noise gain" but looking up what it is, it is strongly related to **loop gain** which is what I use to evaluate loop stability. I like the term "noise gain" though as it emphasizes that there is no relation between stability and the input signal of the circuit. Good reading material: https://www.analog.com/media/en/training-seminars/tutorials/MT-033.pdf
Comment: What is NG for a TIA? Infinite (Rg=0)?
Comment: The classics are by Tobey, Graeme, Huelsman; two good books
Answer: Loop gain is the stability determining factor.
Loop Gain = Beta * Ao  where Beta = feedback fraction = R1/(R1+R2) and Ao = open loop gain.
1/Beta = Noise Gain.
So a non inverting amplifier with a closed loop gain of 2 (R1=R2, Beta = 0.5 and Noise Gain=2) has the same Beta and therefore the same noise gain as an inverting amplifier with a closed loop gain of -1 (R1=R2, Beta = 0.5 and Noise Gain = 2).
This means that an inverting amplifier with a gain of -1 is as stable as a non-inverting amplifier with a gain of 2.
In addition to Noise Gain being the stability determining factor, Noise Gain also determines the bandwidth of an amplifier.
Bandwidth = GBW/Noise Gain.
So a non-inverting amplifier with a gain of 2 (R1=R2) has the same bandwidth as an inverting amplifier with a gain of -1 (R1=R2).
If you make the closed loop gains of the two amplifiers both equal to 2 then the inverting amplifier will have a bandwidth equal to 2/3 the bandwidth of the non-inverting amplifier.
Non-Inverting amplifier with a closed loop gain of 2 has R1=R2 and a noise gain of 2.
Inverting amplifier with a closed loop gain of 2 has R2=2*R1 and a noise gain of 3.
Comment: Take a look at the data sheet for the AD744 op amp which is stable for non-inverting gains of +2 or greater and also for inverting gains of -1 or greater. To be used as a unity gain follower this op amp requires extra compensation.
Answer: Stabilty is a function of the total feedback phaseshift.
1) Rout + Cload: 100 ohms and 100pf are 10,000 picosecond time constant, producing 45 degrees phaseshift at 100 MegaRadians/second of 16MHz. Many opamps have Rout (internal output resistance) near 100 ohms; some have Rout >>> 1Kohms.
2) phase margin beyond 90 degrees: a 60 degree phase margin opamp (Unity Gain phase margin) has 90+30 = 120 degrees phase shift
3) phase shift at the virtual_ground node: assume 10pF on that node, and resistive equivalent (Rin || Rfb, or Rg || Rfb) of 1,000 ohms; this produces 10,000 picosecond tme constant, or 45 degrees at 16MHz.
What rescues a feedback network? Usually the parasitic feedback capacitance in parallel with the feedback resistor. IMHO


Couplings in the SYK model

Question: I have read several times by now that the couplings in the SYK model are drawn randomly from a gaussian distribution. I was wondering what exactly is meant by that. To elaborate, when I compute an observable in the SYK model I start in some way from the Lagrangian. This already includes the couplings, so how do I know they have "previously" been determined randomly? What is the difference to just fixing the couplings all to be let's say 0.4, because I like that particular number and they just randomly turned out to all be 0.4?
Answer: The SYK model is always considered in the large-N limit (N = number of Majorana modes), and the probability that the distribution of couplings in a particular realization differs appreciably from the probability distribution you used to specify the model goes to zero as N -> infinity. This is the Law of Large Numbers at work.
Your question does make sense for other disordered models in which we don't take the large-N limit.
 Then we indeed have to distinguish between the disorder-averaged properties of the model, averaged over all disorder realizations with a given probability distribution, and the properties of a particular disorder realization which might be atypical.
Comment: So should I average the hypothetical observable I calculated over all realizations of SYK models with the appropriate weight for the given realization of the couplings?
Comment: @QuantumStudent Like I said, in the large N limit it won't matter. "Almost all" (i.e. all except a set of measure zero) realizations will give the same expectation value.

Couplings in the SYK model


My Android sytem is gone

Question: I have big problem here.
I wipe system partition on my phone, I know that I shouldn't have.
Now my phone without Android OS, I've try to flash it using custom ROM but it doesn't work.
Any idea how to flash it back to stock?
It always show error when i tried to use custom recovery from PC (using command prompt)
What stock ROM I should've flash it? Back to Android Lollipop or lower?
Thanks
Comment: I just noticed you said you tried to use custom recovery from your PC.  That doesn't make sense.  If you have a custom recovery like TWRP installed, boot to recovery.  If you're on stock, you'll probably see a "no command" message, which probably looks like an error (X on fallen android).
Comment: I'm using fastboot recovery, it's like temporary TWRP/CWM and you can use that without tampering stock recovery
Comment: the problem is I accidentally wipe system partition
Answer: Well, head on over to XDA-Developers and look for your phone.  If they have it there in the developer forums, you will probably be able to solve your problem with some research.
To get useful answers, you need to supply more information about your device.  What model is it?  Nexus 5,6, Pixel?  One of the Samsung or Lenovo phones?  HTC?  What version/patch level is on your phone?  Is the bootloader unlocked?  Do you have a custom recovery?
Armed with this information, coupled with an active XDA developer forum, and you should be okay.  There will be at least one post of the stock firmware for your device of one or more versions.  If you have the exact same on your phone, you can flash the system and you're set, though I'd consider doing it all after you backup your data.
{edit:  I just saw the "lenovo" tag on the post, so you're likely on a Moto X, G, or Z.  You will find a robust developers' forum over on XDA. }
Comment: already solve it by flashing the stock ROM and also using stock recovery.
Comment: Glad to hear it!

My Android sytem is gone


How to clean/smooth a low resolution in photshop?

Question: Does photoshop have a tool or technique to clean up images such as this?
I just want the edges to be clean or at least a little cleaner.
Answer: I don't think a perfect result is possible, but maybe this will do.

Resize the image. In the example below, I resized from 500x500px to 1000x1000px

Add a Gaussian blur, just enough to blur out the jagged pixels. It might also be possible to leave this step out if you want.

Run the Cutout filter with settings as shown below, however feel free to mess around with these until you get the desired result.

click on image to see full szie
Comment: Wow, that'll do the job perfectly! Thanks a lot for your speedy answer.
Answer: If given to me..
Due to the nature of the image (hard edged, cut-out, impression) I would auto-trace this in a vector application. The result could then be moved back to a raster application at whatever resolution you need. If not kept as vector to maintain quality.
This is Adobe Illustrator CS6's trace... but most vector apps have a trace function. In addition, there are free web sites that will trace for you.

Since the result is vector and object-based, one could very easily then "tweak" colors as necessary. For example, the original has a very subtle background above the mountain. That's hard to pick up in a trace, but amazingly simple to adjust after the image has been traced.
Comment: Thanks Scott, thats a very useful trick!
Answer: The third way is to use an image enlargening program. It increases the pixel resolution - not like image resize in Photoshop, but trying to guess where should be a sharp border or a thin line.
The left half of the image is your original, the right half is enlargened with Smilla (freeware).

The pixel dimensions are lifted to 500% (=2500x2500) and the enlargening preset "painting" was used.
About the result: The program hasn't removed colored areas, there's no new flat colored zones at the fuzzy borders and the geometric forms of the borders look quite the same as in the original.
The only harm is that it's not Photoshop. Several commercial image enlargening programs are available as Photoshop plugins, but as said, Smilla is free.
ADD: The enlargened half of my screenshot still looks sharp although it is scaled down to the same size as the original image half. I guess a part of the usharpness was blur which is caused by something else than low resolution. That gave an idea to try sharpening.
In the next image the right half is aggressively sharpened and the left half is the original:

The right half has got in Photoshop 3 filterings:

Sharpen > Smart sharpen > Lens Blur, radius = 1 px
Noise > Median, radius 1 px to reduce some lifted noise
Smart sharpen again with the same setting as in the first time

This is in Photoshop, but the edges have clearly got something which is typical for sharpening. That didn't happen with elargening.
Krita and GIMP (freeware) can use G'MIC filter package as a free add-on. I tested its sharpening methods. Some of them fitted well into the existing blur and the best result was somewhere between Photoshop's sharpening and what's got with Smilla enlargener.


Independent t test or repeated measure anova

Question: A nurse manager is interested in determining whether there were statistically significant outcome measures between male and female patients measured at 3 different time points. Do I use an independent t test or repeated measure anova?
Comment: Is this a homework question?  If so, please add the self-study tag.
Answer: This sounds like a homework problem, so I will answer it like one.
Would you expect the measures from the same patient at 3 different time points to be correlated?  In other words, would knowing the value of the measurement at the first time point inform you what the value might be at the second time point?  What are the assumptions of each test?  Answering these questions will give you the answer.


Kol Isha during mixed gender singing

Question: According to Halacha, is it permissible for a man to listen to a woman and man (or multiple men and women) singing at the same time, on the principle the men's voice would override kol Isha? Or would it be kol Isha inherently?
Answer: This is a classical question as it applies to singing zemirot (Shabbat songs) together between men and women. There is a famous teshuva from the Sridei Eish on the topic (see here on MY), showing there are sources to be lenient but many oppose mixed singing.
The best summary of the issue I found is by R Chaim Jachter here - but see the original (sub-title Zemirot) for the full text

R Yechiel Yaakov Weinberg (Teshuvot Seridei Eish 2:8) notes that
traditionally women refrained from singing Zemirot when there were
males who were not family members sitting at the Shabbat table.
However, he records that the practice in Germany was for woman to sing
Zemirot in the company of unrelated men. Rav Weinberg records that Rav
Azriel Hildesheimer and Rav Samson Raphael Hirsch (two great German
Rabbis of the nineteenth century) sanctioned this practice. Rav
Weinberg reports that they based their ruling on the Talmudic rule
(Megila 21b) that "Trei Kali Lo Mishtamai," two voices cannot be heard
simultaneously.
Rav Weinberg writes that he does not find this explanation satisfying
(perhaps because the Gemara (Sotah 48a) writes that men and women
singing together is a major impropriety). Rav Weinberg instead defends
the German Jewish practice by citing the Sdei Chemed (Klalim,
Maarechet Hakuf, 42) who quotes the Divrei Cheifetz who asserts that
the Kol Isha prohibition does not apply to women singing Zemirot,
singing songs to children, and lamentations for the dead. This
authority explains that in these contexts men do not derive pleasure
from the woman's voice. [...]
Accordingly, the question of whether the Kol Isha prohibition applies to Zemirot
remains unresolved. Chareidi communities in Israel and North America
generally follow the stringent view on this matter and Modern Orthodox
communities in Israel and North America generally follow the tradition
of German Jewry in this regard.
It seems appropriate, though, not to
expand this leniency and permit situations beyond that which the
German Poskim specifically authorized – a group of men and women
singing Zemirot together. Interestingly, I asked Rav Yosef Dov
Soloveitchik in July 1985 whether he agrees with this ruling of Rav
Weinberg.

See also this important article from R Moshe Lichtenstein on the application of these halachot to modern times (with source sheet here).

Kol Isha during mixed gender singing


Is there a unix command line tool that can analyze font files?

Question: Given a directory of font files (TTF and OTF) I'd like to inspect each font and determine what style (regular, italic, bold, bold-italic) it is. Is there a command line tool for unix flavored operating systems that can do this? Or does anyone know how to extract the metadata from a TTF or OTF font file?
Answer: I think you're looking for otfinfo.  There doesn't seem to be an option to get at the Subfamily directly, but you could do:
otfinfo --info *.ttf | grep Subfamily

Note that a number of the fonts I looked at use "Oblique" instead of "Italic".
Comment: Perfect, thanks! For those interested I'm on OS X and installed it via brew with `brew install lcdf-typetools`
Comment: The nix package is called `nixpkgs.lcdf-typetools`
Comment: On Fedora 37 it's called `texlive-lcdftypetools`
Comment: FWIW, the MacPorts package is also called `lcdf-typetools` (and is a dependency of `texlive-fontutils`, so it may already be installed for people using TeX).
Answer: In Linux, if you have .ttf fonts, you most probably also have fontconfig, which comes with the fc-scan utility. You can parse the output for the information you want, or use the badly documented --format option.
For example:
fc-scan --format "%{foundry} : %{family}\n" /usr/share/fonts/truetype/msttcorefonts/arialbd.ttf

The font properties you can print this way are shown here: http://www.freedesktop.org/software/fontconfig/fontconfig-user.html#AEN21
Some properties are listed in multiple languages. For example, %{fullname} may be a list. In that case, %{fullnamelang} will list the languages. If that shows you your language in fourth position in the list, you can use %{fullname[3]} as the format string to print the full name in only that language.
This language stuff being quite inconvenient, I ended up writing a full Perl script to list the info I wanted in only one language:
#!/usr/bin/perl
use strict;
my $VERSION = 0.1;
my $debug = 1;

my @wanted = qw(foundry family fullname style weight slant width spacing file);
my @lang_dependent = qw(family fullname style);
my $lang = "en";

my $separator = ", ";

use File::Basename;
use Data::Dumper; $Data::Dumper::Sortkeys = 1;

my $me = basename $0;
die "Usage: $me FILENAME\n" unless @ARGV;

my $fontfile = shift;

unless (-f $fontfile) {
    die "Bad argument: '$fontfile' is not a file !\n";
}

my $fc_format = join( "\\n", map { "\%{$_}" } @wanted );

my @info = `fc-scan --format "$fc_format" "$fontfile"`;
chomp @info;

my %fontinfo;
@fontinfo{@wanted} = @info;

if ( grep /,/, @fontinfo{ @lang_dependent } ) {
    my $format = join( "\\n", map { "\%{${_}lang}" } @lang_dependent );
    my @langs = `fc-scan --format "$format" "$fontfile"`;

    for my $i (0..$#lang_dependent) {
        my @lang_list = split /,/, $langs[$i];
        my ($pos) = grep { $lang_list[$_] ~~ $lang } 0 .. $#lang_list;
        my @vals = split /,/, $fontinfo{$lang_dependent[$i]};
        $fontinfo{$lang_dependent[$i]} = $vals[$pos];
    }
}

warn Dumper(\%fontinfo), "\n" if $debug;

$fontinfo{'fullname'} ||= $fontinfo{'family'}; # some old fonts don't have a fullname? (WINNT/Fonts/marlett.ttf)

print join($separator, @fontinfo{@wanted}), "\n";

Comment: Indeed, fc-scan does't seem to show the copyright. `foundry` is the closest it gives you. But `otfinfo -i`, suggested by cjm, does display it.
Comment: fc-scan is great for getting the font "fullname" that is used to reference the font in programs.
Comment: If you want to avoid the language issue, `postscriptname` instead of `fullname` gives you the same information, language-independent, in a different format.

Alternatively, in bash: `for fontfile in /mnt/Fonts/*.{otf,ttf}; do fc-scan --format "%{fullname[$(( $(sed -E 's/^(.*)en.*/\1/;s/[^,]//g' <<< "$(fc-scan --format "%{fullnamelang}\n" ${fontfile})" | wc -c) -1 ))]}\n" "${fontfile}"; done > fontlist.txt`
Comment: Awesome, thanks for the tip (and script.. though I haven't tested the script yet). Do you know if there's a way to get license/copyright info as well? I tried %{license}, %{copyright} and no format, but none of those yielded anything, whereas fontforge is able to show it to me.
Comment: Ah that's great, I installed `lcdf-typetools` and and ran `otfinfo -i` as suggested and that did the trick, thanks! (And I gave @cjm a +1 as well).
Comment: @emk2203 That is money!
Comment: The notes on the --format option are priceless.