What radiation is present in Star Trek TNG The Drumhead?

Question: In Star Trek: TNG Episode "The Drumhead" (4x21) there was a breach in the dilithium chamber that caused a radiation leak that caused them to have isolation doors drop and prevent the crew access to the warp core for something like 36 hours. Since warp cores run on matter anti-matter collisions, and none of the radiation normally produced in such collisions is considered long lasting (see the accepted answer), what kind of radiation is created in this breach? And why is it created?
Comment: http://memory-alpha.wikia.com/wiki/Technobabble
Answer: Antimatter Radiation is seen a few times in Star Trek, but is never really addressed in detail. Memory Alpha simply says it's a byproduct of antimatter. Some other notable examples are:

Star Trek II: The Wrath of Khan

 When Spock has to realign the dilithium crystals by hand, flooding the chamber he's in with lethal levels of radiation.

Friendship One (VOY 7x21) takes place on a planet suffering from nuclear winter as a result of antimatter explosions.

One possible explanation is that the radiation comes not from the M/AM reaction, but from the dilithium crystals in the reactor.

One of the reasons why dilithium was so valuable before the late 23rd century was because dilithium gradually decrystalizes during use, and there existed no practical means of inducing recrystallization. However, during a time travel mission to 1986, Spock and Scotty developed a method of recrystallizing dilithium through exposure to gamma radiation. (Star Trek IV: The Voyage Home)
Decrystalizing dilithium resulted in certain byproducts, including
  illium-629 and, when used in warp cores, trilithium resin. (TNG: "Pen
  Pals", "Starship Mine")

(from Memory Alpha/Dilithium Crystal) If recrystallization would require bombarding it with gamma radiation, it seems possible to a layperson such a myself that the decrystalization process would involve the release of similar radiation along with the above-mentioned byproducts.
Of course, as NKCampbell pointed out, an easy answer to this question would be that "antimatter radiation" is simply a plot device for dramatic effect (devastatingly effective dramatic effect in STII!)
Comment: I'd forgotten about the recrystallizing, and the illium-629 doesn't sound very healthy. I remember from a Voyager episode that trilithium can be used to make some heavy duty explosives. Thanks, this was bugging me all weekend.
Answer: According to the Star Trek Encyclopedia, the most likely culprit here is gamma radiation, known to be a byproduct of faulty or damaged warp cores;

Gamma radiation:
... Damage to a starship's warp core can sometimes cause it to leak gamma radiation.

The example it gives is from VOY: Warlord. The crew encounter a ship with a damaged matter/anti-matter warp core. It's venting plasma and gamma radiation which is making the crew unwell.

TUVOK: Captain, sensor readings indicate that radiation inside the alien vessel is rising to toxic levels. The lifesigns of the passengers are growing weaker.
TORRES: Their warp core is heavily damaged. It's leaking drive plasma and gamma radiation. It could breach any time.
CHAKOTAY: Can we beam the passengers out through all that radiation?

This would also tally with what's seen in the show as compared to real life. Gamma radiation would cause significant injury to those exposed, but wouldn't cause the surrounding material to become radioactive over the longer term once the cause had been vented or contained.
Comment: It's probably more complicated than you are implying. The VOY dialog could imply those gamma rays are escaping directly from the matter-antimatter reaction that stops being a source as soon as the reaction is off. The mystery element in Drumhead would likely be in all warp cores including your VOY example. Drumhead implies an element with a half-life is in the room.  Radioactive decay can emit gamma rays.  LAFORGE: The radiation levels are dropping, but they're too high to raise the isolation door. DATA: At the rate the levels are decreasing, we will gain entry in forty nine hours, Captain.
Answer: Theta Radiation is the waste byproduct of warp power, even in the 23rd century.  The photon collector in Star Trek IV collects any source of high energy Radiation and uses it to recrystalize the Dilithium.  Antimatter Radiation and Theta Radiation are the same thing.  Dilithium crystals by themselves are not radioactive,  As we have seen various star trek characters handle them with their bare hands with no ill effects at all.
Comment: Hi, welcome to SF&F.  Can you cite any sources to support this?  (e.g. "theta radiation" and "antimatter radiation" being the same thing?  Note that there is no such thing as a form of radiation intrinsic to antimatter; antimatter produces the same types of radiation as normal matter.)
Comment: https://memory-alpha.fandom.com/wiki/Theta_radiation,  theta and anti matter radiation are cross referenced and it's logical to assume that, that's the radiation produced by the refit enterprise's warp core.


Was it Parvati who became Durga?

Question: As far as I know Parvati and Kali are the same person .It was Parvati who became Kali.
Are Durga and Parvati also same person ? Was it Parvati who became Durga ? Are they the same woman ? Or Are they different ?
Answer: Narayana (Vishnu) says to Virabhadra in Brahmanda Purana.:

"ekaiva shaktiH parameshvarasya | bhinnA chaturdhA viniyogakAle | bhoge bhavAnI samareShu durgA | kopeShu kALI puruSheshu viShNuH |"
"The ancient Sakti of the Lord (Parameshwara Shiva) appears in four forms; that Sakti becomes Bhavani (Mata Parvati) in her bhoga (grihasth) form, in battle she takes the form of Durga; in anger that of Kali; and she is present in her male form as me (Vishnu/Narayana)."

Arjuna's Prayer to Maa Durga/Kali before the war, on the suggestions of Lord Krishna.:
MBH 6:23:2.:

"[Krishna said to Arjuna]: Cleansing thyself, O mighty-armed one, utter on the eve of the battle thy hymn to Durga for (compassing) the defeat of the foe".

MBH 6:23:4-5a.:

"Arjuna said, – 'I bow to thee, O leader of Yogins, O thou that art identical with Brahman, O thou that dwellest in the forest of Mandara, O thou that art freed from decrepitude and decay, O Kali, O wife of Kapala, O thou that art of a black and tawny hue, I bow to thee. O bringer of benefits to thy devotees, I bow to thee, O Mahakali, O wife of the universal destroyer, I bow to thee".

In Nava Ratri, 9 forms of Mata Parvati are worshpped which are related to here various life stages and in Durga Puja, we celebrate her as Mata Parvati the Shiv Patni and the mother of Kartik and Ganesha.
Further more, the very 1st verse of Sri Mahishasura Mardini Strotam by Jagat Guru Sri Adi Shankaracharya Maharaj ji starts with.:

"Ayi giri nandini" means "Oh Daughter of the Mountain."

And, again ends with.:

"Shaila Suthe" which again means "The daughter of the Mountain".

I hope this clarifies all your queries. Prd..
Answer: Yes They Are the Same Person. Durga is none other than Shiva's consort Parvati.

17-18. On getting their permission, he joyously entered the harem. The
Brāhmaṇa saw a beautiful assembly hall filled with groups of Siddhas.
On seeing this hall of the lord filled with many fragrant scents, he
was surprised and awestruck. There he saw Śiva, the quiescent
moon-crested lord with three eyes.

His hand appeared rendered splendid by a trident. He had excellent garment of tiger's skin. His limbs were smeared with holy ashes and
made beautiful. A serpent served the purpose of sacred thread.

He was delighted in His own self. All his desires had been perfectly realized. He had a lustre equivalent to that of ten million
suns. He had five heads and ten arms. His person was ever eager to
bless the devotees.

He was expounding true knowledge and yogic principles to the Siddhas by means of the Tarka-Mudrā (i.e. esoteric gesture by means of
fingers to indicate arguments). He was joyously being eulogised by
leading Yogins and Pramathas.

He was encircled by Bhairavas, Yogins as well as Rudras. On seeing Him, Rāma bent down his head (in reverence) with very great joy.

23-24. On seeing Kārttikeya to His left, Gaṇeśvara (i.e. Gaṇapati)
to the right, Nandīśvara, Mahākāla and Vīrabhadra in front of him and
the hundred-armed Durgā on his (Shiva's) lap, he bowed down to her
too. Thereafter, the scholarly sage began to eulogise the lord in
faltering convulsive speech (overwhelmed with emotions)

~ Brahmanda Purana Upodghata Pada, Chapter 32
Maa Rukmini is said to have worshipped Durga before her marriage.

tasminnudvāhasamaye rukmiṇī rukmabhūṣaṇā | durgāṃ niḥsṛtārcayituṃ
sakhībhirnagarādbahiḥ || 27 ||
At the time of the marriage, Rukmiṇī, having put on golden ornaments,
went out of the city with her friends to worship Durgā.

~ Padma Purana, 6.247.27
Now, let's check Srimad Bhagavatam's retelleing of the same story to see who this 'Durga' was.

Aged Brāhmaṇa ladies who were well-versed in the (pre-marital) rituals, guided the bride in the worship and paying respects to the
goddess Pārvatī, the Consort of Śiva, along with god Śiva as well.

(Rukmiṇī prayed:) I constantly pay my respects to you Oh auspicious[5] Mother goddess, along with your children (Gaṇeśa and
Kārttikeya). May Lord Kṛṣṇa become my consort. May this prayer of mine
be granted.

She worshipped the goddess Pārvatī in several ways by sprinkling her with water, applying sandal-paste and unbroken
rice-grains, varieties of incense, with (a rich variety of) clothes,
garlands of flowers, ornaments, various kinds of articles of worship
and offerings (variety of edibles) and with rows of lights (waving
them round her).

~ SB 10.53.45-47
Hence proved beyond doubt Durga is none other than Parvati

Was it Parvati who became Durga?


KDE 5.4 new application launcher

Question: I have just upgraded my Kubuntu 15.04 to KDE5.4, but cannot find the new application launcher. Does anyone know how to install it.
Answer: Right-click on the Application-Launcher in the control-panel and select "Alternatives"
Even though I still recommend a different method this would be the recommended way to swift within the given opportunities.

KDE 5.4 new application launcher


Any possible way to get a progress estimate for ALTER COLUMN TYPE in Postgres?

Question: I know that there is currently no officially supported way, but I'm nearly two hours in of 100% CPU on a 15,000,000 row table changing an INTEGER to a SMALLINT and I have absolutely no idea how long this will keep going on for. Is there maybe some file that I can watch growing on the filesystem? Does it rewrite the table in place, or create a new file? Is there a way to pause this so that I can run a benchmark on the same machine with fewer rows, so I can get an estimate of rows per second for this operation?
Answer: PostgreSQL rewrites the table:
postgres=# \d t;
                   Table "public.t"
 Column |            Type             |   Modifiers
--------+-----------------------------+---------------
 x      | integer                     |
 y      | text                        |
 z      | timestamp without time zone | default now()
Indexes:
    "idx_only_scan" btree (x, y, z)
postgres=# select relfilenode, relname from pg_class where relname='t';
 relfilenode | relname
-------------+---------
       16760 | t
(1 row)

postgres=# alter table t alter column x set data type smallint;
ALTER TABLE
postgres=# select relfilenode, relname from pg_class where relname='t';
 relfilenode | relname
-------------+---------
       16792 | t
(1 row)

There should be new database files in $PGDATA/base/"database_oid"  but I don't know if it is possible to get the new relation oid, to monitor the rewrite or to pause it:
$ ls -rtl  $PGDATA/base/13297/16792*
-rw-------. 1 postgres postgres 24576 Apr  9 08:02 /var/lib/pgsql/95/data/base/13297/16792_fsm
-rw-------. 1 postgres postgres  8192 Apr  9 08:02 /var/lib/pgsql/95/data/base/13297/16792_vm
-rw-------. 1 postgres postgres  8192 Apr  9 08:02 /var/lib/pgsql/95/data/base/13297/16792

Comment: You need not the `oid` of the table, but the new `relfilenode`. There is no way to get it via SQL. Watch for fast growing files.
Answer: I'd do it by strace -y -p <pid>, then looking at the pread64 (exact name differs with version and OS) to see where in the old table it is currently reading.  Because you can already know how big the old table is, while the incipient one is a moving target.
But remember it also needs to rebuild any indexes on the new table, so if it is already in that phase then you will need to interpret it differently.

Is there a way to pause this so that I can run a benchmark on the same machine with fewer rows

You could kill -SIGSTOP <pid> the process doing the work.  And then later kill -SIGCONT <pid> it.  I think this is not entirely risk free and would be very reluctant to do it on a production system.  If you stop it while a spinlock is held, it might crash the system.
Also, it isn't clear that a table with fewer rows would give a good benchmark.  Index building is not linear.


User Authentication in Sharepoint and OTP

Question: Currently we have SharePoint installed in our production environment. We are only on intranet currently, but we would like to make our SP accessible from internet and web URLs.
Currently for authentication we use the Active directory. We would like to have a new authentication method using One Time Password. As I know from other systems that I have been working on the active directory is connected to NetworkPolicyServer (NPS) which has its own SQL-DB and uses OAUTH to generate user token Passphrase. The login page when accessed from outside should ask for the OTP also. Is there any way I can achieve this. The topology doesn't have to be the same. It should just to use OTP for login.
Answer: It very much depends on how you want to do two factor authentication.
You probably could use SMS Passcode, as it was acquired by Microsoft and the two products should run smoothly with each other. SMS Passcode has a bunch of integrations. But as the name suggests, it only does provide SMS. I.e. your OTP value is sent via GSM to the untrusted, viral phone of your users. Making rollout easy but giving not the highest security and not that much flexibility.
You could choose higher security levels by using hardware tokens. You might want to take a look at the safenet authentication manager, which can be fully active directory integrated and which supports softtokens (smartphone apps), smartcards and different kind of OTP-tokens.
If you are up for a challenge you could take a look at privacyIDEA, wich is an opensource product and provides support for all kind of different OTP tokens, thus freeing you from a vendor lock of your authentication devices. It supports tokens like SMS, Email, all kind of OATH and TOTP hardware tokens, smartphone tokens like the Google auhenticator, Challenge Response tokens and many more.


How can I locally broadcast a domain name?

Question: So if I edit my /etc/hosts file, I can access localhost as a domain name such as myapp.dev or whatever. Is there any way I can broadcast this domain so that others who are on the same wifi network want to see the app can simply go to myapp.dev or wherever?
Comment: Might depend on O/S but I think you are referring to multicast DNS. I am not knowledgeable in the subtleties of configuration of it but http://en.wikipedia.org/wiki/Multicast_DNS offers some more basic info.
Comment: Hover over the downvote arrow: "...does not show any research effort...". This sort of thing could have been easily discoverable with a couple cursory web searches.
Comment: Can someone tell me why this was downvoted? I apologize if I asked a stupid question, but I can't do anything about it if no one tells me whats wrong
Answer: Use a DNS server. Make it authorative for myapp.dev, set it to forward all other requests and then make it the primary DNS server for your network.
Answer: I never set this up but you can use Avahi or set up a lightweight DNS server like dnsmasq.
Answer: For such light use, a full DNS server might be excessive and hard to set up.
I like to use dnsmasq on a linux machine on my network for this task, it's a caching DNS server. All machines on your network will essentially be getting DNS responses derived from the dnsmasq server's /etc/hosts file. there's 2 ways you might configure it:
A
Set your dnsmasq box to have a static IP and use the router's DNS server or an external DNS server.
Set your router to tell clients that your dnsmasq box is the DNS server.
B
Set your dnsmasq box to have a static IP and use the router's DNS server or an external DNS server.
Disable your router's DHCP server.
Enable the DHCP server in dnsmasq and configure it to tell clients that it is the DNS server.
I use option B.


iPhone Simulator 3.0

Question: Is it possible to test my app in the iPhone Simulator w/ the 3.0 SDK. The only options that I currently have available are 3.2 (iPad) & 4.0 (iphone). I know I could buy a iPod Touch w/ 3.0 off eBay or something but I'd really like to avoid spending money if it's possible to get this working in the simulator.
Answer: http://developer.apple.com/iphone/library/documentation/xcode/conceptual/iphone_development/125-Using_iPhone_Simulator/iphone_simulator_application.html
Important: iOS 4.0 uses the same Objective-C runtime as Mac OS X v10.6. iOS 3.2 and earlier use the Mac OS X v10.5 Objective-C runtime. Because of this change, binaries generated with an iPhone SDK distribution earlier than 4.0 do not run in the simulator that's part of the iPhone SDK 4.0 and later distributions. After moving from iPhone SDK 3.2 and earlier distributions to a 4.0 or later distribution, you must rebuild your iPhone Simulator binaries to run them in the simulator. If you use licensed static libraries in your application, you must obtain versions of them generated with an iPhone SDK 4.0 or later distribution. For more information about the Objective-C runtime, see Objective-C Runtime Reference.
Comment: Hmmm. So I'm guessing that I'm going to have to buy a 3.x device. That sucks.
Answer: One other option is to maintain an older copy of the SDK/Xcode on another Mac, and run the old SDK and Simulator there for regression testing.  But testing on a older device is the only way to test that an app can actually perform reasonably on such older devices.  Neither a new device nor the Simulator can do that.

iPhone Simulator 3.0


In static electricity, if an object becomes charged, does it become ions?

Question: If a neutral object loses or gains electrons from friction (rubbing) or contact, and thus gained a (+ or -) charge, where do the electrons go? Do they stick with atoms to make charge atmos("ions")? If so, does the property of the object change?
Answer: They may form "ions."
You are correct that the act of becoming charged means you have more or fewer electrons than protons.  However, whether that qualifies as an "ion" depends on the material.  Some materials will have electrons that hover close enough to an individual molecule that we can say that molecule is "ionized."  However some materials, like metals, permit that electron to float around quite a bit.  It stops being meaningful to think of the electron as "associated" with any one atom, so thinking of them as ions starts to get a bit difficult.  It becomes more meaningful to say the entire object is "charged."


What are the pros and cons of taking a paycut to become an instructor?

Question: I have the choice to become an instructor to teach beginners how to program and develop web sites for the first time.  This job will last 3 months.  I'm a Software Consultant (whose never had a client) and this would be a pay cut from what I expect to receive from my first client.  But, I would like to know the pros and cons of taking this job.
Comment: ...you mean you're unemployed?
Comment: Yes, I am unemployed
Answer: It's not a pay cut, it's a consulting job. And it could be an opportunity to meet useful people and enhance your reputation. Since you are unemployed and have never had a client your opinion of what your pay should be is irrelevant and unsupported.
Comment: +1 for "it's not a pay cut" - I don't see how it could be a cut unless you were being paid first.. so since it's from an imaginary salary, it's an imaginary cut.
Answer: First, if you have the horsepower, you should be able to teach this class, look for clients and possibly do some consulting simultaneously. Typically college professors do all sorts of consulting and publishing while still teaching a full load.
Pros:

Gain a deeper understanding of your subject matter as a result of having to teach it.
Use the experience as part of your resume.
You may have students who could turn into an extra programmer for larger projects.

Cons

If it prevents you from pursuing potential clients, you're going to find yourself out of work in three months or longer to find your first client.
If you're not a good teacher and especially if you don't know what your're doing, students will know it and make your job very difficult and stressful.
Comment: @JohnnyDohe - most professors don't spend a lot of time 9-5 teaching - that may occupy 12-16 hours per week, and while some will spend a large amount of time grading assignments, not all. They are also typically required to hold some office hours for students to talk with them about individual questions or issues, so add in another few hours there. Most professors spend the bulk of their time doing research and guiding/mentoring more advanced students (and yes, this means going well beyond 40 hours per week). Some may also participate in a club or other organization.
Comment: Forgive my ignorance, but is being a college professor a full time job?  I'd be required to physically be on site from 9-5:30 every weekday.
Comment: Pro: Current unemployment will stop, giving you 3months time to check out other jobs
Comment: @JohnnyDohe - It can be more than a full-time job. There's publishing, research, supervising student work like dissertations, being on committees. At major universities, if you don't publish, you can lose your job.
Answer: If you like teaching, pay cut or not does not matter because you will be doing something you like to do.
If you don't like teaching, the cons may be more than you think. You need to prepare for the class materials before hand if it's not there yet. You need to teach, of course. You need to grade the programming assignments. You need to teach those who never program in their life before. You'll be surprised what knid of questions they'll ask. If you never teach before, it's quite a bit work than you would imagine. You probably won't have time to look for a new job. In other words, you pretty much waste those three months.
There are pros, of course. you'll get paid. Better than nothing. You get to say something very meaningful in your resume. You can say you teach programming. It's a big plus. I used to teach a programming language. Many hiring managers mentioned this in the job interviews. They said "You must know that language very well." I always replied "Yes, very very well". Then I got the job offer.


What is the actual problem with a prototype based design?

Question: I feel like anything that can be developed using OO/functional languages can be generally made 'better' using a prototype based language, because they appaer to have the best of them all: high order functions, flexibility to simulate any OO structure, productivity (low verbosity) and scalability because of concurrency. But it seems like they are avoided for the creation of executable applications and of bigger projects in general. Why that?
Comment: Higher order functions, verbosity and concurrency have nothing to do with prototypes. Maybe the prototype-based languages you know happen to have those features, but that's just a coincidence.
Comment: And what's this about concurrency? That's not a given either - many of them are sorely lacking in even the most basic concurrency control. And simulating "any" OO structure is one hell of a stretch. Hello, virtual dispatch?
Comment: I found it's a lack of understanding of the prototype chain that leads to it being disregarded by the community at large.
Comment: Yes now that I took the time to read a bit more I realize I was not understanding well what it meanned. So you actually answered my question but as it was a comment I can't choose it.
Answer:
But it seems like they are avoided for the creation of executable applications and of bigger projects in general. Why that?

I don't know, but the assumption is false.
Larger projects use prototypical languages:

JavaScript is the most popular language on github.
Cloud9 is a full-blown cloud based IDE written in JavaScript that connects to GitHub. 98% of this project is JavaScript, 2% is CoffeScript, go look at the source and tell me it's a trivial application.
Node, not like you haven't heard of it, just happens to be that event-loop webserver framework for building a web app in JavaScript.
three.js is a 3dEngine in JavaScript. Because, you know, that's not really a big project...
pdf.js
Broadway doesn't do much, just decodes h.264 natively in your browser without codex.
The JVM has been implemented in JavaScript, allowing JVM bytecode from Scala, Java, or Clojure to run inside JavaScript.
Bcrypt is implemented in JavaScript.
One of the best video games of all time was written in Lua.
Lua is used in a lot of places.

How much "bigger" do you want? Are you expecting someone write code that emulates a computer and can just take a linux ISO and run a whole operating system out of your browser and you can start writing code from a linux command-line in C++... or something ridiculous like that? Okay, we have that too.
Seriously, what's "bigger?"
Again, you have the most proliferated language on github that has lead to an IDE, a webserver, a 3d graphics engine, a pdf document rendering tool, video decoder, encryption library and x86 emulator.
I'm not even going to bother linking to the endless slew of webapps and stuff in the chrome store, frameworks of all shapes and sizes, static code analysis tools, or other 'trivial' projects that nobody uses because the language is just so painfully slow and we can't be sure of how to write code in it.
Oh wait, we can be sure how to write quality code in JavaScript. It's called reading the funny manual, writing unit tests, static code analysis, and other fun things you do in every other language if you're competent in that language also.
It's not "risky" because it's got a prototype, it just means you need to know what you're doing, the same way you need to know how to program in whatever paradigm you enjoy. It's not "slow" because it's a prototype, languages out there that I haven't mentioned run at near-C speeds. You can find more information on your local search engine.
Good day.
Comment: That was just the answer I was expecting, someone to say I can go on and make my projects on JavaScript and HTML5. After learning several languages I felt in love with how things are done in JavaScript and Lua and was feeling like "too good to be true". Thank you very much.
Comment: @WindScar Glad you liked the answer and found it helpful. By the way, you have a bunch of questions you haven't accepted, can you please go back and accept some?
Comment: Enjoy your subjective "bests" ever. I'm sure that `three.js` is really popular and competitive... just for example.
Answer: OK, let's put aside the debate of native vs JIT, and static vs dynamic. Suppose we take as a given that someone wants to use a dynamic JIT-ed language, like java, python or javascript. Why do they choose a language with classical inheritance instead of one with prototypal inheritance?
The dominant reason is because javascript is not very suited to large systems programming and javascript is the only prototypal language popular enough to get "C-level" approval for a new project. Javascript is bad for large systems programming because it lacks a strict typing mechanism. In large systems you rely on API's to abstract implementation details. Strict typing moves the responsibility of correctly addressing API's from the developer to the compiler. You want the compiler to do that job.
A second reason is because classical inheritance is what most programmers know and have been trained on, and prototypal inheritance is too weird for them. Never underestimate how much "popularity" factors into technical decisions.
Performance does not factor into the decision. Large systems are programmed in java every day, and javascript V8 is roughly in the same performance order-of-magnitude as java (3 times slower in synthetic benchmarks).
Comment: JavaScript is also the same order-of-magnitude as C and assembly. "Order-of-magnitude" is a bad comparison.
Comment: @Raynos: You said 2x in the comments to my answer, but you never said where you got that figure. Source or it never happened.
Comment: @DeadMG 2x is an off-hand boast the mozilla team made at jsconf eu 2011. There are benchmarks floating around showing a 3x change. [This benchmark](http://shootout.alioth.debian.org/u32/benchmark.php?test=all⟨=v8&lang2=gcc) claims an average difference of 4x between c & v8. I'll see whether I can find reputable sources. [This benchmark claims v8 is a factor of 3 from c++ (in the comments)](http://blog.famzah.net/2010/07/01/cpp-vs-python-vs-perl-vs-php-performance-benchmark/)
Comment: @DeadMG [Here's a more reputable source](http://arstechnica.com/open-source/news/2011/10/native-javascript-h264-decoder-offers-compelling-demo-of-js-performance.ars)
Answer: They're slow as hell. How long do you think it takes a JavaScript VM to make an OO call, compared to C++? And you basically waste time inventing structures that other languages provide for you. And I hope you don't enjoy type safety, either.
I've done a lot of coding in Lua. Re-inventing the class wheel every time was not my idea of a good time. Now I work in C++ out of choice.
Flexibility is slow and unsafe.
Comment: Performance is a bad excuse. JavaScript in V8 executes about ten times faster than python 3 ( http://shootout.alioth.debian.org/u32/benchmark.php?test=all⟨=v8&lang2=python3 ). A smart JIT compiler can translate dynamic typing into static behavior.
Comment: The question clearly specifies OO and functional languages. Comparing it to other dynamic languages is therefore irrelevant. I think that performance is an excellent reason.
Comment: @DeadMG C is twice as fast as JavaScript. That's it. Sure a factor of 2 matters, but it doesn't qualify for "slow as hell". Also WHAT? "unsafe" C++ is "the king of you want to shoot yourself in the foot, do it". You can't use the "unsafe" argument.
Comment: If you're "Re-inventing the class wheel every time", then you're doing prototypal wrong.
Comment: -1. I've always felt that good programmers understand the pros and cons of languages and try to look at features in an objective manner. Based on that definition, you have most certainly failed. I'm not saying that prototype based languages are good or bad--I'm saying that you have did not answer in an objective manner.
Comment: **Not the place for discussion.**
Answer: To those that complain about speed and scalability ask these questions:

How fast does it need to be.  I'm talking requirements here, not generalities (full page must respond in 1s kind of detail)
How many users are going to use this sytstem now, how many in 5 years.
Will it interface with other systems and if so how.

The answers to the above questions will greatly influence your decision.  You don't need C++ speeds for probably 95% of applications out there, maybe more.  As for scalability.  Less than 1/10000 of 1% of applications will ever scale to google/ebay/amazon levels.  Most, probably less than 1% will scale to the point that you have more than 100 requests per second, even in enterprise.
Now if you work for say AOL or Google, then by all means speed and scalability likely matter, for the rest of us, not so much so, it's a lot more important to get it done and get it done fast at the lowest possible cost.
Answer: I don't think there's anything fundamental, but in javascript specifically there are a few issues that can cause trouble in large scale software:

Encapsulation is weak: it very easy for any other code to inspect and modify any other code. This allows some powerful things, but it can also lead to problems in large projects. Hard to find bugs can happen if you accidentally step on some code that isn't yours.
convenience over security: js has features like arguments.callee which allows any function to call all the way up the stack and access the root (window in a browser) object. This means that you really need to trust any third party code you call. This isn't an issue for every application, but it does constrain what you can do (strict mode fixes this, but can't be relied upon in a browser context)
anything numeric is extremely awkward: every number is a float, which is probably the right choice if you're only going to have one number type, but makes dealing with binary data and integer arithmetic awkward.
boilerplate required for typical oo style: it's awesome that you can make a library that implements classes in javascript, but on the downside you're going to need one, and everyone new is going to need to learn the particular library you use.

None of these kill javascript for large projects, and all languages have their own drawbacks -- these are just thigns to be aware of while using js. Using new js features and only targeting modern js engines (v8 for example), which you can do for a standalone app, allows you to avoid some of these issues. External tools can also provide some help (for example the closure compiler from google does various forms of static checking).


Smoke detector at highest point of pitched ceiling - good or bad?

Question: I have several smoke detectors in my house - all of which I can reach with a ladder - except one.  It is at the highest point of the pitched ceiling in the entry way of my house.  A person that is 6'5" can barely reach it with a standard ladder (I'm 5'2").  Does a smoke detector need to be this high or can I tear the thing out and move it to where I can reach it with a ladder?
Comment: How full do you want the house to be before it alerts you? Why do you need to reach it? (New ones are required to operate for 10 years without service.)
Comment: The batteries wear out and I need to replace them.  This happens more frequently than I would like - at least once a year I am replacing a battery.  Of course I wish to be alerted a soon as possible if there is smoke in my house.  Is it necessary for the detector to be that high.  I want to avoid a situation where the one smoke detector is beeping constantly and need to round someone up who can help me :)
Comment: Replace the batteries with something decent like lithium, or get a new unit that's more efficient. Don't compromise safety for convenience.
Answer: It's generally best to install smoke detectors up high where smoke will reach them as quickly as possible.  However according to the NFPA you may have some latitude, and you actually don't want them all the way at the apex of a peaked ceiling.

source:  https://www.nfpa.org/Public-Education/By-topic/Smoke-alarms/Installing-and-maintaining-smoke-alarms
There are additional considerations for placement at the above link that should be reviewed if you decide to move your smoke detector.
Keep in mind that that smoke detector may very well be required by local building codes, and you'd want to be careful that any changes you make are code compliant.


Dying person is the last in his race of warriors, trying to find the people who killed his race

Question: All I remember is a guy who is dying from some kind of radiation, and is trying to find and punish the murderer of his race. He is the last of his kind, and has extreme fighting training, and is one of the best from his race. His race was made up of warriors, and could fight and beat nearly any foe. I think the protagonist was called Keith, or Kyle. He has a ship, and some battle equipment, and, if I remember correctly, a pet of some sort. The enemy was an organization called Darkwing or something similar. I can't remember much more, but I liked the books (it was a series) and really want to find it again!
Comment: The ultimate warrior, the paragon of a race of warriors, the last of his kind, is called **Keith**?!
Comment: Oh, I swear this is a dupe of something I saw recently.  I remember the book(s).  He is saved from radiation poisoning and his bones replaced with something unbreakable by an alien race which helps him, and he is aided in his tasks by one of those aliens who is a big telepathic bird thingy.  His planet basically hired themselves out as honorable mercenaries which is why they were all badass fighters. ARGH CAN'T FIND DUPE
Comment: i think that's it! are you sure you don't know what its called?
Answer: GOT IT!
This is the Last Legionary series.
The protagonist is Keill Randor.  The book Galactic Warlord covers the events you're talking about.

[Keill's] home planet was destroyed by a malevolent entity known as
  'The Warlord' whose sole aim is to spread war through the galaxy,
  enabling him to rule over the remains that survive. The Warlord moved
  against the Legions since he perceived them as the greatest threat to
  his plan.

The enemy you're thinking of was in fact "a shadowy force known as the Deathwing".
His sidekick is Glr, "a telepathic avian life form from another galaxy."
He is saved from his lethal radiation poisoning by "The Overseers," who "replaced his entire skeleton - using an unbreakable alloy".  This plays into the conclusion of this book, where:

 The Deathwing attempt to kill or disable Keill by binding him and then inducing convulsions strong enough to break his back.  They believe they succeeded; however, his bones are unbreakable and they are deceived into thinking his back is broken and leave him unattended, etc. etc.

This is in fact a dupe in depth:

Young-adult science fiction novel series. Kid trained as warrior,
all other kid warriors wiped out
Need help identifying this 'space novel'
Scifi book from the 80's. The last of a warrior race

That said, I couldn't find them until I remembered and could search knowing the answer 8P.  So I'm kind of filling this answer out with keywords in case it helps someone find it in the future.
Comment: So not "keith" then?
Comment: Not only was he not "Keith", his sidekick was "Glr" and his best friend was "Oni".
Comment: Dupe of a dupe of a dupe of a dupe of a dupe of a dupe, I kid you not.
Comment: If you've tracked them down already, I invite you to edit and add the three dupes I missed - if we have to have a meta-dupe, why not make it a thorough meta-dupe?


Logic operations in modern processor

Question: Why most of processor only provide finite number of logic operations (NAND/NOR/XOR) while there are clearly 14 different logic gates available? I understand that we can implement any Boolean logic with only NAND/NOR . But practically, providing less gates make operations such as NIMPLY/IMPLY takes more than 1 cycle to finish as we need to implement them with composition of other gates. It seems to me that if ALU provides the whole set of hardware optimized logic gates we might be able to optimize software performance. Fanout might be an issue if all logic gates' output drive the same bus, but it seems logic operations aren't always the bottleneck of a modern processor because there are much more time consuming operations such as multiplication that limit the clock cycle. So my question is why we seldom see processors provide the full set of logic gates? What are the considerations involved?  How do processor designers reach the optimal number of different logic operations the ALU is going to provide?
Comment: I think you are pretty confused between logic gates and [instruction set](https://en.wikipedia.org/wiki/Instruction_set).
Comment: In order of importance
1. Because CMOS gates are very neat when you stick to NAND/NOR (4 transistors vs 6 for AND/OR)
2. All logic gates can be built with some combination of nand gates
3. Pipelining is already a necessary component of most modern CPU so an extra ALU cycle is not a big deal
4. x86 has lots of legacy implications
Comment: Nobody cares about the other operations, basically. The main use of the common 5 is setting or clearing bit fields.
Comment: @crasic If you need to do manipulation of large data-set, you identify some performance bottleneck and try to implement the core part using bit level manipulation, the result might be in the form of an accumulator, the additional 1 cycle will accumulates and the program might be slowed down by twice the amount of time and twice power.
Answer: If you would like to understand how processor designers reach their 'optimal' instruction set, you might want to look at some books, for example "Computer Architecture, A Quantitative Approach" by Hennessy & Patterson
There are quite a lot of papers freely available on the web about computer architecture, and Instruction Set Architecture (ISA).
I'd suggest read the papers and watch the videos at http://riscv.org
As a concrete example, look at the The RISC-V Compressed Instruction Set Manual
Their process for the "RISC-V Compressed Instruction Set Manual" was to gather sets of recognised, representative, 'benchmark' programs, in high level languages like C, and run analysis across them. For example, they might use an existing C compiler, modify its code generation to generate their prototype ISA, pass their benchmark programs through it, and analyse the results. That relies to some extent on the compiler having a rich enough model to make use of their ISA's instructions.
In the specific case of that compressed instruction set analysis, they wanted to identify which instructions were sufficiently common, that providing a compressed instruction would have reduce the code significantly. However, that analysis uses techniques which have been applied before.
The compressed instruction set analysis showed that only 31 instructions accounted for the vast majority of code, so compressing those by 50% reduced total program size by 25%. As quite a lot of code is data, that suggests that a lot of instructions are rarely used.
Remember, adding more instructions, and expanding the ALU is not necessarily free. To maximise throughput (i.e. doing useful work) we try to get a balance between latency (delay) through the ALU, power consumption, and overall instruction time. Adding an instruction which might make the CPU run 5% slower on every instruction, for 0.1% of the code to run 2x faster makes no sense.
This is a version of Amdahl's Law, which essentially says no matter how much one part of a system is improved, if it only accounts for 1% of (a programs) resources (time or space), then the improvement can only benefit the system's performance by 1%.
The vast majority of instructions executed by a program are loads, stores, simple arithmetic, jumps and conditional branches. As long as they execute well, adding a few specialised instructions to make rarely used operations faster will make virtually no difference. Worse, if the addition of specialised instructions slows the common instructions by a tiny amount, then it's likely better to remove them.
To learn more, look for older (1980s) RISC research papers. Maybe start with John L. Hennessy and David Patterson as they were quite prolific publishers, and Hennesey founded MIPS, and Patterson's work became SUN SPARC.
Comment: The ALU likely won't [directly] run slower, but you'll need more die area for (1) the instruction decoder (2) actual execution unit. So more expensive both as die and as power consumption with little benefit. And since power is the real [per socket] limit to how fast CPUs runs these days: more wasted power, less speed indeed. By the way, modern CISC machines (x86) have RISC execution engines (micro-ops) under the hood; they just come with a beefy decoder.
Comment: I should add: that beefy CISC-to-uops decoder is practical enough on laptop/desktop/server systems [these days], but once you get to microcontrollers or even smartphones... its power consumption is a real brick. That's why Intel is having trouble getting anything x86-based to scale down.
Comment: @RespawnedFluff exactly what do you mean by "The ALU likely won't [directly] run slower"? What is intended by the qualification *[directly]*? AFAIK, semiconductor manufacturing processes are highly optimised for the specific devices and devices structures being manufactured. I assume that either, the extra types of logic gate are combinations of devices and so will consume more area, power and increase latency, or they are new devices, or device structures which may affect all those, *and* affect manufacturing optimisation. That's all.
Comment: @RespawnedFluff -  I understand some of how CISCs work. CISC typically have many pipeline stages, cache, execution units, branch prediction, etc. to offset the extra latency. That isn't 'for free'. Introducing extra complexity will be paid for. We can have the CPU fast, cheap, or cool, chose any two.
Comment: Why would you have increased latency for an extra execution unit?
Comment: @RespawnedFluff - AFAIK, when an extra execution unit is added (going from one to two), there will be synchronisation between despatching and retiring instructions, and result-value-dependencies. So parallel execution might buy a significant increase in throughput, but it isn't 'for free'; longer pipeline, or slower clock, or more power, and more area.
Answer: There are sixteen basic bitwise logic operations available with 0, 1 or 2 inputs. (Zero inputs constitute constant values 0 and 1.) The 74LS181 4-bit ALU, used in such classic computers as the PDP-11, VAX 11/780 and many others computers implemented all of them.  I am using this chip as an example because its datasheet exposes the internals circuitry and other details of the ALU.  Such information is generally not available for microprocessors today. The sixteen operations (listed in the order they are addressed in the 74LS181) are:
~A          NOT A
~(A&B)      NAND
~A+B        A IMPLY B     can also be written ~(A & ~B)
1           constant 1
~(A+B)      NOR
~B          NOT B
~(A^B)      XNOR
A+~B        B IMPLY A     can also be written ~(~A & B)
~A&B        B NIMPLY A
A^B         XOR
B           B
A+B         OR
0           constant 0
A&~B        A NIMPLY B
A&B         AND
A           A

where ~ = bitwise NOT, & = AND, | = OR, and ^ = XOR as used in C and other languages.
IMPLY and NIMPLY are fairly specialized instructions mostly used in biology; see for example this paper and also this one.  In hardware, they look like this:

I am not sure whether modern ALU's provide all sixteen operations, since there is no way to get to many of them via their processors' instruction sets.
Virtually all processors provide the four basic bitwise logic operations NOT, AND, OR and XOR in their machine level instruction sets, since all the other operations can be built up from them, as shown in the above table.
So a compiler generating code for the high level statement:
C = A & ~B;     // A NIMPLY B

might generate something like (using a hypothetical instruction set):
mov   R0, A    ; A => R0
mov   R1, B    ; B => R1
not   R1       ; ~R1 => R1
and   R0, R1   ; R0 & R1 => R0
mov   C, R0    ; R0 => C

Now it would be nice when a compiler recognized a pattern like C = A & ~B it was able to generate an instruction to tell the ALU to perform the A & ~B operation in one cycle (avoiding having to complement B first):
mov   R0, A    ; A => R0
mov   R1, B    ; B => R1
nimply R0, R1  ; R0 NIMPLY R1 => R0
mov   C, R0    ; R0 => C

but without the machine instruction for NIMPLY, it can't do this.  However doing so only saves one instruction, is it worth it?
With the exception of the 80x86 family, whose CISC (Complex instruction set) dates back almost 40 years (1978), most processors today use some version of RISC (Reduced instruction set).  Thus specialized, seldom used instructions like IMPLY and NIMPLY have no place in RISC processors.
Comment: That is very informative. I never heard of this chip before. Thank you very much for your answer ! I was thinking some "if else" logic might be able to be avoided and we can use NIMPLY instead... Anyway gbulmer's answer is more complete so I selected his answer.
Comment: @EagleShou Okay, since you had mentioned IMPLY and NIMPLY (which most people have never heard of), I was mostly trying to show you how they fit in with the ALU's set of 16 operators (which you also mentioned) and how they might look in an assembly program if a processor actually implemented them.

Logic operations in modern processor


Is the introduction of a definition in the introduction by examples harmful?

Question: I have to talk into a paper of mine about a new proposed operator: do you think it is of any use to talk about it within the introduction? My problem is that, by doing so, maybe a reader/reviewer could arise more problems than the ones he could motivate by reading the whole description later on the paper. On the other hand an example of such operator within the introduction helps the reader/reviewer to better understand the problem this new operator tries to solve. Another problem is that, if the example is too simple, then he could think that more difficult tasks could not be solved by this specific operator. Thanks in advance!
Comment: Related: [Should I define two essential terms in abstract?](http://academia.stackexchange.com/q/41606/7734)
Comment: How abstract is related to introduction? They are two different things. In Abstracts I do not give examples.
Comment: They are two different things, but related thoughts and arguments apply to them. (Note that I am not claiming that this question is a duplicate; it's just related.)
Answer: The introduction should highlight whatever you think is most important and most likely to catch the interest of your readers. It should be a summary/overview of your results.
If your goal is to define a new operator, definitely say so in the introduction. If you need several motivating examples, say so in the introduction. If the examples are too involved to summarize, tell the reader from what area these motivating examples come.

In this paper we define a new operator X with several applications for the study of A, B, C in the context of [area]. In §2 "Motivating Examples" we give several motivating examples, including [this well-known example]. In particular, we find that X generalizes operator Y that Smith and Taylor defined in [2,3] to study Rubber Ducks (see [2,3,10–12]).
Answer: The Introduction should serve for "introducing" the problem you claim to solve. Generally, you might want to start with a very short background which brings you to talk about the problem definition and the proposed solution. In your case, the proposed operator seems to be the solution you are proposing. Therefore, i would personally say only few rather general information on the operator and leave the technical discussion to other sessions in the paper.
I hope i answered to your doubts.
BR,
Alessio.


What is the joke about Frampton Comes Alive in Wayne's World 2?

Question: In Wayne's World 2, there is a moment when Wayne and Cassandra are discussing about Cassandra's old records:

CASSANDRE: Isn't that great? You've heard it?
  WAYNE: Have I seen this one before? Frampton Comes Alive? Everybody in the world has Frampton Comes Alive. If you lived in the suburbs you were issued it. It came in the mail with samples of "Tide".

I don't know much about this artist, except his famous hit Baby, I love your way so I didn't know he was so famous that "Everybody in the world has Frampton Comes Alive". Or is this irony and nobody cared about this album?
So what is the joke about Peter Frampton's album?
Answer: This entire answer is from the perspective of someone who was 15 when this album was released - right in the target audience at the time for such an album.
The joke is actually in the exaggeration, rather than the statement itself.
That everybody in the US received a free copy in the mail along with other spam is just part of that exaggeration.
Frampton Comes Alive! was a colossal international hit, yet appeared to come from nowhere. At the time no-one [of our age group, ref above] really knew who he was or where he came from. After a while we discovered he used to be in 'Humble Pie' & 'The Herd' but we weren't quite sure who they were either.
There was no Google in 1976.
And yes, at the time, it did seem that absolutely everybody had a copy. Even your parents would like it - which would ordinarily be a bad thing.
You would hear it played wherever you went; parties, supermarkets, every radio station... it became hard to get away from after a while.
It was possibly the world's first 'coffee table album' [complete opinion on my part, no evidence.]
For me "Show Me the Way" was the big breakthrough single from it.
From the first couple of paragraphs of the Wikipedia p[age...

Frampton Comes Alive! is a double live album by English rock musician
  Peter Frampton released in 1976. It is one of the best-selling live
  albums in the United States, and considered by many to be one of the
  finest live rock recordings of all time. Following four solo albums
  with little commercial success, Frampton Comes Alive! was a
  breakthrough for the artist.
Released on January 6, 1976, it debuted on the charts at 191. The
  album reached number one on the Billboard 200 the week ending April
  10, 1976, and was in the top spot for a total of 10 weeks. It was the
  best-selling album of 1976, selling over 8 million copies in the US
  and becoming one of the best-selling live albums to date, with
  estimated sales of 11 million worldwide.
Frampton Comes Alive! was voted "Album of the year" in the 1976
  Rolling Stone readers poll. It stayed on the chart for 97 weeks and
  was still No. 14 on Billboard's 1977 year-end album chart.

Personal opinion as to why it never had a famous follow-up... by 1977 the UK was ruled by Punk & no-one would even admit to owning Comes Alive any more, let alone buy the next one.
Comment: Remember when 15 year old people was target audience for rock music? Pepperidge farm remembers.
Comment: target audience for 'rock' was 15 - 25 iirc at the time, so yes, we were lower end of the range, but still in it. The 'Pepperidge farm' reference means nothing to me, I had to Google what it was. Never heard of it in the UK.
Comment: It became a [meme](http://knowyourmeme.com/memes/pepperidge-farm-remembers) on remembering good old days :)
Comment: AH, OK; I get it - though it never crossed the 'pond'. Not a known product over here.


Views exposed filter with selected tags/terms

Question: I am importing RSS content with Feeds Module that is tagged with the Atom standard category-tag. I would like to give the user the opportunity to filter the content in a view, but only by some selected tags (as the tags imported are too many and I am not able to assign them to different vocabularies). I tried to achieve it with grouping, but only received empty results. Is it possible to offer filters that only offer some selected tags?
Answer: I found the answer by myself: Sometimes it is so easy and obvious and you too are blind to see it:

Choose selection type dropdown
select terms
check "Limit list to selected"


To what extent can malware/spyware control you computer?

Question: How malicious can malware/spyware be?
What do common malware/spyware usually do on a computer? (According to websites, they usually touch on retrieval of information like passwords, credit card data. Are file, photos, video retrieval possible?)
Comment: Why do you believe there are any limits on what malware can do? I think this question lacks any research effort.
Comment: This question is too broad but to give your some ideas: delete your data, encrypt them and require you to pay for decryption, steal the data and blackmail you, use your computer to attack other systems or to send spam, manipulate online banking ...
Comment: It can replace your OS and become an OS itself
Answer: Imagine you leave your computer unattended for some minutes, and someone comes and installs a program. This program runs in the background, and you can't easily see it (for example, there is no window).
What can that program do? Pretty much anything.
It can read all the files on your disk, it can delete them, overwrite them, encrypt them. It can use your network connection, so it can access any server in the world and send your files, or receive orders on what to do. It can access your microphone and webcam and spy on you, and send the content to someone on the net. It can use your CPU and GPU to mine bitcoins (although this would be easier for you to notice). It can replace your drivers with others that do something undesired (for example it can install drivers for your video card that stop the fan, thus causing it to be damaged due to lack of cooling - years ago, nVidia released drivers that had a bug like this, so this is real).
Now, malware is normally not installed by someone with physical access to your pc, it comes from an email attachment or from a website that uses drive-by-download or something. But once it is installed, it is a program running on your pc, and there's no difference.
Some malwares are so sophisticated that they can infect some parts of your pc that are not your hard disk. Which means that you format your disk, reinstall your OS from a clean DVD... And you are still infected. Well, normally the average user doesn't need to worry about attacks of this level. But it's possible.
There are really no limits.
Comment: To add to this, malware can even operate undetectable to any operating system (even booted from a R/O medium), and what's the most scary,even while the computer is turned off (not with a physical breaker, but "off" in the usual sense). Intel explicitly builds this into all modern computers, it's called "management engine", basically an autonomous programmable microcontroller wired directly to the ethernet circuitry, can do all kinds of covert stuff, remote controllable, and nothing you can do.
Answer: The answers present argue that malware can do pretty much anything to your computer, and that is correct.  Yet, that does not necessarily mean that every malware will be able to perform anything once installed.  Malware infection has two main phases: injection and privilege escalation.
Injection
First of all malware needs to reach an execution context on your computer.  This can be achieved in several manners (these are not exhaustive):

Making a program (e.g. a mail client) to execute the malware (e.g. email attachment) dues to vulnerability;
Asking you to download the malware and expecting you to run it (e.g. by clicking on it);
Someone with physical access can install and run it;
Someone may install and run it through a backdoor.

If the malware is running as an unprivileged user, the damage it may cause is limited to the permission (and privileges of that user).  Yet a lot of malware is designed to go further, and attempt privilege escalation.
Privilege escalation
A malware running as an unprivileged user user does not have direct control over hardware (on most operating systems).  For example, a malware running inside a web browser will not be able to turn on your webcam (or at least not without cleverly making you give that permission to it).  Privilegde escalation happens in the context of a malware running inside a semi-sandboxed environment (as the browser in the example of the webcam) or in the case it is running as an unprivileged user.
If the malware can escalate its privileges to enter into execution context as the root user (*nix OS family) or the administrator (MS OS family) only then it is free to do anything on a computer.  Privilege escalation is heavily dependent on the OS (or sandbox) construction but may include:

setuid programs on *nix
registry changes on MS family
phishing the user for a password to allow for higher privileges (e.g. exec sudo ...)

Conclusion
Not all malware can pass through both phases.  Some malware can only inject itself into a sandbox or an unprivileged execution context (i.e. it never manages to escalate privileges further).  This limits what the malware can do.
And that is a good reason to run applications that may enter in contact with malware (e.g. mail clients, browsers) as an unprivileged user.
Comment: Malware running as an unprivileged user can still do really bad things, if it is the same unprivileged user with which the owner e.g. manage their photos and documents or is doing their internet banking. https://xkcd.com/1200/
Answer: Totally.
Common malware can take over every aspect of your PC. There is plenty of malware that will, for example, turn on a webcam and capture video and transfer it elsewhere. Any files can be transferred. Or encrypted, or deleted.


My 2002 Ford Explorer XLT revs up when at a complete stop

Question: It runs fine and the problem only happens once in a while, when i stop at a redlight it revs up and feels like it wants to accelerate on it's own
Comment: Welcome to the site. Please tell us what engine, if it is an automatic or standard transmission, are there any obstructions around the brake and accelerator pedal, and if you have checked the throttle cables for damage or obstructions.
Answer: This is a very general question but usually this is one thing in particular.
Your idle air control valve needs to be replaced. this regulates the air control while at idle, and so it would only engage when the vehicle is at a rest.
It could also be a vacuum leak, or a failed sensor, however the most likely culprit is the IACV. If you have anyone that knows what they are doing have them check for ODB codes (not every code trips the check engine light), conduct a vacuum test, and test the IACV.
An easy way to test the IACV is, in a controlled environment, get the engine up to temperature and when the revving occurs unplug the IACV and it should stabilize to "base idle" revs (500 rpm or so). If it stabilizes than it's a faulty IACV.
This is the #1 most common issue in 02 Ford Explorers with the 92% chance to fix being the IACV.


What do I do if there is no Minecraft servers coming up on the multiplayer list?

Question: There used to be all these Minecraft servers listed in my multiplayer list but now there are no servers listed. What do I do? I tried going into different wi-fi's but it still doesn't work. What other ways can I fix it?
Comment: Can you please make this more specific? Also, did you happen to re-download game?
Comment: also i tried refresh
Comment: Although this may seem like a silly question and it has a couple downvotes, this actually happened to me as well.
Comment: Like, no servers show up at all? If that's the case, it's probable that somehow your server list file reset itself somehow, maybe in an update? I'm not really sure, honestly. That makes the most sense to me. If that is the case, there might not be a way to fix it, but I'll look into it.
Comment: Are you using Minecraft for console, or Minecraft PE?
Comment: @WillB. I believe he is using PC minecraft.
Answer: Might you have created a new profile, and used a different folder for your Minecraft files? That is quite plausible, especially if you've been clicking on the profiles buttons in the bottom left of the launcher.
Do you have any different profiles listed in the drop down box (highlighted in the image below)? If so, try selecting each profile, in turn before clicking play. You might just find your missing servers have been on a different profile.


what is the concept of Object-Persistence?

Question: what does Object persistence mean in c++?
Can you explain it with an example or provide links to where i could find the answer?
Thank you.
Comment: @Code Gray & Robit : Thanks for your tips.. But there is a question that I come from China, you know ? Google is prohibit for long time in our country..What a pity. What we can use is Baidu which is big Search engine. But we can't get more information from it like Google. So i put this question..Thanks again..
Comment: In what context? This question is completely unanswerable. In English, words can have many definitions, and phrases many more. Beyond that, Stack Overflow is not really a good place to ask for definitions to things that can be easily found with a Google search. If the topic is significant, there's a good bet there's a Wikipedia article on it. If you have read that article and *still* have specific questions, please edit your question to reflect those.
Comment: oh sorry dude. you could have mentioned it. So anything more than that required? does that link solve your prob? and when you post question pls mention the context in which the question was posted. See FAQ for it.
Comment: Last time (a month ago) I have been in China google was working just fine ...
Comment: that image is irrelevant to the question. if its to let others know that google isnt working, your word on that would be more than enough.
Answer:
Most objects cease to exist when they go out of scope. This may be
  when the function in which they were created terminates. It may be
  when the container in which they reside is deleted. At any rate, they
  can be expected to disappear when the program exits. Persistent
  objects are those which survive between successive invocations of the
  program. A classic example of such an object is a database record.

check out the following links:
C++ object persistence library similar to eternity
http://sourceforge.net/projects/litesql/
http://www.codesynthesis.com/products/odb/doc/manual.xhtml
http://en.wikipedia.org/wiki/ODB_(C%2B%2B)
http://drdobbs.com/cpp/184408893
http://tools.devshed.com/c/a/Web-Development/C-Programming-Persistence/
C++ doesn't support persistence directly (there are proposals for adding persistence and reflection to C++ in the future). Persistence support is not as trivial as it may seem at first. The size and memory layout of the same object may vary from one platform to another. Different byte ordering, or endian-ness, complicate matters even further. To make an object persistent, we have to reserve its state in a non-volatile storage device. ie: Write a persistent object to retain its state outside the scope of the program in which it was created.
Comment: Making C++ Objects Persistent: the Hidden Pointers a pdf is available but i cant find its link. if that is something which you think might be usefull i will post.
Comment: @Rohit presumably this is the PDF you mentioned: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.40.8479
Comment: I had read it, but It is not good to understood, can you help me to explain it by general word? it think it just a pointer and by new this key word.. right?
Comment: You read through the other references and got the basics of object persistence?
Comment: i had read the link you pasted about c++... But i can't understand well..In my mind, the persistence of object can be created by "new"
Comment: in what context are you requiring an answer? what are you trying to do with Object persistance? Maybe improve the question by adding some more detail into it
Comment: The question came from : when i read some passage about MFC, it said CObject support for persistence of a object.. but i don't what does it means
Comment: Unless written to some external file c++ objects do not support persistance. maybe you can find the article and post it as an edit to you question .
Comment: i understood it now, after try every way..Thank you very much. ^_^
Comment: Always Welcome!! Thats what so is for


People tagging in Newsfeed not sending email notifcation

Question: I was under the impression that if a user was tagged in the Newsfeed i.e. @carl that SharePoint 2013 would send a email to Carl telling him he was mentioned in the Newsfeed. I cant figure out where this functionality lives in any setting. Can you help?
Answer: I cannot comment to clarify but I assume you have it connected to Exchange and other emails are being delivered e.g. when you reply to someone's comment or when you subscribe to changes in a file that is then changed?
Check your Exchange for security and delivering of anonymous messages - adding sharepoint's address to Exchange so it's not being discarded as spam.
What do you have set as in Central Administration -> System Settings -> Configure Outgoing Email Settings? Did you allow Exchange to relay messages from that address?
Or you can install SMTP server on your machine and have it send that way
https://technet.microsoft.com/en-au/library/cc263462.aspx
Comment: Yes. Other emails go through just fine. File changes and library modification emails go through. Out going email is configured. I'll check the spam software but I'm not sure why those notifications would go through but tagging notifications wont. @jurajb
Comment: it might be the authentication on Exchange afterall - https://social.technet.microsoft.com/Forums/sharepoint/en-US/89f167bd-b2a2-4fc1-9c2e-ddf4884e3dec/newsfeed-notifications-not-being-sent-by-email


is camel case for column names safe?

Question: I have a database where column names are all camel cased. No problems encountered.
Will that be a problem under some scenarios, as per recent versions of MySQL, Postgres?
Comment: It depends: `select ThisIsAColumnName from SomeTable` is the same as `select thisisacolumnanme from sometable` (according to the SQL standard) . This is true for all Postgres versions. On MySQL this depends the storage engine used, the MySQL and storage engine configuration and the file system that is used. I personally prefer `snake_case` over `CamelCase` in SQL - but that is just my opinion.
Answer: The only cases I can think of for MySQL where case sensitivity could be an issue would be

Case #1 : Data Dictionary entries for tables by table_name (See my post Is it okay to have different lower_case_table_names value on master and slave?)
Case #2 : Migrating InnoDB tables with referential constraints from Linux to Windows (see my posts MySQL case sensitivity for table names and Is it possible to use the same directory for 2 MySQL servers?)

In those cases, the table name can cause problems. As for column names, it should not be an issue.
Comment: Case #3: When you use an ORM based application (which uses camel/pascal case usually) and every time you migrate & generate code using the database schema, you need to convert every field name from snake_case to Camel/Pascal case (hundreds of fields), kind of breaks the point of ORMs.

is camel case for column names safe?


Java: difference between strong/soft/weak/phantom reference

Question: I have read this article about different types of references in Java (strong, soft, weak, phantom), but I don't really understand it.
What is the difference between these reference types, and when would each type be used?
Comment: If you read that article and still don't understand, do you have specific questions about it? It's hard to respond to "please explain Foo to me," "here's what it means," "I don't get it" without specifics as to which parts you don't get.
Comment: I have read that document, it doesn't help me imagine what difference. (maybe because it's a hard-read document)
Comment: possible duplicate of [Understanding Java's Reference classes: SoftReference, WeakReference, and PhantomReference](http://stackoverflow.com/questions/3329691/understanding-javas-reference-classes-softreference-weakreference-and-phanto)
Comment: http://weblogs.java.net/blog/2006/05/04/understanding-weak-references
Comment: @LouisWasserman The top  link is no longer valid.
Comment: adding to the Q: `strongRef --> weakRef --> objA`. Now, will `objA` will be GCed or not, as it has an indirect ref from `strongRef`.
Comment: Does this answer your question? [Understanding Java's Reference classes: SoftReference, WeakReference, and PhantomReference](https://stackoverflow.com/questions/3329691/understanding-javas-reference-classes-softreference-weakreference-and-phanto)
Answer: Java provides two different types/classes of Reference Objects: strong and weak. Weak Reference Objects can be further divided into soft and phantom.

Strong
Weak

soft
phantom

Let's go point by point.
Strong Reference Object
StringBuilder builder = new StringBuilder();

This is the default type/class of Reference Object, if not differently specified: builder is a strong Reference Object. This kind of reference makes the referenced object not eligible for GC. That is, whenever an object is referenced by a chain of strong Reference Objects, it cannot be garbage collected.
Weak Reference Object
WeakReference<StringBuilder> weakBuilder = new WeakReference<StringBuilder>(builder);

Weak Reference Objects are not the default type/class of Reference Object and to be used they should be explicitly specified like in the above example. This kind of reference makes the reference object eligible for GC.  That is, in case the only reference reachable for the StringBuilder object in memory is, actually, the weak reference, then the GC is allowed to garbage collect the StringBuilder object. When an object in memory is reachable only by Weak Reference Objects, it becomes automatically eligible for GC.
Levels of Weakness
Two different levels of weakness can be enlisted: soft and phantom.
A soft Reference Object is basically a weak Reference Object that remains in memory a bit more: normally, it resists GC cycle until no memory is available and there is risk of OutOfMemoryError (in that case, it can be removed).
On the other hand, a phantom Reference Object is useful only to know exactly when an object has been effectively removed from memory: normally they are used to fix weird finalize() revival/resurrection behavior, since they actually do not return the object itself but only help in keeping track of their memory presence.
Weak Reference Objects are ideal to implement cache modules. In fact, a sort of automatic eviction can be implemented by allowing the GC to clean up memory areas whenever objects/values are no longer reachable by strong references chain. An example is the WeakHashMap retaining weak keys.
Comment: adding to the Q: `strongRef --> weakRef --> objA`. Now, will `objA` will be GCed or not, as it has an indirect ref from `strongRef`.
Answer: Weak Reference :
A weak reference, simply put, is a reference that isn't strong enough to force an object to remain in memory. Weak references allow you to leverage the garbage collector's ability to determine reachability for you, so you don't have to do it yourself.
Soft Reference :
A soft reference is exactly like a weak reference, except that it is less eager to throw away the object to which it refers. An object which is only weakly reachable (the strongest references to it are WeakReferences) will be discarded at the next garbage collection cycle, but an object which is softly reachable will generally stick around for a while.
Phantom Reference :
A phantom reference is quite different than either SoftReference or WeakReference. Its grip on its object is so tenuous that you can't even retrieve the object -- its get() method always returns null. The only use for such a reference is keeping track of when it gets enqueued into a ReferenceQueue, as at that point you know the object to which it pointed is dead.
This text was extracted from: https://weblogs.java.net/blog/2006/05/04/understanding-weak-references
Comment: For the record, I would much rather live in a world where that blog post is correct.
Comment: While everything in this answer looks correct, it also looks to me like there may be an error on the linked webpage. The [Javadoc for package java.lang.ref](http://docs.oracle.com/javase/8/docs/api/java/lang/ref/package-summary.html#reachability) and that for PhantomReference suggest that an object is not garbage collected until after it is no longer "phantom reachable", implying that (unlike SoftReference) a PhantomReference must be dequeued before the object it refers to can be garbage collected...and its being enqueued does not indicate that the associated memory has been freed.
Comment: @TheodoreMurdock The javadoc is correct. A phantom reference does not impede garbage collection at all. Once an object is enqueued, it cannot be saved even by a finalizer, as finalizers have already run. It's dead, but not yet gone.
Comment: @Leliel Actually, a phantom reference *does* in fact impede garbage collection after it is enqueued...I realized this recently when a bug caused a cleanup thread to exit early. The existence of phantom references was sufficient to ensure that *every* phantom referenced object was retained in my heap dump, unavailable for collection...if you fail to process the queue, or fail to make the phantom reference eligible for gc when processing the queue (and do not clear() the phantom reference), then your memory leak will include both the phantom reference and the referenced object.
Comment: "Unlike soft and weak references, phantom references are not automatically cleared by the garbage collector as they are enqueued. An object that is reachable via phantom references will remain so until all such references are cleared or themselves become unreachable."  source: Java8 API Docs PhantomReference
Comment: adding to the Q: `strongRef --> weakRef --> objA`. Now, will `objA` will be GCed or not, as it has an indirect ref from `strongRef`.
Answer: This article can be super helpful to understand strong, soft, weak and phantom references.

To give you a summary,
If you have a strong reference to an object, then the object can never be collected/reclaimed by GC (Garbage Collector).
If you only have weak references to an object (with no strong references), then the object will be reclaimed by GC in the very next GC cycle.
If you only have soft references to an object (with no strong references), then the object will be reclaimed by GC only when JVM runs out of memory.
We create phantom references to an object to keep track of when the object gets enqueued into the ReferenceQueue. Once you know that you can perform fine-grained finalization. (This would save you from accidentally resurrecting the object as phantom-reference don't give you the referrant). I'd suggest you reading this article to get in-depth detail about this.

So you can say that, strong references have ultimate power (can never be collected by GC)
Soft references are powerful than weak references (as they can escape GC cycle until JVM runs out of memory)
Weak references are even less powerful than soft references (as they cannot escape any GC cycle and will be reclaimed if object have no other strong reference).

Restaurant Analogy

Waiter - GC
You - Object in heap
Restaurant area/space - Heap space
New Customer - New object that wants table in restaurant

Now if you are a strong customer (analogous to strong reference), then even if a new customer comes in the restaurant or what so ever happnes, you will never leave your table (the memory area on heap). The waiter has no right to tell you (or even request you) to leave the restaurant.
If you are a soft customer (analogous to soft reference), then if a new customer comes in the restaurant, the waiter will not ask you to leave the table unless there is no other empty table left to accomodate the new customer. (In other words the waiter will ask you to leave the table only if a new customer steps in and there is no other table left for this new customer)
If you are a weak customer (analogous to weak reference), then waiter, at his will, can (at any point of time) ask you to leave the restaurant :P
Comment: Damn, now I want to hear a story starting with "A soft reference comes to a bar ..."
Comment: Upvoted for the "waiter" story... So easy to understand by the story...
Comment: I really impressed with Restaurant Analogy story and that example is really easy to understand, So upvoted.
Answer: The simple difference between SoftReference and WeakReference is provided by Android Developer.
The difference between a SoftReference and a WeakReference is the point of time at which the decision is made to clear and enqueue the reference:

A SoftReference should be cleared and enqueued as late as possible,
that is, in case the VM is in danger of running out of memory.
A WeakReference may be cleared and enqueued as soon as is known to be
weakly-referenced.
Answer: The three terms that you have used are mostly related to Object's eligibility to get Garbage collected .
Weak Reference :: Its a reference that is not strong enough to force the object to remain in memory . Its the garbage collector's whims to collect that object for garbage collection.
You can't force that GC not to collect it .
Soft Reference :: Its more or less same like the weak reference . But you can say that it holds the object a bit more strongly than the weak reference from garbage collection.
If the Garbage collectors collect the weak reference in the first life cycle itself, it will collect the soft reference in the next cycle of Garbage collection.
Strong Reference :: Its just opposite to the above two kind of references .
They are less like to get garbage collected (Mostly they are never collected.)
You can refer to the following link for more info :
http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/ref/Reference.html
Comment: I think this is wrong - "If the Garbage collectors collect the weak reference in the first life cycle itself, it will collect the soft reference in the next cycle of Garbage collection." It is not necessarily that way, how can you be so sure that they occur in consecutive run of GC? GC can allow soft referenced objects to live even in 2nd run and 3rd run too. There is not documentation for it, if there is then please mention the link specifying.
Comment: Also, your answer is a little vague, look at this sentence ' Its more or less same like the weak reference . But you can say that it holds the object a bit more strongly than the weak reference from garbage collection.' - he is clearly asking about the difference and not similarities, all these words add more confusion than clarity to the topic.
Comment: @SaurabhPatil -- Missed your comment. Here goes the answers .  1. "he is clearly asking about the difference and not similarities"  -- Refer to the description of the question (not "only" the title) "Please give me some advice, and please give me some example to describe". 2. "But you can say that it holds the object a bit more .... " I think SOF gives an option to down-vote and give new answers too.
Answer: Strong References
These are your regular object references which we code daily:
Employee emp = new Employee();

The variable "emp" holds a strong reference to an Employee object and objects that are reachable through any chain of strong references are not eligible for garbage collection.
Usually, this is what you want but not always. Now suppose we are fetching lots of employees from database in a collection or map, and we need to do a lot of processing on them regularly, So in order keep performance we will keep them in the cache.
As far as this is good but now we need different data and we don't need those Employee objects and these are not referenced from anywhere except the cache. Which is causing a memory leak because these objects are not in use but still not eligible for the garbage collection and we cannot remove those objects from cache because we don't have reference to them?
So here either we need to empty the entire cache manually which is tedious or we could use other kind references e.g. Weak References.
Weak References
A weak reference does not pin an object into memory and will be GC'd in next GC cycle if not referenced from other references. We can use WeakReference class which is provided by Java to create above kind of caches, which will not store objects which are not referenced from somewhere else.
WeakReference<Cache> cache = new WeakReference<Cache>(data);

To access data you need to call cache.get(). This call to get may return null if the weak reference was garbage collected: you must check the returned value to avoid NPEs.
Java provides collections that use weak references e.g., the WeakHashMap class stores keys (not values) as weak references. If the key is GC'd then the value will automatically be removed from the map too.
Since weak references are objects too we need a way to clean them up (they're no longer useful when the object they were referencing has been GC'd). If you pass a ReferenceQueue into the constructor for a weak reference then the garbage collector will append that weak reference to the ReferenceQueue before they're finalized or GC'd. You can periodically process this queue and deal with dead references.
Soft References
A SoftReference is like a WeakReference but it is less likely to be garbage collected. Soft references are cleared at the discretion of the garbage collector in response to memory demand. The virtual machine guarantees that all soft references to softly reachable objects will have been cleared before it would ever throw an OutOfMemoryError.
Phantom References
Phantom references are the weakest of all reference types, calling get on them will always return null. An object is phantomly referenced after it has been finalized, but before its allocated memory has been reclaimed, As opposed to weak references which are enqueued before they're finalized or GC'd Phantom references are rarely used.
So how are they useful? When you construct a phantom reference you must always pass in a ReferenceQueue. This indicates that you can use a phantom reference to see when your object is GC'd.
Hey, so if weak references are enqueued when they're considered finalize but not yet GC'd we could create a new strong reference to the object in the finalizer block and prevent the object being GC'd. Yep, you can but you probably shouldn't do this. To check for this case the GC cycle will happen at least twice for each object unless that object is reachable only by a phantom reference. This is why you can run out of heap even when your memory contains plenty of garbage. Phantom references can prevent this.
You can read more on my article Types of References in Java(Strong, Soft, Weak, Phantom).
Comment: If an object is getting referred from let's say s1 (strong) and s2 (strong), the object will not be eligible for garbage collection until both s1 and s2 are dereferenced but if the object is getting referred from s1 (weak) and s2 (strong) then object will be eligible for garbage collection in the next GC cycle when it gets dereferenced from s2 only, because s1 is a weak reference and if object does not have any other reference except the weak one it is eligible for GC
Comment: you wrote that weak refrences will be GC'ed in next cycle if not refrenced from other refrences... but should not happen the same thing to stron refrences? if stron refrence is not accessed in any way then gets cleared... then if so then where is the difference again ... ? #confused
Answer: 4 degrees of reference - Strong, Weak, Soft, Phantom

Strong - is a kind of reference, which makes the referenced object not
  eligible for GC. builder classes. eg - StringBuilder
Weak - is a reference which is eligible for GC.
Soft - is a kind of reference whose object is eligible for GC until memory is avaiable. Best for image cache. It will hold them till the memory is available.
Phantom - is a kind of reference whose object is directly eligible for GC. Used only to know when an object is removed from memory.

uses:

Allows you to identify when an object is exactly removed from memory.
when finalize() method is overloaded, then GC might not happen in timely fashion for GC eligible objects of the two classes. So phantom reference makes them eligible for GC before finalize(), is why you can get OutOfMemoryErrors even when most of the heap is garbage.

Weak references are ideal to implement the cache modules.


Quantization for particle in a box problem

Question: Consider the particle in a box problem in QM. The crux of the reason why QM is able to explain the physical phenomenon is not just the theory but also able to impose boundary conditions which eventually result in quantization. Now in the particle in a 1-d box problem, the wave function is assumed to be zero at the boundaries. It has been said that it is imposed, so that the wave function is continuous. Okay, but what about differentiability? In order for the wave function to satisfy Schrodinger equation,we also need differentiability right? Okay if we assume only left (from one side) derivative to exit, we could have as well assumed only left continuity (from one side). For continuity, we assume it should be from both sides, but for differentiability we need only one side? They also say the slope also must be continuous. I don't see any rationale behind these quantizations!
Comment: The more I learn about QM, the more ugly it looks, and the mathematics involved is far from beautiful.
Comment: Have you learned the abstract Hilbert space formulation of QM, along the lines of Dirac's lectures? Or maybe the path integral formulation would be more to your liking. In any case the ugliness of the boundary conditions you are complaining about really comes from the highly idealised nature of the situations you are studying. Real systems have potentials with no infinities, so the wavefunctions are smooth, or at least $C^1$.
Comment: Michael Brown : yes to some extent, but I enjoyed it. I like the Hilbert space formalism and the measurement being defined as a Linear self adjoint operator, eigen values are the observables.
Answer: Differentiability of the wave function is only required for finite changes in the potential. If the  your potential is infinite (as it is outside the inifinitely deep potential well which you describe) the Hamiltonial is ill-defined anyways.
An other case where you can have an infinite potential is if you have a $\delta$-distribution as a potential, there again you will find that the wave-function must be continuous but not differentiable (the difference between left-side and right-side derivative is given by the strength of the $\delta$-potential in this case).
Comment: If we assume Hamiltonian is ill defined, why can't we assume only left continuity then, I keep getting puzzled as to how these QM people keep making assumptions without any rationale!
Comment: On the intervals with $V = \infty$, you have $\Psi(x) \equiv 0$. Whether you take left-continuity and have $\Psi(-a) = 0, \Psi'(-a) = 0, \Psi'(-a + \epsilon) \neq 0$ if the potential drops from $\infty$ to $0$ at $-a$ or if you have $\Psi(-a) = 0, \Psi(-a-\epsilon) = 0, \Psi(-a) \neq 0$ makes no meaningful difference. As left-continuity is physically equivalent to right-continuity, you can simply work with discontinuity in general (for the derivative).
Comment: I don't quite understand what you mean to say. Do you mean to say continuity from both sides of boundary is also not required and only one side is required?
Comment: My question is why do you deliberately make the wave function it go to zero at the boundaries?
Comment: The wave function must be continuous, as does any function that wishes to carry physical information. The only solution to $H \Psi = E \Psi$ for $H = \partial^2 + \infty$ is $\Psi = 0$, thus, where $V = \infty$ $\Psi = 0$. The wave function's continuity then demands $\Psi = 0$ at the boundary, but we have no information about $\Psi'$ at the boundaries, so we allow it to take any value.


Why does ifconfig reset the default gateway route?

Question: In FreeBSD, an ifconfig call seems to delete the default gateway route, even when given the same IP-address (e.g. when updating the netmask only). Is it a bug or a feature?
As fas as I remember Linux doesn't change the default gateway in this case.
Answer: In FreeBSD an ifconfig that removes direct connectivity to a subnet also zaps routes containing that subnet (IIRC updating netmasks is reduced to a remove-and-replace).  This is a "feature" so as not to confuse your routing configuration by trying to talk to a host it can't reach anymore, though it causes its share of confusion when users encounter disappearing routes.
See also: http://forums.freebsd.org/showthread.php?t=12132
Comment: Oh yes - I've been bitten enough times that I now set a safety reboot (`shutdown -r +10`) before doing any network-affecting stuff on a remote host.  Great if you trust the machine to reboot correctly since if you break something it will come back with its boot-time config pretty quickly :)
Comment: Thanks. This is something to keep in mind when running `ifconfig` on a remote host.
Answer: I believe this happens because the ifconfig command is actually deleting the old IP and creating the new one, not just changing it. "It's a feature!"
Answer: I was looking for a way to keep the route to default gw in place, but since I saw this thread and tried on my own I guess there's no way. The only thing I had to do is set default gw manually right after setting the ip:
sudo ifconfig eth0 10.0.0.2 subnet 255.255.255.0
sudo route add default gw 10.0.0.138

so keep in mind if you're doing this remotely better run both commands with && or you'll get stuck out
sudo ifconfig eth0 10.0.0.2 subnet 255.255.255.0 && sudo route add default gw 10.0.0.138


Etching around corners

Question: In etching of mono silicon, why does the etching process around the corners differ from the etching process around the flat edges? What brings about this difference and is there some way that MEMS engineers could quantify the process around the corners?
Comment: Are you asking about anisotropic wet etching or about reactive ion etching? Also, by "around the corners", do you mean perpendicular to the face of the wafer?
Comment: anisotropic wet etching and yes perpendicular to the face of the wafer, for example in a <100> wafer, the selectivity of the etching rates across different faces makes it etch along a <111> face, but around a square mask, something different is supposed to happen according to my professor.
Comment: Related to your previous question: http://chemistry.stackexchange.com/questions/19618/how-is-the-crystal-direction-important-for-etching-silicon-surfaces?rq=1
Answer: What happens is that convex (outside) corners get severely undercut in wet etching. On a <100> cut wafer, the edges leading up to the corner reveal <111> planes which are resistant to etching, but right at the corner, where the two planes intersect, etching reveals a <110> plane, which is etched much more quickly. The difference in etch rates has to do with the number of "dangling" bonds—faces with fewer Si-Si bonds at the surface etch faster. The reason why concave corners don't undercut, despite having the same <111> plane intersection is that there are no dangling bonds in an inside corner so it doesn't etch any faster than the <111> planes.
It should also be noted that adding a small amount of surfactant to the etchant can dramatically decrease undercutting by adsorption to the corners.
This (fortunately open-access) article explains the phenomenon quite nicely.

Etching around corners


check out TFS at a specific change set

Question: I'm using TFS and VS 2012 and my project is in a broken state and I can't figure out why.  I'd like to go back to a previous version of my solution when I know it worked and make changes on that working version.  However, when I choose to check out a specific changeset, it seems to me like it's only changing the files that were changed in that changeset.  When I use git and check out a revision, my code looks exactly like it did at that revision.  Files that didn't yet exist at that revision are removed, files that did exist have contents as they were at that revision, etc. But I can't seem to do the same in TFS. I can't figure out how to get all of the files (and only the files) in the state that they existed when a particular changeset was checked in.  Am I missing something?  Any help REALLY appreciated.
Answer: Try using the Advanced option when you right click on a solution or folder in Source Control:

Then when the dialog appears, check both check boxes so the version you have is overwritten with the specific version you want by selecting Changeset from the ddl and entering the changeset you are after...

This should overwrite the existing solution files with the specific version.
If you have trouble doing it over top of existing files, delete the source on your local machine first and get the specific version after that.
Comment: This 'solution' won't check out the files for edit. By looking at your source control you wouldn't be able to tell that the file is modified and it doesn't show up in the pending changes.
Comment: tf.exe get "MyPath" version C333 /recursive /noprompt /force /overwrite                this seems to be the command line version.      from https://msdn.microsoft.com/en-us/library/fx7sdeyf(v=vs.100).aspx
Comment: Is there a way to ONLY get the changeset? Getting the entire repo again will take forever for me...
Answer: A changeset is just the files checked in at one time, not a snapshot of the whole system. You want to use labels for that. A label will mark all the files in their present state, just as you describe Git doing.
Answer:
Find the changeset you want and "Get This Version" to only get the changed files.
Manually check out each file for edit in Source Control Explorer to match the changeset.

Now the previous changeset's edits can be checked in.
NOTE: This is MUCH quicker than getting the entire repo using "Get Specific Version."
Comment: "Manually check out each file for edit in Source Control Explorer to match the changeset" and if you have hundreds of file changes?
Comment: @HristoYankov Try selecting many files at a time by shift-clicking on folders, etc. You can check them out all at once. Does that help?

check out TFS at a specific change set