How to make user fill form, but not call? my goal is user filling out forms

Question: As my users' goal is filling out forms. What are the things to keep in mind about UX or design influencing, so that users are keen to fill forms rather than calling.
Comment: There are many reasons - your customers expect to call; your forms are too long; your forms are confusing; you need to narrow the question. If you can please show a mock-up.
Comment: Just make the phone number less prominent.
Answer: Users call for different reasons, but most reasons come down to the amount of effort required being too high (easier and faster to just call) or they cannot finish the process at all.
There's a few things you can do to discourage calling.

Don't prominently display your phone number if you don't want people to actually call. This prevents calls from users that prefer to just call to get whatever they want done.
Offer other types of communication and help: have an email, chat, or whatever? Show those before you show a phone number.
Re-evaluate your form; is it too long, complex, time consuming or unclear? If users are calling because they cannot fill out your form properly, you're only going to address the symptom if you discourage calling. Check if all fields are labeled properly, the relevant questions are being asked and so on.
Answer: The problem with forms is we never really know what happens with it after we send it. Where does it go? Who receives it? What happens next? It gets sent and we never see it again, like it goes into a black hole.
More on that in a nice article here: https://medium.com/the-mission/a-form-was-never-just-a-sheet-of-paper-161cc98d6ce2#.b2f3db6b8
Your goal is to make a form more attractive than a call. In order to do that see what are pros of call over a form, and try to apply them to the form. At the same time, don't repeat the cons of a call (annoying waiting music is an easy one).

Let's make a test run. (Of course you would aim to get that information from the users)
Identify the user's incentive to make a call. Usually it would be one of the following:

Belief that the issue would be solved during the phone call
Lack of internet connection at that moment
Difficulty with summarizing the issue in one sentence (in forms you sometimes see input: choose the topic)
Preference to interact with people
Distrust in the ability of the form to reach the right person, do it fast and bring expected results fast

Make sure that you don't only discourage users from calling, make sure that the form is actually meeting their expectations. Try to analyze user's expectations of good customer service (often associated with calling) and apply as much of it to the form as possible.
Example?

Distrust in the ability of the form to reach the right person, do it
  fast and bring expected results fast

Be transparent about how will you solve your customer's issue using a form, even before they write the message. "Thank you, your form has been sent." on the end of the process is far too little.
Give an information that is comforting, transparent and shows the next steps, like "Your issue will be sent to a Service Desk Agent, who will reach out to you within 30 minutes. If your issue is more pressing, please select >this option<."
Comment: I assume they go into a black hole.  Email feels more like its going to someone who might actually reply.
Comment: Yes, sending forms seems like throwing stone into the water. Using them successfully means gaining people's trust, which requires some great ux improvement.


Generator Breaker Placement

Question: I'm trying to add a 30 amp generator inlet box to my panel.  As you can see, I had room in my panel on the top left for a 30 amp breaker.  I was planning to connect my generator inlet box to this but the interlock kits are designed for placement on the right side.  I would have to move a lot of things on the right to make room.  I would prefer to leave it on the left.  If I can fit an interlock switch on the left am I good or is there a reason why these kits are assuming top right placement?
Comment: FYI that Siemens breaker needs to go. It is not approved for Homeline panels and may damage the bus bars.
Comment: Right side is probably arbitrary.   Making two different ones seems pointless.  Why would you have to move "a lot" of things?  2 things?
Answer: Just convenience of design, no need for an extra linkage.   If you can find an approved interlock for the left side, go for it.
But it would be crazy-easy to swap the 30A breaker for the 15-20A breakers opposite.   Even my local "very boutique" hardware store would charge maybe $2 for the required kit: 4 feet of #12 black THHN by-the-foot and two yellow wire nuts.  If you were thinking "it can't be that easy", it is :)
Only hot wires move. The neutrals and grounds can stay put.
FYI you can't cross across the busway between or underneath breakers, but over top or bottom is fine.
If it's the 30A cable that needs moving, then ditto ditto #10 THHN red wire nut.
I'm assuming whoever wired your panel nipped all the wires short to be "neat" (actually, to take the copper scrap home).  If they left you plenty of length, well that cut wire ain't returnable sorry.
Answer: Odds are excellent that you will only find a listed interlock kit for one inlet breaker position for your panel.
If you can find another, then you can do what you want. But as a rule, the maker produces one and only one interlock to fit each panel, if they produce one at all. And that kit requires a specific physical relationship for the inlet breaker relative to the main breaker.
Unclear why moving two breakers to make room in the correct spot (which is all you have to move) becomes "moving a lot of things" in your mind.
Comment: Let's say I swap the top 2 spots on both sides, am I right in thinking I shouldn't run the wires across the top where the supply lines come in?  So I have to go down all the way around the bottom and move the neutrals and grounds as well?  So I'd be extending 6 wires all the way around the other side or am I missing an easier alternative?
Comment: The breakers are not AFCI nor GFCI, so you don't need to touch the neutrals and grounds, and there's no rule against going across the top (other than respect the heck out of the connections that are always live, and pick up a set of the correct **Service Entrance Barriers** for the exposed connections, if your installation predates those being required.) Or wire-nut on a hunk of wire and go around the bottom if you prefer.
Comment: Okay, thank you.  I think I will go the wire nut and around the bottom option.  Good to know that I don't have to find and move the neutrals and grounds.
Comment: Hey this covered most of what my answer did and was posted a bit sooner (crossed in writing). Where's the love, folks? +1

Generator Breaker Placement


Asp.net MVC - Model binding image button

Question: I've got a very complex form and i'm using the MVC model binding to capture all the information
I've got it set up to capture all the different submissions that can happen as there are about 10 different submit buttons on the form, and there are also 2 image buttons
I tried to get a bit clever (or so i thought) with capturing the image button submissions, and have created a child class so that i can capture the x value that's returned
public class ImageButtonViewData {
    public int x { get; set; }
    public string Value { get; set; }
}

The parent class looks something like this
public class ViewDataObject {
    public ImageButtonViewData ImageButton { get; set; }

    public ViewDataObject(){
        this.ImageButton = new ImageButton();
    }
}

The html for the image button then looks like
<input type="image" id="ViewDataObject_ImageButton" name="ViewDataObject.ImageButton" />

This works fine in all browsers except for Chrome.
When i debug it in chrome, the Request.Form object contains the values that i would expect, but after the model binding has occurred, the ImageButton property on the ViewDataObject has been set to null
The only difference that i can see between the submission values is that Chrome passes the x as lower case (ViewDataObject.ImageButton.x) and IE passes it as upper case (ViewDataObject.ImageButton.X) but i didn't think that model binding took any notice of casing on property names
Does anyone have any ideas ?
EDIT =>  Just to clarify, i'm not trying to find a workaround for this, i'm trying to figure out why this technique doesn't work in Chrome considering it works in all the other browsers and the correct data is being passed through
Answer: There are a couple of options, let me list a view

To check which button was pressed, you could give all the buttons the same names, but different id's. In your FormCollection on your Controller Action, you should be able to get the button that was pressed by doing something like "collection["buttonName"]" and checking it's value.
I think this option is the correct one to go for, and it is as follows. Separate your forms properly. You can have multiple forms on a page and tie each to it's own Controller Action, you don't need to do ugly if statements and it actually separates your actions nicely.

I hope that this answers your question somehow.
Comment: Sorry, i should have explained further.  I'm not looking for a different way to do this (i could always check the Form values explicitly instead of relying on the model binding).

I'm trying to understand why this doesn't work in Chrome, considering that the technique works fine in every other broswer, and the Chrome is passing the data through correctly
Answer: I could not reproduce your problem, but I don't think that image inputs return a value, only .x and .y. The following works in Chrome, Firefox and IE (sorry about vb.net):
Public Class ImageButtonViewData
    Public Property X As String
    Public Property Y As String

    Public ReadOnly Property WasClicked As Boolean
        Get
            Return Not String.IsNullOrEmpty(X)
        End Get
    End Property

End Class


How to detect ETH wallet does not belong to Exchange

Question: How to detect if ETH address belongs to Exchange?
Is there any proper method or API to detect it 100% correct?
Answer: There is no methods or API to do this automatically. However websites like etherscan, have the option to add names to addresses with correct signature, meaning if you own the address you can request to associate a name to it.
One possible method is to use the exchanges and request withdraws to see what address they use, which so far most exchanges seem to use one hotwallet address for ethereum and tokens.
e.g. Bittrex Hotwallet is : https://etherscan.io/address/0xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb98
More eye candy view of addresses and their Token balance:
https://faa.st/portfolio#/address/0xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb98


How can I make a hexagonal grill?

Question: How would I be able to create a grill of sorts found on the front of some computer cases such as this one
Comment: Looks like a lot of geometry. If you want to minimize your poly-count, You're probably better off creating a flat grid in an external program (Photoshop/Gimp) with holes of alpha = 0. Make it seamless. Apply as texture. Scale so the holes are small enough.
Comment: Unless that computer is hot enough to cook a steak on, it's a [grille](http://www.merriam-webster.com/dictionary/grille).
Comment: You mean the grid in the front or the alveolus behind ?
Comment: Basically just the air filter grills you see on the front of computer cases. the very fine grill. at the front
Comment: @Kevin I've personally never seen that variant before. It seems [both spellings are applicable](https://en.wiktionary.org/wiki/grill#Noun_2)
Answer: Here's a way to do this using modifiers:

Add a circle (⇧ ShiftA> Mesh > Circle) and set the number of Vertices to 6 in the redo panel to make a hexagon:

Take note of the X dimension of the object. With the default radius of 1 it should be 1.732:

Add an Array modifier with a relative offset of .5 and .75 to create a tile-able section with two offset hexagons:

Add an array modifier to tile the object along the X axis.

Note the X dimension of the object now with the modifier. It should be equal to 1.5 * original_x (2.598 with the default radius):

Set the relative X offset of the array modifier to original_x / (1.5 * original_x), or .666...:

Add yet another array modifier to tile the object along the Y axis, with a Y offset of .857, or (1.5 * original_y) / modified_y.

Increase the Count of the last two array modifiers as desired:

Now you have a wireframe, but it needs thickness. Switch to edit mode (↹ Tab), select all (A) and extrude (E). Cancel the transform part of the extrude (Esc) and scale down (S):

Enable Merge on all the array modifiers.

Add a solidify modifier (and optionally a bevel modifier):

In case you might want something more rounded, you can adjust the angle limit on the bevel modifier and toss a subsurf modifier on the end:
Comment: Excellent tutorial! Provides a lot of room for customisation. Note: On Blender 2.93 for the _Solidify_ modifier, I had to choose the _Complex_ instead of the _Simple_ method to get there, otherwise I would have gotten uneven solidified edges.
Comment: Nice technique ! (even if actually the [initial question](http://blender.stackexchange.com/questions/40997/how-can-i-make-a-hexagonal-grill#comment68114_40997) was about the grid from the front on the image, & not the "alveolus" one, which the edited title has overlapped :) - actually the "weaved" wasn't so bad to describe it)
Comment: @Aleph I'm not quite sure what grid you're referring to.. When I think of "weaved" I think of something like [this](https://www.google.com/search?q=weave&source=lnms&tbm=isch&sa=X&ved=0CAcQ_AUoAWoVChMI07mCntH1yAIVTtVjCh1kCgE3&biw=1920&bih=975#tbm=isch&q=woven&imgrc=Qdjp9P-__8CpUM%3A), but I don't see anything quite like that in the OP's image.
Comment: I don't know, maybe you're right, in fact there's two grids on the ref image, and the one front the front ground is so thin that I can't clearly see its shape.
Comment: @Aleph When [zoomed in](http://i.stack.imgur.com/ZaPS9.png) it looks to me distinctly hexagonal, with rather beveled bars.
Comment: you're right ! :)
Answer: Lazy me going for the shortcut again...
Enable add mesh extra objects (Access the system preferences with Ctrl Alt U):

Then just press ShiftA Add->Mesh->Extras->Honeycomb

And set the controls in the toolshelf to something that suits for your project.
Answer: EDIT : I just realised that I hadn't included the .blend file for this (I had intended to... why did nobody mention it ;-) ) making it a whole lot of effort to replicate it to use in your own projects!
Anyway, here it is :

I realise that there are already 4 answers to this question but they all address it by creating it as new geometry. I wanted to provide a different approach by using a procedural texture to give the appearance of the grill. In this way we only need to add a single plane - rather than geometry for each individual cell of the grill.
Here's the final result :

This answer https://blender.stackexchange.com/a/67654/29586 developed a material that defined the cells of a regular hexagonal grid. It produces two outputs - a measure of the distance to the edge of a hexagonal 'cell' (used to drive the Strength of the Emission shader in the original solution) and the Vector coordinates of the centre of the corresponding cell (used as the input to a Noise Texture to generate colors of the cells in the original solution).  The following Node Group takes this a stage further by also providing the distance to the centre of the cell, the distance to the centre of the next closest cell and the Vector coordinates of the next closest cell.

By using the Edge Distance to mix between a Transparent and Diffuse shader we can produce the following simple effect :

For a more convincing grid we need to add depth. For a ray to pass through the grill it would need to pass through the 'hole' at the surface and out the corresponding hole on the other side. The depth of the grill will determine how perpendicular the ray must be to be able to pass through the surface. To achieve this we can use two identical hexagonal grids - one to represent the 'top' surface of the grid and the second to represent the bottom surface of the grid. The path of each ray can then be determined by considering how it interacts with each of those grids.

By 'sliding' the second grid to the side based on the angle of the ray and the depth of the grill we can simulate where it would be when the ray reaches the 'bottom' of the grid. In a 'real' grill the ray will only pass through if it is at a steep enough angle to pass through the top and bottom surfaces. The calculation of the position of the second grid can be done as shown below :

There are two parts to this calculation. The first part (top row) determines the direction of the offset parallel to the surface. This is achieved with a pair of Cross Product nodes. The first combines the Incoming ray with the Normal to generate a ray parallel with the surface but at right-angles to the incoming ray. The second Cross Product flips it around the Normal again - by 90 degrees - so it is along the line of the incoming ray (but still parallel to the surface). The bottom row of the calculation determines the magnitude of the required offset based on the incoming angle (determines via the Dot Product with the Normal) and the set Thickness of the grill. The results of these branches are Multiplied together to give the required offset.
The following image shows the interesting regions based on where it strikes the top and bottom grids.

The colors represent the following :

White - The ray is close to a top cell 'edge' and so has hit the top surface of the grill
Red - The passes through one cell on the surface but would be 'out' of a different cell - ie, it must have hit the side of a cell.
Green - The ray is close to the cell 'edge' on exiting the grill and so has still hit the side of the cell (but almost got through)
Blue - The ray enters through one cell and exits through the corresponding cell in the other grid - ie, it's passed all the way through.

Shading the White region with one material for the surface of the grill, Red and Green with another for the edges of each 'hole', and Blue as Transparent we get the following result :

The above material does produce more convincing results - especially in the way more oblique angles result in less light passing through the grill - but the surfaces are still 'flat'. To improve this further we can generate Normals based on where the grill is struck - ie, on an inside edge it will be angled parallel to the surface (perpendicular to the side of the 'cell') while on the top surface (the edge of a cell) it will be closer to the surface Normal. In addition, we can add a curve or bevel to the top surface of the cells.
To achieve this we can use the following material :

Note the calculation of the Normal using a combination of the Cell Vector and 2nd Cell Vector to determine the direction of the Normal of the corresponding cell wall. The Vector Transform node is used to transform the calculated Normal (which will be in Object space) into World space as required for the Normal passed to the Shader.
And this produces the following results :

The material can be used on more complicated shapes - although, as it stands, care needs to be taken since the calculated Normal for the inner edges and upper surface of the cells does not take the actual surface normal into account  (I'm sure this could be improved by tweaking the calculation but haven't yet had the chance to look into it in much depth). However, it still produces reasonable results as shown with this 'wireframe' Suzanne.

Limitations
Note that the shading on the edges of the cells isn't perfect - it can produce odd results with thick grills when viewed at an oblique angle - where the calculated normal is miscalculated as the wrong edge. This is due to the 'second nearest' being the incorrect cell to use for the angle of the ray and is difficult to correct for as it is dependent on the 'depth' through the grill where the ray hits the side. The problem is illustrated by this image :

The result is sufficient for this slight discrepancy to not be generally noticable but if anyone has any suggestions on a way to address this then please do let me know! One potential solution is to calculate the depth at the point the ray hit the cell and to position a third hex grid at that depth to determine which cell boundary is most relevant. However, this would have an impact on efficiency as the hex grid is already quite computationally intensive.
Another limitation is that currently the Normal calculation assumes that the surface is oriented in the X/Y plane. For more complicated surfaces (such as Suzanne), this is not always the case and the calculated normals may produce odd results (such as when viewed from behind). This is generally not noticable but can result in incorrect lighting and/or incorrect reflections - especially on the 'internal' surfaces of the cells. Also, this means it is not suitable to UV unwrapped meshes (stick to Generated or displaced Object coordinates).
Note also that nodes that generate the hexagon pattern require positive X/Y coordinates only. When using Object coordinates (or any other coordinates that could result in negative values), use a Mapping node to shift the coordinates a suitable amount to make sure they're always positive.
Comment: That is brilliant - I was looking for something like this a while back. Thanks!
Answer: Ok, one solution, for creating a simple grid. If you need a grid which will be filmed from close up, it'll need more tweaks. But for a quite simple one:
create a Plane, Subdivide it once, select the center vertex.

Still in edit mode, hit Space, select Bevel, and fill the settings like in the image below:

Delete the faces selected:

Select all the inner vertices, and hit Space> To Sphere, to make it round shaped:

Now you have your basic hole shape. in Object mode apply 2 Array modifiers to it, one for the vertical repetition, one for the horizontal one

and you have your (simple) grid !
Comment: Using the bevel made no changes to the mesh at all
Comment: you must be in edit mode, and then set up the config on the left panel, as it is shown on my 2nd image, surrounded in red.
If my explanation has been helpful, feel free to accept the answer :) (http://blender.stackexchange.com/help/someone-answers)
Comment: Still nothing i dont even have the loop slide option
Comment: wich version of blender?
Comment: Im using version 2.75
Comment: can you upload your .blend?
Answer: Using geometry nodes:

Shift-A  -> Mesh -> Extras -> Honeycomb

(make sure you have "extra objects" enabled in add-ons)

Add a plane and a geometry modifier with this node setup:

add a solidify modifier

result:
Comment: Honeycomb is not one of the base meshes of Blender. You should edit your answer to include instructions on how to add that into Blender.
Comment: i updated my answer
Comment: Thank you! It will be very useful [for users of Kiwix](https://library.kiwix.org/#q=Blender) (offline `blender.stackexchange.com`), for they can immediately implement your (good) solution without having to search (and struggle with Kiwix's search)/troubleshoot why there is no honeycomb mesh by default!
Answer: Here's what you can do:
Make a plane, subdivide (Simple subdivision)
Make a cylinder (or any shape you want to punch out of the plane)
Apply scale to both plane and cylinder
Make cylinder child of plane
Set plane to duplicate faces (serach for duplifaces)
Select plane
Press spacebar -> Make Duplicates Real
Select all objects that were created, Join them (spacebar -> Join)
Add Boolean Modifier (Difference) to plane, set it to subtract the "holes'" solid
Apply subdivision
Apply Boolean
Comment: How do i make the cylinder a child of the plane and  how do i set it to duplicate faces?
Comment: Switch to object properties (cube icon, in the same set where the modifiers tab is).

To set a parent select Cylinder and then Plane in Object Mode and press Ctrl+P, or you have a "Parent" voice under the "Relation" dropdown.
To duplicate faces you have a "Duplication" dropdown, where you can select wether to duplicate None, Frames, Verts, Faces or Group

How can I make a hexagonal grill?


Are any programs not safe to uninstall?

Question: As we know, Ubuntu comes with a lot installed on it. Many of them I either don't know what it does or just don't use. Which applications are safe to uninstall? I use mainly the basic stuff, FireFox, Thunderbird, Empathy, Shotwell, document and photo viewers. I don't think I need something like xDiagnose or xTerm
Comment: Uninstall all the unwanted stuff so that you dont get any updates related to them. Sometimes these updates can make things stop working... I have faced similar issues too.
Answer: You should use the Synaptic Package Manager or Software Centre to remove the preloaded apps and check you are not removing anything desirable along with the program you do not need. Either program will prompt if anything other than the program in question is to be removed.
i.e. removing either of  the' xdiagnose' or 'xterm' packages will also remove the 'ubuntu-desktop' package. 'ubuntu-desktop' is a required package if you ever intend to upgrade to a new version of ubuntu, so removing this is not desirable.

On the other hand, if I wanted to remove the 'shotwell' package I can do so without affecting the rest of the system. The same goes for firefox and most of the other built-in apps available from the Dash.
Answer: Just remove the app unwanted apps from the menu contents. There is menu editor for this. The reason for this is that you're not going to save a massive amount of disk space and when an update of the desktop package is released (happens every now and then) and installed, all your removed applications will return.

Are any programs not safe to uninstall?


how to know which of a user's fb friends have liked a given url?

Question: I'm writing an android app which has fb login.
I give the user a list of urls and allow him to do a "facebook like"
to the urls he liked.
how can I show the user his friends (or at least a partial list) who
liked every url, and by than motivate him to do a fb like as well?
I'm using facebook SDK of course.
Answer: You can use FQL to get a list of the URL likes of the User's friends via the url_like table:
SELECT user_id, url FROM url_like WHERE user_id IN (SELECT uid2 FROM friend WHERE uid1 = me() limit 0,25) limit 0,999

I added a limit to both the friends subquery and the main query for the URL likes. Depending on the number of friends a User has and the number of URL likes each friends has performed, the query can get quite heavy. I'd recommend to do this server side (if you have some kind of infrastructure), and that you do an aggregation (count of friends which liked a specific URL) to be able to show a more meaningful result.


Why does the Chinese language have so many characters?

Question: There are more than 50,000 characters in Chinese languages. What is the reason behind it? Are all 50,000 characters in use?
Comment: Why does English have so many words? Oxford Dictionary has 273,000 headwords. How many are still in use?
Comment: @TangHo An English words may also have multiple meanings. Only know the most common meaning of every words in the 5000 list won't help too. A Han-Character has its meaning itself. But a single English letter doesn't. That's why we commonly count character, not words. When writing article, we will also say "至少5000字" instead of "至少3000词" in Chinese. But we would say "at least 5,000 words" in English, not "at least 25,000 characters".
Comment: @ joehua 5000 characters can make up to tens of thousands of compound words- e.g. 工會工人會見勞工部長 (Union workers meet with the Minister of Labor) contains 5 compound words 工會, 工人, 會見, 勞工, 部長, knowing what 工 and 會 mean is not enough. Since  both 工 and 會 contain more than one meanings, people need to know compound words to start to understand Chinese, not to mention the grammar. So, 5,000 characters is more than a match for 50,000  English words
Comment: In one of his books, 唐德剛 said to read Chinese newspapers, one needs to know about 5,000 characters; to read New York Times, one needs to know about 50,000 words.
Answer: Chinese may have many characters, but many are not in use such as some 甲骨文 and such. Many (pretty much all) Chinese characters are from drawings, with the exception of new ones such as 'biang' . Your average Chinese adult that graduated college only needs to know around ~3000 and experts know ~5000 or ~7000 if you are really good. Some characters become redundant as they can be formed by others.
Answer: Chinese character each has its own special meaning. Even though they sound the same, but they mean something different. This is not scholars back then has nothing to do so they try to complicate things. We have to look back in time to know why
Before the modern Chinese characters were born, we have a bunch of drawing like characters called oracle bone script (甲骨文). Because it is very similar to the reference object, it is understood by many people from different ethnicity. China has a very diverse population, with 56 ethnic groups. I'm sure they have more back then and each ethnic group very likely speaks their own language as well
Oracle bone script > seal script > clerical script > semi cursive script > cursive script > regular script (modern Chinese characters)
As time goes by, more and more characters were added to express things that weren't being expressed before. However, these new characters have maintained their relation and meaning within the character itself, so that it will remain relevant to people who come across it without knowing the character.
For example, 木 means wood. 林 means woods. 森 means.... you've guessed it, forest
Above example shows 2 categories of Chinese characters, singular component characters and multiple component characters. Singular component characters are characters that describe themselves and they are usually strongly linked to those ancient characters. Multiple component characters are characters with multiple underlying meaning in it. 林 and 森 are great examples of this form of character. And more 95% of Chinese characters are multiple component characters. So once you know the meaning of all base characters, you can roughly guess the meaning of most multiple component characters without knowing how to pronounce them at all. This is the wonder of Chinese characters
Apart from that, Chinese characters and going back to older form of scripts, they were designed for communication across many many languages. Any person who knows what fish looks like, knows what a drawing of fish represents. So, a logograph that is derived from it is easily understandable by large part of the population.
Additionally, Chinese bureaucrats make use of this system to help communicating and managing more population. This is why Chinese characters (漢字) are still relevant in Korea and Japan till this day. So, the second wonder of Chinese characters is that it is understood by many ethnic groups despite their language barrier, which today we have categorized these different languages as Chinese dialects


Designing Javascript validation methods

Question: When doing validation in JavaScript, how do I keep validation methods that need to handle a bunch of contingencies from becoming unruly?
For example, I have a form with a field that has validation that checks:

is the new value a number?
Is the value in another field on the
form > 0 when the current field > 0
Is another field on the form == 1 and
the current field == 0
Is another field on the form == true
and the current field is Mod another
field == 0

Etc.
Currently, I've got a method with a bunch of if/else statements.
I could break each check out into it's own method and call it from the main validation method, but that would create a ton of new methods.
Update: regardless of whether I use a framework or individual methods, am I still resigned to having the calling validation method filled with If/Else or Switch statements with alert boxes for the failing validations?
Answer: Why re-invent the wheel? I would suggest the jQuery Validation Plugin. Check out the demo pages as well
Answer: Sounds like you might want a rudimentary state machine. One thing you might consider is breaking the validators into the simplest forms:
function validator(op, options, pass, fail) {
    if (op(options)) {
        pass(options);
    } else {
        fail(options);
    }
}

Then you can chain them together to form more complex systems.
function isFooChecked(options) {
    return $(options.foo).is(':checked');
}

function sayHi(options) {
    alert('hi ' + options.name);
}

function fail(options) {
    alert(options.name + ' was bad');
}

function validateName() {
    validator(isFooChecked, { foo: '#someField', name: $('#nameField').val() }, sayHi, fail);
}

You'll still have a lot of code, but if you do it right, functions should be small and easy to understand.
Answer: I would recommend splitting each individual check out into its own method, with controls to be validated passed in as arguments.  That way you can reuse the common ones pretty easily ("is the new value a number?").
I'm not aware of any downside to having a large number of methods in JavaScript (other than namespace crowding), but I could be missing something there.
Of course, you may also want to look into using a framework of some kind.
Answer: I have a Json object which looks like
{'field1': {'rule_name1':{'rule': rule1, 'message': message1},
    {'rule_name2':{'rule': rule2, 'message': message2}},
    field2: {'rule_name3':{'rule': rule3, 'message': message3},
    {'rule_name4':{'rule': rule1, 'message': message1}},
    {'rule_name5':{'rule': rule4, 'message': message4}}}

or, if you find it more readable
field1
    rule_name1
        rule: rule1
        message: message1
    rule_name2
        rule: rule2
        message: message2
field2
    rule_name3
        rule: rule3
        message: message3
    rule_name4
        rule: rule1
        message: message1
    rule_name5
        rule: rule4
        message: message4

Basically, you have a list of fields. Under each field you find a list of rules, whose names are irrelevant, and for each rule_name you have a rule and a message.
Every time I need to check a field, I find the corresponding subobject. Then I iterate over the rule_names, and for rule_name I get a rule and a message. The rule corresponds to a method which checks the field (for instance "notEmpty()"). So I call the method: if it returns true, I carry the iteration to next rule_name. Otherwise I return the message.
Then I can use the message as I want in a view method.

Designing Javascript validation methods


How do I make Bubble Columns in Minecraft?

Question: I'm playing Minecraft 1.13 and I know how the new bubble columns work, but I don't know how to make them in compact spaces. I know how to use them in oceans but I want to make one in a 3 x 3 space. I just want to make a bubble column in a 3 x 3 column.
Answer: You have two options:

Magma block: it's found in the nether or in ocean ravine, and when placed underwater creates a bubble stream that pulls you down.
Soul sand: it's found in the nether, and when placed underwater creates a lifting bubble stream.

Also, all blocks in your column must be source blocks, or the column will not work.
Comment: Doesn't the soul sand or magma block have to be placed under a water source block? That is, if placed under running or falling water, it would not generate a bubble column.
Comment: Yes. The common approach to creating source blocks in survival, is to place a single source on top using a bucket, a full solid block where magma or soulsand is to go, and build up the column using kelp plants. Another alternative is to build the column out of (regular) ice blocks and break them with a non-silktouch tool starting from top. Of course you can also create them using buckets of water but for longer columns it's an awful hassle.
Answer: Placing a Block of soul sand or magma
Answer: All you need to know to make a bubble column is that
soul sand makes stuff go up, and magma makes stuff go down.
Once you have soul sand or magma, all you have to do is place it underwater, then use your new bubble column!


LINK : fatal error LNK1104: cannot open file 'MSVCRTD.lib'

Question: I'm a novice C++ developer. I encontered the error message indicates "LINK :fatal error LNK1104: cannot open file 'MSVCRTD.lib'" while I'm trying to debug every single project in Microsoft Visual C++ 2010 Express. I searched on Stack overflow and Google for any possible resolution, but I couldn't find exact and precise answer. What I have understood is that the "msvcrtd.lib" file should be in "\Microsoft Visual Studio 10.0\VC\lib", but that file is not there in my case. What should I do?
Comment: If the file truly doesn't exist in \Program Files\Microsoft Visual Studio 10.0\VC\lib\msvcrtd.lib, then something has gone wrong with your VC++ installation.  You might search your disk for the file using file explorer, and see if it got moved somehow.  You can try repairing the install using the Programs And Features control panel.
Comment: holtavolt, I uninstalled visual c++ and then installed it and it works now, thanks!
Comment: yosouser, I didn't really understand the question or the answer.
Comment: according to Google: 'Please change the "subsystem" in your linker settings from "Windows" to "Console".'  Or the other way around. You could always search for the file online and put it in your linkerpath if you need it to work fast and don't have time for a real solution
Comment: Did you see this question: http://stackoverflow.com/questions/927574/compiling-c-program-causes-fatal-error-lnk1104?
Comment: PeterT, the first thing you said didn't work.
Comment: I downloaded the file, but it still won't work [link](http://kael.civfanatics.net/files/msvcrtd.lib)
Comment: If using VS 2017 then it's Spectre Mitigation turned ON, and you do not have Spectre Mitigation libraries installed on you build PC. Once you check your libraries paths with all instances of 'msvcrtd.lib' file, you shall notice that your VS paths are looking at spectre subfolders which you do not have! Just turn OFF Spectre Mitigation or otherwise install Spectre Mitigation libraries.
Comment: This issue went away when I used developer command prompt. The issue exists if I compile from MinGW
Answer: For the poor souls out there who are struggling with this, after an hour of research I found a solution for my Visual Studio Enterprise 2017:
First, lets find where is your library file located:
With windows explorer, go to your directory where Visual Studio is installed, (default: C:\Program Files (x86)\Microsoft Visual Studio) and do a search for msvcrtd.lib
I found mine to be in here:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\lib\onecore\x86

Quick Fix (for one project only):

Right click on your project, click on properties, navigate to Linker, add that path to Additional Library Directories

Permanent Fix (for all projects)

Open a project
navigate to View > Property Manager (it could be under Other Windows)
Expand all folders and multi select all "Microsoft.cpp.Win32.user" & "Microsoft.cpp.64.user"

Right click and go to properties
Navigate to VC++ Directories

Add the path to default Library Directories
Comment: +1, it works. But beware that the path that needs to be added differs for x86/x64 and for debug/release builds.
Answer: Go to your project properties, select Linker from left. Add this to "Additional Library Directories":
"(Your Visual Studio Path)\VC\lib"

For example:
C:\Program Files\Microsoft Visual Studio 10.0\VC\lib

Answer: I came across this problem when compiling a sample app using VS2017
Hope this will help
Comment: CMake related bug: https://gitlab.kitware.com/cmake/cmake/issues/18920
Comment: This solution works well with cmake from the command line, unlike the other solutions, which are specific to the Visual Studio GUI.
Answer: There is a check box that says "Inherit from parent or project defaults" in some of the property dialogs in Project Properties. Make sure that check box is checked for your Include and Library directories property windows and of course for your Additional Dependencies window.
Comment: This should be the chosen answer IMHO
Answer: If you use VS2017, please read it. Or just ignore this answer...It may be invalid for other VS version.
Do not trust anyone who told you to add lib path.
Here's suggestions:

[BEST] You just need to install these via VS_installer (most of us just need x86/x64 version below)

VC++ 2017 version version_numbers Libs for Spectre [(x86 and x64) | (ARM) | (ARM64)]
Visual C++ ATL for [(x86/x64) | ARM | ARM64] with Spectre Mitigations
Visual C++ MFC for [x86/x64 | ARM | ARM64] with Spectre Mitigations

[NAIVE] or disable Spectre Option for every Solution
(Why We are so hard to global disable it)
[LAUGH] Or never use VS2017

This is VisualStudioTeam's fault and Microsoft is guilty.
Why?
You can't make a global configuration to disable /QSpectre, and IDK when and why VS2017 enable it in one day. So the best way is install Spectre? ahhha?
Comment: Got it.It's WDK's fault.https://developercommunity.visualstudio.com/content/problem/348985/installing-wdk-1809-enabled-spectre-mitigation-fla.html#reply-398390
Comment: @ChrisCatignani Visual Studio should disable `/QSpectre` by default but they don't. And they should provide a global settings to choose enable or disable but they don't.  The best way to solve it is to install Spectre component otherwise you need add lib path for every Solution!!! And you downvote me just make it worse.
Comment: How is Visual Studio Team at fault?
Comment: I didn't down vote you...FYI.../Qspectre is off by default. https://learn.microsoft.com/en-us/cpp/build/reference/qspectre?view=vs-2019
Comment: I know it is off by default. But actuallty someone such as mine is enabled and idk why it is. I can't do something to disable it, So just install this.
Comment: I just ran into this issue after installed WDK
Comment: @Sanbrother's [answer](https://stackoverflow.com/a/55606007/3427520) solved this issue.
Answer: For VS 2019, Spectre Mitigation is enabled by default.
So the right way to fix the issue would be to install VC++ Libs for Spectre.
But, to quickly resolve the issue, you may disable Spectre Mitigation
Project Properties -> C/C++ -> Code Generation -> Spectre Mitigation -> Disabled

https://devblogs.microsoft.com/cppblog/spectre-mitigations-in-msvc/
Answer: I ran into this issue. The file existed on my machine, it was in the search path. I was stumped as the error result is really unhelpful.  In my case I had turned on Spectre mitigation, but had not downloaded the runtime libs for Spectre.  Once I did the download all was right with the world.  I had to get this installed on my CI build servers also, as these libs are not installed with VS by default.
Comment: This was the actual solution for me and explains why this error suddenly occurred out of the blue. This blog post explains how to install the Spectre-mitigated libraries: https://blogs.msdn.microsoft.com/vcblog/2018/01/15/spectre-mitigations-in-msvc/
Answer: I have solved this problem, you need install all spectre lib.
Vistual Studio Installer->Modify->Component->Any spectre lib.
This solution can be adapted to any project.
Comment: This worked for me, although I never configured it to use any spectre mitigation.
Answer: For me this issue happens after installing the (Windows Driver Kit): https://learn.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk
Uninstalling it fixes the problem. Just posting here as a related issue for people looking for solutions: After installing WDK VC++ is broken
Answer: Scenario:

Windows 10 with Visual Studio 2017 (FRESH installation).
'C' project (LINK : fatal error LNK1104: cannot open file 'MSVCRTD.lib').

Resolve:

Run 'Visual Studio Installer'.
Click button 'Modify'.
Select 'Desktop development with C++'.
From "Installation details"(usually on the right-sidebar) select:
4.1. VC++ 2015.3 v14.00(v140) toolset for desktop.

Version of 'toolset' in 4.1. is just for example.

Click button 'Modify', to apply changes.
Right-click 'SomeProject' -> 'Properties' ->
'Linker' ->
    'General' ->
        'Additional Library Directories': $(VCToolsInstallDir)\lib\x86
(!!! for x64 project: 'Additional Library Directories': $(VCToolsInstallDir)\lib\x64 !!!)
Answer: it is also worth checking that MSVCRTD.lib file is present in "C:\Program Files\Microsoft Visual Studio 10.0\VC\lib" for x64 and in C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\lib for 32 bit. Sometimes VS might not be installed properly OR these files might get deleted accidentally.
Answer: I just had this error, in my case rebuilding the project while doing nothing else worked for me.
Here's my situation
Visual studio crashed and I had to re-install and my new installation path is different than the previous one. then I had this error
the error showed that the library is located at
D:\program\Microsoft Visual Studio\...
while it should be
D:\program files\Microsoft Visual Studio\...
as I said I just rebuilt it and it worked for me and if you have a multi-solution project you have to rebuild the whole-solution
Answer: I solved the problem by adding #using <mscorlib.dll> in the main file
Answer: This indicates that Visual Studio wasn't able to find the lib (Library) directory which contains msvcrtd.lib.
IMPORTANT: This lib directory also contains linkers required during the compilation process.
So, all you need to do is override the Library Directory location. You can do so with the help of Environment Variables.
I referred to this StackOverflow Post for help. As per the answer posted, the Environment Variable LIB refers to the path where the Linker Libraries are located. Why is this method better? Because this will apply to all the projects instead of just a particular project. Also, you don't need to download anything extra. It just works...
Follow the steps below to achieve this:
STEP-1: Search for "msvcrtd.lib" in the search bar.
STEP-2: Click "Open File Location" (available in context menu)

STEP-3: Copy the address of the directory from the address bar.

STEP-4: Search "Environment" in the taskbar and click on "Edit the system environment variables".

STEP-5: Click on "Environment Variables..." button.

STEP-6: Under "System variables" section, click on "New..." button. A dialog would pop up.

STEP-7: In the dialog box, enter the following:

Variable name: LIB
Variable value: [The directory you copied in "STEP-3"]

And press "OK"

Now, you are all done!
Answer: The above answer was not quite accurate for me.  I have VS2010 Ultimate installed and the file in question is not in my Visual Studio 10.0\VC folder.  Rather I found it in the Visual Studio 9.0\VC folder.  So if that's the case for anyone, follow the lead to change the Linker but use the Visual Studio 9.0\VC folder instead.  It worked for me.
Answer: For Visual Studio 2017
Go to your project properties, select Linker from left. Add this to "Additional Library Directories":
C:\Program Files (x86)\Microsoft Visual Studio\Shared\14.0\VC\lib
Answer: I got a slightly different error

LNK1104 cannot open file 'MSVCURTD.lib'

Note it is msvcUrtd (not msvcrtd), but the file is not found on my system.
Solved it by setting the following options:
Project Properties
 General
  Character Set: Not Set
  Common Language Runtime Support: Common Language Runtime Support (/clr)

Hope that helps.
Answer: In VS2017 (Community/Enterprise/Ultimate/Professional):
Add the path(s) of the folder(s) which include your desired ".lib" file(s) in the following path in VS:
(Right Click)Project(in Solution Explorer)->Properties->Configuration Properties->Linker->General->Additional Library Directories
If there are more than one ".lib" file use ';' to separate them otherwise click on the edit box corresponds to "Additional Library Directories" then click on "" in drop down menu and add all desired ".lib" files in newly opened window one by one and in a easy to handle manner.
Answer: I ran into this using Visual Studio 2017. I tried the solutions suggested here with explicitly adding paths to where the 'MSVCRT.lib' file was located. But I felt this probably wasn't the correct approach because previously for the past several weeks this had not been a problem with my project.
After trial and error, I discovered that if I left an empty or blank value in the Linker --> Input section, it would give me the error about LNK1104: cannot open file 'MSVCRT.lib'. Eventually I figured out that I should leave this value there instead.
On the Visual Studio project, right-Clicking on the project item in the Solution explorer panel (not the Solution itself, which is the topmost item), then select Properties. From there do the following:
Linker --> Input :  %(AdditionalDependencies)
This additional information might be helpful, if you got into the situation the same way I did. I have discovered that I should not put any non-system library paths in the Linker --> Input section. With my project I was trying to compile with external .lib files. Previously I had a value in this input section like: $(ProjectDir)lib; %(AdditionalDependencies) but this lead to other problems. I discovered the correct place (it seems so far) to put paths for referencing external .lib files in a C/C++ project in Visual Studio 2017 is here:
VC++ Directories --> Library Directories : $(ProjectDir)lib; $(LibraryPath)
Note the $(LibraryPath) value will include extra values such as inherited from parents. My folder project contained a folder called 'lib' which is why I had the first value there before the semicolon.
Answer: I have included the following path
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x86
and
C:\local\boost_1_64_0\lib64-msvc-14.1
To
project properties-> linker-> Additional Directories
Click here : Image shows linking of boost and MSVC2017


Filter internet based email addresses

Question: How can I go about doing a client side validation for email addresses where the email address has to be a non-internet based one as much as possible. i.e yahoo, gmail and hundreds are not allowed. It doesn't have to be perfect but I just want to minimize all the obivious scenarios of such email addresses being valid.
Currently I just use a regex to check for valid (well...almost valid) email addresses.
Any Ideas?
Comment: What does "a non-internet based one" mean, anyway?
Comment: and what's wrong with regex validation?
Comment: What I meant by a "a non-internet based" email is just a co-orporate email. Just to make sure that the email belongs to a person from a (proper) organization and not a general surfer.
Answer: Assuming that by "non-internet" you mean "local", then the solution should be fairly simple: Whitelist hostnames that are allowed to host mail addresses you accept.
A slightly more complex solution, which might need a little less maintainence (depending on your systems), would be to blacklist all hostnames ending in a country or global top level domain, and then have an exception list for your own domains.
Answer: What I am reading as a non-webmail-account requirement is of questionable utility at this point, and nearly impossible to actually guarantee. If it's truly part of your hard requirements, it means that people who have migrated to gmail-as-primary-email will need to register a secondary account, and that would, for me, increase my odds of deciding your site wasn't worth registering ON.
That said, a regex that properly validates RFC2822 addresses, plus an exclusion list, is going to be ugly as sin (because the RFC2822 validating regex is also ugly as sin).
Finally, remember the fact that you will also need to validate this submission on the server side, because you can't trust that the validation on the client actually ran.

Filter internet based email addresses


Is there a requirement to delete already illegally downloaded music?

Question: If someone has illegally pirated music and has it downloaded is there a legal requirement for him to delete it?
Comment: You mean after being prosecuted for it? Since you don't own the music, there is no legal basis *for keeping it*...
Comment: Are you asking whether someone who secretly has some pirated music is legally obligated to delete it, or whether (as in Andrew's answer) a court could order such a person to delete it?  For the court to do so, there has to be a trial, which implies that someone has learned of the illegally downloaded music and brought it to the attention of the court.
Answer: Destruction of infringing articles is an available remedy for a copyright holder under US Copyright Law. If this remedy is requested by the copyright holder and the copyright holder is the prevailing party in an infringement lawsuit, the Court may order the destruction of infringing articles.
In 17 USC § 503. Remedies for infringement: Impounding and disposition of infringing articles:

(a) At any time while an action under this title is pending, the court may order the impounding, on such terms as it may deem reasonable, of all copies or phonorecords claimed to have been made or used in violation of the copyright owner's exclusive rights, and of all plates, molds, matrices, masters, tapes, film negatives, or other articles by means of which such copies or phonorecords may be reproduced.
(b) As part of a final judgment or decree, the court may order the destruction or other reasonable disposition of all copies or phonorecords found to have been made or used in violation of the copyright owner's exclusive rights, and of all plates, molds, matrices, masters, tapes, film negatives, or other articles by means of which such copies or phonorecords may be reproduced.
Comment: So you would say that there is a *potential* for a legal requirement. This could also apply to a negotiated settlement which is independent of this section.
Comment: The infringing articles are still infringing. This seems like asking "If I steal a widget from my neighbor, am I legally required to return it?" The infringement has already occurred and is still occurring. So long as someone has possession of infringing articles, and hasn't obtained rights to them, those articles are infringing. Deleting the infringing articles could mitigate damages. As user6726 stated, there could be a settlement agreement between the infringer and the owner, which could require deletion however, may not implicate a court.
Comment: Right, it is one of the available remedies a Copyright holder has.
Comment: Thanks you, just still wondering if there is an obligation on the 'pirater' to delete the music if there was no court involvement?


What to expect during PostDoc in France?

Question: I have been offered a post-doc position in France (I am not from Europe). However, I came to know that post-doc salaries in France are regulated. In view of this, can anyone inform what kind of benefits one can request/expect along with the usual salary for a post-doctoral position in France ?
Comment: You may get more answers on workplace.stackexchange because the terms and conditions for postdocs are likely the same if you are an expat or a French citizen
Comment: Or possibly [academia.se]. Do a search on that site because I think there's been a similar question asked.
Answer: Postdoc salaries are not always regulated, it depends on what research organisation your lab falls under. The big players include CNRS (has regulated salaries), CEA (which does not), and others.
If you have a postdoctoral position, your salary will be pre-determined by your lab or by the supervisor who has the funding to pay you. If you have a postdoctoral fellowship from outside France, it's possible that your lab would regulate the salary (e.g. from a wider European fellowship) to match their salary scale (possibly pocketing the rest for CNRS, if it's a CNRS lab). This can be a rather large amount, as evidenced on a rather unfortunate post on academiaSE.  But that depends on which umbrella you fall under, in the first paragraph, and if you have a fellowship, talk to your funding body to figure out what the case will be for you. In whatever circumstance, I would make sure to define this with the lab before accepting and moving.
Benefits are the same for everybody - you will be able to take part in the national healthcare scheme, although it will take several months before your healthcare card (carte vitale) arrives. The social health insurance covers roughly half the costs of most common treatments. For example, it's usually 27 euros to see a GP, and a little under half of that is reimbursed. Whether you decide to take supplemental health insurance (a mutuelle) is up to you.
You will, in general, have a very generous number of holidays. I believe for PhD students it's 9 weeks, and I think it's the same for postdocs. Holidays are paid by default. As far as I know, postdoc/PhD holiday time is paid time. CNRS permanent staff get their holiday time 'paid back' to them if they don't take it. I don't have the specifics about what pay they actually get for not taking their full allotment of holiday time. People don't usually take that much. I know I certainly haven't in a French PhD.
Most academics will take a few weeks of holidays every summer, and a couple of weeks around Christmas. You also get the major French holidays, including those which fall on a Thursday, where people usually take the following Friday off ('the bridge').
You will be reimbursed for work-related travel within and outside of France. In CNRS labs, you usually don't pay to book a hotel within France. CNRS or your project funding will pay for flights or train tickets for work-related travel. You will need to pay international hotel costs for work-related trips yourself, and will be reimbursed some time later.
Unless you're in an uncommon circumstance (i.e. I've never heard of this happening for anyone) you won't have your moving expenses reimbursed.
You should probably be aware that salaries in France are comparatively low with respect to the US, UK, and other 'big players' in academia. That combined with my first point makes it difficult to recruit talent from outside France, unfortunately. But other aspects make quality of life pretty nice, healthcare especially.
If there's anything else you want to know about, let me know and I can try to answer. I'm a late PhD student in a French lab (non-EU citizen, so I know the visa struggle well), and I'm surrounded by postdocs I can ask questions to.
You might also want to consider that doing administrative things (visa, bank accounts, renting a flat) can be very difficult when you don't speak French. Not impossible, but not easy either!
Comment: Hey, thanks a lot. Since you are already in France and have postdocs around you, would you be able to answer that if a postdoc in France is worth if I already have a full time job (in another country). Related question at https://academia.stackexchange.com/questions/106979/leaving-reputed-full-time-job-for-a-postdoc-after-phd.
Comment: Also, regarding the salary, my salary will be on CNRS terms. So it should be about Euros 2500 before taxes. How much does it translates to in terms of actual income (taxes etc) and is it enough for life in France ?
Comment: @krammer it depends a lot on your standard of living. Your gross income is 30k/yr, after income taxes that is 26,639EUR/yr.You will have to pay also a 'taxe de habitation' which is effectively a tax on any place you rent/own, based on the town and the area (sq m) of the flat. It usually works out to be about one month of rent per year. I lived alone in a 13m^2 place which cost me 550 EUR, in a suburb. Rent on a place varies a lot. Living expenses in Paris can be pretty big. Studios in Paris were something like 900 euros per month, apartments more than that.
Comment: My postdoc friends all live in the suburbs because they wanted their own place and couldn't afford one in the city. But your 'monthly expenses' really depend on what you want / are used to. Do you want your own apartment? Do you have dependents? CoL is a lot lower in some nice cities (Toulouse springs to mind). Try a cost of living calculator (Google has loads) and enter your prospective French city. Beer is expensive. Good food IMO is cheap from a supermarket.
Comment: Also, everything requires mountains of paperwork and things move slowly. You will have to undertake a medical appointment to get your residence permit, the process of queuing up at the prefecture is awful. You lose a bit of research time doing this at the beginning. You may also need mandatory French life classes depending on your visa (work visa does, scientist visa does not) which I'm told are pretty useless.
Comment: Also, 2500/m is a good postdoc salary, from what I've heard. Most of our postdocs get something like 1900/m after taxes, which is why it's tough to recruit people from overseas generally. 2166/m isn't bad.
Comment: Thanks a lot. Does the taxes also include healthcare deductions etc. or are they deducted separately from the in-hand compensation?
Comment: I would be relocating to south Normandy, where I believe living expenses on budget for a single person would be around 1.2k. Is my estimate right ?
Comment: Would the people downvoting me care to comment on why?


Browsing 1950 Census

Question: Using the government website. After I have found somebody with a search, I sometimes want to browse other nearby pages. The neighbors sometimes reveal clues. I can't figure out how to do this.
https://1950census.archives.gov/search/
Answer: My solution is somewhat clunky, but it works.
When I find a page with someone of interest, and I want to view nearby pages, I take note of the State, County, and Enumeration District. Then I repeat my search using the State, County, and ED instead of the names. The ED search will return all pages of the ED, and then you can use the arrow buttons or the carousel to navigate among the pages of the ED.
For screenshots, see 1950 Census:  How do I go to the Next Page? on NARA's History Hub.
Comment: Thx, clunky for sure. Computer transcription is poor also. Hopefully when Ancestry puts this census online they will do better.
Answer: UPDATE: As of 14 Jun 2022, users can browse after doing a name search.
In her post on History Hub, 1950 Census Website Improvement:  It's Now Easy to Go to the Next Page!, Claire Kluskens announced the new feature. After you do the name search,

The forward and backward arrows at the bottom of the page now work
(they had not before), so I can easily click on the forward arrow to
get to the "next item" (next page).

An Author's Note says, in part:

This blog post replaces "1950 Census:  How do I go to the Next Page?"
(#58), posted April 4, 2022, which is no longer relevant.

Prior to 13 Jun 2022, users had to use a work-around such as the one in my original answer (which is below the dividing line).

In the replies to How do I link to the 1950 Census Search Results? on NARA's History Hub website, Claire Kluskens posted an example  for a search for Albert Einstein. The link for that search is:
https://1950census.archives.gov/search/?county=Mercer&ed=11-76&name=albert&page=1&state=NJ
If we examine the URL, we can see the individual elements in the search:
<code> State: New Jersey
 County: Mercer
 ED: 11-76
 Name: Albert
</code>
To the left of the search results, look at the top of the frame for "Your Search".  You can see the active filters.

Click on the red X next to albert to remove that filter.  The filters for New Jersey, Mercer, and ED 11-76 will still be in effect, allowing you to browse the entire enumeration district.

Browsing 1950 Census


404 Server response on admin connect and reindex pages

Question: Any idea why my reindex page and magento connect page in admin is displaying a 404 message? I have changed permissions on both downloader and shell folders and all files to 755. Changed ownership back to server. Does not recognize command when reindexing via ssh.
Comment: Which 404 page are you seeing?  Magento has many (or is the your web server's 404 page), and each is triggered for a different reason. http://alanstorm.com/magentos_many_404_pages
Comment: I think it was an admin module that I built... but then I accidentally changed permissions on the entire server and we have to fix that... so... my answer for reference to follow. It shows the admin toolbar but has the 404 message in the body.
Answer: There's too many possibilities for a simple answer here, but here's the two lines of debugging I'd take (apologies in advance for the complexity here, but I don't know of a simpler way to debug this)

You have a module that's attempting to rewrite an admin URL, and it has accidentally swallowed the URLs for the downloader and the index page
Something about your permissions and/or server setup prevents the router from validating your controller file

Regarding number two, try adding some temporary debugging code to the following method
#File: app/code/core/Mage/Core/Controller/Varien/Router/Standard.php
protected function _validateControllerClassName($realModule, $controller)
{
    $controllerFileName = $this->getControllerFileName($realModule, $controller);

    if (!$this->validateControllerFileName($controllerFileName)) {
        return false;
    }

    $controllerClassName = $this->getControllerClassName($realModule, $controller);
    if (!$controllerClassName) {
        return false;
    }

    // include controller file if needed
    if (!$this->_includeControllerClass($controllerFileName, $controllerClassName)) {
        return false;
    }

    return $controllerClassName;
}

Specifically, add some var_dumps above each return false
if (!$controllerClassName) {
    var_dump($controllerClassName);
    return false;
}

// include controller file if needed
if (!$this->_includeControllerClass($controllerFileName, $controllerClassName)) {
    var_dump($controllerFileName);
    return false;
}

This will let you know the specific controller names and files the Magento admin can't find, which may shed some light on the problem.
For the case of number one, I'd also add some debugging in the match method, right here
#File: app/code/core/Mage/Core/Controller/Varien/Router/Standard.php
$controllerInstance = Mage::getControllerInstance($controllerClassName, $request, $front->getResponse());

if (!$controllerInstance->hasAction($action)) {
    continue;
}

Specifically, above the continue
if (!$controllerInstance->hasAction($action)) {
    var_dump(get_class($controllerInstance));
    continue;
}

This will let you know if a module has incorrectly "claimed" your index processing page and downloader page.
Comment: I've edited the code in that core file, reindexed, and cleared cache... not seeing any var dump anywhere.
Comment: @CaitlinHavener That seems — unlikely.  Maybe you have compilation on so it's using the file in `src/`?
Comment: It's not on. Tried it on our live and staging versions as well. I know its the module becuase I don't have issues when I remove it. Perhaps you can look at my code? :) http://magento.stackexchange.com/questions/6235/module-causes-404-errors-on-index-and-magento-connect-pages
Comment: @CaitlinHavener Try dropping a var_dump(get_included_files()) at the end of your index.php file to see where Magento's loading `Standard.php` from.  Magento can't dispatch without calling those methods.
Answer: Disable local and community modules to determine stock magento is functioning properly via the pages returning a 404.  It should help determine if a 3rd party or local module is overriding the controller for these pages to function properly, as Alan has detailed.
You can disable the local code pool easily and quickly via app/etc/local.xml with:
<disable_local_modules>true</disable_local_modules>
community modules can be disabled via /etc/modules/*.xml
I would also double check that your ACL permissions are set to "All" on the admin account you're using, if it is in fact not a file/folder permission issue but related to a local/community module.  Also logging out and logging back in to the admin can apply any new ACL permissions required of a module.
I've found the resetting permissions Wiki helpful if it is a permissions issue:

http://www.magentocommerce.com/wiki/groups/227/resetting_file_permissions

Hope this helps.


How could Kakashi make a Perfect Susanoo with only two MS when Sasuke needed a Rinnegan?

Question: When Sasuke first activated the Susanoo with 2 MS it didn't really resemble the Complete Susanoo. But when Obito gave Kakashi his eyes he activated Complete Susanoo. Why did it take so long for Sasuke to activate Complete Susanoo.
Comment: If you want to make a perfect Susanoo then go ahead. Maybe Sasuke wasn't even planning on making it a perfect Susanoo. Also you don't need the Rinnegan to make any type Susanoo, you just need both Mangekyou Sharingan.
Comment: I think my answer here might answer your question. http://anime.stackexchange.com/q/36148/18881
Answer:
Once a user awakens the Mangekyō in both eyes, or the ability of both of their eyes, they are able to perform Susanoo.

Sasuke could make a "perfect" Susanoo once he got ability of both of his eyes. One probable reason why he didn't use it right away could be the fact that Susanoo does use up a lot of chakra and he might be saving his chakra.

The Mangekyō Sharingan's abilities drain a considerable amount of chakra when performed.

Source

Mangekyo Sharingan
Comment: It probably requires training as well. We know Sasuke's Susanoo changed several times, and sometimes it overwrote the old form which was never seen again. While he probably had the potential to unlock it once he got 2 MS, he probably couldnt go beyond armored without more power and training. Kakashi also admitted that the Mangekyou Sharingan is strengthened by Six paths power (obito being 10 tails jinchuriki), which Sasuke also received (by Hagoromo himself) before using perfect Susanoo
Comment: Additionally, Madara was able to produce a Perfect Susanoo without the Rinnegan, in his fight with Hashirama.
Comment: Susanoo does have its own development stages but we have to keep in mind that each development stage needs a huge amount of chakra to accomplish. Considering the fact that Kakashi is a really skilled ninja, he could  make a complete Susanoo by copying the way Sasuke was manipulating his chakra; afterall he is a copy-ninja. he had the skills he had the knowledge.Pretty sure he can get it to final form
Answer: Reason 1: he probably didn't want to use Perfect Susanoo, he used a full body Susanoo. In Naruto Shippuden, during the 4th Great Ninja War, Sasuke's Susanoo fused with Kurama, when that happened, Sasuke got wings. After he did that, you know that little thing when Sasuke stands on Susanoo up high that covers him? That's Sasuke using Perfect Susanoo.
Reason 2: maybe it's a simple "he didn't want to use Perfect Susanoo", or he didn't know his abilities of his Susanoo.
Reason 3: maybe he couldn't because probably his ability with 2 EMS isn't allowed for Perfect Susanoo, but if he has Rinnegan, he can.
Answer: This perfect susanoo is only available to those who perfectly master the mangekyou sharingan. Kakashi had the benefit of mastering one eye while obito mastered the other and when obito died and loaned those eyes, it was as if both obito and kakashi's experience was applied and as suck, they just had to awaken the susanoo in that state, while sasuke had to master not just his abilities but also those of itachi to awaken the susanoo perfect state, essentially having to master two pairs of susanoo. And interesting fact, that s shows that no matter the person, as long as a mangekyou sharingan is implanted, they can attain the eternal mangekyou sharingan as the perfect susanoo would likely blind the user of a regualar mangekyou sharingan instantly unless we speak about the pure sharingan of hagoromo and Indra. Or they may already be blind at that point due to practicing the mangekyou which requires regular use.
Comment: Interesting fact, your comment about the Eternal Mangekyou Sharingan is wrong. Please do your research.


How to pronounce an abbreviation/acronym

Question: I found that English native speakers just speak out the letters when saying i.e., e.g. (the abbreviations). Are there any abbreviations or acronyms that you'll naturally say it in its full pronunciation instead of the initial letters?
Answer: Most acronyms are by their nature "pronounceable" and as a result they are generally spoken as if they were a word -- SCUBA, TARP, and NASA, for example.  If, however, the acronym or abbreviation is not pronounceable then you will usually hear the letters spoken -- IUD, DHS, ICBM, etc.
True abbreviations are less likely to consider their pronunciation.  Things like etc., enc., i.e., and e.g. for example are either completely pronounced like "et ceterra" or their initials are pronounced like "i.e."
Comment: Then there are a few that can go either way. For example, I've heard some people pronounce ASAP as four letters, while others say "ay-sap".
Comment: Also of note, "pronounceable" acronyms can sometimes have the pronunciation known so much better than the acronym that it simply becomes a normal word. SCUBA probably qualifies, and LASER definitely does.
Answer: There are three types of abbreviations (I am paraphrasing passages from Editing Canadian English, 3rd ed.):

True abbreviations or suspensions. A true abbreviation is a
shortened form in which the end of the word is dropped: inv. for
invoice and eng. for engineer. A suspension is when the middle part of  the word is dropped: Hz. for Hertz and Dr. for
doctor.
Acronyms. A shortened from in which the initial letters or part of a compound term stand for the compound and are usually pronounced
as a word: PIN for personal identification number and FUBAR
for fouled up beyond all recognition.
Initialisms: An initialism has the same construction as an acronym, but is usually spoken letter by letter: NFL for national
football league and ATM for automated teller machine.


How to trim strings in Field Calculator?

Question: I am  currently working on a County plat book and am in the process of prepping the "Owner_Nm" field that will serve as my annotation layer. I am trying to whittle down the owner names, based on parcel size, to either full name (easily done) to first initial + full last name or just initials. The format of the names is currently something like this "John H Smith" or "John H Smith & Lucy L Smith" for example. I know next to nothing about python in field calculator so I am hoping to get some help from this community. INRE: how to write my python code in field calculator to return, dependent on parcel size, either (using the above examples) "J H Smith" or "J H S" or "J H Smith & L L Smith" or "J H S & L L S". I have nothing to offer as to the code I've tried as it has mostly returned gibberish....Thanks in advance.
Comment: Have you considered using the Maplex Labelling Engine (now included at all license levels) to [**abbreviate and truncate**](http://resources.arcgis.com/en/help/main/10.2/index.html#//00s80000005s000000) your labels?
Comment: @PolyGeo I like the idea of Maplex labeling in theory for all of this task, but that may be a LOT of work to correctly populate the abbreviations table or rely on Maplex to handle all of the abbreviations consistently.  I think it would be easier for them to do the up-front calculating work they are asking about and then use Maplex to place the labels (shrink, overrun, etc... to make all labels fit once you have them generically size appropriate).
Comment: @PolyGeo, I am trying to cut down on the amount of work as there are some 29000 parcels total with annotation, either acreage or ownername, or both. I have ID'd the parcels that have changed or been created, about 4000, since the last plat book publication. I would like to keep the previous versions annotation layer and just update/append to it rather than use, and trust, mapplex to do the job.
Answer: The easiest method for this using python is to use the find method, or in this case rfind, so you can look for the last space to pull out the last name. find/rfind will return a numerical value for where the character you are looking for is in the string. You can use this number to slice the sting using [].
In the "Pre-Logic Script Code" section in the field calculator paste the below.
def initial(name):
    return name[0]+" "+name[name.rfind(" ")+1:]

Then in the "field_name =" section you can write initial(!Owner_Nm!). The way this works is for each value in "Owner_Nm" it runs it through the initial function. The initial function takes the 1st letter (name[0])in the name and concatenates it with everything in the name after the last space it finds.
So for the example you provided "John H Smith", you would get "J Smith".
Comment: @ Hotpepper thanks for the suggestion, but it didn't quite give the results i was looking for in respect to multiple owners of a parcel. Works perfect for a single owner though.
Answer: Well, I agree with one of the comments above about using Maplex if that will work for you.  If it doesn't though, what you could do is use the field calculator as you suggest.  For the all initials (J H S & L L S) You would want to do something like the following:
Code Block / Pre-Logic Script Code:
def nameCalc(inName):
    outName = ""
    namesList = inName.split("&")
    for name in namesList:
        outName = outName + " &"
        nameL = name.split()
        for word in nameL:
            outName = outName + " " + word[0]
    outName = outName.strip(" &")
    return outName

and then in the expression you would put nameCalc(!Owner_Nm!)
You could select the parcels you want just initials for and then run that.  However, if you want to do them all at once and you have an area field or such as that that you want to use to automate the process (ex: all parcels larger than or equal to 5 acres get full name, between 5 and 1 acres get abreviated, and smaller than 1 gets just initials), then you could do something like the following in the code block:
def nameCalc(inName,area):
    outName = ""
    if area < 1:
        namesList = inName.split("&")
        for name in namesList:
            outName = outName + " &"
            nameL = name.split()
            for word in nameL:
                outName = outName + " " + word[0]
        outName = outName.strip(" &")
    if area >= 1 and area < 5:
        namesList = inName.split("&")
        for name in namesList:
            outName = outName + " &"
            nameL = name.split()
            for word in nameL:
                if word != nameL[-1]:
                    outName = outName + " " + word[0]
                else:
                    outName = outName + " " + word
    if area  >= 5:
        outName = inName
    outName = outName.strip(" &")
    return outName

and then in the expression you would put nameCalc(!Owner_Nm!,!Acres!)  PLEASE NOTE THOUGH: if you do that, you would A) Have to replace the 1, 1, 5, & 5 with the appropriate values for your data and what you want and B) you would have to replace !Acres! in the expression with whatever area/size field you wanted to use and that field would have to be a numeric field for the code above to run correctly.
I know that's a lot of code, and it may be a bit to work your way through, but it should return each of the 3 desired results and will correctly handle both single names and double names separated by &
I hope that helps, and if you have questions, feel free to comment and if I can help, I will try to.
Comment: @ user2856159 I have created another field that will use a coded domain to break out my acreage/parcel sizes by what annotation I will use. I can then just change the code you supplied, as you pointed out, to make my name field changes. You gave me enough to play around with, format wise, (I do know a LITTLE python, enough to get myself in trouble, anyway)to make any changes I might wish to see...I will come back to this if there is something else I need to ask. Thank You!


How does Shivering Isles scale difficulty?

Question: The Elder Scrolls IV: Oblivion had a prominent difficulty-scaling system, but I've heard that Shivering Isles may not be "suitable for low-level characters". Does level-scaling work similarly to the the base game?
Comment: Where did you hear that Shivering Isles "may not be suitable for low-level characters"?  The Wiki doesn't mention this at all, and AKAIK, the expansion will have the same scaling in effect, meaning a level 1 character with a Drain Health 100 spell will WTFPWN absolutely every enemy they meet for a tiny drop of magicka.
Comment: Perhaps you heard about item scaling and got it mixed up with enemy scaling? Some people recommend holding off on certain Shivering Isles quests until you're of a certain level, such that the leveled reward (e.g. Dawnfang/Duskfang) you get is better... but that applies to most quests in the game, not just SI quests.
Comment: Well, the entire premise of the question isn't even valid because nobody will ask that question.  It came from a mis-understanding... so I don't think it really warrants an answer.
Comment: @pushasha: Yes, that's exactly what happened.
Comment: @Nelson and pushasha: Feel free to post answer, you both have answered the question.
Answer: After double-checking in the TES Construction Kit, I can confirm that the enemy scaling in the Shivering Isles expansion is exactly the same as it is in the base game -- leveled creatures are picked from a leveled list, based on the player's current level and the creature's base level.
Base game leveled creature list:

Shivering Isles leveled creature list:

Then, if the creature itself has a "PC Level Offset" (a level offset based on the player's current level), that gets applied separately:

As mentioned in the comments, you seem to have misinterpreted what others meant when they said that lower-level characters should hold off on starting Shivering Isles -- this advice is normally given because of the leveled item rewards that one receives in the expansion, not the leveled enemies. If you get the scaled items at a low level, they will quickly become weak/irrelevant as your player levels up; however, if you receive them at a higher level, they will remain relevant and powerful for much longer (if not for the rest of the playthrough). Check out the leveled stats for Dawnfang/Duskfang for an example of how this looks.
Therefore, if you are playing unmodded and want to use the Shivering Isles scaled items for more than a few levels, many will suggest that you wait until your character is at a higher level (30+) so you get the best version of the leveled rewards.
Comment: Related Construction Kit screenshots would improve the answer.
Comment: @user598527 I'll add some when I get back from holiday, but they'll basically just show the SI enemies in the same leveled lists as the normal ones. The other thing I checked for was scripts that might have altered leveling (of which there were none), but that's not really something I can provide screenshots of.
Comment: The scaled item problem is rendered irrelevant with the right mods.
Comment: @Nelson Agreed, I certainly use mods that negate this issue.


New Trees growing from old root system

Question: I have two little apple trees growing out of the main root system of a 30yr old Apple tree. Is it possible to relocate them to a different part of the yard?  They are roughly 4 feet and 6 feet away from the trunk. The old tree is too close to our cedars and full of disease and cankar. It was taller than our house when we moved in and over the years have cut back a few feet at a time to not stress out the tree.  We really like the apples and would like to graft from the old tree or replant these new ones growing from it.(as long as the disease doesn't transfer with it too)
Answer: If that growth is coming off the roots, as it likely is, most apple trees are grafted onto different rootstocks,so even if you dug them up and grew them on elsewhere, they won't be the same as your apple tree, nor have the same fruit I'm afraid.
Answer: If you mean cedar-apple rust, it can spread great distances like a mile. My guess is that the two small trees are seedlings, if so, they are unlikely to have the same fruit as your old tree. If you want to chance the rust, I would buy a new tree at a nursery;  I understand that there are now varieties that have some resistance to rust.

New Trees growing from old root system


Basic stock shorting question

Question: So im just a little cloudy on how shorting a stock drops the share price. I understand that you borrow, or set aside shares from your brokerage to then buy later at the origional price. My guess was that it just dropped because of the lack of shares available to buy since you are holding them instead of buying and selling, is this right? I cant find a solid answer anywhere, just not sure how to word it in a search bar.
Comment: In  principle any sale of stock puts some downward pressure on the price (and any buying puts some upward pressure). For a small sale or buy it is negligible of course. It does not matter if you sell stock you own or if you sell stock you just borrowed 5 seconds ago from your broker, the result is the same, there is increased supply coming into the market that has to be absorbed, with a potentially negative effect on price.
Answer: Tldr: to execute a sell order immediately you have to cross the mid price to meet existing Bid prices below that price, moving the price downward.
On an exchange (where we would expect to see most equity trading), trades are executed by members of the exchange posting orders to the exchange (electronically), which then puts the order in its order book and disseminates current orders to other members.
If you are looking to sell (as in a short), then your Offer order is added to the Offer side of the book, amongst the other such orders. You can set the price where you'd like, including at a higher price than others, but the exchange will put the orders sorted by price, so a higher price will be a lower priority to actually trade.
The same thing happens for orders to buy, so the price information coming from the exchange is a list of the volume available at each incremental price; the best (highest) Bid and the best (lowest) Offer will be the best prices at which you could immediately execute a trade by fulfilling those orders, so generally people treat the midpoint between these best prices as the current price of the security.
If you want to execute your short immediately, you have to cross the mid, and sell at the highest Bid price - this does a few things; it executes a trade publically at that best Bid price which was below the mid, and it knocks out some of the orders sitting on the bid side. Both of these are downward price signals for a security. After the trade has matched, an immediately following sell order would execute (on average) at a lower price.
The more sell orders, the more this continues, with the Bid side if the book getting depleted.
Some of the orders near the top of the book (best Bids and Offers) are placed by market makers; entities who provide liquidity either by duty or to profit from general frothiness of prices, making a small profit by buying slightly below the mid and selling slightly above it. These orders tend to be for smaller volumes, with larger volumes available at slightly worse prices; so if you need to execute a larger short, you will have to hit not just the best Bid orders, but the next orders at lower bid prices as well until your order is filled. So a larger short will hit more orders and move the mid price further than a small one.
These days often larger orders will be executed on dark pools, which exist so that institutions can trade large blocks without moving the needle in advance; here the orders are not seen publically until after the trade has happened and been posted to the exchange, enabling them to get a better overall price on the order than if they had to trade through the exchange's order book.

Basic stock shorting question


What does it mean to 'sow the wind and reap the whirlwind'?

Question: Hosea 8:7 reads as follows:
in ESV:

For they sow the wind, and they shall reap the whirlwind.

in BHS:

כִּ֛י ר֥וּחַ יִזְרָ֖עוּ וְסוּפָ֣תָה יִקְצֹ֑רוּ

What does this mean?
Comment: I think you mean Hosea 8:7 :)
Answer:
"They sow the wind
      and reap the whirlwind.
  The stalk has no head;
      it will produce no flour.
  Were it to yield grain,
      foreigners would swallow it up" (NIV - Hosea 8:7)

When we sow something, we do it in expectation of growth in that which we have sown. It is this growth that we reap. The process of growing and harvesting crops is one with which readers of scripture both past and present would be familiar. We know that when we sow certain crops, we reap a useful harvest: a yield of grain heads to create meal, for instance, which can provide food for the community.
Sowing and reaping is a common analogy throughout the bible to demonstrate cause and effect: the direct fruits of our labours, the consequences of our actions. Examples are found in Psalms (126:5), Proverbs (11:18, 22:8) and Jeremiah (12:13) in the OT, James (3:18) and Paul's letters to the Corinthians (9:6) and the Galatians (6:7-8) in the new.
In this case, however, Hosea says they 'sow the wind'. In this action, however, they are expecting growth and return from a force that they can neither understand nor control. From centuries of experience, they have learned that when they sow wheat seeds, they will reap wheat grain, and so their actions will benefit the community. But what benefits to the community will the actions of sowing the wind yield?
They 'reap the whirlwind': a powerful and destructive force over which they have even less control. Unlike wheat, this harvest will yield no heads of grain for meal - it brings no benefit for the community - if anything, says Hosea, it will benefit only 'foreigners'.
This is not like Jeremiah's warning from God that 'they will sow wheat but reap thorns' - in theory if you manage to get wind to 'grow', then a whirlwind or some other destructive wind force is a logical and unavoidable consequence. Hosea suggests that there is nothing else to be gained from the actions described except destruction from a force beyond our control, no matter how good our intentions may be.
Hosea is referring to the actions of Israel, but they could easily describe the actions of modern society:

"They set up kings without my consent;
      they choose princes without my approval
  With their silver and gold
      they make idols for themselves
      to their own destruction." (NIV - Hosea 8:4)

When we select our leaders not according to what God teaches us but according to worldly values (whether it be politics, popularity or personal gain), when we 'worship' idols we have fashioned from material wealth (whether it be celebrities and billionaires or movie stars and commercial labels) - these actions divert our focus away from living according to what God teaches us.
Hosea suggests that these are the actions that are akin to sowing the wind, and will reap the destructive forces of the whirlwind. He warns that these actions are actually bringing about our 'own destruction'.
Answer:
Sirach 7:3
My son, sow not evils in the furrows of unrighteousness, and thou shalt not reap them sevenfold.

I think it simply means recieving more than you put in.
In context, this seems to be about punishment (but also reward, in the latter passage).

Hosea 8:1-7
1 Let there be a trumpet in thy throat like an eagle upon the house of the Lord: because they have transgressed my covenant, and have violated my law. 2 They shall call upon me: O my God, we, Israel, know thee. 3 Israel hath cast off the thing that is good, the enemy shall pursue him. 4 They have reigned, but not by me: they have been princes, and I knew not: of their silver, and their gold they have made idols to themselves, that they might perish. 5 Thy calf, O Samaria, is cast off, my wrath is kindled against them. How long will they be incapable of being cleansed? 6 For itself also is the invention of Israel: a workman made it, and it is no god: for the calf of Samaria shall be turned to spiders' webs. 7 For they shall sow wind, and reap a whirlwind, there is no standing stalk in it, the bud shall yield no grain; and if it should yield, strangers shall eat it.
Hosea 10:1-13
1 Israel a vine full of branches, the fruit is agreeable to it: according to the multitude of his fruit he hath multiplied altars, according to the plenty of his land he hath abounded with idols. 2 Their heart is divided: now they shall perish: he shall break down their idols, he shall destroy their altars. 3 For now they shall say: We have no king: because we fear not the Lord: and what shall a king do to us? 4 You speak words of an unprofitable vision, and you shall make a covenant: and judgment shall spring up as bitterness in the furrows of the field. 5 The inhabitants of Samaria have worshipped the kine of Bethaven: for the people thereof have mourned over it, and the wardens of its temple that rejoiced over it in its glory because it is departed from it. 6 For itself also is carried into Assyria, a present to the avenging king: shame shall fall upon Ephraim, and Israel shall be confounded in his own will. 7 Samaria hath made her king to pass as froth upon the face of the water. 8 And the high places of the idol, the sin of Israel shall be destroyed: the bur and the thistle shall grow up over their altars: and they shall say to the mountains: Cover us; and to the hills: Fall upon us. 9 From the days of Gabaa, Israel hath sinned, there they stood: the battle in Gabaa against the children of iniquity shall not overtake them. 10 According to my desire I will chastise them: and the nations shall be gathered together against them, when they shall be chastised for their two iniquities. 11 Ephraim is a heifer taught to love to tread out corn, but I passed over upon the beauty of her neck: I will ride upon Ephraim, Juda shall plough, Jacob shall break the furrows for himself. 12 Sow for yourselves in righteousness, and reap in the mouth of mercy, break up your fallow ground: but the time to seek the Lord is, when he shall come that shall teach you righteousness. 13 You have ploughed wickedness, you have reaped iniquity, you have eaten the fruit of lying: because thou hast trusted in thy ways, in the multitude of thy strong ones.
Answer: I find it helps to picture a field. A farmer works the ground, puts in his seeds and hopes to return to the field in harvest time and find a bunch of delicious and nourishing, possibly profitable fruits and veggies, herbs and spices.
Hosea is creates from this familiar process a metaphor of "sowing and reaping" and says that if your field (life) is actually a farm where you sow evil then don't expect to reap good things. Instead you will reap disaster. What might be in mind is tornado coming through his farm and destroying everything. Or rather, his life will be so disastrous that it would be the equivalent of a tornado ripping through his fields just before his crops were reaped.
Another more concrete example that comes to mind is the sowing of Monsanto's genetically modified seeds. This process is forbidden in the Torah:

NIV Leviticus 19:19" 'Keep my decrees. " 'Do not mate different kinds
  of animals. " 'Do not plant your field with two kinds of seed. " 'Do
  not wear clothing woven of two kinds of material.

The results of this practice is and will continue to be a disaster of mind numbing proportions as these plant/animal hybrid Franken-foods escape into the world corrupting and destroying the world's food supply.
It was for this kind of thing that earth was destroyed in the flood in Noah's day. It is also the reason that Jesus compared the end times to Noah's times:

NASB Matthew 24: 36"But of that day and hour no one knows, not even
  the angels of heaven, nor the Son, but the Father alone. 37"For the
  coming of the Son of Man will be just like the days of Noah. 38"For as
  in those days before the flood they were eating and drinking, marrying
  and giving in marriage, until the day that Noah entered the ark, 39and
  they did not understand until the flood came and took them all away;
  so will the coming of the Son of Man be.


How should I treat F test if one of variances is equal 0?

Question: I have two groups with 20 elements in each. In one group variance is equal 0. I want to do f-test. Can I? And how should I interpret results (in this case)?
Comment: Why do you want to do an F test for a group with identical values?  Also what do you want to test? http://stats.stackexchange.com/questions/30388/can-i-do-a-t-test-if-i-have-little-to-no-variance-in-one-group
Comment: I wanted to compare two groups with t test and check if variance is the same.
Answer: Since one group's elements are identical values (variance zero), and the other's are not, intuition says that variance is not the same. There is no need for a test.
The F-test for variances takes the ratio of the sample variances:
$$ F = \frac{S_X^2}{S_Y^2}$$
So you see that if $Y$ is the one group with the identical values (low variance) it is not defined and if $X$ (zero=low variance) it is zero (test failure). So, by definition, the larger variance should be placed in the numerator. Hence, you get an F-statistic of infinity and you can claim that the variances are different.
Comment: It's not just intuition that says that. :-) To get a sample with zero variance if the population variance is non-zero is infinitely improbable.
Comment: I think I rushed too much to answer the question. What if the population is like: $0,1,2,1,1,1,2,1,1,2,0,1,2,1,1,0,1,1,1,0,2,1,1$ and we just get a sample of 5 observations? It's highly probable to get 5 observations of just $1$.
Comment: Ok, I assumed a continuous distribution.


State time evolution of a quantum harmonic oscillator with a Dirac-Delta function as an initial state

Question: I have a question just like this Phys.SE problem here with a difference that our system is a harmonic oscillator (rather than a free particle). A particle with mass $m$ is connected to a string with spring constant $k$ at $t=0$ with initial state function $\psi(x)=\delta(x-x_0)$. What is the state function at time $t$ and then calculate the $<x>_t$?
Comment: Your quantity is the Green's function $G(x,t;{x_0},0)$.
Comment: Thank you for comment, Do you have more detail or a reference?
Answer: We have
\begin{eqnarray*}
\psi (x,t) &=&<x|\exp [iH(t-t_{0})]\psi (t_{0})>=\int dy<x|\exp
[iH(t-t_{0})]|y>\psi (y,t_{0}) \\
&=&\int dyG(x,t;y,t_{0})\psi (y,t_{0})
\end{eqnarray*}
and in your case $\psi (y,t_{0})=\delta (y-x_{0})$. Here $H$ is the harmonic
oscillator Hamiltonian. For the Green's function I could not find an
expression on the web.