Compatibility layer above AWS & GAE?

Question: Has anyone developed an abstraction layer above Amazon Web Services and the Google App Engine? It would be nice to be able to develop a system that could be migrated between either of those two platforms. I am interested in Python.
Answer: Look at TyphoonAE or AppScale.  Both projects provide an App Engine like environment.  I have successfully ran Python applications, with no modifications, built using webapp on TyphoonAE.
You can also look at django-nonrel or web2py for frameworks with features designed to make moving between GAE + bigtable and other datastores easy.
Answer: You are talking about an infrastructure service (IaaS - ec2) and platform service (PaaS - GAE) - the latter is built on something like the former (but obviously GAE doesn't run on ec2).
To get the portability you want - you would need to build in something that runs nicely on GAE - and then work out how to rebuild that platform infrastructure underneath on EC2 (probably not a trivial task). Given that GAE for python is very close to django, for simple apps, carefully written, you may be able to achieve this somewhat by using some django images on AWS/ec2 (obviously a sys admin burden now rests with you whereas it did not with GAE).
Hope that helps !

Compatibility layer above AWS & GAE?


Electrons are interfering with what?

Question: In a two slit experiment, We are able to see the interference pattern on the screen even if the apparatus shoots one electron at a time, ie.- there is no way that the electrons are interfering with other electrons passing through the other slit. Are the electrons interfering with themselves? Does the electron just pass through both the slits at the same time and then interfere with itself and produce those stripes on the screen? Moreover if we install a detector at the slits, surprisingly the interference pattern vanishes (which explains wave-particle complementarity) but What tells the electron that it is being watched?
Comment: In my opinion, accelerated electrons radiate photons. Also the trajectories of electrons are easily diverted by a photons. Millions of photons radiate in every direction from the accelerated electron. They radiate so fast, they have time to spread out and cover everything in sight. Before the electron has even moved a fraction of the distance, some of the reflecting photons interfere and slightly divert the electron. The diverted electron radiates more photons and the process is continued and is constant until the electron impacts the detection screen. Physically analogous to wave function.
Answer: One has to think quantum mechanically. In quantum mechanics there are probability distributions given by the square of the complex  wavefunction evaluated with the boundary conditions of the specific problem at hand.
The double slit is the scattering problem " electron scattering on two slits of given width and distance between them" . The single electron is a spot on the screen, the footprint of a particle similar to a classical particle, an (x,y,z).

The spot looks random, it is only the probability distribution accumulated over many electrons that displays a wave nature.

Moreover if we install a detector at the slits, surprisingly the interference pattern vanishes (which explains wave-particle complementarity) but What tells the electron that it is being watched?

It is the change in the boundary conditions, which detecting which slit the electron went through necessarily induces, that changes the probability distribution. It is a different experiment.
see also an answers of mine here and here.
Comment: I was going through the links you shared and found these.
**The physicists concluded that, while elastically scattered electrons can cause an interference pattern, the inelastically scattered electrons do not contribute to the interference process.**

What does it mean actually? Can you explain?
Comment: elastic scattering retains the phases in the wavefunctions of the  individual electrons which pass the same boundary conditions. Inelastic ones are different solutions and the phases between successive electrons are lost, because of variable initial conditions
Comment: I'm not sure "electron interfering with other electrons" means anything, because an electron is not just _identical_ to other electrons, it's _indistinguishable_ from other electrons.
Comment: @JEB  note the careful wording "*contribute* to the interference process", it is the boundary conditions which the incoherent, from inelastic scattering, electrons meet that change the process.
Answer: "What tells the electron that it is being watched?"
Currently, the best way we have to understand what's happening in this type of experiment is to describe the whole system using quantum mechanics, including the electron, the slits, the ambient air, the ambient light, the walls of the laboratory, and so on.  Analyzing this in complete detail would be prohibitively difficult, but we can still anticipate some general features of the result.
With that in mind, instead of thinking of the electron as changing its behavior when it's being watched, we can think about how the electron influences its surroundings.
Measurement is a physical process in which the thing being measured influences its surroundings in a practically irreversible way.  For example, we can casually measure the location of a rock by collecting light that was scattered by the rock, because rock's effect on the light depends on the rock's location.  Once light is scattered, the effect is practically irreversible, because other things (air molecules, people's memories, etc) will then be influenced by the scattered light, and those effects again depend on the rock's location.  For a macroscopic object like a rock, this is happening constantly, even if nobody is trying to measure it's location. If we somehow managed to produce a state in which the rock were in a quantum superposition of two different locations, then according to quantum theory, the rock's location would almost immediately become "entangled" with the rest of the system as a result of these location-dependent influences.  (This is analyzed quantitatively by Tegmark in "Apparent wave function collapse caused by scattering", https://arxiv.org/abs/gr-qc/9310032.) If any people happen to be around, then the rock's location would become entangled with them, too. Turning this weird-sounding picture into a testable prediction requires applying Born's rule (which involves taking the square of the complex wavefunction, as anna v said in the original answer above). Quantum theory doesn't tell us exactly why or when we should apply that rule, but we can safely apply it after the rock's location has become thoroughly and irreversibly entangled with the rest of the system.
In contrast, something as tiny as an electron can temporarily avoid influencing its surroundings in any way that depends significantly on its location.  As long as it's avoiding this, the electron can gradually "spread out" and do things like passing through both slits at the same time.  However, as soon as it influences its surroundings in a significantly location-dependent way (such as when it hits the imaging medium downstream from the slits, or such as when some kind of detector is installed to "observe" which slit it goes through), its location becomes entangled with the rest of the system, just like the location of the rock in the preceding paragraph. When this happens, we can apply Born's rule, and the result is what anna v depicted above.

Electrons are interfering with what?


Are there any of the same spirits in Fairy Tail?

Question: In the anime, you only ever see one version of the same spirit. I remember at the beginning Lucy mentions some of the silver keys can be "Bought in magic shops", but we never see anyone own the same key/spirit as Lucy.
Comment: yes there are many plue (white snow looking) shown in spirit relm. https://fairytail.fandom.com/wiki/Nikora
Comment: You can answer your question if you continue reading the manga or watching the anime. I do not want to spoil you so my suggestion, keep reading/watching it.
Answer: Celestial Spirits in Fairy Tail are generally broken down into Gold and Silver Keys.
For the Gold Keys, there is only one of each spirit, mapped to only one Gold Key. During Lucy's battle against Angel, it was shown that duplicating a key and summoning a Gold Spirit actually desummons them from their current summoner and resummons them under the new summoner, suggesting that indeed there is only one of each.
For the Silver Keys, there are likely multiples of each spirit. Nikola (e.g. Plue) is the most cited example of a family of spirits. In the anime, Caelum is also shown to be owned by multiple summoners at the same time, though this does not constitute canon material as the appearance was in a filler arc.


Beautiful Balloons for Buddha

Question: Can someone explain the tradition of releasing balloons with candles inside for Buddha? What is the meaning? Is it a Theravada or a Mahayana tradition? When and why people do it?
Answer: Through a search I've found use of releasing lanterns to be common in a few Buddhist areas that host both traditions. In Burma (Myanmar) there is the Tazaungdaing festival, which is celebrated as a national holiday and marks the end of the rainy season. It also marks the end of the Kathina, during which monks are offered new robes and alms.
Most of them sound like lay practice to me. Many countries traditionally celebrate with balloon lanterns.
Is there a specific festival you are referring to?
Comment: @ANonimous On all stackexchange websites users can suggest or [make improvements](http://buddhism.stackexchange.com/help/privileges/edit) to questions and answers. Our goal is to create a high-quality Q&A site. I'm sorry if I've offended you with my edit, my only intention was to make it better readable and provide easy access to additional information. If you disagree with my changes feel free to roll it back (click on 'edit' and then on 'rollback' on your original post). Chances are however that another user will come along and do a similar edit.
Comment: A saw that in a movie about thailand and I was wondering the meaning of it, it wasnt the first time I saw it, but I really dont know the meaning
Comment: whoever the grammar police are on here that keep editing all my stuff... i think your attachment to perfection could be a source of suffering... maybe you should chill out! Your obsession with convention and traditional grammar "rules" is quite unnecessary. perhaps you do better to meditate on why youre so worried about it instead of spending that time fixing something that really doesnt "need" to be fixed!
Comment: Yes it happens quite often, but do not worry with it unless someone changes the meaning of what you are saying. I get edited all the time too and I really don't mind, in case they change the meaning of what you are saying or remove it from the original context, you should flag it in a comment

Beautiful Balloons for Buddha


Using the Zoom H5 as a audio interface under Linux

Question: I just purchased the Zoom H5 sound recorder, with the intention of
using it both as a sound recorder, and also as a audio interface under
Linux. My OS is Debian stable. Currently 9/stretch.
Unfortunately, there is hardly any documentation on how to use it
under Linux. I managed, by looking at the manual, to get my OS (Debian
stable/stretch) to at least recognize the device.
However, right now I'm not sure how to go with either Stereo or 4
Track. In both cases I end up with a screen that shows USB AUDIO I/F
XY5, along with L, R, 1, and 2. But I see no motion in any of these.
However, right now I'm not sure how to go with either Stereo or
Multitrack. In both cases, it is clear that I need to go with the
Bus Powered option. As mentioned in various places, if I choose
Stereo, Debian thinks it is the H4, but with Multitrack correctly
identifies it as the H5.
In both cases I end up with a screen that shows USB AUDIO I/F, along
with L, R, 1, and 2. But I see no motion in any of these.
lsusb is showing the following:
Bus 006 Device 006: ID 1686:01c5 ZOOM Corporation

The syslog is printing a bunch of complaints:
May 28 21:38:01 orwell kernel: [1505026.660071] usb 11-1: Warning! Unlikely big volume range (=4294967295), cval->res is probably wrong.
 May 28 21:38:01 orwell kernel: [1505026.660076] usb 11-1: [2] FU [Mic Capture Volume] ch = 2, val = 1/0/1
 May 28 21:38:01 orwell mtp-probe: checking bus 11, device 3: "/sys/devices/pci0000:00/0000:00:13.0/usb11/11-1"
 May 28 21:38:01 orwell mtp-probe: bus: 11, device: 3 was not an MTP device
 May 28 21:38:01 orwell systemd-udevd[28202]: Process '/usr/sbin/alsactl -E HOME=/run/alsa restore 2' failed with exit code 99.
 May 28 21:38:02 orwell pulseaudio[6363]: [pulseaudio] alsa-mixer.c: Your kernel driver is broken: it reports a volume range from 0 to -1 which makes no sense.

The H5 is also showing up in pavucontrol. The configuration section
offers various options. I'm not sure which one to choose - the options
are:
Analog Stereo Output + Multichannel Input
Analog Stereo Output
Digital Stereo (IEC958) Output + Multichannel Input
Digital Stereo (IEC958) Output
Multichannel Input
Off

If I choose Multichannel Input, then it shows up in pavucontrol
under Input Devices, but the volume level (or whatever it is called)
for that device stays at zero. As it happens, I have another, regular
mic plugged into my main (PCI Express) sound card (Xonar DX) right
now, and that is responding fine. Also, I assume a working mic makes
some noise, and the mics on the H5 are completely silent.
I'm sure I'm missing something obvious, so help would be much
appreciated, bearing in mind my knowledge of things sound-related is
very limited.
Answer: It turns on that the main problem is that I had to turn on the mics to get anything to work. In this case, the buttons labelled L and R, which control the default 2 XY mics mounted at the top. If I had thought about it, I would have realised that was the case, but it seems to not have registered with me. Though even turned on, the mics generate almost no noise.
Additionally, I comment in my question that there is no activity in pavucontrol. But of course this wouldn't be the case unless I was actually try to record something, which most of the time, I wasn't.
The bottom line is that this device is working with Debian, at least to a first approximation, regardless of the disturbing error messages. I haven't tried all the different options available.


What is the reasoning behind "suggest a synonym" required reputation?

Question: I can see the reasoning behind the need of 300 reputation before one can create new tags, but why do we need 2500 reputation just to suggest a tag synonym? Why is that action so much more important than the ability to create a whole new tag?
Answer: I think I now know the answer. Creating a new tag is okay with some reputation, since if it turns out to be a not-so-good tag which nobody is really using, it simply gets automatically deleted by the system in six months. No big harm done.

•new tags will be automatically culled and removed from the system if they are not used by at least 1 other question in a 6 month period

Suggesting a synonym is (if the suggestion passes) more severe action, as it effectively removes the synonym-tag from the system. Yes, the old tag is still there, but all attempts to use it will turn up the approved synonym instead.

Any tags that match active synonyms will be automatically and silently changed from their original as-entered form to the tag that the synonym points to.

That's why synonym creation is needing higher reputation than creating a new tag.
Comment: Yes, exactly.  Also anyone relatively new to the site could suggest a tag, but creating synonyms might require more experience with the site to understand what you're getting into.
Comment: Also people could make a "lame" tag and make it a synonym for say Nikon or HDR!  See [tag-synonym-attracts-trolling](http://meta.stackexchange.com/questions/62323/tag-synonym-attracts-trolling?rq=1)


Can a single thought experiment have multiple outcomes?

Question: Is it possible for a particular thought experiment to have multiple outcomes based on the view point of the person conducting said experiment? Or can a thought experiment never yield multiple conclusions unless there is an inherent flaw in the reasoning?
Comment: Dennett argues that thought experiments are "intuition pumps" because they're meant to direct our intuition about a problem in the correct direction. That being said, that is exactly what they are, things designed to probe our intuition. People may disagree about the answer to thought experiments because they have different intuitions about a problem. So I don't know if your question is really answerable, it depends on if you take people's intuitions about a thought experiment as actually answering the thought experiment or not. Some people might have crazy weird and clearly wrong intuitions.
Comment: But if they're still intuitions, are they still answers? Maybe you could explain more about what you think qualifies as an answer to a thought experiment, so an answer to this question is more well defined. And in regards to the last sentence you wrote, [stack exchange sites are not forums and are not for 'in depth discussions'](https://meta.stackexchange.com/questions/92107/are-stack-exchange-sites-forums).
Answer: A thought-experiment is always conducted against a background of assumptions. I might consider as a thought-experiment a situation in which coercive governmental power - legislative, executive and judicial - is removed from society. This is just the situation which anarchists envisage. Ex hypothesi the details of the thought-experiment are identical between myself and an anarchist. (The experiment is only lightly sketched here but could be made more definite, detailed and specific to any degree.)
If I think that human society cannot maintain a tolerable degree of organisation and security without the coercive powers of government, the state of affairs I project from the thought-experiment will be different, probably widely so, from the anarchist who believes that, through voluntary co-operation, all the benefits of government can be obtained without any of the evils if coercive governmental power is removed from society.
To take an example from the literature, John Rawls conducts a thought-experiment in A Theory of Justice (1971) in which contractors behind the 'veil of ignorance' decide on the basic structure of society. Rawls believes that such contractors will agree on two principles of justice (equal liberty and the difference principle). Critics have argued from the same thought-experiment that the contractors could opt for different principles.   The main separating background beliefs at work here are different conceptions of rationality.
In both cases the same thought-experiment produces different projections because of divergent background beliefs.
Answer:
Is it possible for a particular thought experiment to have multiple
  outcomes based on the view point of the person conducting said
  experiment?

It is possible, and common, for a thought experiment to have more than one outcome; this possibility allows for the results to be contradictory and create a paradox, which is often helpful in making or illustrating some larger point. There is not necessarily a flaw in the reasoning. I am unclear about whether the personal viewpoint of the experimenter causes the non-unique results.
Nelson Goodman's New Riddle of Induction (1983) starts from premises describing the present and future colors of an object. The result is that observations of one color also confirm that the object might be a second color. The result shows the uncertainties in drawing generalizations from a series of individual observations.
By contrast, Zeno's paradoxes of motion are thought experiments that have unique outcomes. The arrow paradox assumes that at every instant a flying arrow is absolutely motionless, and thus movement is never possible. The premises admit no other conclusion. The paradox arises from the conflict between that conclusion and the common observation of motion.
In short, every time someone asks, "what if", there appears a new thought experiment, and some of these questions produce more than one answer.
Answer: Useful thought experiments often have different outcomes which present a problem to be solved by advancing the theory in which they are originally embedded.  That is often the only reason they persist as more than window dressing for a given mathematical puzzle.
One of the most famous thought experiments we all meet is the Twin Paradox: One twin remains on earth while the other travels to and fro at a speed near the speed of light.
Within the theory of Special Relativity where it is raised, it has two outcomes, depending upon which twin's perspective you take.  Each should perceive the other as aging more slowly on every leg of the trip.  So each should expect the other to be younger when they meet again.  The paradox is what motivates the General Theory of Relativity, which incorporates the notion of acceleration as the bending of time.
Without the experiment having two outcomes, it would offer us nothing.
Likewise, thought experiments like the Grandfather Paradox, where someone goes back in time and kills their ancestor have multiple possible outcomes.  They have motivated the Many Worlds or All Paths interpretations of quantum dynamics, and offered challenges to positions like Loschmidt's paradox of temporal reversibility.  Again, without multiple reasonably intuitive solutions, the experiment does not accomplish anything.


Can gluten-free flour be cooked and eaten as a hot breakfast cereal?

Question: I'm talking about single flours, such as quinoa flour, amaranth flour, and buckwheat flour, not flour blends or hot cereal mixes.
Comment: Are you asking if it's healthy (we don't answer that here), if it's tasty (very subjective), or something else?
Answer: Yes, you can do it. It will taste more like a pudding (not necessarily wheat pudding) than like a cereal. The consistency will depend on the grind size, and can get down to standard starch pudding, or be a bit gritty like semolina pudding.
Most people won't find the taste of a pure flour + water or even flour + milk pudding interesting enough, so you can experiment adding stuff to it. You're only limited by your own imagination.
Comment: That's a separate question to be asked on its own, and I'm not even sure that it is the same for all grains. In any case, you'll have to specify what end results you want when you ask for the ratio.
Comment: Would the proportions of water and flour be the same as the proportions of water and grain, were I preparing the same amount of whole-grains? In other words, should the amount of water and quinoa flour be the same as if I was boiling regular quinoa? Should the proportions of water and buckwheat flour be the same as if I was boiling regular buckwheat groats?
Answer: Yes definitely you can use flour as a breakfast dish. All you need to do is, dry roast the flour a little bit keeping in mind not to burn it. Perfectly roasted flour emanates a special smell(aroma) which is a bit sweet. Thereafter add some water to the flour to make a slurry out of it, alongside you can add some fried potatoes or leftover hash-browns with fried spinach or anything you like which is cooked al dente(just a suggestion) and blend them in the flour(slurry). I'd suggest, cook the slurry for a bit till it reaches the desired form where everything is perfectly blended and in perfect harmony. There you have a nutritious breakfast!
Comment: The question specifically speaks of gluten-free flour but your answer does not address this. Would this method work for **all** types of flour?
Comment: @Catija flour mentioned in the answer means gluten-free flour. I have just given a few pointers on "how to" handle flour in the best way possible. My guess is, you can pretty much use any flour at hand to make a slurry(gravy) and add accompaniments of your choice.
Answer: I do lightly brown my gluten free flour, brown rice, sorghum, and millet are my favorites. Then make a slurry as the first answer suggested. The amount of flour to water (or milk) ratio depends on the flour and how thick you like your porridge. Personally I found brown rice to be 2-3Tbsp of browned flour to 1 cup of water, but some of the other flours take more. We like to sweeten ours after it is cooked with a little honey (brown sugar would also work) or your sweetener of choice.


File Sizes Go Up When I Remove Background

Question: I have these .jpg pics and I removed their background. But after I saved them to .png their file sizes skyrocketed. Like a 198kb file becomes 3.82mb after I save it to .png. Why is that?
Comment: PNG: uses a lossless compression JPG: lossy compression
Answer: JPG uses much worse compression settings (worse for quality, better for size)
When you save a photo as a .jpg it's heavily compressed (and blurred out too) which is why you have a much smaller file size.

See this excellent answer by Vincent on this. Also have a look at the main question and other answers, great info!
There's also an awesome post on Stack Overflow about this.


Old melting chocolate problem?

Question: I have some melting chocolate that is over a year old and wonder if there is anything I can do to get it to melt to a smooth dipping consistency. It is melting, but very stiff and not really good for dipping.
Answer: You might try melting it into some water.
When melting chocolate, a little bit of water will cause it to seize (break and become grainy), but if you use more water to start with it will melt smoothly - about a tablespoon per six ounces should work to start, add more till you've reached your desired consistency.  It has to do with the chocolate being soluble in either fat or in water, but having trouble in the middle when they were competing for sugar and cocoa solids.  If you do this, you are basically making a chocolate sauce - even if the proportions mean it is a fairly thick one.  Of course, after you have made it you can doctor it to your tastes, thin it till it is dippable, add flavors or additives, as you prefer.
Alternatively, you might melt it into something richer for your sauce - milk, or cream, or butter.
These alternatives will make your chocolate sauce progressively richer, depending on which one you pick, and may alter the flavors more than plain water (which may or may not be desirable to you).  They do also have water in them (in decreasing proportion), but in an emulsion with fats which means they are less likely to cause the chocolate to seize.  You might start with the same proportions, one tablespoon to six ounces, and keep adding until it has reached your desired consistency.
Of course, you can use other liquids (like alcohol) or fats (like oils) to thin the chocolate and make the sauce, but they will be increasingly less like the chocolate you started with the more flavors you add, and more like a fancy chocolate sauce.  Which can be nice, but may not be what you're asking for.

Old melting chocolate problem?


Harmonica - high draw note won't sound

Question: I have a strange situation in which i can't seem to play the draw (an 8 draw on a D harp) AT ALL on lip pursing, although i can do all the other notes, even the high ones.  But it's not broken because it plays OK if i tongue block across either the 8-9 (9 blocked) or the 7-8 (7 blocked).  Or even if i use my fingers to block both 7 and 9 and inhale! Can you suggest what i'm doing wrong?
Comment: What model is it? Is it a new instrument?
Answer:
1) If it's a new harp, certain reeds my be stiff at first - you need
to experiment with your embouchure until you find the correct
approach to getting that note to sound properly, then continue doing
so regularly when you practice. After a week or two, it should loosen
up and you'll be able to play more normally.
2) If it's an older harp, quite often dirt and gunk will accumulate
around a reed or hole, making it difficult to play. Harmonicas
require constant maintenance to keep them clean and playing
correctly. If you look under close light, often you can see gunk
obstructing the hole or reed.
The fix in that case is to clean your harp. It's a delicate
process, and if you do it incorrectly you can trash the instrument
entirely. You can read up on it - there are some good sites that discuss
it and some controversies as well, but it's probably better to have someone experienced do it for you.
It often involves opening up the harp and touching or getting in between the
reeds - delicate business.
At any rate, never use solvents to clean, and avoid cotton swaps or any other   material that leaves lint. Water, rubbing alcohol and a lint-less
cloth or something like lens cleaners are good. If you use water, hold your harp face down, so the water runs out the front and doesn't   accumulate around the reeds, which again could trash your instrument entirely.

Harmonica - high draw note won't sound


Time to dim the screen in Ubuntu 14.04

Question: Ok so it seems that the key in org.gnome.settings-daemon.plugins.power idle-dim-time is gone in the new Ubuntu version. Since the old method Increase screen idle dim timeout doesn't work anymore are there any other ways to change this?
Answer: It looks like the setting for idle dim time has changed schemas. Use org.gnome.desktop.session idle-delay:
gsettings set org.gnome.desktop.session idle-delay <value>

For the future, a great way to find a setting is to pipe list-schemas or list-recursively to grep. That's how I figured this one out:
gsettings list-recursively | grep idle

Hope that helped!
Comment: BTW, this is equivalent to the "Turn screen off when inactive for # minutes" in **Brightness & Lock**, not exactly the time for "Dim screen to save power", it took about 60 second to dim the screen (brightness turned down to around 30%) when running on battery with 14.04, and I didn't see any schema that is related to this dim time stuff.
Answer: this command helped in my case:
gsettings set org.gnome.settings-daemon.plugins.power idle-brightness 180

Answer: Apparently Gnome developers decided that user does not need any way to customize idle dim time and removed this option in this commit. After this patch, dim-idle-time was computed based on idle-delay (see @ruby answer) by dividing it by three. Few days later they decided that dividing by 3 is not good and changed this factor to 4/5 in this commit. Even though those arbitrary divider proved to be, well, arbitrary, they didn't restore any possibility to change this by user.
Note that Ubuntu is now using unity-settings-daemon which is a fork of gnome-settings-daemon with exactly the same code regarding screen dimming.

Time to dim the screen in Ubuntu 14.04


What was the first major technological advancement that occurred after the fall of the Roman Empire?

Question: Popular perception is that technology and science stopped advancing for quite some time after the fall of the Roman Empire. Is this true? Or were significant advances steadily made, just at a slower rate? When did these advances occur, and what were they?
Comment: The popular perception is completely wrong.  For one thing, the "Fall of the Roman Empire" (which is usually how people refer to the fall of the Western empire) was fairly localized to Western Europe.  The Chinese, for instance, didn't even know what the Roman empire was in anything but the broadest terms, and so their development was hardly affected by its fall.
Comment: The wikipage [Timeline of Historical Inventions](https://en.wikipedia.org/wiki/Timeline_of_historic_inventions) is by no means complete, but if you study it, you'll see that most of the inventions on it during the period you appear to be asking about happened in the Far East (China).
Comment: Maybe you want to limit your question geographically as well as topically. Major technological advancement may mean many things, it may include architecture (cathedrals), military technology and metallurgy, agricultural technology (early agricultural revolution) etc.
Comment: "major technological advance" is very difficult to define, and makes the question veer into "opinion" territory.  We've had heated discussions about how to measure the rate of technological changes ("significant advances steadily made").  I need to think further before I can offer a constructive edit suggestion.
Comment: One possible candidate would be the three-field system of crop rotation and the heavy plough or carruca. Unfortunately I am not very knowledgeable about the subject and my only references are Wikipedia (which locates them in VIth-VIIth century in Europe), maybe someone can elaborate more.
Comment: @SJuan76 I agree it is a good candidate. There was indeed an agricultural revolution in medieval Europe, allowing much more efficient agriculture (ie larger population, cities) then in Roman times. Since non-Mediterranean Europe had shortage of food, it had key importance
Comment: Note that the shortage of food may have been in part due to the collapse of the empire in the West, meaning that is a case of an advance actually *driven by* the collapse.
Answer: It depends what you mean by the fall of the Roman Empire.  Are you talking about the sack of Constantinople in 1453, or the second sacking of Rome in 476?  Based on your first sentence, I'm assuming you're talking about the latter.  Science continued on just fine in the east, and in Constantinople.  Greek fire was a pretty big thing that I can think of off the top of my head, but that was 672, and you probably want something closer to 476.  The Hagia Sophia was rebuilt in 532 and had the largest dome in the world for almost a thousand years.
If you're only wanting Western European developments, then yes, things did slow down somewhat, as the lack of centralized power in the Italian Peninsula led to more tribal warfare between Germanic and Gallic peoples.  The Franks developed over the next several hundred years as well, and they were no slouches either. Sure they weren't inventing dromons and turtle ships, but civilization was still strong.
Basically, yes, there was still growth in the west, albeit at a slower rate since the centralized economic infrastructure necessary for big scientific advances was for the most part lacking.  In the near east, growth continued just as it had for hundreds of years prior.  The middle east was doing fairly well, though, and within 200 years, Muhammad had started the Caliphate and was rivaling the Byzantines in terms of military capability.  It is also important to remember that from the 3rd, up to the 8th century and beyond, the plague would periodically show up to ravage centers of high population.  So that threw a bit of a wrench into things.
As was mentioned in the comments, that doesn't even bring China into play.  Up until the 14th/15th century, China was the strongest centralized military state on the planet.
Answer: First of all, the Romans were not particularly known for being scientists. Can you even name a Roman scientist or inventor? It's not that easy. I can name a lot of GREEK scientists: Aristotle, Euclid, Eratosthenes, Archimedes, Heraclitus, Hipparchus, Ptolemy, etc. About the only Roman scientific author I can think of is Pliny, however, Pliny was not really a scientist, he was an encyclopedist and what did he write about? Mostly the work of GREEK scientists.
So, if you think the Romans were big inventors or scientists, you have the wrong idea. In fact, I can name more Greek scientists killed by Romans (Archimedes for example), than I can name Roman scientists.
In terms of the most major advancement during the 5th century (after the Western Roman Empire collapsed and the city itself was largely obliterated) I would probably say the forged stirrup. The Huns had introduced the stirrup to the world, but their stirrups were made out of bone and not easily duplicated. The Romans figured out how to imitate these stirrups in steel. This would have required a very high quality, malleable steel. So, I strongly suspect some important innovations were made in steel metallurgy at this time to make this possible.
The typical metal alloys available before 400 AD, would rapidly fracture or break if used as a stirrup, so there must have been an important advancement made in steel quality.
The steel stirrup allowed for a special new kind of troop called a "bucellarius". These were the shock troops of the General Belisarius. They carried a new kind of weapon (also introduced by the Huns): the mounted lance. It is only possible to use a mounted lance if you have stirrups. Also, the bucellarii could fire arrows from the saddle which is difficult without a stirrup.

The principle of ring rolling (from the Wikipedia)
One possible invention that may have made this possible is ring rolling. This is a technique for forging a ring of steel and results in a very strong loop. This would be the first step in making a steel stirrup that would be strong enough. Unfortunately, little is known about ancient forging techniques, but if ring rolling was invented at this time, then that would explain the appearance of the stirrup.
Answer: I suppose you are asking of the major technological advances in Europe.
(If otherwise, perhaps the the most important inventions were made in China,
gunpowder, for example. Paper was invented before the fall of the Roman empire.)
In Europe, the two most important technological advances in the Medieval time
were eyeglasses (1286) and mechanical clocks (1176).
Of course, this is a very long period between the fall of the Roman empire and
these inventions. But I suppose that no MAJOR technological advances were made during this period: this was a period of general decline (in Europe and in the Middle east) if not a complete collapse of civilization.
Comment: The Middle East didn't decline until Genghis Khan showed up in the thirteenth century.
Comment: @Steven Burnap 4: Please don't forget that Middle East (and North Africa) was a part of the Roman empire. And the most developed part by the way. And decline was even sharper than in the West.


Migrating from Catrthrob to Expresso

Question: Has anyone migrated from CartThrob to Expresso Store ?
I have a site using cart throb and we need sales (specials) functionality. This is not handled very will is CartThrob, but Expresso does it nicely.
So, we are looking to swap carts.
I was wondering if anyone had done this, and what their experiences (traps, problems, etc) were.
Answer: That all depends on how complex your products are, and how big your product catalogue is.
Obviously you'll have to rewrite a lot of template code - but since CartThrob and Store both store their order data differently, you can preserve all your old CartThrob orders with ease. (If you were looking to import that data into Store that's a different story.)
The main thing will be moving your products over - you can keep the same product entries, but you'll need to add a Store fieldtype to that channel, and then run  a migration to insert price and stock data into the various exp_store_ tables. If you have simple products, this is not a big deal. If you have products with multiple options via the CartThrob Options fieldtype, then you have to decode that data, format it, and insert those options as well.
Your best bet is to install Store, then manually add your options to an existing product. You can then look at the various Store database tables and see how products, options, and stock were added so you can plan a programmatic migration.
Comment: Hey Derek, thanks for the response. Thats a good help.

Migrating from Catrthrob to Expresso


XNA, direct X , OpenGL

Question: I have been wanting to give game programming ago for a long while and never got round to it, and i have finally decided to give it ago. I have decided to try and create a simple to 2D platform game. I have had a quick play with XNA and I do like it. What i am looking for tho is a comparison between XNA, directx, OpenGL. mainly the strengths and weakness between them. I have been a .net developer for the last 4 years and that's were my knowledge mainly is.
Answer: If you want to do Direct X, say hello to Win32 and COM as your new best buddies.  You'll be spending lots of time early on learning ins and outs of the win32 API.  DirectX with Win32 provides you all the features needed for sound, game input, and graphics display.  You'll also be writing in C or C++, and you'll get to learn all about memory management and the C mindset - not something you should consider giving up lightly.  Learning and using C as a language for a major project can be very illuminating, and make you thankful for modern programming language features and design elements.  You aren't actually forced to use C or C++ for development here; there are various .NET wrappers and other language wrappers for Direct X, but if you've got .NET experience, you might as well use the framework made for .NET: XNA.
XNA is a much newer, .NET based set of tools.  It provides many of the same features that straight use of Win32 and DirectX does (sound, input, etc) but natively on a managed platform.  For most games (especially one when just starting out) you can get great framerates with an XNA game (even though a native app can give you more), and is very good for learning the ins and outs of game development --  you can't really go wrong.  Most of the fundamental data structures you'll need (quad/oct trees, Model-view-controller architecture, handling of events, structure of your program) you will still need to learn and implement yourself, and doing it in .NET will most certainly be easier than in C and C++.  As a nice side bonus, if you have an Xbox 360, XNA community games can, with some work, be released through Xbox Live marketplace.  Basically, as a .NET developer, you would probably feel most comfortable here.
OpenGL is a cross-platoform library for drawing polygons.  It has a different framework and API from Direct X, and does not provide any any OS interaction tools.  There's packages that let you program in OGL in many different languages.  However, as others have said, this will probably be just as much work as writing with Win32 and DirectX.  For other features besides graphics (keyboard, mouse, joystick, audio) you could consider using a framework like SDL some of the missing DirectX features.  There's a pretty decent community surrounding the library that can give you pointers and tips if you go this route.
More thoughts on this can be found in an almost identical article, here: Suggested Gaming Platform to Learn direct-x, C Open GL, or XNA.
Comment: -1, The framerates are a non issue, until you make a AAA game that has the muscles to stress the hell out of the CPU and Video card. I've seen XNA demos running at 1000+ frames per second with great graphics (mainly because they used heavy shader programming, native code won't speed up your shaders)
Comment: Thanks for the comment.  I'll clarify; I didn't mean to imply that you can't have a good framerate with an XNA based game.
Comment: @Robert P, I've changed my vote, your edits and remarks about XNA performance are now "politically correct" :).
Answer: XNA is going to be the easiest/quickest way to get a game up and running for the 360 or Windows platforms.  It will allow you to continue developing in a way that you are already familiar (C#.NET) and it will provide you with a sizable framework that will take care of the commonly used stuff automatically.  With this ease comes some limitations though, as you will be limited to only the aforementioned platforms and due to it being a large framework there will be a lot of overhead that will go largely unused causing performance hits, however with a simple 2D platformer, this probably isn't going to be an issue.
DirectX is going to limit you in platform as well, and is going to be a lot more complicated to learn and develop in.  Also you will most likely be programming in C or C++ here.  The advantages will be in performance, since you are handling everything you will be in control of everything and able to optimize everything for what you need.  I would think that for a first game, you're going to be much better off starting with XNA and moving to DirectX after you've "outgrown" XNA.  Especially with the goal of creating a simple 2D platformer.
OpenGL will allow your game to run on most platforms but will be as complicated (if not moreso) as DirectX (although I should mention there are graphic engines for OpenGL which are pretty simple to use like OGRE.  You'll also be developing in C/C++ for OpenGL.  Again I would think XNA would be the better choice until you feel you're ready for the next step.
Answer: If your experience has been mostly with .NET as you say, XNA would have the shortest barrier to entry although you won't get quite as good of performance as you can with other options.  As you say that you're planning on making a 2D platformer, however (assuming that the implication here is "non-hardware intensive"), then XNA would be more than sufficient and probably the most suitable choice for your project.
Answer: DirectX doesn't mean you have to use native code, there's several managed wrappers out there. The performance loss is somewhere in the range of 1-3% of native DirectX, but considering you will save hours and hours of dev time and likely will never need that last 2% anyway, managed is the way to go.
See this example: SlimDX - a fully managed wrapper for DirectX in C#
Comment: Managed DirectX is deprecated in favor of XNA
Comment: You didnt read my post.  I wasnt talking about the managed DX from MS.
Comment: But XNA requires tons of god-damn runtimes for the end-user to install... so for starting, why not MDX 1.1? (or SlimDX for that matter when you've gotten up to spec a bit)
Answer: One option is to write your engine in .NET but implement the renderer with C++/CLI. I'm doing this for one of my projects. XNA, OpenGL and DX are all too low-level for what I want. I don't want to write a renderer, I want to use an existing one. The Ogre3D wrapper, Mogre, appears to be a complete mess (not sure if it's the design of Mogre, Ogre3D or both), and most other wrappers are hopelessly out of date. Instead I'm implementing the renderer using C++/CLI and Irrlicht, which seems to be faster and more well designed than Ogre3D.
You may consider doing something like this.
Answer: I started out using DirectX but have now moved on to XNA, mainly because I want to be able to focus more on the actual gameplay and less on the technology behind the game. Sure, you'll still have to do some engine coding, but it helps out alot to have a framework that supplies ready made functions specifically made for game programming.

XNA, direct X , OpenGL


Compile Quarterstaff to BF

Question: Quarterstaff repo here with additional quarterbf interpreter: rather bereft of documentation, however, but it does contain the two interpreters
you can go to https://tio.run/#quarterstaff to run quarterstaff programs online. however, the TIO BF implementation seems to have limited cells, according to the documentation

The title is rather descriptive, except that it doesn't describe what Quarterstaff and BF are. For this challenge, I have created two languages: Quarterstaff, and a dialect of BF that probably already existed in its exact form, but I wanted to be certain, especially with the I/O format, that it would work, called QuarterBF. In this challenge, you will compile a program written Quarterstaff to QuarterBF (but the underlying conversion should work for any generic BF dialect with byte cells and an infinite tape and such).
I have created interpreters for both of these. However, should you find the spec for one of them here conflicts with the interpreter, the spec is prioritised for the challenge (the interpreters should just be helping you out here)
First, the QuarterBF spec, since it will be easier to explain some of the Quarterstaff concepts afterwards (I cribbed some of this from the esolangs page for Brainf***):
BF spec
Brainfuck operates on an array of memory cells, also referred to as the tape, each initially set to zero. These memory cells can each hold an integer between 0 and 255, inclusive, and the tape extends infinitely to the right (some implementations will use a limited number of cells, hence I made my own to be sure / make an appropriate interpreter easy to find). There is a pointer, initially pointing to the first memory cell. There are no cells to the left of the first memory cell, and attempting to move further left is undefined behaviour. The commands are:
> : move the pointer to the right
< : move the pointer to the left
+ : increment the cell under the pointer, unless the cell is 255, in which case set cell to 0
- : decrement the cell under the pointer, unless the cell is 0, in which case set cell to 255
, : input a character code into the cell under the pointer (described more below)
. : output the character that the integer in the cell under the pointer represents
[ : Jump past the matching ] if the cell under the pointer is 0
] : Jump back to the matching [ if the cell under the pointer is nonzero

In QuarterBF input is interactive. The exact mechanism this works by could be gleaned by reading the source if you wanted, but it's not totally necessary. The important points: it sets a cell to the character code of an input character, sets to 0 on EOF, and to 10 for end of line newlines (which is the newline charcode)
Either way, you don't have to worry so much about how input works, because the values of ? and ! translate essentially perfectly to the values , and . anyway.
Quarterstaff spec:
Quarterstaff's memory consists of registers. one of these registers is called "value", and the others are named variables. variables are case sensitive. Variables can be referenced before assignment and are initially zero (alternately, referencing a variable before assignment does nothing, because if it hasn't been assigned yet, it means it has a value of zero, therefore adding zero has no effect).
[a string of digits] : add the number those digits represent to the value
[a string of letters not preceded by >] : add the variable that the name represents to value
[a string of letters preceded by >] : set the variable to the current value, set value to 0
. : set value to zero
- : multiply value by -1
? : add to value the amount that the underlying bf implementation would set a cell to when , is executed
! : output the character with the charcode corresponding to value.
[ : Jump past the matching ] if value is 0
] : Jump back to the matching [ if value is nonzero
([...] is a while loop)
{ : Jump past the matching } if value is nonzero
} : Jump back to the matching { if value is 0
({...} is a while-not loop)
(, |, ): part of an if else construct...
[any characters not mentioned here] separator between commands; doesn't execute anything, but separates variables or numbers

Explanation of if:
if-style 1:
when coming to this paren, check if value is zero or not
v
(...)
  ^  if value was nonzero, execute the commands within

either way, then continue execution after the )

if-style 2:
when coming to this paren, check if value is zero or not
v
(...|...)
  A   B
if the value is nonzero, execute the subprogram designated A. else execute the one designated B.
then, continue execution after the closing )

(...) is equivalent to (...|)
The challenge
Taking a quarterstaff program as input, compile it to BF; output a program which functions the same, but in BF.
i.e.

it halts if and only if the inputted program halts
outputs the exact same text as it.
if it doesn't halt, it should print the text that the original program prints in finite time, in finite time (it shouldn't put output into a buffer and then print it when it stops executing or something)

Allowances and some restrictions:

you may assume that input to the outputted program is always in printable ASCII and ASCII whitespace (and EOF. Basically, no need to worry about any characters >255 overflowing or whatever), and that the quarterstaff program will never try to output anything other than printable ASCII and ASCII whitespace.
you may assume the inputted program is only ascii printables and ascii whitespace
you may not assume that the variables and values only go up to 255. you need to implement infinite variables and accumulator
basically, you don't get to limit anything (except possible i/o characters). your bf spec has infinite cells, you can use them!
you may assume that the Quarterstaff program has fully matched brackets, and does not invoke undefined behaviour (e.g. trying to output non-ASCII like I mentioned earlier)
you should not invoke undefined behaviour in your outputted bf program. just because I included an interpreter doesn't mean you get to exploit any bugs or lack of exceptions for undefined behaviour. When the spec in this question and implementation differ, follow the question spec. This includes when the interpreter technically could suffer from recursing too deep. doesn't mean you get to assume that a program never recurses that much.

Scoring is by the length of the program, shorter is better; code-golf (this is not metagolf, the length of your bf programs does not matter, as long as they work)
test cases:
prime tester (slightly different from my answer on the prime challenge; a space was replaced with a newline):
10-?[-38a a a a a a a a a a>a10-?]a>b
b[>b>d a>c c[1>c1d>d b d(.>e|>d1>e)c]e f>f1b]2-f(.|1)48!

cat (prints each line after you input it, then exits on EOF)
?[!?]

prints a newline
10!

also prints a newline
5 5!

truth machine:
49-?{49!}49!

Comment: I think you forgot to mention that `!` resets the value to 0.
Answer: Python 3.8 (pre-release), 769 bytes
import base64,zlib
exec(zlib.decompress(base64.b85decode('c$|e(O>dkq5WVv&NG^sQ59(GuRK#}Fdv=dG)b#;{MMCnD$WWA)xWB#6EcrN8>cx!5<2TRq9{u_0F--aRYn0)X-RUJ}NBuc_(1O`p??iUc`>fZ(TQ;OzP-HE8guxkB&RDAgS--{(feY*i#mIVtV^(BvOJt)Kq%1RAA_5p7)CPe{;BX-10FW+u3dSkV4A4M;_<vo>uMN==IgxdbA%B*$9OOCghdi9Bt{>XQ`$81vwk&MJzrXQ!N99ZLqfM)IHZH|WS>0Z-D}}^Zs&Q)jp$ey_Ey}Xa^1jRG`l!#%b8(b=D&|_>RpV)DPhIoVPsJ>cWm(?L@?HxicC!=)>rJC)>V)OxK7#!+M<?k1rq!JYc4?xqYUv}=lnU5kyj%8?N^e3|;i1bIFUlk;&-Df|N6Ri1VzjS!oB_%|4=~YpjG;cP&pF7U*8MOQ1Ng77OTQbU1<1#i=ep787@UHXD@-ty#%}E@Dq{~_p%Bzk7vh0jD%eza$i3<01$tQk;y4jbpI3TP1jWW08<M3Q-oHABlXH?2E)Y0O^P-diDbU*b(AEcAmvB`wp8@s<7csy4$ir*tl6z}j880LTVI*oG5cqx=hipi=w+Ptp@%k$OA{iXS2pkfF4fs-I)5cj*@zt$c;!7!3gBIt~W%&c?HhT(5j!u~6I?(m*5D^$cbd1YG6x9@(Vf4*(Dwh4HuQmTU?%+AO-+#HpM#QrG3m~&3+y')))

Try it online! Test suite (also executes brainfuck)
OK, so this is a version following the specifications, but the rules seem to be missing that ! resets the value to 0. So, at a cost of two bytes, here is a fixed version:
Python 3.8 (pre-release), 771 bytes
import base64,zlib
exec(zlib.decompress(base64.b85decode('c$|e(O>dkq5WVv&NG^sQ59(GuRK#}Fdv=dG)b#;{MMCnD$WWA)xWB#6EcrN8>cx!5<2TRq9{u_0F--aRYn0)X-RUJ}NBuc_(1O`p??iUc`>fZ(TQ;OzP-HE8guxkB&RDAgS--{(feY*i#mIVtV^(BvOJt)Kq%1RAA_5p7)CPe{;BX-10FW+u3dSkV4A4M;_<vo>uMN==IgxdbA%B*$9OOCghdi9Bt{>XQ`$81vwk&MJzrXQ!N99ZLqfM)IHZH|WS>0Z-D}}^Zs&Q)jp$ey_Ey}Xa^1jRG`l!#%b8(b=D&|_>RpV)DPhIoVPsJ>cWm(?L@?HxicC!=)>rJC)>V)OxK7#!+M<?k1rq!JYc4?xqYUv}=lnU5kyj%8?N^e3|;i1bIFUlk;&-Df|N6Ri1VzjS!oB_%|4=~YpjG;cP&pF7U*8MOQ1Ng77OTQbU1<1#i=ep787@UHXD@-ty#%}E@Dq{~_p%Bzk7vh0jD%eza$i3<01$tQk;y4jbpI3TP1jWW08<M3Q-oHABlXH?2E)Y0O^P-diDbU*b(AEcAmvB`wp8@s<7csy4$ir*tl6z}jB~D&Q%)&^NK_gK9FcI01aBmUd-{bXf07~*WxDjY15*zlV$fk|6qT;Jtx5SrHtR5}SrOWaM(rxw>k|Lcj%XOgZ-60|{gy<NThbXEkG{fkd=~OKHPhV^PbKJppa=-s_iH(S5nf(R5Kqbo')))

Try it online! Test suite (also executes brainfuck)

Compile Quarterstaff to BF


Enable remote access to MySQL server (Linux)

Question: How can I enable remote access to my MySQL Debian server?
Answer: You should only allow a static remote IP access to your local MySQL server, since enabling all IP addresses is a security hazard. Use the guide below as a reference for the procedure that you need to follow to enable remote access.

SOURCE
Change mysql config
Start with editing mysql config file
vim /etc/mysql/my.cnf

Comment out following lines.
#bind-address           = 127.0.0.1
#skip-networking

If you do not find skip-networking line, add it and comment out it.
Restart mysql server.
~ /etc/init.d/mysql restart

Change GRANT privilege
You may be surprised to see even after above change you are not
  getting remote access or getting access but not able to all databases.
By default, mysql username and password you are using is allowed to
  access mysql-server locally. So need to update privilege.
Run a command like below to access from all machines. (Replace
  USERNAME and PASSWORD by your credentials.)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

Run a command like below to give access from specific IP. (Replace
  USERNAME and PASSWORD by your credentials.)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'22.214.171.124' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

You can replace 18.104.22.168 with your IP. You can run above command many
  times to GRANT access from multiple IPs.
You can also specify a separate USERNAME & PASSWORD for remote
  access.
You can check final outcome by:
SELECT * from information_schema.user_privileges where grantee like "'USERNAME'%";

Finally, you may also need to run:
mysql> FLUSH PRIVILEGES;

Test Connection
From terminal/command-line:
mysql -h HOST -u USERNAME -pPASSWORD

If you get a mysql shell, don't forget to run show databases; to check
  if you have right privileges from remote machines.
Bonus-Tip: Revoke Access
If you accidentally grant access to a user, then better have revoking
  option handy.
Following will revoke all options for USERNAME from all machines:
mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'USERNAME'@'%';
Following will revoke all options for USERNAME from particular IP:

mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'USERNAME'@'18.104.22.168';
Its better to check information_schema.user_privileges table after running REVOKE command.

If you see USAGE privilege after running REVOKE command, its fine. It
  is as good as no privilege at all. I am not sure if it can be revoked.
Comment: After that, don't forget about the firewall. Set whatever kind of drop response will pass PCI. You need the right drop because not masking the 3306 may cause PCI failure...if that is important to you. Then whitelist the client ip, but tethered to that incoming 3306 TCP port only.


Why is Perl so heavily used in Bioinformatics?

Question: What is it about Perl that makes it so useful in Bioinformatics ? Why isn't C++ or Matlab or Python the big language?
Comment: Python and arguably R have superseed Perl (although it is still used).
Answer: Aside from the inherent virtues of Perl, part of this is simply history. There was a major expansion of bioinformatics at the turn of the century because of the Human Genome Project. At the time Perl was by far the most popular scripting language in general use. Ruby and Python were certainly around, but didn't have nearly the support/mind share they do today. This gave Perl a lot of momentum in the field.
I think the use of Perl in bioinformatics is declining, and R is rapidly increasing in popularity. But for any language you care to name, you can probably find a bioinformatics lab using it.
Comment: Its not like R is going to replace Perl.  R is used for data analysis/visualization for exploratory data.  General scripting tasks will still be done with perl.
Comment: Agreed.  I remember an article, I believe in Dr Dobbs or something like that back in the mid-90s with the title "How Perl saved the Human Genome Project" or something quite close to that.

I've worked in the bioinformatics space for about 10 years now, and have yet to encounter someone actually using Perl though.  It's been mostly R with a lesser amount of Matlab & Python.
Comment: +1: Also, it seems that Japanese still use a lot more Perl than Python or Ruby (from a Japanese recruiter I chat with), so maybe it have a huge impact on which technologies were involve with Japanese research, like in bioinformatic, where they are leaders with the US?
Comment: @geoffjentry: I've seen quite a lot of processing done in Perl, though I don't have 10 years in the field (2, so far, plus a few short experiences a few years ago). R, however, is king when mathematical computations are expected (statistical analysis on large datasets comes to mind) and to generate good visualizations (in fact a lot of solutions prefer to simply integrate with the R Engine rather than to roll out their own).
Comment: In the 8ish months since I wrote that I have to recant my statement, I've now seen perl used :).  In those cases though it still seems of a historical nature - either old code or someone who cut their teeth using perl and just stuck with it. Most of the computational biologists at my new job use some mix (depending on the person) of python & r, with some matlab thrown in and the aforementioned perl.
Answer: What makes Perl so useful for bioinformatics is that 1) its a relatively easy language to learn, 2) there are lots of pre-existing scripts to use, including bioPerl and 3)chances are the lab you work in has hundreds of scripts and modules, already written in Perl.
The level of the programmer less to do with the choice of language, then the tasks being asked of him.  Any advanced or computationally expensive jobs are usually written in Java, or C, and run on a cluster.
One thing to understand about bioinformatics, is that it is a diverse field, with diverse tasks being asked upon those who practice it.  Its not uncommon for me to use Perl, R, and Java in one day.  Perl for scripting stuff, moving files, downloading things, some basic data analysis etc, R for data visualization, and Java for algorithmic computation/working with and modifying applications.  That being said, most of the tasks I do require the use of Perl, however, I would like to switch to Ruby, as it has more advanced functions, lambdas & procs, that can lead to more succinct code and is fully object oriented.
Comment: your welcome.  If you have any more questions, or are thinking about getting into the field, here's another response that might help you out.
Comment: http://stackoverflow.com/questions/3359675/bioinformatics-and-computer-science/3474716#3474716
Answer: I am going to add an answer here as I think a lot of them have missed a key point...
Perl is popular in bio-informatics because it is originally a text-processing language.
Text is King
Perl makes it easy to:

implement NLP and bio-informatics algorithms,
extract textual data,
generate textual data.

The Language Isn't (Half) Bad
It also has the benefits of having:

a decent expressiveness,
a relatively low learning curve (until your discover all its tricks and hacks),
but also a decent performance.

While it won't allow to create processing programs running as fast as a C equivalent, the development time is a lot inferior and it comes with batteries included when it comes to text processing (powerful regular expressions, anyone?), thus making it easy to pick up and use in a lab context to solve these tasks.
Portability and Extensibility Made Easy
Also, it obviously also:

is portable across many platforms,
comes with a very large library of extensions.

But the reason why there are so many bioinformatics (and scientific in general) extensions and modules for Perl in the first place is because of the reasons given above. In a great many cases, the language's design and abilities make it an almost perfect fit (despite many possible grudges one can hold against it) for the job.

All this makes Perl a good contender for scientific research, especially in fields where the data to process is mostly in text format.
Of course, other languages have emerged and claim a market share for different reason (enhanced expressiveness, better readability, explicitly avoid obscure hacks and guru-ish one-liners...), but they still compete with Perl on certain aspects (Ruby is as fast to learn as it is slow to process data, for instance). So, in the domain of bioinformatics (or NLP) where you deal with text formats, quick research cycles and more and more big data that keeps getting bigger (thank you, genomics and NGS), Perl is still very relevant.

Actually, just noticed maple_shaft, Charles and geoffjentry's comments, which mentioned the importance of regular expressions as well, so not everybody overlooked this. :)
Answer: One of the big reasons behind Perl's popularity in bioinformatics is BioPerl, a comprehensive set of modules for working with relevant data.
It looks like most of the modules are actually designed to work with data generated by other programs.  Perl makes for excellent reporting duct tape, after all.
Answer: Tools are selected by the skill level of operators and ease of adoption - it takes a while for a compiled program or IDE to overtake a simple interpreted language.
Perl has some serious chops, serious documentation, serious libraries and wide free availability. What's not to like about any of that?
Answer: Perl has all the same abilities, data constructs and methods of other languages, and its easier to learn then most. This is good for researchers and scientists not very experienced with programming, as they can easily pick up Perl and get their desired task(s) accomplished
Additionally:
Lot of online support and free scripts are available which is clearly advantageous! =)
In sum, most scientists and researchers just want to get the job done, and done as quickly as possible and Perl is the perfect fit for that


Does self replicating RNA occur in nature?

Question: Do self replicating, independent RNA strands occur in nature? They are often used in laboratory experiments but I have not heard of any wild populations. I mean independent of other organisms and able to reproduce on their own in the environment. I.e., not just viruses or transcription RNA.
Comment: I believe what you are looking for is Autotrophic self-replication, and no one has not been discovered, but that makes a lot of sense since the source molecules such a replicator would use are valuable biological molecules quickly gobbled up by bacteria. Prior to the evolution of these bacteria however that would not have been an issue. And as Rodrgo mention the replicator itself would be helpless food for any bacteria. This is why laboratory studies are so important since the can be done in the absence of bacteria.
Answer: They probably existed in the beginning of life (on Earth or somewhere else). But any free RNA now would be almost immediately devoured by bacteria or other organisms.
Bacteria are ubiquitous. That's one of the first things you learn in a microbiology course. We do this experiment a few times: open up a Petri dish far from a Bunsen burner, and in a few days you can see how many bacteria and/or fungus colonies have grown in the Agar. Any good microbiology book will show you this. I have none right now with me, but have just found a few links by  searching for "bacteria are ubiquitous" on Google: Understanding Bacteria, The Purple Phototrophic Bacteria, Bacteria in Agrobiology: Plant Probiotics and Public Health and Infectious Diseases.
As for the science studying the origin of life, I recommend The Fifth Miracle: The Search for the Origin and Meaning of Life, by Paul Davies.
Comment: While the answer might well be correct, it would be important to have a reference to backup your claim. Also, you should probably address the question of viroids as it is, IMO, unclear from the OP's question whether viroids would be an accepted answer.
Comment: @Remi.b References added. IMO, "independent RNA" excludes parasites.
Answer: Kind of; they're called viroids. If you mean RNA that also catalyzes it's own replication independent of environment then I'm not aware of any that exist in nature But one could make the argument that all 'life' is simply self-replicating ribosomal RNA which exploits proteins to do other functions and DNA to store it's information more stably.
It's a bit arbitrary to exclude other cells as an environment though.
Comment: "independent RNA" excludes parasites.
Comment: Including the term "able to reproduce on their own in the environment" rules out viroids and all other parasites.
Comment: Their environment is by definition in and around cells, it's an artificial distinction.
Comment: I also thought of viroids at first. The question of the OP is a little vague in the sense that it does not really allow us to know whether viroid would fit the category. I would rather disagree that "independent" means "not parasitic" and I would disagree to not consider another cell as not being ones "own environment". +1


How can one be the Moderator of this Site?

Question: What one should have to do to become the Moderator of Hinduism site? Can some one who is more active on Beta site but not on meta become the moderator? And on Stack overflow i have seen that election for Meta has held. Same thing will happen here?
Answer: For short, elections are only done for graduated site and pro temp mod get selection in public beta.

How Moderators are Appointed Pro Tem
About a week into the public beta, we will seek out members who are
  deeply engaged in the community's development; members who:

Have a reasonably high reputation score to indicate active, consistent participation.
Show an interest in their meta's community-building activities.
  Lead by example, showing patience and respect for their fellow community members in everything they write.
Exhibit those intangible traits discussed in A Theory of Moderation.

Bonus points for:

Members with participation in both meta and the parent site (i.e. interest in both community building and expertise in the field).
Area 51 participation, social network referrals, or blogging about the site.
Members who have already shown an interest or ability to promote their community.

Candidates will be contacted and three of them will be selected to act
  as provisional Moderators until the community holds formal elections
  after the Beta period. Besides the normal abilities of a Moderator,
  they will:

Have access to a special chat room where we will collectively work through the challenges of moderation and community self-policing.
Organize the process of selecting the site's attributes (domain names, design issues, the FAQ, etc.).
Rally community support and drive the mission of getting publicity for the site.

Refer this blog for more details.
Comment: but what if any user is not much active in meta but most active on BETA then?
Comment: @TheDictator chances are less i think. But can't say exactly.
Comment: Still criteria for moderation is not decided here.. as its not showing on the site page and just because it's currently in BETA


Barcode POS terminal

Question: I need a barcode terminal device for access controls workflow, this device needs to be connected to a web-application. In other words I need what can be a browser and a barcode scanner together.
Price limit 500$
Answer: The Motorola MC40N0 provides an android-based barcode scanner system which can access web applications via the android browser wirelessly. It includes a barcode scanner, laser scanner, camera, and magnetic strip reader. Software to utilize the scanning methods should come stock on the included Android ROM, otherwise you'll have to buy a license from Motorola, which will ruin your budget. An older model, it can be found on the used market for cheap.
I owned two of these devices, having found them in a dumpster. After charging them up, both worked fine, though one had a battery that wouldn't charge. Their OMAP 800mhz dual core ARM CPUs were somewhat slow, but sufficient for the job, and the devices were incredibly efficient and long-lasting.
Comment: Is the barcode scanner in keyboard emulation?
Comment: Seems to be over my budget, is not it?
Comment: Yes it has a soft keyboard; mine were running android 4.2. The link I provided showed $299. Other deals on used models are probably available slat similar prices if you look for them.

Barcode POS terminal


Ontario HST rebate: I am now 18. Do I get the last rebate cheque?

Question: I turned 18 in September 2010. I filed my income tax for 2010. Will I receive an HST rebate cheque for June 2011?  How much could I expect?
Answer: Yes, since you filed your 2010 income tax return and were 18 or older on May 31, 2011 (the qualification date for the final cheque), then you should receive a rebate cheque for $100.
Note that you would have also qualified for the December 2010 cheque since you were also 18 on November 30, 2010 (the qualification date for the second cheque), but unfortunately, you would have needed to filed your 2009 taxes by April 30th, 2011.
Answer: See This Answer Ontario harmonized sales tax (HST) transition benefit rebate cheques which should help you.


Trike with 60+ pounds basket possible?

Question: I noticed that many trikes have a basket in the back but I need something much stronger capable of carrying a golf cart battery which weighs about 60 pounds so is that possible to make a custom one capable of that weight or even better, capable of carrying 2 of those batteries simultaneously for 120 pounds total?  Could it just be made out of wood or is metal better?  Do you think having that much weight back there would cause any issues such as frequent flats on the rear tires unless I use super thick tubes?
Comment: Consider the load per wheel on a tandem or bakfiets with two children in. You might need to choose better tyres and inflate them harder. Be sure to secure the load.
Comment: 60 pounds, or 30 kilos should be well within the load carry capacity of a trike.     I've towed a trailer with a total weight of 101 kilos (over 200 pounds)  (and the load in the trailer was at least 95 kilos) even though it was a kiddy trailer with a rated maximum of 30 kilos.  Yes it was slow and hard work.
Comment: Consider a lithium battery rather than a hefty lump of lead in a SLA battery.  The same capacity would be about 20% of the weight, so 12 pounds not 60.
Answer: I'd use a trailer for this.  There are ready-made ones like http://www.bobgear.com/bike-trailers or you could build your own.  Then a lot of the weight can go onto a dedicated trailer wheel (or two),  which should make it no big deal to carry two 60 pound batteries (assuming you have legs of steel, obviously).
Comment: No my legs are made of skin, bones, muscle, cartilage...  no steel.  I;ll  just let the low gears do the work.  No significant hills here in central Florida where I ride, just bridges I sometimes cross.

Trike with 60+ pounds basket possible?


Analog of perfectly matched layers for finite element methods

Question: Is there an analog of perfectly matched layers for finite element methods? References or small examples are much appreciated.
Comment: I have seen plenty of papers with PML for FEM. E.g., http://ftp.lstc.com/anonymous/outgoing/ubasu/website/papers/basu-fdpml.pdf
Comment: That's great for wave equations, but what about something like a Poisson equation? Any good references?
Answer: A perfectly matched layer (PML) is generally introduced as a continuous concept without reference to the discretization method. A damping term is multiplied by the advection operator:
$$
\frac{\partial}{\partial x} \rightarrow \frac{\partial}{\partial x}\left(\frac{1}{1 + i\sigma/\omega}\right)
$$
If $\sigma$ is positive, the imaginary component in the above equation drives the standard oscillatory solution of a wave equation to be exponentially decaying. A simple way of implementing this would just modify the discretized equation everywhere in space and then assign the value of $\sigma$ to be zero everywhere except near the boundaries.
So, a PML could be implemented in any volumetric discretization like finite volumes, finite elements or finite differences.
For an introduction, I like these notes. Also, try this paper.
Answer: Take a look at some of the papers by my colleague Joe Pasciak on the PML and its approximation: http://www.math.tamu.edu/~joe.pasciak/


how to remove shoes from an image of a character and leave barefoot in photoshop cs6 or cs2?

Question: for example I have a image of a character displayed in photoshop and I see only the shoes and from there I will want to remove to show the feet
will tool history brush do this?
Comment: That is *not* what the history brush does. No tool in any application anywhere will do what you are asking. It's not possible.
Comment: how to configure the history brush tool or modify to leave only bare feet? obs I'm not good at painting or drawing on the feet, I wanted a more automatic way for this
Answer: You would need to paint in the feet.
Images are flat. They don't "cover up" things. If you remove the shoes.. she will have no feet. You will have to draw/paint in the feet.
Although TV shows such as CSI would have people believe it's possible to "remove something as see what's behind it" in an image. That is not how reality works.
Comment: How do I paint barefoot in the image above from this shoes? some other more realistic brush tool for this? Thanks for help!


How to contemplate without the urge to have to comprehend

Question: What makes people feel they have to figure it all out? How can someone strengthen their spirituality through contemplation while avoiding a desire to try to understand everything?
Comment: Welcome to christianity.stackexchange! I think that you have a good question here but it is very specific could you perhaps go in and change the wording as to make it more general so that others who may be struggling with this can also benefit? That would also make it a better fit for the SE format of questions.
Comment: I have changed my original question to make it more general in hopes that others who may be struggling with this can also benefit. (as requested by ryanOptini)

NOTE: The following comment is my original question which may be more appropriate as a comment:
Comment: Why do I feel I have to figure it all out? I get stuck in my own head. Sometimes I feel I could make arguments against my own beliefs. What is going on and how can I strengthen my spirituality with contemplation without such a strong desire to try to understand everything?
Answer: Note: This answer was written before the OP was edited. A more direct answer is marked below, the following is build-up.
The Psalms are a great place to go for this. Psalm 143:5 says

I remember the days of old; I meditate on all that you have done; I
  ponder the work of your hands. (emphasis mine)

A few verses down David implores God:

Teach me to do your will, for you are my God!

He's meditating on God's actions and word, but he's still asking God to teach him. He's marveling, wondering, thinking upon the truths of God's covenant with him and Israel, but he certainly doesn't have it figured out.
Also, by technical definition, contemplate does not mean comprehend
Additionally, the Bible talks numerous times of the mystery of God's nature and plan...

For my thoughts are not your thoughts, neither are your ways my ways,
  declares the LORD. For as the heavens are higher than the earth, so
  are my ways higher than your ways and my thoughts than your thoughts.
  Isaiah 55:8

Oh, the depth of the riches and wisdom and knowledge of God! How
  unsearchable are his judgments and how inscrutable his ways! "For who
  has known the mind of the Lord, or who has been his counselor? Or who
  has given a gift to him that he might be repaid?" - Romans
  11:33-35

So don't worry! You don't have to figure it all out. It's quite mysterious and amazing, but, we can learn. After all, we've been given the entire Bible to study.
Also, we're going to be in heaven for eternity learning about God. If it takes an eternity to learn about God, don't worry that you don't understand it all right now.
How to stop trying to figure it all out
This borders on a pastoral concern, naturally, but I think we can take cues from the verses cited above. In my experience a good attitude is to

Try to remember I can't figure it out. This is hard, because it's a fundamentally different from the narcissistic mindset we naturally have. You have to start knowing that no matter how hard you or anyone else tries, you won't figure it all out.
Try to figure out as much as possible anyways. We're supposed to learn about God (how can you worship someone you don't even know?).
When you hit a paradox, stop. When you encounter something that the Bible doesn't explain, don't try to reason it out. The Bible leaves it alone for a reason. Don't try to compress the Trinity into the phases of water; the analogy fails miserably. (though it can be a helpful illustration). Paradoxes are there both because God is greater than us and to remind us of that.
Comment: Wow thank you for the scripture. This has been very helpful. As a side note I know that contemplate and comprehend do not mean the same thing. The title is meant to describe that when I contemplate at times a feel a strong desire to know it all and figure it out. Thanks again, you have been very kind and thorough.
Comment: I have changed the title to avoid confusion. Thanks again! :)
Comment: @E1Suave i've tried to edit to include your edited question.
Comment: You have been very helpful. Thanks again.
Answer: Why would you not want to figure it all out? Sure, you won't succeed. I don't suppose that you or I will completely understand life, the universe, and everything. Certainly not in this life, maybe or maybe not in eternity. (I'd guess no, but that's another subject.)
I want to be realistic in the sense that I'm not going to get frustrated when I fail to achieve an impossible goal. But if we don't set lofty goals, what will we strive for?
If we aim for the stars, we might at least reach the planets.
Comment: I get stuck in my own head. Sometimes I feel I could make arguments against my own beliefs.


Downloading Emails locally with Thunderbird

Question: I am using Gmail (web interface) for sometime now, and have well over 20 labels and some thousand mails there archived to different labels in Gmail. Now I want to have a local copy of all my mails and following points are important in the context:

The Primary mail access mechanism would continue to be Gmail web for me. I just want a backup of my mail account locally.
Ideally the mails should download locally in folders named after Gmail labels (I know this is possible via IMAP but probably not by POP)
After all my mails are available locally, I will delete most of them in Gmail to free up space and because I want to archive them. The mails should continue to exist locally and should not be deleted when I delete when from Gmail web interface.
I would be syncing my gmail account locally let's say every month. So, the new mails that I have sent/received during this period should come over to my local mailbox in the folders named after Gmail labels.

I do understand that Gmail maintains a single copy of email having 2 different labels and such email would get duplicated locally in the 2 folders and I am okay with that.
Essentially you can see I just want to archive my mails from the Gmail server to a local backup and then sync (one way from Gmail to locally) new mails at regular intervals.
For some points above, POP seems to be the option while IMAP seems for the others. I am really confused and need help in deciding which of POP or IMAP would suit me best.
I have currently chosen Thunderbird to be my local email client but would not have a problem switching to Outlook or anything else as long as I get my desired archiving functionality.
Comment: I don't think this fulfils all of your criteria but I've used this tool in the past and it might be handy: http://www.gmail-backup.com/download
Answer: Most IMAP clients, including Thunderbird, can do that. Just mark all folders as "Download for offline use", then start the download.
You can also use OfflineIMAP to maintain a local copy of an IMAP server's contents.
Comment: Also do Mails in Sent/Trash/Drafts folder come over to Thunderbird through IMAP or POP???
Comment: @r_honey: IMAP - yes, as subfolders under "`[Gmail]/`". POP - no, it only ever accesses the Inbox.


How to make objects collisions act differently

Question: I am making an arkanoid type game and have it mostly working.  I can destroy the bricks when hit by the ball, but I am adding a twist.  I want to have a object on top of the bricks that will interact with the bricks but not destroy them.  It needs to still be affected by gravity and collisions because when you collect them all you win the game(you collect them by getting rid of the bricks below them.  Everything is pretty much working except for when this object collides with the bricks it triggers the destroy function within the brick script.  I am using C# and unity 4.6.9.  Thanks in advance!  I can give pictures and scripts if people want, IDK what would be exactly relevant here though because I'm not sure if this is something done in unity, in the brick script, or in the falling object script.
Answer: There are two ways to attack this.
1) The ball breaks bricks
Create a "Breaker" component and attach it to your ball. This component's OnCollisionEnter method should check if the other collider is a brick (depending on your style, you can do this by checking whether it's in the "bricks" physics layer, or has the tag "brick", or has a "Breakable" component attached, etc) and if it is, destroy it.
(Or, ask that object's "Breakable" component to TakeDamage() or Shatter() - which might involve playing some VFX & sound specific to each kind of brick)
Something like...
public class Breaker : MonoBehaviour {

    // Tune this if you want a "superball" that breaks bricks faster...
    public int damagePerHit = 1;

    void OnCollisionEnter(Collision collision) {
        // Request a Breakable component from the thing we collided with.
        var breakable = collision.gameObject.GetComponent<Breakable>();

        // If it gave us a Breakable component, deal damage to it.
        if(breakable != null)
           breakable.TakeDamage(damagePerHit);
    }
}

public class Breakable : MonoBehaviour {

    // Tune this to adjust how many hits each brick type takes to break.
    public int hitsRemaining = 3;

    public GameObject breakFX;

    public void TakeDamage(int damageAmount) {
        // Apply damage to our hit counter.
        hitsRemaining -= damageAmount;

        // Add code here if you want the brick to show a damaged state,
        // like changing colours or becoming cracked.

        // If we have no hits remaining, break this brick.
        if(hitsRemaining <= 0)
            Shatter();
    }

    public void Shatter() {
        // Here we do whatever the brick needs to do when broken.
        // Spawn VFX, sound, shake the screen, increment score, etc.
        // We can also farm this out to other components if we want lots of
        // different brick behaviours (eg. explosive bricks, money bricks...)
        var fx = (GameObject)Instantiate(
                               breakFX,
                               transform.position,
                               breakFX.transform.rotation);

        // Now we'll destroy ourselves as requested.
        Destroy(this.gameObject);
    }
}

Don't put this Breaker component on the new objects you're adding on top of the bricks, and now they won't break the bricks, because there's nothing to trigger the break action. That capability lives solely on the ball object.
I prefer this method because it puts the onus for triggering the action on the object that, from a player perspective, visibly causes the action. That makes it intuitive for me & other team members to know where to look if we want to tweak the trigger conditions (say, changing the damage done on each hit, or only dealing damage on collisions above a certain velocity, or only when the ball is in a "supercharged" state, or...)
2) Bricks are broken by the ball
As an alternative, you can invert this logic. Have a Breakable component on each brick that, OnCollisionEnter, checks whether the object that collided with it was a ball (as before, using layers, tags, or a component check), and if so it destroys itself.
Personally, I don't like this second style as much, because if I add a new type of thing that should break bricks (say, I introduce shrapnel objects spawned by hitting explosive bricks), then I need to go back and edit the brick's script to make it aware of this new thing.
I'd prefer to keep such changes centralized to the new content I'm adding. ie. putting a Breaker component on the shrapnel object: then the existing brick-breaking behaviour will be triggered by the shrapnel without needing to update each breakable thing. This keeps the code less coupled and easier to iterate on, especially for level designers on the team who can add/remove components and change inspector parameters but aren't necessarily accustomed to making code changes.
See this question for more exploration of these two styles.
Last note: remember to change this to OnCollisionEnter2D etc if you're using 2D physics!
Comment: I'm going to try this tonight when I get home and update when I come back into town for internet.  I think I'm going to use the second method because I want the bricks to count how many times they have been hit so they explode after x hits and with my low understanding of code it seems more strait forward in the second method.  Thanks!
Comment: In a case like that, I'd recommend the first style even more strongly. I've edited the example to show how you can incorporate it fairly simply. This lets the thing doing the damage determine how much damage it wants to do (great if you later want to introduce a "superball" that destroys bricks in one hit), without hard-coding every possible case into the brick itself.
Comment: I spent the weekend trying to get it to work but I couldn't figure it out.  I think it's because I'm just getting into coding so I decided to leave this feature out of the game, at least right now.  Thanks!


What is the best method of getting better at micro in Starcraft 2?

Question: I've always known my micro is the worst aspect of my game, which is is why I tend toward out producing, or being sneaky (rushing or using cloaked units).  But lately I've realized the only way I'm going to get better is to learn micro better, as well as improve my hot key usage.  I was wondering if anyone knows of a good custom map/scenario for this or has useful tips for getting better at this stuff?  I've already played through all the challenges though i haven't gotten gold in them all.
Comment: [Guessing incorrectly which hand is holding an object.](http://www.youtube.com/watch?v=tG_XYFTp0xo)
Answer: There is no substitute for actually playing games; no better way to learn Micro; no better way to learn Macro.
However, certain techniques can be practiced on specialized maps and here are some of them:

QXC's Stutter Step: Ever notice how the Pros seem to attack and move at the same time? This map is designed to teach you that technique
Multi Tasking Trainer: Despite its name this map is designed to teach you how to keep your early scout alive in your opponents base... all game long.  It also features a Mineral Cap to help with your Macro, while you Micro
Unit Tester: While you can use this to emphasize your micro and how to engage, the thing this does best is help you understand how strong an enemy army is.  I also like to use this one to practice my Marine Micro vs Banelings.
YABOT: Always a good way to improve the execution of your builds.  If you're build is 3 Rax, this map is how you learn how to get the most efficient 3 Rax.  A lot of Diamond players only know simple builds like 4 Gate, 3 Rax, etc, and have just honed their execution on this map.  The best thing you can use this for is knowing when to build which buildings in your BO.  Don't count on supply as a good measure for these things, use YABOT.

I realize you believe your Micro is lacking (and you may be right), but nothing is more important to the amateur player than Execution.  Half the 1000-1500 Diamond players are just players who know one build and execute it well.
Comment: You should post those [here](http://gaming.stackexchange.com/questions/7069/what-are-the-essential-starcraft-2-maps-for-training)
Comment: @Blue, its a CW, you don't need my imprimatur.
Comment: But it looks better if I'm not the only one posting answers :)
Answer: Not sure which league you're in, but since you talked about hotkey setup, I'm thinking the problem is more effective APM than micro. The best way to do that I think is to use the multi tasking trainer tzenes posted. (It's very hard at first). It may seem to focus on a fairly minor trick, but you learn how to look at action while keeping up macro. (It also helps macro once you hit multiple bases)
As far as the hotkey thing, first remember that it's super important to NEVER use the mouse for abilities or building, just memorize the keys. Setting up hotkeys for units is really more personal preference, but you can get a lot of value by assigning hotkeys to a few new things. For example, as Zerg in earlier game, my hotkeys are 1&2: units, 3: Creep tumor(rebound after each jump), 4: Hatches, 5: Queens, 6: Overseer, 7+ whatever, switching 3 to units when necessary. Hotkeying the tumor really makes a difference and reminds me to do it.
Anyways, advanced micro is just something that adds value to your units. If your macro slips because you are busy stutter stepping (which you really can't do while macroing), the value gained probably isn't worth it. A lot of very high level players (especially zerg) only do basic micro, and just win with solid macro and unit composition. Just ensure your basic micro isn't terrible and practice multitasking maps.
Answer: I recommend trying the popular custom map called Micro Tournament. It is exactly what the title says - you get a bunch of units, your opponent gets a bunch of units and whoever manages to wipe out the enemy gets some points. I wont describe it more, give it a try, it is good. Although some argue that the matchups are not always balanced (sometimes it seems you get a weaker/stronger army than your enemy) but still it is a great way how to practice micro.
Note: if i recall correctly, mouzMorrow is the creator of this map. Those who watch HDStarcrafts channel on YT might know that he is a very good SC2 player himself.
Answer: There are some campaign missions that could force you to improve your micro. I can't remember the exact name, it asked to make 50 kills by Ghost... you could try it.
Comment: You mean Challenges
Answer: APM spamming does help
mainly, just click on as many units as you can to boost your apm. Hotkey units groups, then double tap the number to center view on the unit. This is specialy useful early on when not much goes on.
If you are able to kill a few mining probes while keeping the workers production up, with buildings, then you're on a good way
Comment: @Josef : Fast micro is actually apm spamming, doing something useful. The usual method is to learn how to do stuff, then do it fast. Another aproach is learning how to do anything fast, then how to do meaningful things.
Comment: WTF? How can APM spamming help?
Answer: Here how things go: the more actions are needed, the more APM is needed. If you constantly play for micro-management games eg. 6 pool[6-8 zerlings rush] you have no way to macro - it contradicts to your game strategy.
On the other hand if you go for macro and a lot of expansions, harras with mutalisk,phoenix, viking/banshee you will be required to click more and click faster. They way to learn to micro/macro is knowing what to do and practicing doing it.
So focus on your game, rather than the micro. The micro will come along as long as you know what to do - move,attack, economy and so on.


Alternative for Schwalbe Kojak 35-584 tire

Question: I bought a Canyon Commuter 7.0 bike. It has 27.5 inch DT SWISS XR331 rims and Kojak 35-584 tires. It seems as if Schwalbe is the only manufacturer having a 35-584 sport tire. Do you know of any alternative for this tire that will fit my wheels?
Comment: Did you try a search engine? I found several tyres that size: https://www.google.com/search?q=35-584+tyre and https://duckduckgo.com/?q=35-584
Comment: Curiously, despite looking really fast, these tyres have an incredibly poor rating on https://www.bicyclerollingresistance.com/tour-reviews/schwalbe-kojak-2017  so they have relatively high rolling resistance.
Comment: Yes, I did. But the found tires do not meet the requirement of being sport tires. They are mostly targeted to MTBs. Also color is important. E.g. the Michelin WorldTour 650B is a creme and black tire having a vintage look that does not go well with the Commuter.
Comment: Velo Orange, Rivendell Cycles and Compass Cycles all have a selection of interesting road versions of 650B tires.
Answer: You don't need to replace the tire with a tire that is exactly the same ERTRO. And while ERTRO's are probably the most accurate tire measurement, they still aren't all that accurate. One manufacturers 35-584 can be slightly wider/narrower than another's.
See http://www.sheldonbrown.com/tire-sizing.html
Unless the bike has very tight clearances ( unlikely for a Commuter bike) you should be able to use any tire in the range 30-584 to 40-584 ( or even larger). The only important number in the ERTRO designation is the rim size (i.e the second number).
Panaracer makes some good relatively cheap 650B ( or *-584) tires[1] that would likely work well on that bike if you don't want to stick with Schwalbe. Schwalbe has a pretty nice range of 650B tires in "road" widths.
If you search for 650B Road tires, you should get a pretty good selection of tires that will work for your bike.
[1]- Col de la Vie or Pasela.
Comment: You can also search a bit more easily or in shops by asking for a 650B tire of the appropriate number of mm.
Comment: @Batman US shops, maybe, here that's likely to be met with "don't you mean 700c" because the kids these days only know metric sizing and the latest marketing terms.
Comment: @Móż - In the US, I don't think most shops will carry non-mountain 650B tires (if they even carry that size, which they likely don't). But, I suppose if you know every description of the size, you'll eventually get one that works.
Comment: @Batman I strongly suspect most shops in Oz would have to order them too, barring a few commuter/ebike shops. 10 years ago when I had a bike with those tyres that was the case. I chopped that bike up and made it into  something more useful, because the tyres were a PITA to get hold of. But asking for "650B" got me blank looks, 32-584 got me someone who knew about tyres and understood the question :)
Answer: I got the same bike. Ended up going with Panaracer Gravelking 27.5 x 1.50 (38-584) here in Japan