Masonry-like picture grid

Question: I have been over-thinking this complex and I am sure there is an easy answer or another avenue I can approach to find the solution.
What I am trying to accomplish is a random grid of images. I have an array of images that I want to line up in a flush grid. What I mean by this is that I want the grid to not have any gaps in it. Here are some example images:

Key specs:

Container/cell must be in a ratio that the image can fit without skewing
The grid must be flush. It cannot have any gaps including the last row.

The problem I am having is I cannot come up or put into words a formula that can create the table maxtrix I am trying to accomplish. Masonary is 99.9% what I am looking for except the grid does not take into account the image size nor does it end flush. So that 1% is why I am not considering using it.
I am not looking for javascript specific as this relates to math so I plan on creating the layout in PHP then powering functionality in javascript.
Any help or pointers will be appreciated.
Comment: well I suppose [2d box-packing](https://www.google.com/search?q=2d+box+packing+algorithm) is a place to start, but figuring out a way with *absolutely no chance* of empty space might take some extra tweaking and manuvering.
Comment: @JakeGould That is what I plan on using exactly. That way I can make sure images are visible in their container. Just coming up with the grid matrix is where I am stuck. It's a matrix that I cannot put a word on.
Comment: Maybe this will help you: [Grid generation & division](http://stackoverflow.com/questions/6997278/grid-generation-division-with-css-js-php) & [Detecting gaps in grid of divs](http://stackoverflow.com/questions/13705472/detecting-gaps-in-grid-of-divs)
Comment: @andbeyond Thanks for this! This is an interesting algorithm that can help me figure this out. Looking in to this now to see if it can help!
Comment: @MartyWallace this doesn't really solve my issue. It will know the image size prior to the image even being loaded. Appreciate the feeback though!
Comment: Sorry, *bin*-packing is the more formal term, you may get better search results with that...
Comment: @MvG Update the image path.
Comment: @PHearst Thanks for the links. I couldn't put into a single word what I am looking for and this helps to know there are other posts similar.
Answer: Your example images are alinged in rows. Furthermore, you didn't wirte anything about a fixed total size, so I assume that the aspect ratio of the whole layout can be chosen at will. In that case, you could try something along these lines:

Line up all the images in a single row, by fixing the height and choosing the width in such a way that you can preserve the aspect ratio.
Split that single row into multiple rows. This is where you can play with a number of heuristics, to tune the final result to your preferences. But any solution would satisfy the requirements you stated.
Scale each row in such a way that they all have the same width, then stack them.

Obvious this is only a rough outline. The really hard part will be how to distribute the images onto the different rows. One goal might be combining images of similar aspect ratio, in such a way that the final images will have similar sizes. You could compute for each ratio the preferred image height which would lead to a desired image area, and then combine images with similar height requirements until the width resulting from scaling to a common height matches the width you desire for your final rows. But other aspects will play a role as well, e.g. making rows of similar width, and stuff like that.
You might find suggestions for objectives in other answers and comments, and toy with them until you find one you like.
Answer: Justified-Gallery looks like a solution for that, here is the site with examples.
Comment: This is with jQuery only :(

Masonry-like picture grid


Retag option missing

Question: Yesterday, I was able to see the "retag" option beneath questions (and successfully retagged a question), but today I'm not seeing that option.  Anyone know why I wouldn't be seeing this option anymore?  Retag only requires 1 reputation in the beta.
Answer: Relatively new to this, but you are granted various permissions when you pass certain milestones. This includes the permission may be granted to edit questions (which allows me to re-tag).
Is it possible that once you are granted editing privileges, the retagging feature is no longer necessary; no longer appears?
Comment: Ah, you may very well be correct here.  I was assuming there would always be a separate Retag option rather than having to go into full Edit mode just for tagging.  I passed 500 rep last night, which is the level needed for Edit privs.  Can someone with more SE experience confirm that this is the case?
Comment: @efgen I did do a quick search on the meta, without success (but that was today, while the there is some testing going on. BTW, nice to meet you!
Answer: This is sort of a common issue that people face in the UI as they gain more privileges. Here's some helpful information from this Meta Stack Overflow post:

Until you hit 1000 reputation and gain the privilege to edit questions and answers, the only way you can make an edit is as a suggested edit.
However, the privilege to retag questions is gained at a mere 200 reputation. Thus, for users who have between 200 and 999 reputation, they'll need to use the "edit tags" link that appears to the right of the tags.
Once you hit 1000 reputation and you have full privileges to edit questions and answers, there's no need for a separate link to edit only tags, and at that point in time, you'll be able to use the edit link under the question to edit tags.
In fact, between 1K and 2K reputation, the only option to edit tags is to actually edit the question. Once you hit 2K, the "edit tags" link comes back.

Keep in mind that, for the next few days, the reputation requirements are set very low. Anyone can retag a question, editing privileges are awarded at 500 reputation.
I edited the above quoted material to reference the privilege levels in the public beta.
Comment: Sorry, I was indeed looking at the privilege list for the private beta, even though I knew better -- thanks for the correction!
Comment: Thanks for posting the specifics.  One point of clarification -- I had to look up the significance of the 2K level.  For anyone else wondering, that's the highest level, Trusted User.  Makes sense that trusted users get all functions enabled, but it's awkward that the separate retag function disappears between earning edit privs and earning Trusted User.  Also, the FAQ suggests to avoid trivial edits, and some retags may be minor.  So IMO, it would be better to keep the separate retag function after getting Edit privs, though I realize that's outside the scope of the Genealogy SE.
Comment: Hi @efgen, keep in mind that once we move to public beta, 2K means [access to moderator tools](http://genealogy.stackexchange.com/privileges/moderator-tools). Trusted User would come at the 4K level. Privilege levels are at their very lowest during the private beta. With that said, the workflow for editing tags vs posts is a bit funky.
Comment: @efgen: The warning to avoid trivial edits is more for users who need their edits reviewed because of the burden it places on reviewers. If you have the edit privilege, go ahead and fix those 1-character typos.
Comment: Seems that you have to get there first as well.  I was about to retag http://genealogy.stackexchange.com/questions/1542/help-finding-2x-grandfather-william-r-redikers-records-prior-to-1857 to add "united-states" (it was another American who thinks they're on some sort of national forum so don't mention country) but the edit and retag are greyed out, and hovering over them it says another edit has already been suggested.  So I guess I have to wait for that edit to be processed, if I can be bothered, there's no way to queue them?
Comment: @RobHoare - This will get a little easier once we all gain more rep. My suggestion is to join the [Roots Chat](http://chat.stackexchange.com/rooms/6003/roots) and drop a link in there. GeneJ hangs out in that room a lot and has full editing privileges. I went ahead and dropped one in there on your behalf.
Answer: I noticed mention on another SE that all the sites had been put into 'read only mode' for a brief while. This may be why you couldn't retag. Here is a link to one of the discussions about their fix-ups. I'm sure there're more discussions about it if you look around. I was in chat a couple days ago and everyone suddenly got kicked off. That again was because the 'big guys' were doing some migrating. Someone entered the chat and said sorry and explained what they were doing.
The 'retag' option is showing on my screen right now so it must be fixed.
Comment: No, the read-only mode isn't the issue.  The site was only read-only for a little while today while they were doing some maintenance.  I'm still not seeing the retag option.  I do see the share, edit, close and flag options currently.
Comment: Don't take this personally, but I'm going to downvote this answer since it wasn't the cause of my issue.  Downvotes on meta don't affect reputation.  And, it'll give me the Critic badge here on meta LOL ;-)  The info about yesterday's maintenance was definitely useful though, and was a good thought about why I was having this problem, so thank you for posting!
Comment: @efgen LOL, okay, thanks for the heads up.

Retag option missing


Word to Describe Exploitation of Elderly

Question: I am looking for a word(s) that describes someone who deceives/takes advantage of an old person to get that old person to name him as his caretaker, POA, successor trustee of his trust, etc.  Sample sentence:  "Mr. Smith was a(n) _________ attorney who duped my Dad into signing over his assets by having him change his legal paperwork to make Mr. Smith his POA."
Comment: The term "elder abuse" can be used to describe various types of mistreatment of the elderly. That doesn't fit neatly into your blank, though.
Comment: I've often heard *predatory* used in this context, too. Like @Jim's answer, it doesn't refer specifically to the elderly, though.
Comment: @AndySchweig Quite right (at least in the US).  *Elder abuse* is the term of art employed by state agencies with names like Adult Protective Services.  It covers physical abuse, emotional abuse, and financial exploitation.
Comment: And there are a dozen other schemes.  Many telemarketers are targeting the elderly, and many TV commercials and such things as insurance junk mail are dishonestly preying on the elderly.  Not to mention phishing by both phone and internet, attempting to take advantage of people in a confused state.  (But I don't know of a good "blanket" term.)
Comment: How about *unscrupulous*? I don't think you'll find single word meaning "one who preys on the elderly"
Comment: @AndySchweig Oops, I just saw your comment. Feel free to post your own answer with the same term and ping me to delete mine.
Answer: It's difficult to find a single adjective here that conveys both sentiments. I would suggest using the words "predatory", "propensity" and "swindling". It's not the shortest way to convey what you're looking for, but I think it works.
You could structure you sentence like this:
"Mr. Smith, a predatory attorney with a propensity for swindling the elderly, duped my Dad into signing over his assets by having him change his legal paperwork to make Mr. Smith his POA."

predatory - adjective -  seeking to exploit others.
  "she always felt at the mercy of predatory men"
  synonyms:   exploitative, wolfish, rapacious, greedy, acquisitive, avaricious, vulturine; rarevulturous
  "I could see a predatory gleam in his eyes"
propensity - noun - an inclination or natural tendency to behave in a particular way.
swindle - verb - gerund or present participle: swindling
  use deception to deprive (someone) of money or possessions.
  "a businessman swindled investors out of millions of pounds"
Comment: +1 for *predatory* although it is not limited to the elderly (and I can't think of a term that is).
Answer: The established term is elder abuse.

Elder abuse is mistreatment of an older person that is committed by someone with whom the older person has a relationship of trust such as a partner, family member, friend or carer.
- Seniors Rights Victoria
Elder abuse can be defined as "a single, or repeated act, or lack of appropriate action, occurring within any relationship where there is an expectation of trust which causes harm or distress to an older person".
- World Health Organization

The perpetrator can be simply called an abuser.

An abuser can be a spouse, partner, relative, a friend or neighbor, a volunteer worker, a paid worker, practitioner, solicitor, or any other individual with the intent to deprive a vulnerable person of their resources.
- wikipedia article on Elder Abuse

Your sample sentence would then look like "Mr. Smith was an elder-abusive attorney ...".
Comment: I think you'd want *elder-abusive* in the example sentence, to avoid the interpretation that the attorney was the worst-ever specialist in prosecuting cases of elder abuse.
Comment: @1006a I misread the original - thanks for picking that up!
Answer: My first attempt:
"Mr. Smith was a senility profiteering attorney who duped my Dad into signing over his assets by having him change his legal paperwork to make Mr. Smith his POA."
In this case, you may be trading off word economy, grammar, interpretation, and most importantly, impact.  I assume impact and emotional effect is the sole purpose of making such a statement.
I would carefully reconsider your sentence structure depending on context (i.e., spoken colloquially? published academically?).  Perhaps you could say something like
"Mr. Smith, an attorney notorious for the shameless profiteering of our beloved senior citizens, underhandedly deceived my own father into waiving the control rights to his assets by authorizing Mr. Smith as a representative power of attorney..."
More colloquially:
"Mr. Smith -- that attorney. Do you know what that guy did? He totally duped my Dad into giving up all of his stuff by tricking him into signing some papers that gave him the power of attorney.  And my Dad is really acting old these days. What a crook! Now I have to find another lawyer just to undo what this shady lawyer did."
Answer: con artist vocabulary.com

a swindler who exploits the confidence of his victim
Answer: How about Senior Hoodwinker or combine elderhoodwink? There should be a word for such a person! hoodwink:To take in by deceptive means; deceive.  OR others: Elderduper; seniorvictimizer; elderknave; Seniorschemer?  THERE HAS TO BE A WORD introduced into today's society!


IOS modal segue returning black screen

Question: I want to have a simple first view controller autofadeout to second view controller after 3 sec. What i did is inside the viewdidload of first, gave the sleep command for 3 sec and then used performseguewithidentifier. Now i am able to navigate to the second screen, however i its a black screen. Can anyone suggest what could be the mistake
Answer: I had a similar problem. When using segues i have experianced complete black screen on resulting viewcontroller. i have used contraints and i accedently added
<code> [self.view setTranslatesAutoresizingMaskIntoConstraints:NO];
</code>
in ViewDidLoad. On removing it, the segues work absolutely fine.

IOS modal segue returning black screen


Murray Universal breaker

Question: I have a 50 year old Murray box that will not take the current circuit breakers. I need to find out how to order or find the number for a 4 pole 20/30/30/20 breaker that will fit the old style box or universal version with the deeper cutout on the plugin back?
Comment: Can you post photos of the labeling on the inside of the breaker panel door?
Comment: Is this a quadplex, or what we call a "double-stuff" breaker, 2" wide but has four trips on it?  **If so, you *really, really* need to do as ThreePhaseEel is asking**. I have a hunch this can be straightened out easily, but we gotta see that panel labeling to be sure.  Also, can you link the breaker you tried?
Comment: Probably faster and easier to mount a new secondary box next to it and install your new circuits (& breakers) there.
Answer: The 20/30/30/20 (called a "quad" breaker) is created by coupling two tandem or "twin" breakers; a 20/30 and a 30/20.  In older panels twins will only fit in certain slots, because there were limits to the total number of circuits you could have in those panels. So only a few of the slots allowed the use of twins. On the directory sheet, usually glued to the inside of the door of the panel, there will be a difference in the way the breaker slots are shown, indicating which ones will accept twins.

The slots that will accept twins will also accept full space breakers, but not the other way around. So one thing you can do is to check your directory to see which slots you can use and if they have full size breakers in them, move those to other slots and open up the slots that will accept the twins/quad.
If there are no slots left in your panel that allow twins, then you have to either replace the panel, or add a "sub panel".
Comment: This is true even with modern panels, panels that have the reject feature will only fit is certain positions the panel has a number like 20/30 the first number is the number of full sized breakers the second is the total count with tandem or double stuff. There are breakers out there that do not have the reject feature and these are listed an non current limiting. (Not code compliant to use in a panel not designed for tandems).  non current limiting are not code compliant because you can over load the buss with two many breakers, from memory Murray has a wider slot in the plastic on tandems.
Comment: ThreePhaseEel and do indeed suspect some sort of CTL issue, possibly OP bought a CTL breaker but has a non-CTL panel?  Or the other way 'round? That's why OP needs to post the labeling for **that** panel; without it we're just SWAGing.  By the way, quadplex breakers are *not* two tandems glued together!  The handle-tie doesn't make them common-trip, an internal mechanism does.  That's why you almost never have common trip on the outside breakers, even if they're handle tied.
Answer: There's no such thing as a universal breaker
Several of the 1" breaker lines will seem to interchange. But they don't.  The critical point, where they clip onto the bus stab, is different.  That means instead of a curved surface contact, they are making a point contact, with all the current going through a tiny spot of metal.  This causes overheating, arcing, and fire.  At the least, it damages the bus stab, so that breaker space is no longer usable.
You must use breakers listed for your panel; which will generally come from your panel's manufacturer or its successor.  There's good money in supporting panels, so the vast majority of panels have current maker support. Murray is at the top of that list!
"Double-stuff" breakers are even more sensitive to this, because they put 2 circuits on 1 bus stab. For instance yours will pull 50A on each stab.  Mind you: a bus stab, which supports that breaker and the one across from it, are only rated 125A for both.   So fooling around with random breaker makes is madness. They snap in, but they don't snap in right.
If a store sold you the wrong brand of breaker, they should take it back.  Shame on them!
Siemens still markets that line as Murray.  Yes, I know you got a Siemens breaker and it didn't fit. That's because you got the wrong Siemens breaker; we'll come around to that.
In certain rare cases, one manufacturer makes a breaker specifically for competitor and obsolete panels, and goes through the UL-Listing product testing process to get the breaker UL-Classified for that competitor panel.  Siemens QD breakers are specifically made for Square D QO boards (and won't fit anything else).  Eaton CL is UL-classified for Murray boards (but they don't make double-stuffs in CL).
Your trouble probably relates to CTL
You're using a type of breaker we call a "double-stuff", which puts 2 breakers in the space normally used by one (or in your case, 4 for 2).
Obviously, double-stuff breakers would let you put 84 circuits in a panel with 42 spaces.  That worried some, so in 1965 they made a change to NEC called Circuit Total Limitation, or CTL, which requires panels only support double-stuffs in a limited number of spaces, and required special gating/keying to prevent abuse. This change took effect around 1966-67, right near your "50 year" claim.
However, there were plenty of legacy panels that still needed support.  So double-stuff breakers continue to be made in "Non-CTL" versions, which do not have the necessary keying. These are often called "cheater" breakers, since they can often be put in illegal positions in CTL panels.
In 2008, CTL was repealed from NEC.  So manufacturers no longer are obliged to put CTL keying in new panels.  (However, changing a panel requires going back to UL and getting the panel re-listed, so naturally manufacturers are slow to it; so CTL limited panels are still sold today.)
So now that CTL is repealed, is cheating legal?  No. In 2008, this language was added:

408.54 Maximum Number of Overcurrent Devices. A panelboard shall be provided with physical means to prevent the installation of more overcurrent devices than that number for which the panelboard was designed, rated, and listed.
  For the purposes of this section, a 2-pole circuit breaker or fusible switch shall be considered two overcurrent devices; a 3-pole circuit breaker or fusible switch shall be considered three overcurrent devices.

That means CTL restrictions still apply to CTL panels (since UL has not tested the panels in "cheat mode", and cannot vouch for their safety).
Your panel
Had you said "51 years" I would have taken it to be a 1969 panel.  But a super-round number like "50 years" is usually a rough number, so I cannot tell if your panel is old enough to pre-date CTL.  If you look at JRaef's answer, that has an example of what CTL labeling looks like on a CTL panel.
Since your breaker does not fit, you are trying to use a CTL breaker in a non-CTL panel or vice versa; ... or you are trying to fit a CTL breaker in a CTL panel in a space where that is not allowed.  You will need to look at your panel's labeling and determine whether you have a CTL or non-CTL panel.  If a non-CTL panel, get a non-CTL breaker.  If a CTL panel, get a CTL breaker and only put it in approved spaces.
I cannot possibly tell you to put a non-CTL breaker in a CTL panel.
If your panel is over-stuffed and you want to put more circuits in it than the panel allows, then it's time for a subpanel.  A subpanel is within the reach of a careful and diligent DIYer.   Since you are resorting to double-stuff breakers, your panel is already past full - get a BIG subpanel, like a 30-space or more.  I would get one large enough so you can de-double-stuff your panel entirely and still have at least a dozen spare spaces. You can stay with Siemens/Murray if you like it.
We bang the "get a BIG panel" drum really hard around here, because spaces are cheap at purchase time, and we see so, so many questions about difficult, complex, or expensive problems that arise from running out of panel spaces.  Just like yours!
Answer: You may still get the "Murray" made by Siemens breaker you need, but I was unable to get the downloadable tool from the website below to work. If you have a non-CTL panel it looks like Q23020CT2NC could possibly what you're looking for, the NC in the model number is non-ctl.
From the Siemens website:
Murray Phase-Out in 2020
The Murray brand will be phased out and replaced by equal Siemens products. This adjustment will better align with changing markets, help simplify offerings, improve supply chain stability and enhance inventory positions. The Murray phase-out will be accomplished in three phases: 1). Murray Circuit Breakers and small circuit load centers will be discontinued in December 2019 2). Murray Rock Solid Load Centers will be discontinued in Summer 2020 3). Murray Meter Sockets will be discontinued in Fall 2020
For product replacements please use the cross reference guide found below
Download now

Murray Universal breaker


Style every second widget?

Question: I need to apply a certain style to every second widget in my sidebar, and I'm reluctant to use :nth-child due to cross-browser compatibility issues. Is there a bit of PHP that will allow me to apply a class to every other widget?
Answer: Use the dynamic_sidebar_params filter.  The following code adds classes to say whether the widget is odd or even, what index it is in the sidebar, and what sidebar it's in.
Note: the str_replace("class=\"", "class=\"$class ", $before_widget); code below depends on your before_widget using double quotes -- it probably should be done with a regular expression to handle single quotes as well.  I just haven't ever got around to it.
function my_filter_dynamic_sidebar_params($params){

    static $sidebar_widget_count = array();
    $sidebar_id = $params[0]["id"];
    if (! isset($sidebar_widget_count[$sidebar_id])){
        $sidebar_widget_count[$sidebar_id] = 0;
    }
    $before_widget = $params[0]['before_widget'];
    $class = $sidebar_widget_count[$sidebar_id] % 2 ?
        "widget-odd" : "widget-even";
    $class .= " widget-index-" . $sidebar_widget_count[$sidebar_id];
    $class .= " widget-in-$sidebar_id";
    $before_widget = str_replace("class=\"",
        "class=\"$class ", $before_widget);
    $params[0]['before_widget'] = $before_widget;
    $sidebar_widget_count[$sidebar_id]++;
    return $params;
}

add_filter("dynamic_sidebar_params", "my_filter_dynamic_sidebar_params");

Comment: How could this code be updated to include a class for the total number of widgets? For example `widget-count-3`
Answer: This would probably be a great place to make use of the CSS :nth-child pseudo-class, especially :nth-child(odd) and :nth-child(even). I wouldn't worry too much about browser compatibility. If you must, just use jQuery for IE8.
Answer: Here's a related discussion on the WordPress.org forum: http://wordpress.org/support/topic/dynamic-widget-classes-for-use-in-css

Style every second widget?


Does the Demon Slayer Katana has any advantage over the Demon Dweller Sword?

Question: Supposedly both swords are capable to release projected slashes of anti Magic, and the Demon Dweller Sword can also absorb the magic of other people and use those power. What are the advantages of the Demon Slayer Katana then? Is it just like a backup sword with no special attributes compared to the other Asta's swords?
Answer: Yes, as far as we know, the Demon-Slashing Katana is just that. A katana with anti-magic applied. This is because Asta's previous swords were created by Licht and embued with special properties, whereas Yami's katana had nothing special and only acts as a channel for magic.


Custom Post Type Admin Post Status Not Working

Question: For the life of me, I can not figure this out.
I set up a custom post type in WordPress like so:
register_post_type( 'myposttype',
    array(
        'labels' => array(
            'name' => __( 'MyPostTypeName' ),
            'singular_name' => __( 'MyPostTypeName' )
        ),
        'public' => true,
        'has_archive' => true,
        'supports' => array('title', 'custom-fields')

    )
);

When I first started I added add_filter( 'map_meta_cap', 'my_map_meta_cap', 10, 4 ); with some basic capabilities. I think I may have set that part up wrong, but I quickly got rid of it and returned the post type to normal capabilities.
Now whenever I try to access the custom post type in my admin, I run into some weird problems. Namely, no matter what Post status I click on (Published, Drafts, Private, etc.) I only get published posts. Also sorting the columns and other similar admin functions don't work at all. It's like edit.php is completely broken, but only for this specific custom post type. It works just fine on all other custom post types.
I've tried everything, right down to deleting every mention of the custom post type from the admin panel and then trying to register it again, and nothing works. I really need to keep the slug from the custom post type the same, but I'd be open to registering a new post type, moving posts over and then changing the slug I just can't figure out a good way to do it.
Anyway, I'd appreciate any help in figuring out how to fix the custom post type admin panel.
Thanks
Answer: Do you have a "posts_orderby" filter added anywhere?


Why should I re-generate a server's SSH host keys?

Question: This server hardening guide suggests re-generating the RSA and ED25519 host keys. What is the advantage of re-generating the default key?
Answer: Who created the original keys?
If they were created by the post-inst when you installed the openssh package (or you first booted the server), that should be fine.
On the other hand, if this is a server image which come with the host keys, other users would have the same host key (including the private part).
So, in doubt, it's better to regenerate them, particularly if you are setting up a new server.
It also protects against the scenario where someone might have been able to grab a copy of the previous host keys.
Comment: @angryserver A naive "Configure a machine → Make snapshot → Use as template" would have this problem. It's not an issue of _where_ you deploy it (AWS, GCP...) but of the image used.
Comment: @angryserver It's _supposed_ to work that way, but cloud providers have occasionally had bugs and accidentally reused keys.
Comment: Interesting & makes sense. Do you know of an example of a modern system that would use the same host key? I'm assuming all server installs on AWS, GCP, a fresh Ubuntu Server instance, etc. would all generate the key right there during install and I can't think of a modern system that would reuse naively.


Ideal temperature and humidity for preventing problematic ESD conditions?

Question: I know manufacturers often keep components sensitive to ESD problems in climate controlled rooms and I'm just wondering what the ideal temperature and relative humidity is to prevent ESD problems?
Comment: Ideal for ESD is as humid as possible.  That's not ideal overall when other factors are considered though.
Comment: @OlinLathrop - So what's the "sweet spot" when all factors (such as a comfortable working environment) are taken into account?
Comment: That's a longer discussion not relevant to the question.
Answer: Nobody relies on temperature and humidity to prevent ESD.  Some people might use it to minimize ESD, but they don't rely on it to eliminate the problem.
If you want to eliminate ESD as a potential problem then there is no replacement for proper equipment and proper handling of parts.  Ground straps, conductive/dissapative tools, floor, and furniture.  All the usual stuff.
Temperature does not matter much, but humidity does.  Temperature matters only in that it can effect humidity.  Ideally, the whole factory would be under water.  Clearly that is not practical, as it prevents the soldering irons from heating up.  So anything less than "underwater" is a compromise of ESD safety.
Ironically, it is becoming common to store sensitive electronics in low-humidity environments.  Some chip packages, like BGAs, are humidity sensitive.  When stored in a humid environment they absorb water from the air.  Before soldering, the parts have to be baked to get that water out.  After soldering water absorption from the air isn't a factor (for reasons I don't completely understand).
Comment: The reason the humidity isn't a problem after soldering is because a little humidity absorbed by the packaging doesn't hurt the device if everything else is designed right. The problem with water in the package is that it can cause the package to explode when heated, like during soldering. Baking heats it to lower temperature and more gently, so the water can diffuse out instead of insisting on being let out all at once.  Packages need to be dry *during soldering*.
Comment: point of argument: I would think ideally the factory should be filled with liquid solder or some other highly conductive material (water can be a very good insulator if pure enough, Wire EDM is one example where this property is taken advantage of). This of course has it's own problems (really hot, quite toxic, shorting out all the wiring, etc.)
Answer: From Henry Ott re: static discharge (ch 15.3) in "Electromagnetic Compatibility Engineering"
Charge accumulated on an object leaves the object by one of two ways, leakage or arcing. Because it is better to avoid arcing, leakage is the preferred way to discharge an object. Charge can leak off an object through the air, because of humidity. The higher humidity, the faster the charge will leak off the object.
Temperature affects humidity, so that is where the temperature sensitivity arises.  Temperature per se does not directly affect ESD conditions.
One techniques that is used , aside from ground straps etc. is the use of ionizers on benches when there is extreme ESD sensitivity.
MIL-STD-1695 addresses relative humidity levels between 30 - 70 percent in areas where electronic parts and hybrid microcircuits are handled or processed.
Answer: Actually, ionizing the air — rather than humidifying it — is much more effective at encouraging the leakage of static charges, and it doesn't incur all the other problems associated with high humidity.
However, ionization systems need to be carefully designed so that they don't end up depositing charges where you don't want them.


Have the country in craft.commerce.countriesList default

Question: Is there a way I can have the array from craft.commerce.countriesList automatically default to the country my store is in?
Comment: well, if I'm looping over them in a select list, I'd want the UK (and perhaps the US) to be at the top of that list, rather than Afghanistan.
Comment: What do you mean automatically default?  `craft.commerce.countriesList` just returns an array of `id` => `name` values from the `craft_commerce_countries` table in the database. You can do whatever you want with it.
Comment: I'm playing fake Luke Holder here, but I don't believe Commerce has a specific setting to specify what country your store is in.  Maybe you want to match it by currency (messy) or by the locale Craft is currently using (slightly less messy).
Comment: You're entirely correct, I was confusing matters with default currency. I guess I'm looking for a way with Twig to have UK appear first in the loop.
Answer: Not particularly proud of this code, but if you want to do it from Twig, something like this:
{% set countryList = ['United Kingdom', 'United States'] %}

{% for country in craft.commerce.countriesList() %}
    {% if country != 'United Kingdom' and country != 'United States' %}
        {% set countryList = countryList|merge([country]) %}
    {% endif %}
{% endfor %}

    {% for country in countryList %}

{{ country }}

    {% endfor %}

Answer: I needed to add the country values to the array so used Brad's answer to come up with the following:
{% set countryList = [{'77':'United Kingdom'},{'233':'United States'}] %}
{% for key, country in craft.commerce.countriesList %}
  {% if country != 'United Kingdom' and country != 'United States' %}
    {% set key_string = key|json_encode() %}
    {% set countryList = countryList|merge([{(key_string):country}]) %}
  {% endif %}
{% endfor %}

The above builds the array of countries with their values. The below is the code to loop over the array and fill a select menu with their values.
<select>
  {% for country in countryList %}
    {% for key, option in country %}
      {% set optionValue = (model ? model.countryId : '') %}
      <option value="{{ key }}" {% if key == optionValue %} selected{% endif %}>{{ option }}</option>
    {% endfor %}
  {% endfor %}
</select>


Point docker container DNS to specific port?

Question: I was wondering if it was possible to assign the DNS server a docker container is querying (via docker run --dns, or otherwise) to be on a specific port, something other than 53? I had built a custom python based DNS server for a specific use case and don't have the option to run the container it resides in on the traditional TCP/UDP port 53 (issue with Apache MESOS Marathon unfortunately). Docker image the server is built on is python:3.6.12-slim-buster.
Answer: You have to bind server's port to something else when running it's container, using the --publish or -p flag.
Take a look at examples and documentation here.


Regular login-screen sometimes replaced by a nonfunctional white text on black login-screen

Question: I'm running Ubuntu 12.04.3 LTS on a Dell Inspiron 1200. Most of the time when I power up the regular login-screen appears. Sometimes a minimalist white text on a black screen appears. The screen requests my user ID. When I have typed it in and pressed "enter" it requests my password. When I attempt to type it in the flashing cursor does not move and no dots appear. When I press "enter" I am notified that the login is incorrect. All I can do is hold the power button down and start over. Generally, the second attempt works. My hard drive is the original. Is it time for a new one or do I have a motherboard issue? Or has the software become corrupted?
Answer: What I believe has happened is there is a singular missing file that supports the visual aspect of logging in. Your password not being accepted may have been a mistype, but there is certainly nothing wrong physically with your computer, otherwise it wouldn't even boot. Try installing a different display manager (like GDM) once you get logged in.
On a side note, the password issue of no moving cursor is normal. Those both happen on purpose in the terminal prompt and are for added security.
Comment: The white on black login-screen is non functional. It will not accept any password. No dots are displayed.
Comment: I may have stumbled on a workaround. I'm in the habit of powering down my computer. If I set the power feature to suspend after 30 minutes of no activity the computer goes into hibernation. When I come back and move the mouse a password window appears. I type in the password, press "enter" and the Ubuntu home page appears.
Comment: I found out this morning that moving the mouse doesn't work; pressing the start button does. Since I didn't power down I don't have to worry about logging in. I never logged out.


IPv4 class E IPs

Question: can someone explain to me why we cannot use the class E IP space? I know it's reserved but this is a huge chunk of IP addresses they could make available. Would this bring such huge issues that it cannot be done? Are these addresses hard coded into system stacks as non-routable ? I know there were some projects to get it done but none of them was successful so I just want to know, are the issues of getting it done so much bigger than the gain of having them free to use? And what are the issues exactly? Is it because it's not worth it as we should migrate to v6 completely?
Answer:
Are these addresses hard coded into system stacks as non-routable

Not so much non-routable, but "invalid". There are a great many systems across the internet with that logic builtin. (and some that mistakenly treat 240/4 as multicast!) It was decided long ago to not bother with promoting "Class E" to usable address space -- the effort would be almost impossible, and a /4 would only prolong the inevitable by months. In other words, GET ON WITH IPv6 ALREADY.
(Just look around your own networks. How many legacy, unsupported devices are still there? Print servers, door bells, industrial controls (HVAC, elevators, etc.), phones, consoles, etc, etc, etc. Not to mention the old but still 100% functional routers and switches - who definitely must support this.)
Comment: Remember your history... IP (v4) was an experiment. It was never envisioned to be a global network protocol. No one at the time had any idea of what eventually became the internet, or that it would be such a utility.
Comment: +1 for "and a /4 would only prolong the inevitable by months. In other words, GET ON WITH IPv6 ALREADY."
Comment: It's kindof insane that something so futuristic as air conditioning ON THE INTERNET!!! was built with pretty-much obsolete Internet when they installed it. It was normal to use v4 a couple of decades ago but even then people knew it wouldn't last out long enough for the expansion that was inevitable. So instead there's ridiculously complex routing and virtual addresses, with NAT semi-smartly using socket numbers as a pseudo-IP.

All that money and effort, gone wrong for the lack of 10% extra effort, instead we have to make 50% more just to kludge it.
Comment: @tjd And today, it wouldn't last a month.
Answer: The address space is likely hard-coded in various systems as non-usable, yes.
Having it usable globally would would in practice require getting all operating systems, routers and firewalls accept them,
and in addition would likely require many individual network and system administrators to revisit their manually-set filters
dropping that and other such reserved blocks. There would be hold-outs, there would be issues with specialist and embedded
equipment, and in the meanwhile, services trying to run on addresses from that address space would be mysteriously unusable
by some end-users. Not good if one happens to be trying to run a business.
It's not like all systems prevent the use of those addresses, however. To pick anecdotal data from what I have at hand, a recent Linux allows
assigning an address from 240/4 just fine, and on Junos the addresses can be used if you explicitly tell the system to accept
them
with special configuration. Then,
testlab1# run ping 245.6.7.2
PING 245.6.7.2 (245.6.7.2): 56 data bytes
64 bytes from 245.6.7.2: icmp_seq=0 ttl=64 time=3.002 ms
64 bytes from 245.6.7.2: icmp_seq=1 ttl=64 time=3.389 ms

There appear to be indications that some rather big players have made the space usable within their networks. The RIPE Labs article "240/4 As Seen by RIPE Atlas" mentions their network probes seeing addresses from 240/4 in traceroutes and there's at least one earlier rumor on that, too.
Incidentally, that email thread mentions that it took ARIN about 3-4 months to distribute a /8 to its members in 2011. At that speed, a /4 would last globally for something like a year, so in addition to the likely significant trouble, there would also be relatively little benefit from making the address space usable.
Comment: Not "likely"... "absolutely **is**". No Cisco device ever made will allow 240/4. They won't even route it. The only way to make them globally usable is by inventing a time machine, going back about 40yrs, and never marking them as unusable. (ARIN was handing out *more* than a /8 per month.) Yes, there are those that have plumbed 240/4 into their own internal networks, but they have to be very careful because you never know what things will accept it, and what will mistake it for multicast.
Comment: Not just Cisco; Windows also refuses to talk to 240/4 entirely. (Though, updates _could_ be made available to both Windows and IOS, I doubt it's hardwired even in routers, but that's highly unlikely at this point.)
Answer: First, network address classes are dead (please let them rest in peace), killed in 1993 (two years before the commercial Internet in 1995) by RFCs 1517, 1518, and 1519, which defined CIDR (Classless Inter-Domain Routing). We have not had network address classes in this century.
IPv4 addresses with the first four bits set to 1111 are Reserved, and that reservation is built into IPv4 itself, as explained by the IANA IPv4 Special-Purpose Address Registry.
It would be prohibitively expensive to retrofit every IPv4 device in the world to recognize such addressing, and it really does not gain all that much (we would still not be able to give but a fraction of the extant IP devices a unique address). IPv6 has solved the IP address shortage, and it has restored the IP end-to-end paradigm and improved IP over IPv4.
Answer:
It has become clear that people will not transition away from IPv4 until/unless continuing to use IPv4 becomes too expensive. People have been toying with IPv6 for years but few operators got serious about it until after the RIRs announced exhaustion. Even a decade after said exhaustion less than half of clients can access IPv6 servers.
Many systems outright refuse to use class E addresses. Even if a standard was published saying such addresses should be treated as regular unicast, it would likely take many years to phase out the old systems.
The allocation rate in the years leading up to exhaustion was pretty high and was accelerating. The "Class E" space represents 16 /8s. Even if it had been used as public space it would have only delayed exhaustion by about a year if that.

Put these things together and allocating the space for public use was a non-starter. Using them for private use was more plausible, but getting to the point where such addresses could reasonably be used on general purpose networks would still be an uphill battle that might distract people from transitioning to IPv6.
Comment: Not "years", but *decades*. (like **3** decades) And there are still plenty ISP that still have zero IPv6 anywhere. None of the enterprise connections I've had in the last 20 years supported v6. (In AT&T's words, we weren't a big enough operation to be connected to *that* router.) Earthlink still doesn't - despite dozens of v6 blocks. [the only v6 they ever announced was part of OCCAID - an experiment from a single employee.]
Comment: Addendum to point 1 - or that the RIRs disallow any kind of transfer of addresses & gradually reclaim those that are currently issued in reverse order in which they were issued.
Answer:
why we cannot use the class E IP space?

In the local network, you could do it. And I've heared that there are hosters who already do that!
And in the Internet?
If it is true that hosters or ISPs use "class E" internally, the corresponding companies will refuse to support "class E" addresses in the Internet.
It will neither be possible to access web sites hosted there from a computer that has a "class E" address, nor it will be possible to access a "class E" web site from a computer connected to such an ISP.
Router operators who have replaced their IPv4-only routers by IPv4+v6 routers will probably also refuse to replace their routers again if the new ones don't support "class E".
And router operators who refused introduction of IPv6 up to now will also not see any need of introducing "class E".
So the introduction of "class E" in the Internet would not be faster than the introduction of IPv6.
And using "class E" in an Internet where many routers don't support "class E" would cause many problems that IPv6 did not have in its first days:
Just think what happens if a "class E" computer tries to connect to some web site and the routers in between don't support "class E"...
It would take decades until "class E" could be used without problems in the Internet ... if the router operators will still support IPv4 then!

... this is a huge chunk of IP addresses ...

If the demand in Asia has not changed in the last years, companies there are waiting for 920 million IPv4 addresses.
"Class E" is only 268 million addresses. The "class E" addresses would not even be enough to supply all the companies in Asia waiting for addresses just now!

IPv4 class E IPs


Maximum RPM in zero-g before losing consciousness, spinning head-over-heels

Question: There are more than a few scenes in Gravity that I find dubious. Specifically the ones where people are revolving very quickly, either about their own center of gravity or at the end of a rather long pole. I'd guess we'd need to know how long the pole was, but I'm more concerned with a person themselves, just flipping around out there (and I suppose we'd need their height, or does that cancel out?). How fast can they spin until it's night-night? Is it reasonable to assume they should've passed-out in at least one of those scenes?
Answer: I think people can easily endure head-over-heel revolutions in space such as seen in Gravity. I am no mathematician (let alone physicist, both of whom could answer this more accurately) but here is my reasoning (faulty though it may be).
You are assuming that someone would pass out from lack of blood supply to the brain.  Given we have absolutely no problems normally at 1 g (the force of gravity on earth), the average non-couch-potato person can tolerate forces of up to 20 G for less than 10 seconds, to 10 G for 1 minute, and 6 G for 10 minutes before passing out.
But g is very dependent on (as you stated) distance from center. It's also very dependent on revolutions per minute.
$$g=\frac{R\left(\frac{\pi\times rpm}{30}\right)^2}{9.81}$$
or
$$R=\frac{9.81 g}{\left(\pi\times rpm\over30 \right)^2}$$
g = Decimal fraction of Earth gravity
R = Radius from center of rotation in meters
π = 3.14159
rpm = revolutions per minute
The average North American male is 1.75m tall. That means the distance of the top of the head and bottom of the feet (if stretched out at full length) from center is under a meter (.875m). At 60 rpm's (that's pretty fast), solving for the above, g = 3.52.
g = [.875({3.14159x60}/30)^2]/9.81 = 3.521 (so just over 3.5G)
Gravity at the top of the head and the bottom of the feet would be 3.5G, while the gravity at the center would be zero G. The heart can easily compensate for that for a while. An astronaut, trained for increased Gs, can do well for longer.
Much worse than too little blood to the head is too much, which is what I would be worried about. Eventually, slightly less than half the blood volume would end up below the waist with the feet feeling the most pressure, and the rest above, with the brain being engorged with blood, which can cause hemorrhage (not taking into account here precise fluid physics). I'm not sure how this would play out in space over longer periods of time, but survival would be the norm for the scenes we see in Gravity.
An Air Force physician named John Stapp was the first to determine just what humans could take in the way of G forces. On his final run, firing nine solid-fuel rockets, his "sled" accelerated to 632 miles per hour in five seconds, slamming him into two tons of wind pressure, then came to a stop in just over one second. A witness said it was "absolutely inconceivable anybody could go that fast, then just stop, and survive." But Stapp did—in fact, he went on to live another 45 years, dying quietly at home in 1999 at the age of 89—and he experienced a record-breaking 46.2 G's. For an instant, his 168-pound body had weighed over 7,700 pounds.  Stapp's efforts put him on the cover of Time, and he was called "The Fastest Man on Earth." More importantly, his work led to greatly improved safety in both planes and cars, and he gave us a much-improved understanding of human tolerance to G forces.
All About G Forces
Comment: Very interesting that you would have to flip three times a second to put you into the one minute danger zone; not as dubious as I thought.
Comment: Nice fact too :)
Comment: I think "too much blood to the head" is in fact the problem that would be experienced, since centrifugal force would force the blood away from the axis of rotation and thus towards the top and bottom of the body. Per [this](http://what-if.xkcd.com/116/), the tolerance limit for that would be only ~2G, making 60rpm readily fatal. That tolerance is less time-dependent than most. Of course, the rush of blood to the legs as well may play with that result, as may the high centre-of-mass of a human; I'd also be interested to see the effect of the spinning on venous return, cardiac preload etc.
Comment: @Watercleave - According to xkcd, Dr. Stapp would not have survived (even though he references Stapp's work. His stick figure model doesn't mention time.
Comment: @Watercleave - I alluded to this in my answer; I also mentioned that more like half the blood would go to the head; that factors in as well. xkcd is incorrect. Refute me with [NASA's numbers](http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19930020462.pdf) (which xkcd references but doesn't use) which states that -4 - -6Gz (that's 6G blood to head position) would be uncomfortable but tolerable for 6 seconds. -3Gz doesn't mention blackout at all. Also, it doesn't change my conclusion: that for what we see in *Gravity*, the spins would be survivable.


How to calculate TaskCPUUsage and TaskThreadCount for each process running iPhone or iPad

Question: How to calculate TaskCPUUsage and TaskThreadCount for each running process in iPhone or iPad..I want to give the process id and calculate the % cpu for that process.Is it possible? if possible how to do it?
how to get the ProcessID, ProcessName, UserName, %CPU, Threads, Real Mem, Virtual Mem, Architecture, CPU Time and Sudden Term.
programatically I have to calculate those values for running processes in my iPhone.These fields we can see in activity monitor instrument.
Comment: I searched for google code i got this api info from this url http://code.google.com/p/issh-improved/source/browse/AGProcess.m but when i run for cpuusage method it always say that invalid port.
Answer: I know from my limited use of I-devices [I am a droid user as I could never afford to pay ~$10 - 15 per app on a rooted phone [for things like SSH access] when I can get them for free in Android.  Not complaining just pointing it out as it is the price you pay for their overly simplified UI approach]
Anyways, I know when looking at fixing an iPhone and jailbreaking it for a client I did see where iPhones are very picky about what user you use in what situation.  I did see one command I cant recall now to get a listing of the users on the device.
I did just find this for you...  It is called iAccounts and states it is for creating accounts with different permissions on a jailbroken iPhone.  It should also have the ability to list all users [including the ton of built-in accounts.  If needed find the code for user account creation if all else fails then have your app go and create the user it needs with just enough permissions to do everything you want it to do [hopefully without giving it FULL root access just ncase your code ever has a problem it helps avoid a catastrophic failure in the system as it only got soo far before ther pemissions on the account it used were exceeded and it was stopped [not saying you would have that type of an error per se but cant account for every scenario and best to error on side of caution as bricking ANY SmartPhone is not fun to recover from]].
http://isource.com/2010/03/05/iaccounts-user-accounts-on-iphone-jailbreak-only/
If you can get a list of built-in accounts there ar different ones to handle different tasks and there is prolly one just for task management and if you can find that one it will prolly get  you what you need.
Oh yeah, dont forget there may be a difference in built-in accounts [whether it be if they exist their default credentials, how to utilize them, etc. between different iOS versions].  I would try and use a couple different iOS versions with your code to see how it reacts in the different versions.


Acceleration using time and distances

Question: A car crosses 10m distance from point A to point B in 1 second, next 10m distance from point B to point C it crosses in 0.8s.  Having distances and times is it possible to calculate acceleration and speed at points A,B,C?
Answer: No, it is not possible since there are multiple ways in which a car could achieve these times using different speeds.
It could, for example stay at point A for 0.5 seconds not moving at all. Then travel at a speed of 20m/s for exactly 0.5 seconds passing point B at 1 second. From point B on it could travel at 12.5 m/s reaching point C after 1.8s as wished.
The same can however be achieved by just not waiting at the beginning.The car could travel at 10m/s from point A to B and then at 12.5 from B to C.
This does also satisfy the times that you stated but the car crosses the B point only half as fast.
That said as your question is tagged as quadradics it is possible to determine the speeds assuming constant acceleration.
Under constant acceleration a the positions s after time t is given by:
s(t) = 0.5a*t^2 + v_0*t+s_0
We already now that s(0) = 0 and that s(1) = 10m and s(1.8) = 20m.
plugging these into the formula we get two equations.
I.:  s(1) = 10m = 0.5a*(1s)^2 + v_0*1s
II.: s(1.8) = 20m = 0.5*a*(1.8s)^2 + v_0 * 1.8s
These are two equations with two unknowns, namely v_0 and a. Solving this system of equations will yield the correct answers.
Comment: Thanks, that was a great help.
Comment: Sorry I was looking for the way how to do it but I did not  find it. Now I looked again.
Answer: yes it is, you can make two equations s follow;
let velocity of car at A is 'u' and acceleration be 'a',then
From A to B: 10=ut+(at^2)/2 or putting t=1 you will get 10=u+a/2:
Also for A to C: 20=ut+(at^2)/2 or putting t=1.8(1+0.8) you will get 20=1.8u+1.62a;
you have two variables u and a and two equations,solve them and get your answer.

Acceleration using time and distances


How to make a slow melodic solo sound beautiful

Question: I've listen to many songs where there's a lead guitar part that is very slow and not that impressive, but the song sounds amazing, But when I try to play them they just sound like some notes and not that nice melody line, how do I make my solos less lifeless?
Comment: "But when I try to play them..." it isn't clear if you mean your playing the solo from those songs you listen to, or your own, original solos in the style of those songs.
Comment: I think Vibrato is what you're missing?

Your title is slightly misleading by the way.
Answer: What you need to try and do is convey mood and emotion with your music. When you are having a conversation with somebody you don't talk in a robotic, monotonic way. You vary your voice to communicate your meaning better. You need to do the same with your music.
There are (at least) three basic things you can do:

Vary dynamics. Play some notes louder and other notes quieter, softer.
Small variations in rhythm. Obviously if you are playing with other musicians you have to go easy on this. You can play some notes fractionally longer than marked and others fractionally shorter.
Add ornamentation like grace notes or vibrato. These can add complexity and interest.

Exactly what you do and when is up to you. There is no "absolutely right" way to do this. Doing this kind of thing well is what "musicality" is about and doing it really well is difficult, takes experience and talent and is what separates the pros from the merely technically proficient musicians.
Of course before you get to the "musicality" level you have to master the "technically proficient" stuff first. Otherwise it's never going to sound good.
Answer: It's not so easy to describe in general. One starts with a good melody. That in itself is worth a couple of books. Then phrasing is important. some notes need to be connected and some separated. It's good to study some melodies by good composers, pop, Latin, classical, etc.
Other techniques (many derived from listening and practice) include adding ornaments (finding which sound nice in the style you're playing in) putting in some connecting tones (like passing or neighbor tones) to give a bit of life to the melody. It's also useful to vary note values; some long notes contrasted some short patterns.
All these take a lot of study, listening, and practice. Try out various techniques; see which ones work; add those to you bag of tricks.
Answer: You are asking for advice on something very subjective.  Your original question reveals something about your preconceived notions about what is "impressive".
No one can quantify what sounds good for another person.  I might say Jeff Beck is one of the greatest guitarists around and his solos are always impressive and full of feeling and someone else here could disagree and say David Gilmore is better.  Someone else could say everyone but Yngwie sucks.  How can anyone quantify objectively what makes a "good solo"?
I would ask you to clarify one thing about your question.
"But when I try to play them they just sound like some notes and not that nice melody line"
What is it you are trying to play?  Your own solo, or the solo you heard?  That makes a big difference in terms of the advice I'd give.
If you are trying to play someone else's solo then it might not sound the same because you don't have the techniques down that the player is using.  You might also not have the same set up and effects.  If your favorite guitarist is using reverb, chorus and a little delay and you're playing the solo clean or with a little distortion it just won't sound the same.
Learning other people's solos is a great way to develop technique.  When it comes to playing with feeling I would put phrasing at the top of the list.  Passing tones can make a solo sound compressed and drool.  I like them but the have to be used wisely.  For me, and this my opinion not a scientifically testable fact, large jumps give a solo more "feeling".  Some of my favorite Jazz players do use chromatic passing tones and blues licks but they leap up 5ths and octaves and that's what really moves me.  I cited Jeff Beck and David Gilmore for a reason.  A great number of guitarists love their playing.  Beck in particular has phrasing that really affects my mood (positively).  Bending adds another dimension to the notes but phasing is all about timing and playing with timing can make a large impact with little effort.
When it comes to playing with feeling it's a not so much what notes you play but HOW YOU PLAY THEM.  I'd take a simple three note lick and try to play it several different ways, (1) just pick the notes, (2) use hammer on and pull off (slur) techniques to connect them, (3) bending the lower note up in to the higher notes, (4) glissando (slide), (5) A combination of all the above.  The great players bend, trill, and slide all at once (or so it seems).  This adds a lot of depth and dimension to a simple idea.  Also, repeat yourself.  Music is about repetition of patterns and meandering around scales will sound tired real fast.  Again, take a simple lick and playing differently each time you play it, same note but different inflection.  First time picked, second times slide, third time bend.  This kind of thing goes a long way.  Listen for these ideas in your favorite guitar solos and learn from imitating.
Answer: There's a heck of a lot more to any solo than just the notes played. Obviously they're a great starting point, but that's just what they are!
Several thoughts:
Are you playing those same notes with the same sound as the guitarist you try to emulate? Playing an open string where he plays a fretted note on a lower string will give a different sound.
Are you playing with the same effects, same amp, same speakers? They will help but are nowhere near enough equipment to copy faithfully.
Are you phrasing the same? Not cutting notes short, sliding instead of bending, plucking instead of hammering-on.
Are you aware of the different attck being used? Some quieter, some louder notes.
Are you using vibrato, especially on longer notes (which are more common in slower pieces), and is that vibrato anything like the original?
Are you aware that your state of mind will have an impact on how you play? And are you capable of putting yourself in the appropriate 'zone'?
Can you vary, even subtly, the phrases being played - so they become slightly different from the original, but still just as beautiful? Phrasing, volume, extra/changed/fewer note, rubato - all these factors make the guitar talk, and delivering a good solo is about that - the delivery of those notes I mentioned at the beginning.
Answer: I agree with all the answers I've seen posted so far. But I'd also like to point out that there are Mastering techniques used in the recording process that we never seem to take into account. Mixing, equalization, compression, Phase adjustment, and more can add or detract appeal when we listen to a recorded performance and it just totally amazes us. There are times when a live performance is seriously unable to replicate the music we've grown accustomed to hearing on our home stereos because the acoustics of the room are problematic or the sound engineers don't have the tools and/or skills needed to make it happen. The musicians need to be skilled and have the equipment they need to accomplish the creation of their art, that's a given, but don't forget about the recording techniques and mastering practices when you listen to a final recorded project.
Comment: Good point. +1. Particularly these days, when glitches can be easily taken out, ending in 'perfect' performances. Not so in the old days - there's a Shadows track with a slight 'bad' note. I reckon they maybe did another few takes, other bits went wrong, and they just said leave it at that, not being able to do the wizardry of today.


Both plates of capacitor have positive voltage

Question: If both the plates of a capacitor are connected to positive voltage (say, one is +10V and the other is +5V), but there is a voltage difference between the plates, will the capacitor be charged? And why?
Comment: See capacitance coefficients aka coefficients of potential: http://en.wikipedia.org/wiki/Coefficients_of_potential. Your conceptual difficulty stems from the implicit assumption that there are only two plates, when in reality there are at least two more: the connectors of the power supply.
Comment: Unclear: if they're connected to the **same** voltage, how could they possibly be at different potentials?
Answer: About two points with positive voltage
Remember that voltage is simply difference in electric potential (which is electric potential energy per unit charge).
Like for gravitational potential energy, you can define your reference point anywhere. You can define zero potential to be one of the points, you are measuring between. Or to be the ground. Or another point in the circuit. It doesn't matter, since all you are looking for is the potential difference.
View electric potential as pressure as an analogy. If there is one bar on one side and two bars on the other side, there is a substantial difference and air will start moving. If there is 100 bar on one side and 101 bar on the other side, this still gives the same result. Only the difference is important.
In your case, the two positive voltages you find must be because they are measured with a third reference point. You can have any potential at those points by choosing another third reference.
Bottom line is: if they are both positive doesn't matter. Only the difference matters.
Will the capacitor be charged in your case?
That surely depends on the circuit. Yes, with a potential difference (a voltage) between those two plates (not regarding their individual potential in reference to some other point) charges will flow and the capacitor will be charged - unless of course it is fully charged already, or the circuit is not finished.
Capacitance of a capacitor is found with:
$C=Q/V$
So for a set voltage, Q is the amount of charge that will build up. When this is reached (or nearly reached) the capacitor is fully charged.
Answer: If you connect each plate to a DC supply, you will either get zero charge on the plate if the DC voltages are the same in both magnitude and polarity, or you will get a negative charge on one plate and a positive charge on the other if the DC voltages differ at all.
So, say we have two DC voltages, $V_1$ and $V_2$, where $V_1 > V_2$, that we connect each terminal to. Even if both DC voltages are positive, or both are negative, this will set up an electric field in the circuit that drives the current from the higher voltage to the lower voltage, i.e. Move electrons from the lower potential to higher potential.
So, on the $V_1$ side of the capacitor, electrons will flow from the plate to the voltage terminal, and on the $V_2$, electrons flow from the terminal to the plate, so the two plates become charged positively and negatively respectively. Electrons flow until the voltages of each plate equal that of the connected voltage.
So, when current stops flowing, there is a now a potential difference across the plates as well as a charges of equal magnitude and opposite polarity. This potential difference is equal to $V_1 - V_2$. The magnitude of the charge on each plate is related to this potential difference by the following equation:
$$Q_{plate} = C(V_1 -V_2)$$
This tells us that if the two terminals have the same voltage, the capacitor will have no charge after the transients die out over time (when electrons are moving). Otherwise we get a charge proportional to the difference in the voltages, of opposite polarities on the two plates.
Just to highlight that the fact the two voltages are positive doesn't matter: voltages (i.e. Potentials) are relative, so if you increase both voltages here, you get no change in the circuit's response. Try putting values of voltage into the equation above, and repeat for voltages that are offset by the same amount: the charge does not change!
Comment: ** Will the electrons move back to V_2 because V_2 is positive and the plate is negatively charged? **The answer is no. The other plate is positively charged. So it will attract the electrons of the negatively charged plate. Moreover, as the positively charged plate has positive electric potential (for its positive charges), it will have influence over the other plate too (because they are too close) and vice-versa; And the net electric potential on both the plates will eventually be zero.
Comment: No, the electrons will slow down until they stop. It is important to recognise that the polarity of a voltage potential has no physical significance like that of the polarity of charge. If a voltage is positive, that only tells you that it is higher than an arbitrarily selected reference voltage. Steeven's answer covers that rather nicely. It is misleading to think of electrons going from negative to positive, but that electrons flow from lower (not necessarily positive) voltage potentials to higher potentials (opposite direction of current).
Comment: And, in the end, each plate gains the same voltage as the DC connection, so if the voltages are equal along a wire, no net electron flow is present.


Do / how do the various flex frameworks work with Flash Builder

Question: I have been reading about various Flex frame works, Robot Legs, Swiz, Cairgnom (spelling error) and a few others. What I am missing is how they actually work with Flex / Flash Builder. Are they simply libraries that you can use with the Flash Builder IDE? Why should I learn to use one of them instead of just using the IDE as it is?
Comment: I can't speak to using any of the frameworks, but they can be useful. You can code with them to simplify some tasks or enforce a software architecture. I would recommend prototyping with different frameworks and see if they work for you. See if they are under active development or not so you won't be stranded when a new version of Flex comes out.
Answer: We use Cairngorm in our projects as follow:

We put the compiled library Cairngorm.swc in ./libs directory of our project
Then, library is included in the build path in Flex Builder:

Right click on your Project > Properties
[Flex Build Path] tab (on the left)
[Library Path] tab (on the right)
Ensure that your libs directory is listed or add it

Like this, we are able to use Cairngorm classes com.adobe.cairngorm.*
You can do the same thing with Astra Flex and use graphical components.
Answer: They essentially try to provide basic functionality that is (hopefully) useful across many projects.  Most of them provide an implementation of MVC patterns.  The idea is that you don't need to spend your valuable time writing "plumbing" code, as the framework has done that work for you.
These frameworks often demand a large up-front learning cost to figure out "their way of doing things", but have the potential to save you time over the long run as you re-use the framework & knowledge over multiple projects.
Destroyica's answer details how exactly to wire these frameworks up.  Most provide a single .swc file that you link into your projects' libs\ folder, though some will offer you the source code to the project that you could add to your projects' src\ folder.


Font creation for logo

Question: I have a template and that template has a logo. The logo is something called "Cream". I really like the way it has been set up. I want the same style with different name. How to do that? The problem is that logo is a .png image and not text. Any idea on what to do?
Answer: Your description is a little vague, but I think what you're asking is how to use a the same font that is in the logo to create any arbitrary text you like.
Assuming this is a font / typeface named "Cream", you'll need to find a copy of the font file online (either free or for purchase; it varies based on what you're looking for) and use CSS to embed the font.
If you're not able to find the font, it may go by a different name.  I've had some good results with What the Font determining a font based on images.

Font creation for logo


Soft body simulation to 3D print

Question: I have a soft body simulation that is about 20 frames long. I'd like to pick a specific frame and "fix" the geometry in place so that I can export the distorted model out for 3D printing. I'm new to Blender, and all I can seem to find is references to baking (which I don't think is exactly what I'm looking for). Every time I switch to edit mode, the simulation just pops back to the original, non-distorted geometry. Thoughts?
Comment: Get to the frame where it's how you want, then "apply" the soft body modifier, from the drop-down menu on the modifier to the right of the modifier's name.
Comment: Of course! I didn't realize that soft bodies were modifiers. Thanks
Answer: The comment is correct, but in case anyone else stumbles across this question, here's the answer:

Go to the frame you want
Apply the soft-body body modifier

Soft body simulation to 3D print


Who were the 13 persons who voted to choose PM among S Patel and JL nehru

Question: Who were the 13 persons who voted to choose PM among S Patel and JL Nehru? how many votes did Nehru get?
Comment: Could you provide some context? Indicate preliminary research? I'm making the assumption that this is India - which year? which election?
Answer: I don't think that a vote took place.
Wikipedia states

In the 1946 election for the Congress presidency, Patel stepped down in favour of Nehru at the request of Gandhi. The election's importance stemmed from the fact that the elected President would lead free India's first Government. Gandhi asked all 16 states representatives and Congress to elect the right person and Sardar Patel's name was proposed by 13 states representatives out of 16, but Patel respected Gandhi's request to not be the first prime minister. As the first Home Minister, Patel played a key role in integration of many princely states into the Indian federation.

And India TV has a longish article on the issue, which clarifies

. . . . the nominations were to be made by 15 state/regional Congress committees. Despite Gandhi's well-known preference for Nehru as Congress president, not a single Congress committee nominated Nehru's name. On the contrary, 12 out of 15 Congress committees nominated Sardar Vallabh Bhai Patel. The remaining three Congress committees did not nominate any body's name. Obviously, the overwhelming majority was in favour of Sardar Patel.

Later,

A disappointed Gandhi gave into Nehru's obduracy  and asked Sardar Patel to withdraw his name. Sardar Patel had immense respect for Gandhi and he withdrew his candidature without wasting any time. And it paved the way for the  coronation of Pandit Jawahar Lal Nehru as India's first Prime Minister.

I don't understand why Wikipedia says that the nominating committee had 16 members, while India TV states that the committee had 15 members.
I don't know which congress committees proposed Patel, but I can speculate based on the following two quotes from wikipedia

In the elections, the Congress won a large majority of the elected seats, dominating the Hindu electorate. But the Muslim League led by Muhammad Ali Jinnah won a large majority of Muslim electorate seats. The League had resolved in 1940 to demand Pakistan—an independent state for Muslims—and was a fierce critic of the Congress. The Congress formed governments in all provinces save Sindh, Punjab and Bengal, where it entered into coalitions with other parties.
During his lifetime, Vallabhbhai Patel received criticism of an alleged bias against Muslims during the time of partition.

If Patel had a reputation for an anti-Muslim bias, then it seems probable that the states that did not submit his name were the majority Muslim states.
Comment: For those not knowing the date of Indian Independence, your opening note might be confusing. The 1946 *Election* for Congress presidency is for *leadership of the Congress party, prior to independence*. This individual was assumed, correctly, to be the first Prime Minister *in waiting* while The Raj unwound. It seems that the process of selecting the Congress party President was kept quite close prior to independence, and was limited to the leaders of 16 districts branches of the Congress party.


Display error message when validating form in a specified region or div

Question: I have a Drupal 7 form, built by using Form API. I just want to validate using the hook_form_validate function, and if there are errors, display them using drupal_set_message. It is working perfectly. The problem is that in another page, I have the same form in a div, in the left side of the page, and would want the error message to appear in this region only, and not at the top of the page, where now it is appearing (that is controlled in page.tpl.php via $message variable, I think). Any idea of how could I achieve this easily?
Answer: If you use the form_set_error function instead of drupal_set_message, then the error message will be displayed within the form, which would mean that it would display inside your block.
If you would like to retain the drupal_set_message behaviour for your main form page then you would either need to differentiate which method is called in the validation based on url (or Context), or provide two separate forms so that you can simply validate each separately. In this instance you could build form and validate using a shared function to avoid duplication.
Answer: Inline Messages

The Inline Messages module allows you to move form messages (error/status/warning) from the top of the page to just above where your form appears.

I think this module may suit your needs.


what is it called when a song is created by overlaying a series of repeating beats

Question: This used to be pretty popular on YouTube but i have seen much of it in a few years. Wikipedia doesn't seem to categorize it as either a type of electronic music or a style of DJing.
Comment: An example would significantly improve the question.
Answer: There are a few music techniques here:
Looping is done by using a tape or two (or more) that plays back what was previously recorded.  An example is here: Cam Neufeld - Beaufort Sea Boogie
Beat-hopping is a technique done by techno artists where several rhythms are played on turn-tables and they use mixing techniques (cross-fader, filter slider) to bounce between the records and loops they are playing in efforts to create new rhythms.  An example is Ritchie Hawtin - Minus Orange.  Here the main rhythm is taken from Yello - Oh Yeah.


Is it possible to predict sentiment of unlabelled dataset using BERT?

Question: I have a large unlabeled dataset and I want to predict sentiment for each document in this dataset. I want to know, is it possible that I can use BERT for sentiment analysis of unlabeled data? I have seen so many tutorials and read the blog posts but I couldn't find one. All shows the use of BERT on datasets that are already labeled such as the IMDB review dataset or Yelp review.
Answer: Bert is a pre-trained language model with objectives like masked token prediction and next sentence prediction. So, it doesn't have any setup to do sentiment analysis,but you can use the pre-trained information to do the same.
There are couple of ways to solve your problem, they are

Annotate few of your documents and fine-tune the model for sentiment analysis.
Get open-source sentiment analysis datasets which fit your requirement, train Bert on the data and use the same classifier for your purpose (But this will work only if both data distributions look the same).
Comment: For the first one, you need to annotate your data and refer these https://github.com/RaviTejaMaddhini/Analytics-Vidya-Sentiment-Analysis-Hackathon
or
https://www.coursera.org/projects/sentiment-analysis-bert  for doing sentiment analysis.

I don't have any references for the second one.
Comment: Thank you for your comment. Can you please share any tutorials or relevant resources where this kind of method (both of your suggestions) has been used? It would give me some background to proceed with my problem.


How to change Ubuntu installer

Question: So I want to make a Linux distro using this tool called cubic but you are limited to just a chroot terminal and I know how to change the splash screen so it doesn't show the Ubuntu logo but do not know how to change the installer like change the images text and the text of a option so like when it is installing Ubuntu the pictures will be my pictures and instead of one of the option saying try Ubuntu or install Ubuntu change it to try example name install example name.Does anyone know how to do this?Thank you.
Comment: Mkusb makes persistent USB's that use GRUB for booting like Full installs do. Perhaps make a USB using mkusb and experiment with modifying grub.cfg.
Answer: Ubiquity is the name of the Ubuntu installer application.
The corresponding package is simply named ubiquity.
The ubiquity package is available in the Live Environment, but it is removed once the system has been installed. (On Cubic's Packages page, you should see Ubiquity flagged for removal).
Therefore, if you want to modify aspects of the installer, you can modify files related to Ubiquity.
However, based on your question, I think you will be more interested in another package: ubiquity-slideshow. This package is also available in the Live Environment.
Files for this package are located in the /usr/share/ubiquity-slideshow/ directory.

There are lots of HTML files here that can easily be modified if you want to display something different during the installation process.
/usr/share/ubiquity-slideshow/slideshow.conf sets the window size for the installer.
The actual screenshots you see are stored in /usr/share/ubiquity-slideshow/slides/screenshots.

In Cubic, you can use nano to edit any of the HTML files. However, you can always list the contents of a file (using cat <file name>, then select-and-copy the text to edit it outside of Cubic. When you are done editing, save the file on your host machine, and then drag it onto the Cubic Terminal window to overwrite the old file.
Likewise, to change the images in the  /usr/share/ubiquity-slideshow/slides/screenshots, simply drag your new image files on to the Terminal page to copy them. (Use the same names as the original image files, to avoid having to change code).
Before copying, remember to cd to the directory first, because Cubic will copy files to your current location. So, to change the screenshots, use cd /usr/share/ubiquity-slideshow/slides/screenshots before dragging the new files onto the window.
If you want to work with the ubiquity-slideshow files on your host machine, you can download the entire deb package for from here for Ubuntu 20.04. Use Archive Manager to extract the deb file (don't install it!) to a temporary directory so you can make changes to the HTML or image files. Then copy only the changed files into Cubic.
Comment: Yeah this was very helpful I thought I would have to do something similar to this because that's what I had to do with the splash screen
Comment: Ok I think I did that

How to change Ubuntu installer


Reformating the partition where ownCloud files are stored. Recomendation?

Question: I'm having a small problem and I want to avoid an embarrassing situation if I screw up solving it.
My employer provides a customized ownCloud for shared storage. In my team, I am responsible for the administration of our portion of this shared drive. I set the local storage in my Linux system into a separate partition, and for a stupid reason, I formatted this as exFAT. Basically, for dual boot with Windows, I wanted to avoid Windows to block my shared partition, and exFAT was the recommended solution. This is no longer relevant, as I rarely boot into Windows and I know how to shut it down without locking any partition.
Fast-forward several months of usage and about 40GB of data is stored there. Now, my usage needs have changed, and I need to create a python virtual environment, so we can all share the same versions of python packages, and with the python to be deployed into VMs (not yet implemented). The issue is that exFAT does not support symbolic links. I know I can use --always-copy in the creation of the venv, but I kinda need symbolic links (Actually, I think I should use --always-copy to make the venv totally portable, but that's another story). I have some Python code that's also on that partition, and I use a symlink to the local package directory of Python (~/.local/lib/python3.x/site-package), so I can import them easily, and use autoreload in iPython. The exFAT put a constraint into this last functionality, which has become basic for me.
So, I decided to use NTFS instead of exFAT (I still need access to these partition during the infrequent Windows boots). Thus, for reformatting my shared partition, I wanted to copy the files to another location, reformat the exFAT into NTFS, and copy the files back. But that will change some fingerprint of the files, and might force updates into ALL the other users of the shared drive, including my manager/boss.
What's the best course of action? Of course, I don't want to lose any files, and I would like to reduce unnecessary traffic to the server and to the other users.
Any magic cp, mv, rsync, ... magic that might do the trick?
All advice are welcomed
EDIT: I reread my post and the best option is to delete to change the partition, and download the files from the server on my partition. That way, the files permissions are preserved, and I don't need to push any updates.
EDIT #2: What are the best option to mount a NTFS partition on /etc/fstab? I tried to set it with ntfs-3g but I get an error
NTFS signature is missing.
Failed to mount '/dev/nvme0n1p6': Invalid argument
The device '/dev/nvme0n1p6' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
If I set the auto option, it uses FUSE and everything is owned by root and the permissions are 777
Comment: True conversion of exFAT to NTFS is impossible, so formatting is required with total data-loss. But it seems that you have found a good solution, so you don't need an answer from us.
Comment: Actually, I do. What are the best options to mount using `ntfs-3g`? I manage to mount using the `auto` option on fstab, which apparently defaults to FUSE, but I get all files owned by `root` and file permissions are `777`
Answer: exFAT does not support user permissions, so the uid and gid
are whatever you specify in the mount command.
When mounted from fstab with the auto option, the device gets
automatically mounted with root-permissions.
The Proper options for exfat are described in the mount.exfat manpage.
An /etc/fstab entry could be similar to:
/dev/sdb1 /media/maria/Lexfat exfat defaults,uid=1000,gid=1000 0 0

The defaults options (rw, suid, dev, exec, auto, nouser, and async) are good enough. Your uid and gid can be obtained by the command
id yourusername.
Comment: I think your question could be simplified. As it's written, it's somewhat misleading.
Comment: Thanks, but I want to get rid of `exFAT` and use either `NTFS-3G` or the internal kernel support


How can I get the last transactions of an account from Horizon?

Question: I need to retrieve the last 10 transactions (payments) of an account and I'm using the Horizon API, but the limit is 200 and I can't go beyond that. I explain you.
i'm using horizon.stellar.org/accounts/MYADDRESS/payments , but this only gives me the first 10....if i add ?limit=200 it gives me the first 200 but 200 is the maximum otherwise i get this error: {'invalid_field ': 'limit', 'reason': 'invalid limit: value provided that is over limit max of 200'}}
Answer: There is a order parameter, so this will give you the 10 most recent transactions:
https://horizon.stellar.org/accounts/G.../transactions?order=desc&limit=10
To walk through all transactions, pagination works with the cursor parameter so to get the second page you need to set cursor=... to the paging_token of the last transaction from the first page.


Directional derivatives a doubt about the definition

Question:
In the calculation books it usually appears that the norm of the directional vector is $||y||=1$. Does anyone know a compelling justification of why they do this?
Because in the books of analysis, it is said that $y$ does not have to be unitary.
Comment: In calculus courses, one wants the directional derivative to depend just on the *direction*. In the setting of multivariable analysis, one is more interested in a linear map, and hence the directional derivative $D_{\mathbf v}f(\mathbf a)$ really becomes the rate of change at $\mathbf a$ as one moves with instantaneous velocity vector $\mathbf v$.
Comment: Your title mentions partial derivatives, directional derivatives, and "a double about the definition". But in the body of your question I see no mention of partial derivatives or directional derivatives. If you are not getting adequate answers, you might get better ones if you edit the question to be more explicit about which definition(s) are in doubt, what those definitions are, and how this relates to partial derivatives and directional derivatives. Examples with details are often helpful.
Comment: @DavidK I edit my question think now my question is clear
Comment: Yes, it is a much more specific question now. We know what notation you know, which helps. By the way, some related questions (showing how and why some people use unit vectors and some don't) are https://math.stackexchange.com/questions/2073264, https://math.stackexchange.com/questions/809376, https://math.stackexchange.com/questions/1952498, https://math.stackexchange.com/questions/2291302, and https://math.stackexchange.com/questions/1486767
Answer: If a vector $u$ describes a direction, then $\alpha u$ describes the same direction for all $\alpha \in \mathbb{R}$, $\alpha > 0$. Thus, as long as we are only talking about the direction, we can normalize the vector without loosing information. Some formulae in vector calculus are based on the fact that direction vectors are normalized, therefore it is usually assumed in this context.
But again, it doesn't make any difference as long as you simply want to talk about a direction.
Answer: In the definition in the question, you must already have a definition of a kind of derivative written $f'(a;y)$ where $a$ is a point in the domain of $f$ and $y$ is a vector. Otherwise the definition shown in the question would be meaningless.
Presumably, the definition of $f'(a;y)$ is something equivalent to
$$ f'(a;y) = \lim_{h\to0} \frac{f(a + hy) - f(a)}{h}.$$
Some authors might like to call this a directional derivative.
Your textbook apparently calls it something else, because now we see the already-defined derivative $f'(a;y)$ being used to define a directional derivative.
This is something that happens in mathematics: in different books you will sometimes see the same words used in different ways.
This occurs because not everyone is equally interested in all the different ways you can analyze some mathematical problems. Some people prefer to concentrate on one approach, some on another.
But we have a limited tolerance for learning new words and new symbols, so instead people use the same words and sometimes the same symbols in slightly different ways.
The important thing is that as long as you're doing one "kind" of mathematics--the mathematics from a particular textbook, or a particular research paper, or a particular module of a course--you work from clearly stated definitions and the definitions remain the same while you do that "kind" of mathematics.
Some people have a geometric intuition about the slope of a plane tangent to a multidimensional graph, and measuring the slope in different directions by cutting it with different planes as in this question.
For that kind of slope, once you have the orientation of the cutting plane you want a unique answer, which you don't get if you can use $f'(a;y)$ for any $y$ parallel to in the cutting plane.
(If $y$ is parallel then so is $2y,$ but $f'(a;2y) = 2f'(a;y).$)
Since the usual measure of slope is number of units of change in the function per unit distance traveled, the obvious way to get a unique answer is to choose a unit vector.
But another approach is to more generally apply the derivative $f'(a;y),$ allowing $y$ to be any kind of vector.
This kind of derivative has the nice property that
$$ f(a;pu + qv) = p f(a;u) + q f(a;v) $$
where $u$ and $v$ are any vectors and $p$ and $q$ are any real numbers.
If you are doing a lot of mathematics using facts like this, you'd like to be able to use words sometimes to describe this kind of derivative.
You might then use the words directional derivative for this kind of derivative, especially if you very rarely have any reason to want thee $y$ in $f(a;y)$ to be a unit vector.
That kind of mathematics is exhibited in many of the answers to this question.
By choosing a definition of directional derivative in which the vector must be a unit vector, the author of your definition has indicated something about which parts of the mathematics of multidimensional functions they're mainly going to be doing.
Another author who chose a different definition has indicated that they're mostly going to be doing other parts of the mathematics of those functions.


Is it possible to remove gems from sockets?

Question: The Three Spirits patch just added the ability to create sockets in items and then add gems to those. I've heard that adding a gem where there's one already will destroy the old one. Does that imply that there's no way to remove gems? What about if you use a hammer on an item that has been socketed?
Answer: Yes you can purchase at the store in game an item called (Unusual and normal) Artificier's Hammer which allow you too remove a gem socketted :

On an item with the normal
On an unusual courier with the Unusual.

Note that the Unusual courier will be destroyed (if you read the descritpion of the Unusual Artificer's Hammer) but the item is not destroyed (after having tested)
See this guide
Comment: I would kind of like some clarification on the normal Artificer's Hammer, but this seems good to me in hindsight.
Answer: You cannot get it out without destroying, plus just put it in another item on the same hero.
Comment: He means that you should put that new gem inside another item for that hero so you get to keep all the gems, on multiple items at once, to switch as you please.
Comment: Without destroying what? What about putting it on another item of the hero?


Updating from Windows 8 to 8.1 keeps programs

Question: Will updating windows 8 to 8.1 cause problem with my insalled programs like antivirus or firefox?
Answer: Upgrading the OS might pose problems with some old programs because they are not compatible with the current structure of OSs i suppose and AntiVirus programs due to some licensing and date change/OS Change issues.
Answer: You probably keep every Program. But remember to make a backup of your files or of your system prevent some bad changes. It could happen that your AntiVirus is not working probably on the new OS(Some AntiVirus Software has problems with upgrading OS Installations)
Answer: When updating from 8 to 8.1 the windows upgrade program will inform you which programs and files will be affected and how they are affected before they are affected(before it starts to install 8.1.).
As i remember when i did it third party programs are not reinstalled, but check as you go.
 If your anti-virus and firewall are windows defender and windows firewall they will be reinstalled or unaffected as part of the upgrade.
The age of the programs should not matter as the age difference between the upgrades is not long and anyway there is the compatibility program should you have any trouble.
All your files should be untouched.
Backing up your files is standard practice and always a wise move.