Secondary hash function utility, regarding data destruction?

Question: Given that hash functions are inherently irreversible, would they not then be useful in applications where it's desired to overwrite sensitive data? (i.e. Darik's Boot and Nuke)
Specifically, why should hash functions not be used for data clearing?
Answer:
Specifically, why should hash functions not be used for data clearing?

I take it you mean that we would overwrite the storage with output produced by feeding its sensitive contents to a hash function.  The problem then is that this output, being a function of the data you're overwriting, therefore provides information about that input.
In particular, it could be used to efficiently test hypotheses about the content of the overwritten data.  This is the same principle as password cracking; just like password hashes allow you to quickly test password guesses, the overwritten disk sectors' contents could perhaps be used to test whether the disk contained or not some specific data before being overwritten.
You may think that this sounds like a very unlikely attack, and you could well be right about that.  But why allow it in the first place?  Particularly when the alternative is simple enough: overwrite with random or pseudorandom data that has no correlation at all to the sensitive contents you're overwriting.
Comment: Comments are not for extended discussion; this conversation has been [moved to chat](http://chat.stackexchange.com/rooms/50867/discussion-on-answer-by-luis-casillas-secondary-hash-function-utility-regarding).
Answer:
Specifically, why should hash functions not be used for data clearing?

Several reasons, the main being that there is no need to use one.
If you were thinking about reading the data from the device in chunks, running it through a hash function of equal size, Luis' answer points out why that is a bad idea from a security perspective. It is also slow, as it requires reading data from the disk as well as running the hash function. Data overwrite operations should not be reading from the disk, except to verify that data was written correctly.
It is also not a good idea from a technical perspective on magnetic storage. Wipe patterns are designed to normalize the magnetic strength of each bit of data, so there is not a "ghost", which may read as all 0s, yet still indicate the presence of prior data if read and interpreted with special hardware or drive firmware. There are specific wipe patterns designed to eliminate these depending on the magnetic encoding used to store the data on the media, the areal density, and the method of writing to the platters.
Any reallocated sectors will also be unaffected by a software wipe, as will any restricted sectors that the operating system denies access.
Modern storage devices
Modern drives have specific commands to properly erase a disk without sending write commands to every sector. The Enhanced Secure Erase* command will wipe all sectors with a single pass, including reallocated and OS restricted sectors. It is also significantly faster, an erasure that would take hours using software may take only minutes, as the commands are directed by the drive controller instead of the operating system. Enhanced Secure Erase* and Sanitize Overwrite* are equivalent on magnetic drives.
Encrypted and some unencrypted drives may also support Crypto Erase, which deletes the encryption key and overwrites it with random data, taking only a few thousands of a second to complete. This does not actually change the data on the storage media, only the controller, but is generally regarded as secure if there is no backup of the key. Unencrypted drives supporting this command do encrypt the data before writing it, but do not expose this is a security feature except for the Crypto Erase functionality.
SSDs support a Block Erase command instead of the Sanitize Overwrite command, which clears the NAND cells of charge directly instead of writing data to them. This is faster and more secure than writing 0s, either through the controller or through software. Using the Overwrite command designed for magnetic media is generally not effective at erasing SSDs and should be avoided.
Combining the Crypto Erase commands with either the Enhanced Secure Erase, Sanitize Overwrite, or Block Erase commands should render a drive's data completely unreadable, even by the most sophisticated of recovery techniques. For the extra paranoid, finish the task by filling the drive with pseudorandom data.
Of course there are other devices, like SD cards and USB flash memory sticks that do not support specific erasure commands, so they need to be erased with a software overwrite. A hash function will not provide a wipe pattern that is effective for these devices. Generally you need a minimum 3 pass wipe of alternating patterns before data recovery is infeasible. NSA device declassification protocol is device destruction or high strength degaussing. HAMR drives may not be completely erased by degaussing.
Older storage technologies
If you are dealing with magnetic media that does not support any kind of ATA erase commands, it is generally accepted that a single pass wipe of all 0s, similar to the internals of the Secure Erase command, is effective against all but an electron microscope. Extremely old devices using modified frequency modulation with low areal densities may require multiple wipes with specific patterns.
I am sure you do not have one of these, think sub 100MB hard disks, but if you did, just destroy it. The advantage of a software wipe is that you can use the drive after, but nobody needs or wants the kind of hardware that actually requires multipass wipes, and the cost of electricity to perform a 35-pass wipe on some old drive is less than the cost of throwing it in an incinerator or filling the drive with hydrofluoric acid.
*not all drives properly support ATA erasure commands, check with the drive manufacturer before trusting that these are effective, and always verify they completed without error
Comment: Comments are not for extended discussion; this conversation has been [moved to chat](http://chat.stackexchange.com/rooms/50870/discussion-on-answer-by-richie-frame-secondary-hash-function-utility-regarding).
Answer: You could argue that they are.  If you use a utility like shred it will over write a disc with pseudo random data which might be generated via a cryptographically secure random number generator.  These are often based around hash functions, using some sort of counter loop.  Boot and Nuke can use the PRNG ISAAC which is a random number generator based on hashing it's output.
You realise that this topic is a can of worms located in the middle of a mine field?  It is very very difficult to destroy data. There are no known 100% reliable means of soft data erasure for SSDs or flash drives.   More details can be found by addressing the good folks at security.SE.
Comment: You might want to correct your statement about SSDs as there are known ways to securely erase SSDs drives. If you look at the website of Boot and Nuke which you mentioned yourself, you'll notice [the business version of DBAN called Blancco is one of them. Blancco offers secure SSD data deletion.](http://www.dban.org/) Quoting the DBAN.org website: *`Should you need to erase data from a SSD or require a certificate of data removal, request a free trial of Blancco Drive Eraser.`*
Comment: Your answer is correct, but would you agree that a hash provides no advantage over other similar approaches?
Comment: @bmm6o some would say that simply hashing disc sectors in groups of say 20 bytes (SHA1) would be counter productive.  Most over write erasure patterns require just that, patterns. All zeros, all ones and random numbers e.t.c.  A hash only approach would skip the former and weaken the erasure. And where would the secure random numbers for over write originate?


how to restrict sftp only users to specific folder within the chroot directory

Question: I know there is different versions of this question. but I am trying to give each user a folder within chroot directory and he/she should not be able to navigate outside the assigned folder.
What I have is a Red Hat 7.1 Linux box in the cloud. What I need is:

create a group exchangefiles
restrict group to SFTP
I have more than one user Legacy1, Legacy2, Legacy3

Create user/password for each user
Create folders under /exchangefolder for each user
restrict users to their assigned folders (no navigation outside their folders). e.g.

Legacy1 user can only SFTP to /exchangefolder/Legacy1
Legacy2 user can only SFTP to /exchangefolder/Legacy2

After this all I need to do whenever I have a new user is to add it to this group and no other group and give it access to a folder under /exchangefolder
I used instructions mentioned in "https://passingcuriosity.com/2014/openssh-restrict-to-sftp-chroot/" then modified "/etc/ssh/sshd_config" by adding
Match Group exchangefiles
# Force the connection to use the built-in SFTP support.
ForceCommand internal-sftp
# Chroot the connection into the specified directory.
#ChrootDirectory /home/exchangefiles/%u
#ChrootDirectory /home/exchangefiles
*ChrootDirectory %h*
# Disable network tunneling
PermitTunnel no
# Disable authentication agent forwarding.
AllowAgentForwarding no
# Disable TCP connection forwarding.
AllowTcpForwarding no
# Disable X11 remote desktop forwarding.
X11Forwarding no

created
/home/exchangefiles
$ ls -ltr
total 16
drwxrwxr-x 2 root exchangefiles 4096 Jul 11 11:12 files
drwxrwxr-x 2 root exchangefiles 4096 Jul 11 15:31 sftptest2
drwxrwxr-x 3 root exchangefiles 4096 Jul 11 16:16 sftptest1
drwxrwxr-x 3 root exchangefiles 4096 Jul 11 18:32 sftptest3

and the folder structure below it.
I created the user as per the link above. but then I tried to set for each user home directory in the jail structure. e.g. USER sftptest1 will have a home directory
/home/exchangefiles/sftptest1

the problem is that I can not SFTP unless I change
ChrootDirectory %h

to
ChrootDirectory /home/exchangefiles

which defeats my purpose of creating separate folder for each user (sort of jail within jail)
is this doable? what is the best way to do it?
Answer: From your description it sounds to me as if you want a separate chroot directory for each user: ChrootDirectory /home/exchangefiles/%u.


What is that? chip identification

Question: What is that? No HD-SDI signal.
Black magic camera motherboard
Comment: It might be a circuit produced on purpose for the product... and although it might be a SoC containing also a microcontroller, it looks more like some analog system dealing with high-frequency signals (as Majenko noted, there is something looking like a impedance matching circuit on the right side). What is the BNC connector for, an antenna? A video input/output?
Comment: -What is the BNC connector for, an antenna? A video input/output? It's a video HD SDI output
Answer: It might be a custom chip built by Gennum/Semtech. The numers on the chip seem to correspond to those of HD-SDI cable drivers they make (e.g. the GS1678), in particular 0002E3 should be batch number 0002 (this very low batch number and the absence of an identifiable part name make me think of a custom chip), E3 on their packages is meaning RoHS compatible, and 1352 should mean that it has been manufactured on week 52 (end of December) of 2013.
The chip looks very similar to their GS1678 HD-SDI cable driver it has the same QFN16 package, and the pins seem to be used for similar/identical purposes:

Image from datasheet
In particular, you can notice that pins 9 (VCC) and 6 (DISABLE*) are connected together, which perfectly makes sense, and RSET (pin 4) is connected as required to a resistor (possibly going to VCC through the via). The top four pins are not connected (except maybe pin 16? not sure from the image where the track nearby is going), the DDI pins (1/2) have two ceramic capacitors nearby as expected per datasheet, and the output signal (going to the BNC through the matching network) seems to come out from SDO (pin 12) as it should.
Answer: Well, that looks like an impedance matching circuit coming from the right of it, going to the BNC connector, so my guess is it's some kind of RF (or similar) transceiver chip maybe.
Answer: For HD-SDI? It's probably the cable driver and output filter.  Hard to see the numbers in that pic.

What is that? chip identification


Time series with autoregressive error

Question: How can I in R fit a time series, $x_t$, with external regressors, $v_t$, and an autoregressive error? This time series model is given as follows,
$x_t = \beta v_t + \epsilon_t$ where $\epsilon_t = w_t + \sum_{i = 1}^p \gamma_i\epsilon_{t - i}$ and $w_t \sim N(0, \sigma^2)$.
Answer: Use the arima() function in the stats package:
fit <- arima(x, xreg=v, order=c(p,0,0))

If you want the autoregressive order selected automatically, use auto.arima() from the forecast package:
fit <- auto.arima(x, xreg=v, seasonal=FALSE, max.q=0)

If you are willing to have more general correlated error structures:
fit <- auto.arima(x, xreg=v)

Comment: I used this package but I was under the assumption that `arima` will fit an autocorrelated time series of the form, $$x_t = \beta v_t + \sum_{i = 1}^p \gamma_i x_{t-i}} + \epsilon_t$$?
Comment: Read the help file.
Answer: gls function in nlme package can do it, with gls(y~x, data=Data.Frame, correlation=corARMA(p=1,q=0))

Time series with autoregressive error


How to minimize this sum?

Question: Given $n$ positive number that $x_1+x_2+...+x_n=k$. I want to minimize $\sum \sqrt{x_i^2+1}$. I guess that this sum is minmum when $x_1=x_2=...=x_n$, but I cant prove it. can anybody help me?
Thanks.
Comment: Of course! my mistake.
Answer: Note that $f(u) = \sqrt{u^2 +1} $ is convex. Using Jensen's inequality,
$$\frac{1}{n} \sum \sqrt{x_i^2 + 1} \ge \sqrt{\left(\frac{1}{n} \sum x_i\right)^2 +1} = \sqrt{\left(\frac{k}{n}\right)^2 + 1}$$
with equality at $x_i = \frac{k}{n} ~\forall i$.

How to minimize this sum?


Will a heavier aircraft be more efficient at high speeds(cruise)?

Question: Since heavier aircraft have more mass and inertia, they will have less drag because it will be easier for them to push through the air so does that mean that we can achieve the same cruise speed with less engine power=more efficiency?
Comment: Wrong. Drag has nothing to do with mass or inertia. Drag is an aerodynamic force, caused by the force created by air molecules impacting and bouncing from the surface of the aircraft.  The mass of the air molecules matters, but aircraft mass or inertia has nothing to do with it.
Comment: All the rest being equal, more mass implies more power needed to accelerate or decelerate the aircraft and more lift and drag to keep if flying
Comment: I think he wants to say that the aircraft will have more energy so it will be "easier to push through the air" and there will be less energy wasted in opposing drag
Comment: This works for projectiles like bullets which "store" kinetic energy and don't need lift. If you need lift and can store the energy as height (glider) it roughly cancels. For any other energy source weight is bad, although a plane so flimsy it breaks up (Helios) or planes that can be blown away while parked aren't exactly good either.
Answer: Inertia is defined by Oxford languages as

a property of matter by which it continues in its existing state of rest or uniform motion in a straight line, unless that state is changed by an external force.

The key here is "the external force".
The equation for drag force is
$F_d=\frac12ρv^2c_dA$
While you are correct in that the drag force is linked into the interia as it is an external force acting on an object, you can see that drag equation does not have the mass of the (flying) object in it.
To maintain straight and level flight, the drag has to be matched by engine thrust, inertia has no effect here because the plane is not accelerating. In that sense the mass of the aircraft is insignificant.
However, as we know the aircraft needs lift to stay in the air, and the more mass it has, the more lift is needed. To put it simply, that lift is ultimately generated by pushing air downwards by wings, rotors etc, and for that we ultimately need engine power. So the heavier the plane, the more power is needed for cruise.
It might be more efficient per unit mass to fly a heavier plane up to a certain point, but it is not because of inertia.
Answer: Inertia is a property related to acceleration, as in Newton's first law $F = m \cdot a$. If we want to change the current velocity of the aeroplane, we need more force to do so when inertia is higher.
Aerodynamic drag is a force proportional to velocity. At any constant velocity the drag remains constant, no matter what the inertia of the plane is.

..does that mean that we can achieve the same cruise speed with less engine power..

Heavy aeroplanes require more thrust and power:

To get to cruise speed, it has taken more force to accelerate the higher inertia. The plane's kinetic energy content $E_{kin} = ½mV^2$ is higher at a higher mass m.
At the same cruise speed, a heavy aeroplane requires more thrust than the same light aeroplane in the same cruise conditions. It requires more lift, which increases drag D = $C_D \cdot ½ \rho V^2 \cdot S$, with $C_D = C_{D0} + k{C_L}^2$ (k = a constant based on aeroplane geometry)
Comment: "*a heavy aeroplane requires the same thrust as the same light aeroplane*".
It would actually require more lift, more drag and therefore more thrust
Comment: @sophit Indeed, have amended the answer, thanks for that. Not a good idea to post an answer after a transcontinental flight.
Comment: Eh eh eh, no :-)
Answer:
Will a heavier aircraft be more efficient at high speeds(cruise)?

If the aircraft is a glider, then yes.  Gliders very often carry water ballast to increase their weight, and thus reduce their sink rate and increase their efficiency (expressed in terms of glide ratio, or approximately, L/D ratio1), at a given, high, target airspeed that is well above the unballasted, still-air best-glide-angle speed.
Footnotes:

Only in constant-airspeed flight in still air does glide ratio exactly equal L/D ratio.  But regardless of the details, the point remains that increasing the mass of a glider allows flight at a higher angle-of-attack, and also often a lower sink rate, and thus a higher glide ratio relative to the ground, for flight at a given high airspeed.
Comment: Interesting point of view


Users table design for an app that is to allow its user to signup using both local signup and singup from other platfroms like facebook

Question: The app should allow users to signup using both local login and also from other platforms like facebook or google. The Users table has a required password field. If an Users signup using the local registration form he/she will fill in the required password field. But what if the User opts to use facebook to signup to the app? In that case the required password field will not have any value to store and it will fail to register a new user. How should the Users table be designed to handle such issue?
Comment: If making a field mandatory prevents you from satisfying your requirements, then it can't possibly be recommended. It look like you have no choice here.
Comment: But if the password field is not required, then new users can signup without entering a password which doesn't seem right. I was curious how the sites that implement both local login system and oAuth logins design their Users table to handle this issue.
Comment: Your question is unclear. You say the password is not a required value, you say making the password field required cannot possibly work, then you ask whether you should make the password field required, which as you yourself said a) doesn't work and b) is wrong since the password isn't required. So, what exactly is it that you want to know?
Comment: just edited the question, hope it makes sense now.
Comment: It's not clear what's flexible in the design and what isn't. What sort of control do you have over the DB design? Are you, for example, a UI engineer with no control? Are you on a small team where you have some input? Is this homework, where the teacher sets the restraints?
Answer: I'm going to be stating the obvious here:

It is recommended to make password a required field if a user is required
to have a password
It is not recommended to make password a required field if a user is not required to have one

Users authenticating through third party services do typically not input a password for you to register, so you do not have one to store.
You could require them to input a password upon registration when they authenticate through a third party service, but personally I fail to see the point in using third party service for authentication if that's the way you deal with it.
The actual bottom line here is that in some use cases generic recommendations are not applicable, you'll have to discern the criteria and business rules in place to determine what the best approach in your case is. Perhaps you have very good reasons to require a password to be stored with you despite using third party authentication and then you should do so.


Argument for proving Earth-Centered Earth-Fixed (ECEF) reference frame is non-inertial

Question: Today I heard an argument to prove that the Earth-Centered Earth-Fixed (ECEF) reference frame is non-inertial. It seriously doesn't make any sense to me but I also heard that same argument was made by Einstein, so I am asking it here. Please explain how it proves that Earth frame is non-inertial. The argument goes like this:
Suppose the Earth frame is inertial. Now, all the heavenly bodies will have to go around the Earth once a day. But, this implies a very fast speed. Hence, the Earth frame can't be inertial.
Comment: I think you need to be very careful about what you mean by *"Earth frame"*, the argument is supportable if you mean a frame rigidly attached to some point on the surface of the planet, but when I read the title I assumed a non-rotating frame fixed relative the CoM of the planet.
Comment: Yes, I apologize. It is associated with a point on Earth. Now, please explain how the argument holds.
Comment: Oops, I misunderstood your question. I think the argument is correct If the celestial bodies are far away enough so to go around the Earth in one day their speed would exceed the speed of light.
Comment: How would you make the argument in Classical Mechanics? Actually, I got the argument in my Classical Mechanics course.
Comment: Related: http://physics.stackexchange.com/q/3193/2451 and links therein.
Answer: Your argument is actually more or less right, but some of the details are wrong.
First you have to realize that Newtonian mechanics and general relativity have different definitions of an inertial frame. According to Newtonian mechanics, the coffee cup sitting on my desk right now defines a (very nearly) inertial frame, but a falling rock is extremely noninertial, because the rock has an acceleration of 9.8 m/s2. According to GR, free-fall is the preferred inertial state, so the rock is considered to define an inertial frame, but the coffee cup has a proper acceleration of 9.8 m/s2.
The Newtonian definition is actually impossible to define 100% rigorously, but traditionally the "fixed stars" have been taken as a pretty good standard for Newtonian frames. Any frame in which the stars have a very small acceleration is considered a very good inertial frame.
So if you have the Newtonian definition in mind, then your argument only goes wrong at the end, where you refer to a "very fast speed." What's relevant is the stars' acceleration, not their speed. If a rocket ship is gliding through our solar system at 1,000,000 m/s, then it's an inertial frame. It doesn't matter that the stars have a velocity of -1,000,000 m/s in its frame; what matters is that they have a=0.
According to the Newtonian definition, a frame of reference fixed to a point on the earth's surface is not an inertial frame. You can tell this because in that frame, the stars have large centripetal accelerations. However, the earth-fixed frame comes very close to being inertial, because you can find other frames that are inertial and that differ from it only by a very small acceleration. Therefore experiments on the earth's surface need to be pretty sensitive in order to detect any noninertial effects. The classic example of such an experiment is the Foucault pendulum.
In GR, a frame of reference fixed to a point on the earth's surface is not an inertial frame, and it doesn't even come close to being one. It differs from a valid (free-falling) inertial frame by a huge amount -- an acceleration of 9.8 m/s2. Even an extremely crude experiment can determine this. For instance, I can tell because I feel pressure from my chair on the seat of my pants. A secondary issue is that the earth's frame is rotating, and GR does consider rotating frames to be noninertial as well. (There was a lot of historical confusion on this point, including some early mistakes by Einstein, who thought GR would embody Mach's principle better than it actually did.)
Answer: In a frame of reference attached to the surface of the planet, everything far away (other planets, stars, distant galaxies...) follows a circular (or nearly) path with a period of 24 hours. These paths pose two problems

They involve observed accelerations with no obvious forces causing them
Any of these bodies more than $24/2\pi$ light hours away are observed to move faster than light

Condition one runs afoul of Newton and condition 2 of Einstein.
On the other hand, a non-rotating frame attached to the Earth or a non-rotating frame fixed to the CoM of the solar system both have no trouble with the rotation and are OK in general relativity (because they are freely falling).
You can of course, see any upper-division or graduate mechanics text for a discussion of transformation to and from non-inertial frames that allow you to overcome all of this.


Glare Node not act as Expected

Question: Do not understand why Only 1 part of my Emission Tube glow via Glare node in Compositing Tab.
Thanks in advance.
Comment: You might need to crank up the brightness on the blue light tube or else lowering the threshold on the glare node.  As for the dot on the bottom of the green tube, I would probably have to see the blender file to find out what's causing that.  You can upload blender files here: https://blend-exchange.giantcowfilms.com/
Comment: [](https://blend-exchange.giantcowfilms.com/b/xME66Lvq/)
Answer: The glare node works based on a threshold value. Meaning only the pixels that have values larger than the set value will be affected by glare/bloom/glow.
Use a lower value until you get what you need.
Also, keep the mix at $0$. If you set it to $-1$ you are actually cancelling the effect completely.

Mix
Value to control how much of the effect is added on to the image. A value of -1 would give just the original image, $0$ gives a $50/50$ mix, and $1$ gives just the effect.
Threshold
Pixels brighter than this value will be affected by the glare filter.

(Form the blender manual)
Read Control light halos in the compositor based on emission level

Glare Node not act as Expected


New light fixture - grounding wire connection

Question: I'm trying to install a new light fixture for the first time in my life. I'm not sure what to do with the grounding wires, especially since the old fixture didn't have one. The directions
Do I connect the 2 grounding wires (one from the fixture,which is bare copper, one from the box) together?
Or, do I connect the box grounding wire to the green grounding screw on the fixture plate?
Or, do I connect the fixture grounding wire to the green grounding screw on the fixture plate?
Comment: Does the circuit have a ground wire (green or bare)?  How many wires are coming into the box and what colors are they?
Answer: Generally speaking, all grounds can be bundled. You want the fixture, any metal boxes and conduit, and any switches all connected to the grounding conductor.
In your case, bundle or chain them all together in the simplest and most secure manner available. Don't put more than one wire under a screw, and use appropriately-sized nuts where needed.
Use short lengths of wire to make jumps from screws to nuts, or from nuts to other nuts. As element11 said in a comment,

This is what is known as pigtailing. If you have multiple grounding
  wires, take a short 4-6" piece of ground wire and connect it to the
  screw terminal in the box. Then use a wire nut to connect this wire to
  all other grounds that enter the box, such as the fixture ground and
  the ground wire going back to the panel.


best methodology to create a war room like environment when the design team is spread across oceans?

Question: war rooms, when the whole design team are in the one location is great, big wall space, post-it everywhere, the energy, atmosphere is inspiring.
what's a good method (tools?) to recreate the same vibe when the design team is spread across oceans?
Comment: Rule 1 of War Room is there's no fighting in the war room.
Comment: only thing I can think of is good virtual meeting space. not the most helpful answer, which is why it's a comment.
Comment: Can you please make the question more actionable? For example, tell us what you specifically want to accomplish, what you've tried already & why it hasn't worked.
Comment: @Ben...rule 1 is that there is ALWAYS fighting there. OK, not FIGHTING, but quality debate. ;)
Answer: This is a really good question. I think War Rooms are a huge benefit to any project especially when people outside of UX are also using it (business line managers, developers, IT, marketing, etc).
I've rarely seen it implemented well in a physical shared room, so it's likely going to be a challenge online.
One option that comes to mind is 37Signals Campfire tool...which is really just a group discussion room where people are sharing a constant stream of questions and critiques along with all sorts of visuals. We use something similar, but sans pictures, so, not nearly as useful.
Answer: We have used a mix of software tools and video-conferencing to do this with our geographically-distributed team (though not across oceans, just continents, for us):

A wiki for notes, sketches, screen shots, photos of whiteboards, and discussion.  This is pretty asynchronous.  Discussion threads can get hard to follow, so somebody has to curate this from time to time.  We try to bubble up decisions to summary pages so it's easier to see the current state of things while preserving access to all the backing data.
We make a data-visualization software product, which we sometimes use to share mock-ups (live workflows).  Synchronous and asynchronous collaboration are possible, ranging from mirroring desktops to attaching notes to particular items.  Recently we used this software to organize and analyze a pile of data that had started life as stickie notes on the wall of a conference room.  (Somebody typed the notes into Excel and then we imported that.)
Video-conferencing.  We conducted a week-long design session this way last year, starting with affinity groups and personas and ending with information architecture and workflows.  The cameras were good enough that we could share expanses of stickie notes and whiteboard scribblings this way, though we also had screen-sharing available for sharing digital mockups.

We have found that document repositories (shared drives, SharePoint, etc) do not work well; they are where documents go to die and be forgotten.  The reason the wiki works for us while SharePoint doesn't is that "edit" link right there in the page, plus a model of informality.  Anybody can add a comment, and people do, in a format where it's easy for everybody to see what's been changing.
Comment: +1 for "We have found that document repositories (shared drives, SharePoint, etc) do not work well". SharePoint is less of a collaboration tool and more of a "document cemetary"
Comment: @DA01, I refer to such things as write-only repositories.  It may be a fine place to dump your finished artifacts for archiving, but, as you say, it really doesn't work for collaboration.


Python: Is there any way to get a list of IPs connected to a network

Question: Is there any way to get a list of IPs connected to a network? I'm trying to build lots of networking tools so.
Answer: You can use
nmap -sP 192.168.1.1-255

where 192.168.1 must be substituted with your local network address known from
 ifconfig.
Answer: Even though RFC 1122 requires any host on the network has to process an echo-request and issue an echo-reply in return it's well known that 'paranoid' people think of ping as an security risk and therefore decline to answer echo-request. So obviously no answer is no definite proof of any given host not being online.
However maybe you want to investigate nmap and the python libs that make use of it.
Comment: Hope it helps..


How to exclude fields from print page version (html, pdf)?

Question: As in question, excluding node fields from HTML print page is easy via CSS, but what about PDF version (PDF version module)?
Answer: A quick peek in the code shows that the Print module utilizes "View Modes", which is a good thing. More info in Entity view mode and Drupal 7 custom node view modes.
You should create a new suitable view mode or re-use one you already have. This allows you to control the settings with the Field UI, while still allowing you custom templates if you need to.
Answer: You can try overriding the print template (print.tpl.php). The default template for that is in the directory of the print module. That's if you're using Drupal 6.


Are licensed file geodatabase restrictions/permissions inherited when converting in ArcMap?

Question: If I create a licensed file geodatabase and I convert a feature class within in it as KMZ/KML file through the conversion tool, will it inherit the restrictions that I created within the licensed filegeodatabase?
Answer: Currently not, per Esri's Generated License File Geodatabase

You cannot license individual feature classes or tables to produce a mixed state where some feature classes or tables are licensed and others are not. However, a licensed file geodatabase allows you to add an unlicensed feature class or table through operations such as creating a new, empty feature class, copying and pasting, or importing a feature class.
Comment: So basically if I generate a license file geodatabase will not resolve my query which I have posted in another thread, i.e. my intent of applying copying restrictions to a kmz/kml that I created in ArcMap. So it seems there is no solution to what I am trying to achieve.
Comment: It will remain restricted within the File geodatabase, if you are thinking to add the KMZ/KML to the file geodatabase withe the license restriction, then export the KMZ/KML as it's own file to share with those restrictions, I don't think that is possible at this time.


Writing your last will and testament

Question:
Coming from a background where I've only ever seen readings of a last will and testament in movies, what kind of style would be expected of such a document? Some personal stuff and then legalese generated from that, or something more elaborate?
In movies the structure is usually very straightforward, with "If something (optional), person X gets Y" style clauses. This is useful for the plot, but to me this seems to cover only the "last will" part of the document. So what constitutes the "testament" part? Are these even separable?
Comment: Are you asking because you're actually preparing a will, or are you asking because you're writing a scene in which a will in central to the scene?
Comment: If this is not for a scene but for a real testament, then the answer depends heavily on the country you live in. Ask a lawyer.
Comment: if you are asking for legal advice, this site as a whole is *absolutely not qualified* to provide it.  Please consult a lawyer.  If you are asking for advice on how to write such a thing for a fictional story, please clarify.  Otherwise I'm not sure this is on-topic.
Comment: All Wills are Wills (including holograph Wills in the jurisdictions and circumstances where they are recognised), but not all Wills are Testaments. That term is historically and technically reserved for a document given under seal or witnessed. The terminology varies by jurisdiction, but in common usage in the English tradition, any Will bearing witness signatures would be called a *Last Will and Testament*. But "don't try this at home, kids" is good advice; common words may have a precise legal meaning quite different from their common meaning.
Answer: I am a lawyer from California and I can tell you there are very specific requirements to writing a valid Will. If you mess up (and people often do) the whole things winds up in Probate Court and costs a lot of money. And some people don't need a Will. They need a revocable living trust so that their estate can avoid a long and expensive probate court proceeding in the first place. But making this determination is one of the most important reasons that people should consult with an experienced estate planning attorney in their own area in the first place. To leave a lasting fulfilling legacy for your loved ones, don't rely on anything less.
Answer: As someone before said, it depends on the country you live in. Nevertheless, as far as I can tell after asking some lawyers I know (working in different countries), the common thing is try to make it as unambiguous as possible and get it notarized.
Testament and last will are, as far as "a document to legally state what you want to happen with your property when you die" gets, the same thing.
Answer: I Am Not A Lawyer, but so far as I know, you can make your will as formal or casual as you like. What matters is that it's signed as yours. I don't know the legal requirements for having it dated or witnessed. I ran through WillMaker once and it was straightforward plain language.

Writing your last will and testament


Doubt regarding field expansion in Schwartz

Question: In section 2.3.1 he says that annihilation and creation operator satisfy $$[a,a^{\dagger}]=1$$ fine no problem this is the basic definition after all. He then says on generalizing it we get $$[a_k,a_p^{\dagger}]=(2\pi)^3\delta^3(\vec{p}-\vec{k}).$$ I didn't understand what just happened, are working in momentum space here? He then goes on to say let's start with $\langle0\rvert0\rangle=1$ Now $$\langle\vec{p}\rvert\vec{k}\rangle=2\sqrt{\omega_p\omega_k}\langle0\rvert a_pa_k^{\dagger}\rvert0\rangle=2\omega_p(2\pi)^3\delta^3(\vec{p}-\vec{k})$$ where he uses $$a_p^\dagger\rvert0\rangle=\frac{1}{\sqrt{2\omega_p}}\rvert\vec{p}\rangle$$ for manipulation of first expression. But how he arrives at the third expression the commutator relation can't be used as far as I think if I use $\vec{p}=\vec{k}=0$ in above relation I didn't get back $\langle0\rvert0\rangle=1$ instead I get
$$\langle0\rvert0\rangle=2\omega_p(2\pi)^3\delta^3(0)$$ which I think is inconsistency.
Answer: There is a distinction between the one particle state with zero momentum $|\vec k = 0\rangle$ and the vacuum which is usually denoted $|0\rangle$. Setting the momentum to zero does not give you the vacuum.
What Schwartz is telling you is that in quantum field theory the one particle states really are usually normalized by this delta function prescription $$\langle\vec k\rvert \vec k\rangle=2\omega_k(2\pi)^3\delta^3(0)$$
This is useful because we often have to integrate over momentum. If you don't like that it is formally infinite consider putting the system in a finite volume and then you will get a factor of the volume instead of $\delta^3(0)$. I don't have Schwartz's book, but this is usually done in discussing the S-matrix, so if you read a bit ahead you might be satisfied.
Comment: Thanks for clarification but still the main doubt 'the commutator relation' and derivation of $\langle\vec{p}\rvert\vec{k}\rangle$ is not clear. Can you give any hint or show the steps explicitly.
Comment: $a_p|0\rangle=\langle 0|a^\dagger_p = 0$ since you are annihilating the vacuum. So swap the order of $a_p a^\dagger_k$ using the commutation relation and one term will vanish and the other is the delta function term.
Comment: @aitfel it is not a derivation, but rather a useful convention. Remember that in QM $\left| \psi \right>$ and $c \left| \psi \right>$ refer to the same state, i.e. QM is defined on the *projective* Hilbert space. So it really doesn't matter which representative vectors we choose here. Might as well just go with the ones which are most convenient for practical computations.


Difficulty of reverse engineering based on target

Question: I'm not asking about the difficulty of reverse engineering in general, but rather the difficulty of reverse engineering a particular hypothetical target. We'll assume that having the source code requires no reverse engineering and is thus the easiest. How does reverse engineering from object code, bytecode, and machine code compare? How would obfuscation affect the difficulty for each of the four formats? I'm looking for answers that try to quantify these comparisons.
Comment: I meant quantify in terms of time complexity (average and worst case if that is possible). I'm assuming execution time is a major bottleneck.
Answer: IMHO, in general, order of difficulty:

Object code
Machine code
Byte code

My reasoning is such:
Object code is easiest because it will usually contain lots of symbol or debug information. Even when it doesn't you have a bit of extra knowledge, since you know that all the code in that file relates to one compile object. That's pretty useful to know, and aids analysis (unless it's a giant monolithic program).
Machine code is next easiest because machine architectures are, in general, very well defined and very well documented. All you need is a disassembler and the code is at your mercy.
Byte code varies between easy and super hard because it can basically be anything. The byte code by itself is useless without knowledge of the virtual machine that it is written for. For instance, byte code for a JVM is easy, since we have a well defined spec for the JVM. Byte code generated for a Themida VM however, is difficult, because it's randomised and you have to analyze that particular VM before you can interpret the byte code in a meaningful (which itself is quite difficult).
Obfuscation almost always makes it harder to analyse the code underneath. But obviously it depends on the level of obfuscation. Some are trivial to bypass with a simple script, some can be bypassed by jumping over the obfuscated code (i.e junk), and others are highly complex and require complex emulators or step-by-step analysis.
It's pretty hard to quantify these differences without designing a specific multi-criteria analysis framework.
Answer: Just to add something from obfuscation perspective, I'd like to add to a good  answer by @fileoffset.
Each code transformation (such as compilation, linking and obfuscation) on the way from the source code to production executable (probably obfuscated) looses some information and optionally adds some white noise . The simplest example of such information is comments in code. The simplest example of noise is indirect calls through PLT/GOT.
This information may be categorized as follows:

Whole program semantics, such as algorithms, algorithms execution order, modules, revisions, comments, and relations of all this to all the program, etc. This information will be removed during the compilation from the program to the native code of the platform where it will be executed if the platform doesn't need it (which is not always the case for Java, .NET, and ActionScript for example because modules and classes are part of the platform low level language, but in contrary this is definitely correct for compilation to ARM, IA32-64 and other real world processors). This category of information can be corrupted by obfuscation only in case where it exists in the executable as a part of platform language, and that's exactly one of java obfuscators working methods.
Basic algorithm building blocks, such as loops, functions, conditional expressions, structures, global variables, calls to other functions, function prologues and epilogues, and almost everything else you can see within a function. Compilation will loose significant part of this information, but it may be recoverable from the context.
This category of code artifacts can be significantly corrupted by obfuscation
by using creative and non-standard patterns for standard tasks, for example control flow changes such as control flow flattening, loop unroll, not needed stack manipulations, etc. Please note that the obfuscation strength here depends on a platform requirements.
Platform level abstractions, such as registers, stack, single instructions, flags, etc. This may be obscured by obfuscation, for example virtual machine based obfuscators are just inventing random virtual machine on the fly. In addition most of obfuscators are adding not needed instructions.

Reverse engineering is a process of recovering lost information from the code,
from lowest level up to the highest if it possible at all. This process is based on recognition of standard patterns. This process gets harder if standard patterns are removed. The number or order of magnitude of removed/changed/corrupted/obscured/white-noised standard constructions may be used as an incomplete and bad measure of obfuscation strength. Unfortunately there are no other reasonable measures I know about.
Let's try to re-categorize your formats from this perspective in order of obfuscation removing efforts needed.

Source code
Object code
Not obfuscated production code for high level well known platforms such as .NET, ActionScript, and Java
Obfuscated production code for high level well known platforms such as .NET, ActionScript, and Java
Not obfuscated native code
Native code obfuscated without Themida like VM
Native code obfuscated with Themida like VM

The best (and funniest) heuristic to check and justify the order above is a cost of decompiler (which is automated reverse engineering tool) for corresponding platform, its existence and its quality.
For example some Java decompilers can do automatic partial deobfuscation and can almost always reconstruct the code on a class method level with cost of license $0
Native code decompiles, in contrary, are either doesn't work well enough (none of them reaches quality of JAD, very old java decompiler) or cost a lot such as Hex Rays decompiler, the only stable working decompiler I know (and I tried a lot of others).
By the way, there are some articles that trying to measure obfuscation strength, such as this, for example (the article is almost useless for real life binaries, but the list of references is interesting). None of them that I know working with reasonable size of executable under test. Most of them working with not realistic assumptions and/or exploiting specific obfuscation algorithm flaws.


Reference request: Introductory books on Quantum Logic

Question: I'm looking for introductory materials that presents the logic of quantum mechanics originally developed by von Neumann and Birkhoff suited to someone who took a full introductory undergraduate course in QM. Material concerning quantum logic is hardly discussed in introductory texts, so I would appreciate some recommendations for students looking to familiarise themselves with this area.
So far the only suitable reference I've found is "An introduction to Hilbert Space and Quantum Logic" by David W. Cohen.
Comment: At the risk of projecting my own opinion, I don't think "quantum logic" is a very active way of looking at things. The usual argument that "quantum mechanics plays different rules of logic" relies on the assumption that the classical conception of particles and fields is an accurate realist depiction, which is likely fallacious. Almost all modern viewpoints reject the realism of classical (or even quantum mechanical) descriptions of the universe.
Comment: E.g., while "quantum logic" says "a particle can be in two places at once and thus logical propositions can have multiple values,' physicists are much more inclined nowadays to reject the assumption that a particle is something that can only exist at one place/point. So, actual books on "quantum logic" in the sense of your question may tend to be older or more philosophy/logic texts than physics texts. The spiritual equivalent within physics today are the non-realist interpretations, like QBism, etc.
Answer: I don't think that quantum logic is any useful. But if you want to learn about what it can say, look at the little book

''Quantum Logic'' by Karl Svozil (Springer, New York 1998).

It deals with the foundations of quantum mechanics and, related to it, the behaviour of finite, discrete deterministic systems. The quantum logical approach is particulalry suitable for the investigation and exclusion of certain hidden parameter models of quantum mechanics. Conversely, it can be used to embed quantum universes into classical ones. It is also highly relevant for the characterization of finite automation. This book has been written with a broad readership in mind. Great care has been given to the motivation of the concepts and to the explicit and detailed discussions of examples.
A more advanced book (probably beyond what you want) is

J. Hamhalter, Quantum measure theory, Springer, New York 2013.


Why is Geoserver downsampling my geotiff?

Question: I created a KML file from a geotiff using Geoserver, but the image looks really pixelated in Google Earth. The image is a geotiff and is only around 7MB. Any reason why it might look so pixelated?
Comment: which version of Geoserver are you using?
Comment: I am using Geoserver version 2.2
Answer: Please do inner tile and add overviews to your tiff file, see here:
http://demo.geo-solutions.it/share/foss4g2011/gs_steroids_sgiannec_foss4g2011.pdf
Comment: I added tiling and overviews as you suggested, but the image still appears the same. Any idea what is wrong?
Answer: Found this on a mailing list and I think it is should address your situation as well:

If you have .tif and .tfw files then you probably do not have geotiff,
  just a plain tiff with world file for georeferencing. Problem is that
  world file does not tell the projection.  You can try two options:

Convert image to GeoTIFF with gdal_translate. Command to use could be like  gdal_translate -of GTiff -a_srs epsg:4326 -co tiled=yes
  test.tiff georeferenced.tif
Or create a .prj file which contains the information about the projection in the ESRI style and place it to the same place as .tiff
  and .tfw

You might want to convert it to a real GeoTIFF as suggested in the list and see if it works.
As for the pixelated images, you can try tweaking the WMS Raster Rendering options.

Try using the bilinear or bicubic interpolation. It should be able to address your pixelation issues.


Can I feed multiple different band antennas with one coax?

Question: Can I feed multiple different band antennas with one coax to the transceiver?
Answer: Yes. The device you want is known as a diplexer (or triplexer, etc, for more than two bands; also sometimes duplexer).
Electronically, it is just a combination of a low-pass filter and a high-pass filter, which will route the signals to/from the correct antenna based on their frequency.
You can obtain diplexers for various band combinations from amateur radio parts suppliers. With some electronics skill it is also feasible to make your own, since they are straightforward filter circuits made with inductors and capacitors.
Answer: Kevin's answer about diplexers/triplexers is certainly correct especially in the general case. However, sometimes a separate diplexer is not really needed in practice!
For example you gave an example elsewhere of "different bands like 20m + 15m + 10M" [bold added].
It's possible to run one coax to a multiband dipole made ± simply by attaching multiple antennas to the same feedpoint. It's often called a "fan dipole" nowadays (although that originally referred to something else almost more related to a discone).
The idea is that a center-fed dipole antenna that readily accepts 20m signals will eagerly reject 10m signals! (Since the frequencies are approximately double, the 20m quarter wave element with an impedance not terribly far from 50Ω looks like an end-fed half wave element to a 10m signal — an impedance perhaps more in the 500–5000Ω range!) And perhaps somewhat similar for a band like 15m in between. At the feedpoint the antennas each sort of "self-filter" so that a signal on a particular band ends up radiating mostly from the elements best for that band.
Now it's not quite as simple as taking antennas perfectly tuned for each band and hooking them together. The wires nearby mutually affect each other and there must be some effect not unlike "resistors in parallel" that effects the impedance at the combined feedpoint. So it can take a bit of careful adjusting to get everything to work out right, but once it's tuned can be a reasonably efficient setup.
I'd recommend starting with an established design such as:

https://www.electronics-notes.com/articles/antennas-propagation/dipole-antenna/hf-multiband-fan-parallel-dipole.php
http://www.audiosystemsgroup.com/LimitedSpaceAntennas.pdf
https://www.hamuniverse.com/multidipole.html
http://www.glagowski.org/Radio/Antennas%2020%20thru%2010%20Meter%20Fan%20Dipole.htm
https://wb4iuy.blogspot.com/2011/11/great-fan-dipole-diagram.html
https://ve6lk.com/about/fan-dipole/
https://practicalantennas.com/designs/dipole/multiband/
http://wireless-girl.com/Projects/Multiband-Dipole/

The trick might be to not try squeeze too many bands into one antenna. E.g. a 40/20 or 20/10 setup is probably fairly easy to get right, whereas a 30/20/17/15/12/10 combination might be pretty finicky, and the set of lengths that end up working for one ham's soil and surroundings might not even work there reliably, when the weather changes!


Why does it only take one moderator to close a question?

Question: One of the users at History SE, proposed a system where moderators are granted only 3 close votes, as opposed to their current power to unilaterally close questions. This would have the effect of requiring two moderators, absent other user close votes, to close a question. I'm assuming that the reason moderators have this power is for efficiency reasons, but has this type of alternative system been implemented before?
Comment: Wanting a soft mod vote to close is part of an underlying desire to have to put your fingers all over everything. That's as bad as closing all the questions. If you're not sure, let it be.
Comment: @random - the problem is that on some sites, some mods (of which the OP here is NOT an example, ironically) do strongly love to stick their fingers everywhere and case premature binding votes, and have very little/no doubts about that.
Comment: You mean, in the history of Stack Overflow? No.
Comment: Why? Because we are _awesome_, that's why! ;)
Comment: I've posted [an answer](http://meta.history.stackexchange.com/a/476/739) on Meta History, so I won't bother answering here (also Michael's answer covers me). I'll just say this: If a mod isn't 100% sure if a question should be closed, they shouldn't be voting to close at all (even if your proposal was implemented - when there's a diamond next to your name there's little room for taking action without being 100% sure). And if they happen to make a mistake, it really isn't a big deal, a closure is quite easy to reverse.
Answer: To the best of my knowledge, this system has never been considered on any Stack Exchange site. I'm sure there are plenty of forums, BBSs, or Q&A sites that have tried it.
Moderators on Stack Exchange sites have nearly unlimited powers. There are limits - they can't migrate questions that are more than sixty days old, for instance, a relatively recent change. They can't see lots of things, like detailed voting data, that the devs can see. But in general, they've got the power. And that's a good thing.
To use a well-worn phrase, moderators are Human Exception Handlers. Cleaning up messes is what they're here for. Not real sure a question should be closed? Leave it up to the community, wait for five 3k users to chime in. A rant about Google's robots.txt-based world takeover? Kill it with fire.
Moderator powers can be abused, in the small or large. If that happens, often enough, it'd be time to consider measures, like the one you're discussing. I've never seen it, though. Moderators, maybe by dint of going through an election with dozens of contenders, do amazing jobs, and don't screw up, that I've seen. If they did - if they're regularly closing questions that don't deserve it, or otherwise abusing their powers - then the thing to do it recall them. Revoke power from the berserker, leave it in the hands of those who wield it well.
Comment: +1. Moderators are trusted more by the system basically by definition. The whole point of appointing moderators is to give extra power to folks who are then trusted to make decisions on their own, including the decision to not exercise that power unless necessary. There are some tasks that, if made available to moderators, we'd probably put in some sort of consensus/validation mechanism for, but overall everything moderators do is logged and most of their actions can be reversed. Putting in roadblocks in front of them would just make it harder for them to do the job they were set up to do.
Comment: Moderators cannot see who voted for what, we can only see voting _patterns_ and only after there's a large(ish) number of concentrated votes. Even then what we see is who voted for (or against) who, we don't know on which posts the suspicious votes were cast on.
Comment: Hmmm. I'm not a regular on p.se, so for all I know, @Yannis is the exception here. I'm watching you.
Comment: I HAVE seen moderators go seriously overboard. Not out of malice, but due to being very poor judge of what should be closed. I've had 2 out of 3 questins reopened after discussing them on Meta, out of 3 binding-vote-closings by the same mod in a space of a couple of days. Moderator binding votes should be reserved for **time-critical** closures, like spam or offensive material.
Answer: I found that getting the power to unilaterally close changed the way I think about closing questions. There is no longer any wiggle-room to evade the responsibility, I can't just say "there were four other users who voted to close, I'm not responsible that we all made a bad call". When I close as a moderator I am fully responsible for my decision, and I should be sure that my action is the correct one.
This means that I avoid unilaterally closing borderline questions where I'm not sure if they should be closed. Unless they cause too much noise or trouble, I leave those to the community.
But I see no harm in moderators using their close powers if they are sure about it, they are still members of the community and should not hesitate to act if it is appropriate.
Of course moderators will get it wrong occasionally, most of them are only human and might misread a question and make a mistake at some point. But the community makes mistakes too when closing, requiring five votes does not ensure 100% accuracy. If moderator closings are reversed rather often, then there is obviously a problem. Either the community is split on the interpretation of the site rules, or there are no sufficient rules for this case. Those are all cases that need some kind of meta discussion anyway, just making moderators less powerful doesn't solve these problem.
The power to close is also by far one of the least dangerous powers, it can be undone by the community if they think the moderator was wrong and it is very visible. Moderators have access to far more dangerous tool, if we trust them with those why shouldn't we trust that they use their close power responsibly?
Answer: Moderators should not usually vote to close a question, even in situations where they would have done so before they became moderators and gained powerful mod close votes. Thus, the solution to moderators being so powerful is for them not to use their power without due consideration and deference to their communities.
Usually, at least as far as I have seen, moderators of Stack Exchange sites act within their limited role and try to defer to their communities. That is, the solution is currently implemented pretty well.
If a situation arises where or or more moderators does not do this, then this is not a technical problem that would call for a technical solution; instead, the solution is for them to use their power more appropriately.
If a moderator acts inappropriately, the solution is for us to politely but firmly object, explaining why we think their behavior was a problem. If the matter becomes serious (or starts out that way), the solution is for members of the community to contact the community managers about the matter.
In my opinion, moderators should only vote to close a question when one of the following situations applies, or perhaps something clearly similar. These criteria are subjective, this is my opinion (though it is distilled from things I've heard moderators say), and it's certainly possible for people to disagree about whether or not a particular closure fits into any of these situations. On the other hand, many possible closures clearly do fit, while many others clearly do not.
This is a list of situations where it is not a problem for moderators to cast a close vote:

The reason to close it is clear, and not controversial. It's unlikely anyone reviewing the post and paying attention wouldn't close it.
The reason to close is clear, was controversial, but was discussed resulting in a clear community consensus in favor of closing the question. (This is a consensus from the community itself, not something coming from the moderators.)
The moderator close vote is cast as the fifth vote, and thus acts no differently from any close vote.
The question has a few close votes from the community, and either (1) close flags coming in from lower-rep users show there is sufficient pressure from the community to close, or (2) the site is going through an unusual bottleneck period where there are not enough active close voters that the system can work fully as intended.
The site is very new, so the system cannot work fully as intended. Sometimes moderators of new sites--usually very new, such that they are moderators pro tem--must perform administrative work that the community will soon be able to take over.
The OP requested closure and the request is at least minimally reasonable. For example, the OP might want the question closed because it has become too localized ("we just reinstalled") or to get the question migrated to a different SE site.
The moderator is closing the question and then immediately reopening it. This is sometimes done to clear out close votes that are uncontroversially wrong, or whose wrongness has been established by community consensus, or where the original close voters have changed their minds. A question with four close votes, where the community attitude is still to close, should of course not be closed and immediately reopened by a moderator.

Outside those situations, moderators should be extremely reluctant to cast a close vote. That's the solution to the "problem" of moderator close votes being effectively five times as powerful as a normal close vote. They should be used far less than one fifth as often.
Comment: Moderators are allowed to close questions that are blatantly off-topic / not constructive / not real questions. Also, if a moderator casts the 5th close-vote, the vote is practically like the vote of any other users.
Comment: @kiamlaluno That's covered in my list though, isn't it? If a question *blatantly* meets the description for any close reason, that's just *another way of saying it's obvious*. That would be clear and uncontroversial. Furthermore, *the very first situation* I listed where I said it's appropriate for a moderator to cast a close vote is, "**The moderator close vote is cast as the fifth vote, and thus acts no differently from any close vote.**" Forgive me if I suspect you ***may not have read my answer.*** Is there really anything wrong, or even controversial (heh), in anything I've said here?


apt-get install python-minimal:armhf removed KDE; what now?

Question: Environment: Debian 8.0 (Jessie), x64, KDE desktop, with armhf architecture added for cross-compilation to BeagleBone.
While building Boost 1.55, I needed the python package. Makes sense, as Boost has some Python integration stuff. apt-get install python:armhf failed, on "held packagages" but that apparently is a known bug (I have no held packages). apt-get install python-minimal:armhf was accepted but suggested removing a number of packages including a lot of Boost 1.55. That wasn't entirely weird because I had a native version (isntead of the correct :armhf). However, that also removed the whole GUI dropping me at a text prompt (!).
Obviously an apt bug, there is no way in the world why a python package for ARM should affect KDE for x64. But how do I get my GUI back?
Answer: try sudo aptitude install kde-desktop
Comment: `kde-desktop` was the package I needed.


Do I play C and G as natural in G major?

Question: For any major played, (G major, D major, etc.) do we play everything else as a natural? (Ex. G major only uses every F as an F#, so would C and G both be played as a natural in the piece if they are there?)
Comment: I answered your similar question yesterday. The G major scale is G A B C D E F♯ G. D major is D E F♯ G A B C♯ D. Each major scale differs from every other major scale by at least one sharp or flat. Look up the circle of fifths. This shows you that keys and scales add a sharp (or lose a flat) as you move clockwise. (C has no sharps or flats. G has 1. D, 2. A, 3. E, 4. B, 5. F♯, 6.) You add a flat or lose a sharp as you move counter-clockwise. (C, 0. F, 1. B♭, 2. E♭, 3. A♭, 4. D♭, 5. G♭, 6.)
Answer: If you are in the key of G Major you only have one accidental: F# as you already know. You will see the # noted in the key so every F you find will be sharp if not differently stated. And again, if not differently stated, this means every other note will be natural.
But remember, a scale is only a reference, not a strict unbreakable rule. You can find other accidentals even without modulating to a different key. Those are used for a lot of reasons: building tension, supporting the harmony, bridging between two chords and so on..
So in the same piece, in the same G Major scale, the C (or even the G as every other note) can be used natural, sharp or flat.
Answer: I THINK I understand your question!
Yes, when playing a scale the key signature tells you which notes are to be played as sharps (or flats).  The remaining notes are played natural.
Answer: Well, yes. If the key signature says 3 flats, everything else is natural. If they were anything else, we'd have to write it in the key signature!


How specifically do emulsifiers work?

Question: I'd like to understand better how emulsifiers prevent droplet coalescence.  There must be something more they do than just lower the surface tension between the droplet and the ambient substance.  I tried to look up the answer but there's a lot of qualitative semi-explanations floating around that seem to choke out any precise explanation.  If anyone can give a detailed explanation, that would be great!
Comment: Well for anything that goes beyond the qualitative you'd need specific examples, like oil in water. In that case the emulsifier would have a hydrophile and a lipophile end and thus overcome the repulsion between oil and water
Comment: Yes, I specifically had oil and water in mind, but I'd like to learn anything about them I guess.  Are vastly different mechanisms responsible in other cases?
Answer: In general emulsifiers do not work by lowering the surface tension. They do lower the surface tension, but it is still thermodynamically favourable for droplets to coalesce.
Given the above I'm sure you've already guessed that the emulsifier creates a kinetic barrier. If you take an oil in water emulsion stabilised with a typical anionic surfactant, to make two drops coalesce you have to displace surfactant from the oil/water interface into either the water or the oil. There is an energy barrier associated with this process, and this prevents coalescence.
You can still break emulsions given enogh shear. For example oil in water emulsions are used in some hydraulic systems. The extreme shear involved, in e.g. pumps, overcomes the kinetic barrier and breaks the emulsion, and this is used to provide oil for lubrication where the shear is highest.

How specifically do emulsifiers work?


Estimating CommCare Mobile Data Consumption

Question: I am trying to estimate how much mobile data I should provide to users for my CommCare application project. What are the estimates for how much data is required to submit a form, sync with the server, etc.? Do factors such as inconsistent internet connectivity lead to greater data consumption?
Answer: This tends to be a fairly difficult thing to do, but here are some guidelines that may help you estimate.
Determine the size of your restore
To do this, simply hit the restore of a mobile worker on CommCareHQ of a normal load (https://email@example.com)
Right click and hit "Save as". Then use a file explorer to figure out how large the restore is
Call this restore_size.
Determine the size of a form submission
Look at an average form that your users will be submitting on CommCareHQ using the Submit History report or something similar. Once you've opened the form, click the Raw XML tab and then open the form xml in a new window. Repeat the process of saving the XML and looking at the size of the file.
Call this form_size
Estimate usage
Once you have the size of a restore and the size of a sync, you now just have to determine how often a user will sync or restore per day. Then to get your estimation on data usage you can do the following:
(restore_size * n_restores_per_day) + (form_size * n_form_submissions_per_day) = daily_data_usage_size

Note that this assumes application installs have been done on the Wifi.

Do factors such as inconsistent internet connectivity lead to greater data consumption

In general this should not be an issue.
Answer: Just one small addition - As Ben mentioned, this does not assume there are app installations on the mobile network. If you think there will be app updates over the mobile network, you may want to add buffer for that. In addition, if you anticipate that case loads will increase over time you might also add some to account for that.
Answer: One very important thing I want to add to the answer above, which can make things quite confusing:
When we receive data from the server we also compress the data in the "zip" format before it is transmitted over the wire. This can have massive impacts on the amount of data used. On large programs we have had 20MB "Restore" files containing user data compress down to < 1MB.
You can evaluate this by using a Zip program on your computer to compress the file before calculating the restore_size that was mentioned in the leading answer currently.
Answer: You can also use the Android built in features to directly measure the data usage of synching.  Your Android should track data usage per application and you should be able to reset the count to 0 whenever you'd like. (On my phone there is "Data Usage" section when I click on the connection from the settings menu and most Androids have something similar).
You can run some tests locally with different size files and experiment what happens when you sync ... maybe submit a bunch of data on Web Apps that updates and creates cases, then sync your phone and see how much data it uses.
Obviously this will all be estimates, but if you have someone actually using the app in the field you can get exact info. So you can use the estimates but after a month or two of real usage you should have pretty accurate empiric data to base it on.


MonoTouch, ZXing: Redirect to another ViewController after scan

Question: I'm using the ZXing MobileScanner lib with my xamarin project for iOS (MonoTouch).
I set up the scanning, it is working fine, reading my QRCode and having the correct result.
After reading the QRCode I want to show another ViewController. I set a property in the second Controller with the result from scanning and then want to show the controller.
The second view is not shown on screen. No errors, no feedback, simply not shown.
I guess, the MobileScanner builds up its own View (which can be seen in the source of the lib) and adds this to the NavigationController - and that this causes my Controller to stay "behind". Testing with simply redirecting to my controller on button clicks is working fine.
I also tried to "dispose" the view by calling scanner.Cancel(), but this results in
Warning: Attempt to dismiss from view controller <UINavigationController: 0x19a0c60> while a presentation or dismiss is in progress!

Here is my code, any help on how to display my view is appreciated.
public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();

        // Perform any additional setup after loading the view, typically from a nib.

        scanner = new MobileBarcodeScanner(this.NavigationController);

        this.btnScan.TouchUpInside += (sender, e) => {

            //Tell our scanner to use the default overlay
            scanner.UseCustomOverlay = false;
            //We can customize the top and bottom text of the default overlay
            scanner.TopText = "Ticket vor den Scanner halten";
            scanner.BottomText = "Code wird automatisch eingelesen";

            //Start scanning
            scanner.Scan ().ContinueWith((t) =>
                                         {
                //Our scanning finished callback
                if (t.Status == System.Threading.Tasks.TaskStatus.RanToCompletion){
                    string msg = "";
                    ZXing.Result result = t.Result;

                    if (result != null && !string.IsNullOrEmpty (result.Text)) {

                        scanner.Cancel();

                        if(this.ticketScreen == null) {
                            this.ticketScreen = new TicketScreen();
                        }

                        this.ticketScreen.ticketUrl = result.Text;
                        this.NavigationController.PushViewController(this.ticketScreen, true);

                    } else {
                        msg = "Code nicht erkannt!";
                        this.InvokeOnMainThread(() => {
                            var av = new UIAlertView("Fehler!", msg, null, "OK", null);
                            av.Show();
                        });
                    }
                }
            });

        };

    }

Comment: If I put the opening of the second view into another buttons handler, it is working fine...
Answer: I use this.InvokeOnMainThread(() and it works fine in my code.
The solution for you is:
public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();
    // Perform any additional setup after loading the view, typically from a nib.

    scanner = new MobileBarcodeScanner(this.NavigationController);

    this.btnScan.TouchUpInside += (sender, e) => {

        //Tell our scanner to use the default overlay
        scanner.UseCustomOverlay = false;
        //We can customize the top and bottom text of the default overlay
        scanner.TopText = "Ticket vor den Scanner halten";
        scanner.BottomText = "Code wird automatisch eingelesen";

        //Start scanning
        scanner.Scan ().ContinueWith((t) =>
                                     {
            //Our scanning finished callback
            if (t.Status == System.Threading.Tasks.TaskStatus.RanToCompletion){
                string msg = "";
                ZXing.Result result = t.Result;

                if (result != null && !string.IsNullOrEmpty (result.Text)) {

                    scanner.Cancel();

        this.InvokeOnMainThread(() =>
            {
              if(this.ticketScreen == null) {
                    this.ticketScreen = new TicketScreen();
                }

                this.ticketScreen.ticketUrl = result.Text;
                this.NavigationController.PushViewController(this.ticketScreen, true);

        });

                } else {
                    msg = "Code nicht erkannt!";
                    this.InvokeOnMainThread(() => {
                        var av = new UIAlertView("Fehler!", msg, null, "OK", null);
                        av.Show();
                    });
                }
            }
        });

    };

}

Comment: Invoking on the main thread still causes the warning, but it does push the controller.


Mobile Adhoc NETwork

Question: How to create a Mobile Adhoc NETwork using bluetooth for transmission and j2me for programming? Where should I start?
Answer: You can start by first choosing an API for Bluetooth like Bluecove etc. Google the available APIs that support java and you can choose any one you find better for you. I have personally worked on Bluecove. But i have never created an Adhoc network. I think you need to create a PAN (personal area network) via bluetooth. Please elaborate how you want to use your ad-hoc network so can tell you something more about it.

Mobile Adhoc NETwork


How to turn scrolling "one screen at a time" off with MS Comfort mouse 4500

Question: Under Windows-7, my 4500 mouse scrolls way too fast with "old" "one screen at a time"  settings.
I tried to disable the scroll "one screen at a time", but this function was no longer available with the Intellimouse drivers.
First, I tried to reset the HKEY_CURRENT_USER\Control Panel\Desktop: WheelScrollLines from -1 to 10. But this value is reset to -1 after a reboot.
I removed the Intellimouse software and with the "bare bones" mouse configuration tool, un-checked the scroll "one screen at a time".
After saving and closing, nothing changed.
When I re-opened the mouse configuration tool, the scroll "one screen at a time" was reset to be checked!
In other words the new value was not saved correctly or was immediately overwritten to the old value (scroll 1 page).
How can I permanently set the mouse configuration to scroll, e.g., 3 lines instead of the one screen at a time?
I have not yet re-connected the new Iintellimouse 4500, since the Intellimouse drivers will hide the scroll "one screen at a time".
Answer: I finally found the culprit. It was Katmouse, running in the background, which was preventing me from changing the scroll settings.


How to complete "Bankrupt" objective, running without getting coins?

Question: The December 2014 Temple Run 2 update included the "Bankrupt" objective, which is to run 2000m without any coins.  This is a harder version of the earlier related ones (Stingy- 250m, Miser 500m, Allergic to Gold 1000m) and with the longer distance is much harder.  There is a good chance with the longer distance of getting into Narrows, Mine Tunnels, Waterslides, or sections where the path has fallen away and it is too narrow to avoid the coins.  What are some good methods for completing this objective?
Answer: For this objective, you need to be lucky and skilled.  It's like the shorter versions where tipping and jumping can get you past coin sections without grabbing any, but harder.  There are a few running sections which make this impossible:
1) The mine car sections generally you cannot avoid coins on the single-track sections, so you are doomed if you happen to get a mine car section in the first 2000m.
2) The narrow board sections are basically impossible to run through without getting coins.
3) A "gold coin" or "magnet" power up above a gap in a bridge means that you will end up collecting coins.
So if you get any of those, you'll pretty much have to try again.  The parts where the path is narrow can also spell trouble, although sometimes you can jump to avoid coins there is the placement is favorable.
A few things to note now after completing this objective on multiple devices:
1) The water slide sections are great for this objective, as you can dive underwater for long stretches and avoid coins and obstacles there.
2) In the earlier versions, you could intentionally die if you were about to get some coins unavoidably, and then resurrect and be further down the paths and hopefully be in a place where it was again easier to avoid coins.  But with the present system of Resurrection rewards, many of the Resurrection rewards (any gold or the magnet) ruin the "no coins" aspect of your run.  But if you have some gems to spare, you can reroll the reward until you either get the shield power up (useful for avoiding coins) or the running boost (tricky to continue avoiding coins but at least possible.)  It may take a fair number of rerolled rewards for this to be useful, so probably it doesn't make sense unless you are already close to 2000m and just hoping to get a little further without coins.
3) It is worth jumping to get the Shield power up when trying to complete this objective, as that can help you survive while trying to avoid coins.  The Gem and Artifacts Chests you can jump for but don't help or hurt, and the Coin and Magnet ones are bad and need to be avoided.  Boost doesn't directly ruin things, but it generally makes it harder.
4) Those stone arches are difficult because they block the view of the coins past them, making it hard to know which side to be on.  With the shield power up active, you can jump through the arch and see where the coins aren't and aim to land there to avoid coins.
I found that it took many efforts but it was nice to have a good challenge and a new objective.  One thing is that if you haven't already completed the Mega Runner objective of needing 1000 lifetime games, you may make some good progress on that with all of the short aborted games where you accidentally grabbed some coins!
Edit: Some people recommend pausing at corners and such to stop to get a better view of where the coins are, but I didn't find that necessary.
Comment: If you want to edit your answer, feel free to use the edit button at the end of it.
Comment: @shunwoo: thanks, I edited it to include it in the body!
Answer: I used the headstart of 10000 coins, avoided coins during the initial rope sliding, then was lucky to not hit any coins during the boost automatic run..then got the water section, so used water slide (under water) continuously..it worked for 2000 Meters
Answer: The key is to always jump around the corners. By doing so you can avoid the hidden coins when you turn. This was a hard challenge but once I started jumping it only took a couple attemps to complete it.
Answer: I haven't completed it yet but one thing that has helped me get further is to run into the sides which will allow you down temporarily, just don't do it again until the beast is gone.


How to implement the cross term (multi-qubit) in the square of the finite difference operator?

Question: I am trying to simulate the Hamiltonian evolution of the 1+1D $\lambda\phi^4$ scalar field theory by digitising it and encoding on a quantum computer. The process of digitising is taken from this paper: https://arxiv.org/abs/1808.10378.
The evolution operator is: $e^{-iHt} = exp(-it(\frac{1}{2}m^2\phi^2+\frac{1}{2}\Pi^2 + \frac{\lambda}{4!}\phi^4+\frac{1}{2}(\nabla\phi(x))^2))$
The term that brings trouble is: $(\nabla\phi(x))^2 = (\phi(x+i)-\phi(x))^2= \phi(x+i)^2 + \phi(x)^2 -2\underline{\phi(x+1)\phi(x)}$
In short terms, space is discredited into sites, each site is assigned a set number of qubits (3 in my case) to represent the value of the field at that site. $\phi(x)$ is the field operator that acts on a site $x$ ($\phi(x+i)$ is the field operator acting on the next adjacent site of the latice), which in the computational basis is a diagonal matrix that returns the value of the field of a targeted site: (in the 3 qubit case)
$\phi(x) = \frac{\phi_{max}}{7}\begin{pmatrix}7&0&0&0&0&0&0&0\\0&5&0&0&0&0&0&0\\0&0&3&0&0&0&0&0\\0&0&0&1&0&0&0&0\\0&0&0&0&-1&0&0&0\\0&0&0&0&0&-3&0&0\\0&0&0&0&0&0&-5&0\\0&0&0&0&0&0&0&-7\end{pmatrix}$
Since the operator targets 3 qubits, its matrix representation is a $n_s \cdot n_s = 8\cdot8$ matrix. Implementing $e^{-it\phi(x)}$ and $e^{-it\phi(x)^2}$ is straightforward, as it is easy to square and to take an exponent of a diagonal matrix. However, how would one implement a $e^{it\phi(x+i)\phi(x)}$ operator? And what would its matrix size be?
Currently, I assumed that this is not a standard matrix multiplication like in the $\phi(x)^2$ case and is instead a tensor product, which would yield a 64x64 matrix that one can apply to the 6 qubits representing two sites. However, this assumption doesn't have any basis except the fact that one would expect this size.
I am working with a quantum simulator (CIRQ), so for the time being am implementing custom gates directly as big matrices without decomposing them as pauli matrices.
Answer: After some looking into this, the two operator product is a tensor product instead of normal matrix multiplication. For a 2 qubit system, operator $\phi(1)$ is represented as a matrix acting on the full system as $\phi(1) \otimes I(2)$.


What characterizes ragtime drumming?

Question: I listen to a lot ragtime pieces played by brass bands. What generally characterizes the drumming? Which elements of the drumset are used more and which aren't used as much?
Comment: Just a note: Historically ragtime was played straight, and not with swung eigths or sixteenths.
Comment: Ooops! You beat me to it. Sly devil!
Answer: Ragtime and Jazz percussion are similar - they do have their differences though. To focus on developing your ragtime skills, master press roll/rim/woodblock rhythm patterns (less of a swing feel than jazz) and use small splash cymbal patterns for keeping time.
Press Roll: 4 beats with the right hand, on beats 2 and 4 do a press roll with the left hand. A two hand press roll or shimmy beat can add variety. Bass drum chugs along at beats 1 and 3, cymbals should be simple and not overbearing.
Here's a great example of ragtime drumming technique a friend sent to me

Hope this helps!
Comment: While cool, this is Dixieland. Ragtime doesn't swing, it keeps a strict time.
Comment: I've never seen an authoritative source for ragtime always having straight eighths. There are multiple piano roll recordings of Joplin which are swung (which could have been added by the publisher, but in either case was not extemporaneous). Eubie Blake swung rags in his performances, AFAICT. I'm sure there are other examples.

I think we might need a separate term for the straight, slow, unembellished versions that classical musicians pretend are historically accurate -- perhaps "Rifkintime."

What characterizes ragtime drumming?


AD625 instrumentation amplifier simulation model

Question: I am using AD625 as differential amplifier since the input offset voltage is very low. I completed the designing part but I didn't find any simulator where  I can simulate AD625. How to simulate AD625 using LTSpice? Or is there is any simulator available where I can simulate AD625?
Answer: There is a SPICE model for AD624, but not for AD625. The two amplifiers are very similar, importantly the same GBW and Vos, but not identical, as the 624 incorporates a few extra resistors on the input to simplify gain control.
Open the two datasheets side by side. You may be able to modify your 625 circuit to incorporate the 624 resistors. If you can identify those input resistors in the SPICE file, you should be able to delete them from the model, and bring out the internal nodes.
Comment: so your saying download spice model for AD624 and change it in a such away that its functionality becomes similar to AD625?
Comment: @AkshayKumar Yes. As far as I can tell from the data sheets, the silicon inside is identical, the only difference is the few extra resistors around the input. If your 625 circuit is consistent with the placement/use of those resistors, then you can use it as is. If not, those resistors ought to be easy enough to find and remove from the file.
Answer:
I am using AD625 as differential amplifier since the input offset
  voltage is very low.

Let's start here - I disagree if you look at the bigger picture for many circuit scenarios and also consider output offset voltage and drift: -

And compare it with something like the AD8221 (that does have a spice model: -

It beats the AD625 hands down in most applications and temperature related drift is particularly good. The AD8221 is a little bit noisier but maybe this is not a problem for your application - only you can say. Gain versus frequency are about the same for both devices.
The AD625 doesn't appear to have a spice data sheet because it is a little bit oddball in the way it uses the gain sense pins.
Answer: Did you google it? Here it is http://www.analog.com/en/design-center/interactive-design-tools/error.html
I doubt there is a model for LTSpice. You should probably port existing SPICE file to LTSpice. There is plenty on how to do that online.
Comment: yes sir.I saw that design calculator but i was looking for simulation models..


Precompiled XSLT, ReBase and NGEN

Question: Advanced performance question here.  Here's my scenario:
I have a database that contains thousands of XSLT documents.  One for each page of a website so these translate XML into HTML.  An ASP.NET web server (farm) loads the XSLT documents from the database and uses them to render HTML for each web request.
I've implemented the optimization of using XslCompiledTransform and caching it between database refreshes (every 30 minutes).  I'm looking to notch performance up further by pre-compiling the XSLT to DLLs with xsltc.exe.  This is supposed to eliminate all the Dynamic Method Invocations that XslCompiledTransform creates.
So, I have a separate server writing the XSLTs to files and running through them with xsltc.exe. Takes about 20 minutes but that's OK.  I then drop the DLLs onto each webserver.  Now I can just have the webserver dynamically load the DLLs on an as-needed basis.  Here's the code I'm using to load the assembly into XslCompiledTransform:
<code>byte[] bytes = File.ReadAllBytes(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "XsltDlls\\" + fileName + ".dll"));
Assembly assembly = Assembly.Load(bytes);
Type type = assembly.GetType(fileName);
XslCompiledTransform compiledTransform = new XslCompiledTransform();
compiledTransform.Load(type);
</code>
Shoud I ReBase.exe the DLLs in the directory and/or NGEN.exe them?  ReBase takes about 5 minutes and NGEN.exe with /queue will take about 10 minutes during which CPU is hit hard - likely causing an impact to the traffic serving function of the webserver.  Given how I'm loading the assembly by reading bytes from the assembly will the native NGEN image even be referenced or will the JIT fire up anyway?
Any/all insight into this will be MUCHLY appreciated!
malcolm
Answer: Wow!
Assembly.Load(string) does permit native images to be loaded.  However, I suspect that the overload that takes a byte array may not use it.  I can't find a reference for that, but perhaps some experimentation using the Assembly Binding Log Viewer on a test project might prove either way.
You also have to make sure that your assemblies are strongly named for the native image to be used.
As for rebasing, this blog suggests that it's not required on Vista generation OSes or later.

Precompiled XSLT, ReBase and NGEN


Do multiple casts of Haunt on the same target stack?

Question: I would generally assume they don't as dots in every other game blizzard has created have not stacked when cast by the same player, only I just fought a mini-boss with haunt and it being my first time using the spell, I figured what they hell why not try? And my dps DID seem to increase dramatically after multiple casts. (I can BARELY run D3 with my current system, so turning on DPS numbers to test this myself is something I'd rather not try.)
Answer: Sadly, no - you can't stack the damage over time on Haunt.
This is in the skill's tooltip, although not in the extended tooltip for whatever reason:

An enemy can only be affected by one Haunt at a time.
Comment: If that's the case will haunt automatically aim at unhaunted enemies?
Comment: @JimThio, It has been a while, but I think the answer to this is no - it goes towards whoever you target, without regard for whether or not it would have an effect.


How to save a lodu game state

Question: I am coding lodu game in c++ and I want to know how to create a save file for my game, so that a user can play, and then come back later. Any idea how this is done
Comment: Your question is pretty vague. Try it for yourself, and tell us your errors. Then, we can help you.
Comment: Hey, the user Gajet has suggested that you are actually interested in a board game called "ludo", is that correct?
Answer: I don't know what "lodu" means (although the Urban Dictionary suggest something rather offensive), but here's a relatively vague answer on how is saving done, due to a relatively vague question. Apparently, what you meant is not called "lodu", but "ludo".
First things first, you must figure out what do you want to save, ie, what part of the game state. Common suspects are:

Object positions (player, enemies, etc)
Character stats (strength, mana, speed, health)
Fighting info (is the player in combat?)

What is not to be saved in the save file are things like level info, which should be loaded off separate files that don't need to be changed, or general static info that doesn't change.
To do this in C++, I suggest that you take a look at how filo I/O is done: http://www.cplusplus.com/doc/tutorial/files/.
I suggest that you also use Json: http://jsoncpp.sourceforge.net/.
Once you tell us the actual problems you have, we will be able to provide more concrete answers.

How to save a lodu game state


Accepted developer job but got reassigned to IT

Question: What would you do in my place? I'm an intern, the money is good and the total conditions are awesome. But it's not what I wanted at all. I really could use the money now but I'm afraid that this will not contribute to my experience as a developer in the long run and might even hurt my chances.
Comment: No. Experience does not hurt. At all. Depending on what type of work this IT department does it actually helps for development to know how things work for IT. (like toadflakz said in their answer)
Comment: Your boss don't put a timeframe that don't mean you do put one. Learn all you can about infraestructure (that's a real plus for developers), save the money but put a goal: 3 months, 6 months it's you do decide. If you get stuck for long move on
Comment: How did it happen? How long will you be reassigned, is there a plan to change this?
Comment: The CEO decided that i will be needed more in the IT department right now, and the position for which i interviewed was closed. I was told that in that company everybody does anything. In my contract it was written specifically that i will be a part of the development team. I feel like i was lured into a honey trap. No specific time frames were mentioned, the words "For now" and "In the beginning" were thrown to the air...
Comment: If "the position for which you interviewed was closed" does that mean it was closed before you signed your contract? Because the contract between you and the company is a statement that this position is filled, not closed. I am not sure about intern contracts though and how strong they are (in your location).
Comment: The real question here, do you think that gaining experience in IT right now (SQL, SBO... and such) will hurt my chances of getting into a proper development role?
Comment: Are the actual terms of your contract being upheld as far as title, compensation, etc?
Answer: It never hurts to have an understanding of infrastructure as a developer. In fact, it's often a bonus when you can convincingly argue a point with a sysadmin if you ever end up in a big corporate environment. Also understanding the infrastructure environment that you will be developing for can only aid you as a future developer.
However, I would press on with the polite reminders to your management about being a development intern and make sure you communicate to them that you expect them to transfer you to a development position as soon as is practical and that you consider your current situation temporary.
You are at the beginning of your career - soak up the knowledge and experience of where you are, but keep your goals in mind.
Comment: I would go further, in an ideal world *every* developer should spend some time in infrastructure and sysadmin / DBA roles. Having empathy for people who do those jobs will make you a far better developer in future.
Comment: @JuliaHayward I would prefer "spending some time along a sysadmin/DBA working on the specifics of their domain". If you want me to be a DBA/sysadmin (like there is no one else) even temporary I will answer "No I'm not qualified and I refused that responsability". Eventually I could take a role where I install and manage a database for my application, but I will refuse the title of DBA because I don't want to be scapegoated if something able and I'm unable to solve it (aka google "no result").
Answer: This is remarkably unprofessional of the firm. Along with politely reminding them that you consider the situation temporary and should expect to be moved into development in a reasonable time frame, you should quietly start looking for a new internship. Don't consider a permanent position with this firm, they have problems keeping promises.
Answer: While having IT infrastructure understanding/knowledge as a developer is absolutely a great thing and can improve your marketability; having only this experience on your resume can make it more difficult to attract attention for the types of positions you want in the future. You will need to take more care in drafting cover letters and in interviews to explain how this experience makes you more valuable as a developer.
I speak from experience though in a somewhat different scenario.
I'm a self taught software developer since childhood, with some professional experience (freelance work and one published video game). I went back to school after having kids and graduated top of my class with a degree focused on embedded system design (hybrid electrical engineering and software development).
When applying for internships in embedded systems with companies that had a hand in the creation of the program: "Based on your experience, we'd like to offer you this other [purely software development] internship working on our website..." The internships I was interested in went to straight EE classmates with no prior experiences.