Streaming Team Fortress 2

Question: I need some help in streaming Team Fortress 2. I installed Open Broadcaster and selected 'Game Capture' and the TF2 process, but when I preview the stream all I get is a black screen. The Game Capture works for Minecraft and other games but not for TF2.
Here is a screenshot:
Comment: Re-check the process you selected, it's possible that TF2 uses a different one to render graphics.
Comment: It's the only TF2 process that shows up in the drop down menu.
Comment: Problem solved! :)
Answer: I found out what was going on. I play on a laptop that has two different graphics cards. An integrated card and a discrete graphics card. When you use Open Broadcaster make sure the game AND OBS are running off of the same graphics card. In my case, I had to go into the Nvidia control panel and manually set OBS to run on the discrete graphics card.
Answer: You will need to make sure that both the game and the streaming software are running off of the same graphics card. It looks like your computer has two graphics cards. An integrated and a discrete.
Answer: If you are using Nvidia, go to the Nvidia control panel, and select customize applications. There you should be able to change which video adapter OBS runs on. Restart the application and that should solve your black screen problem

Streaming Team Fortress 2


How can I export my Google Scholar Library as a BibTeX format?

Question: In the My Library of Google Scholar, is there a way to export all of the citations, whether to BibTex or something similar?
Answer: As of August 31, 2016, this functionality has been added! See this blog post: https://googlescholar.blogspot.com/2016/08/organizing-your-scholar-library.html
Comment: The problem with this approach (My Library) is that it only exports a single screen-full at a time. It's possible to Export All of your "My Citations" but that is different than "My Library"
Answer: I can only add that you can download citations one by one:

in Settings > Bibliography Manager, check Show link to import citation into BibTex.

With that, you can probably write a script (maybe using Scholar.py) that downloads all your citations.
An example URL is:
http://scholar.google.com/scholar.bib?scila=u_35RYKgDlwC&output=citation&hl=en&ct=citation&cd=1

Answer: You can use the scholar R package. I copied this answer from this  tweet, in R
install.packages("scholar")
library(scholar)

ID <- "Put your id from pic below in here"
pubs <- get_publications(ID)
write.csv(pubs, file="citations.csv")

There may be another package which allows you to write out bibtex.
Comment: In Ubuntu you need additional packages for the R `scholar` package to be correctly installed: `sudo apt-get install --assume-yes libudunits2-dev libcurl4-openssl-dev `
Answer: As far as I know Google does not offer a user interface to do that. Actually they still do not offer an API to interact with your results.
However, if you can handle code a little or you know someone who does, I found this.
As they say, you: Can extract publication title, main online URL, number of citations, number of online versions, link to Google Scholar's main cluster for the work, and Google Scholar's cluster of all works referencing the publication.
Since you have this information you can write another script that puts what you need into BibTex.
Answer: I couldn't find a way to export all citations from My Library (it seems to only work one page at a time), but it's possible to save all citations from the edit mode of My Citations:

Log in to https://scholar.google.ca
Click My Citations
Click the leftmost checkbox on the bar at the top of the list of citations:

Click Export > BibTeX and choose Export all my articles then Export

You should get a browser window with the BibTeX file of your citations that you can "Save as..." or copy/paste to a text editor and save.
Comment: @Adam_G The number of items per page can be set higher than 20 by appending `&pagesize=` to the URL. For instance to set it up to 100: `https://scholar.google.com/citations?user=&hl=en&pagesize=100`.
Comment: That's helpful. Also, you can set the number of articles displayed per page to 20, so you can at least get a BibTeX for 20 articles at a time.
Comment: @plannapus - Very interesting! But it seems to only work for My Citations, and not My Library.
Comment: @Adam_G indeed, as I never use that page I never noticed. In theory, to control the number of results on that kind of page one needs to append `#=` instead of `&pagesize=` but it seems to be still an hard-limit set at 20. I'll look deeper just in case but it seems you're right.
Answer: Here is a little python script that emulates the copy paste of bib entries of all references in My Library and appends them to a file.
It utilizes Selenium and chromedriver to open and navigate the browser. Initial run requires manual login. Then it goes to My Library, selects all, clicks on bibtex export, copies and appends the bibtex entries to a file, and goes to the next page until it crashes.
This way, I was able to automatically export all bibtex entries of the starred articles in my account on Google Scholar. Note that the code is far from being clean, many things are hard coded. But it got the job done for me when I needed a solution rather quickly, but there is huge room for improvement!
Comment: This is very cool. Thanks! One thing I had to do was hardcode the path to `chromedriver` even though I moved it to the script's directory. `driver = webdriver.Chrome(executable_path='/Users/adamg/tutorials/GoogleScholar/chromedriver')`
Answer: Disclosure: I work at SerpApi.

You can use google-search-results package to extract data from Google Scholar citations. Check a demo at Repl.it.
from serpapi.google_search_results import GoogleSearchResults
from more_itertools import first_true

client = GoogleSearchResults({
    "engine": "google_scholar",
    "q": "coffee",
})

data = client.get_dict()

print("Links")

for result in data['organic_results']:
    client = GoogleSearchResults({
        "api_key":
        "demo",
        "engine":
        "google_scholar_cite",
        "q":
        result["result_id"],
    })

    data = client.get_dict()

    link = first_true(data['links'], lambda link: link['name'] == 'BibTex',
                      None)

    print(f"""
    Name: {link['name']}
    Link: {link['link']}""")

Output
Links

    Name: BibTeX
    Link: https://scholar.googleusercontent.com/scholar.bib?q=info:re9ssrU-exUJ:scholar.google.com/&output=citation&scisdr=CgUgMydbGAA:AAGBfm0AAAAAXoSezaQALOlFVjCLJgcTVUPBVLhAC4P_&scisig=AAGBfm0AAAAAXoSezSdi7qdJVVpppb0Qjy9URFYAVvDb&scisf=4&ct=citation&cd=-1&hl=en

    Name: BibTeX
    Link: https://scholar.googleusercontent.com/scholar.bib?q=info:9WouRiFbIK4J:scholar.google.com/&output=citation&scisdr=CgXJdXzTGAA:AAGBfm0AAAAAXoSe_tPBybZ8u8VTSEOl_bwnW6MesS32&scisig=AAGBfm0AAAAAXoSe_q2vGhtlDC1qD-MUihajS43pIwqJ&scisf=4&ct=citation&cd=-1&hl=en

    Name: BibTeX
    Link: https://scholar.googleusercontent.com/scholar.bib?q=info:xY3q9qnkN54J:scholar.google.com/&output=citation&scisdr=CgXhmeGHGAA:AAGBfm0AAAAAXoSe_zIPHELNrzNBJx7LANjv2IOpiu0c&scisig=AAGBfm0AAAAAXoSe_98jnDbvzh1pjf3N-yQyeXjJ2Ymt&scisf=4&ct=citation&cd=-1&hl=en

    Name: BibTeX
    Link: https://scholar.googleusercontent.com/scholar.bib?q=info:fGeQlvu-2_IJ:scholar.google.com/&output=citation&scisdr=CgXtSK1OGAA:AAGBfm0AAAAAXoSfAWesoBxkblC33sy6Mwvap1ZhRO4s&scisig=AAGBfm0AAAAAXoSfAZCH98TGUSWB69hUOtQPECUPTBby&scisf=4&ct=citation&cd=-1&hl=en

    Name: BibTeX
    Link: https://scholar.googleusercontent.com/scholar.bib?q=info:Zu7aKNjvAUwJ:scholar.google.com/&output=citation&scisdr=CgXIa_eGGAA:AAGBfm0AAAAAXoSfArPmBDyaM3SUXrjLBzYMWDMRXpUv&scisig=AAGBfm0AAAAAXoSfAsZ2ayvj7ugoRdygul9ot981uovl&scisf=4&ct=citation&cd=-1&hl=en

    Name: BibTeX
    Link: https://scholar.googleusercontent.com/scholar.bib?q=info:pIjQPO7__AYJ:scholar.google.com/&output=citation&scisdr=CgVPosX6GAA:AAGBfm0AAAAAXoSfAzmhcfCJHuCELZ7mYASR3OXkOtGR&scisig=AAGBfm0AAAAAXoSfA1gD689aqgRLYIrefzXFAp-b3ohf&scisf=4&ct=citation&cd=-1&hl=en

    Name: BibTeX
    Link: https://scholar.googleusercontent.com/scholar.bib?q=info:UwtLySK5iawJ:scholar.google.com/&output=citation&scisdr=CgXEOW-BGAA:AAGBfm0AAAAAXoSfBUlA7r5lA5aL2yNPviXWq9UMobDz&scisig=AAGBfm0AAAAAXoSfBU6nawZyrVvngRnT_fg9jVsm9aZi&scisf=4&ct=citation&cd=-1&hl=en

    Name: BibTeX
    Link: https://scholar.googleusercontent.com/scholar.bib?q=info:fSVlrXX7dIUJ:scholar.google.com/&output=citation&scisdr=CgVO0I1QGAA:AAGBfm0AAAAAXoSfDLa1ZyBpvtn9R7iHWhtZPp1_5Rdq&scisig=AAGBfm0AAAAAXoSfDEISqsJV_AFPyBcG5RtNOL1rBZsC&scisf=4&ct=citation&cd=-1&hl=en

    Name: BibTeX
    Link: https://scholar.googleusercontent.com/scholar.bib?q=info:_3o-xhuGyg0J:scholar.google.com/&output=citation&scisdr=CgUsJS1HGAA:AAGBfm0AAAAAXoSfDlzXSDxT7NaRePw8LQN5H6FAKj2l&scisig=AAGBfm0AAAAAXoSfDoaKmhM3yJGzMycKG9po8hpOwgQh&scisf=4&ct=citation&cd=-1&hl=en

    Name: BibTeX
    Link: https://scholar.googleusercontent.com/scholar.bib?q=info:VJySkcFsQ1EJ:scholar.google.com/&output=citation&scisdr=CgVZmmy9GAA:AAGBfm0AAAAAXoSfD1o5xq89bx4YdTidC0oBncMAiLHs&scisig=AAGBfm0AAAAAXoSfD0LnTMh68lgySxXBcmf0hrJp8bTz&scisf=4&ct=citation&cd=-1&hl=en

JSON Response
{
  "citations": [
    {
      "title": "MLA",
      "snippet": "Farah, Adriana, and Carmen Marino Donangelo. \"Phenolic compounds in coffee.\" Brazilian journal of plant physiology 18.1 (2006): 23-36."
    },
    {
      "title": "APA",
      "snippet": "Farah, A., & Donangelo, C. M. (2006). Phenolic compounds in coffee. Brazilian journal of plant physiology, 18(1), 23-36."
    },
    {
      "title": "Chicago",
      "snippet": "Farah, Adriana, and Carmen Marino Donangelo. \"Phenolic compounds in coffee.\" Brazilian journal of plant physiology 18, no. 1 (2006): 23-36."
    },
    {
      "title": "Harvard",
      "snippet": "Farah, A. and Donangelo, C.M., 2006. Phenolic compounds in coffee. Brazilian journal of plant physiology, 18(1), pp.23-36."
    },
    {
      "title": "Vancouver",
      "snippet": "Farah A, Donangelo CM. Phenolic compounds in coffee. Brazilian journal of plant physiology. 2006 Mar;18(1):23-36."
    }
  ],
  "links": [
    {
      "name": "BibTeX",
      "link": "https://scholar.googleusercontent.com/scholar.bib?q=info:re9ssrU-exUJ:scholar.google.com/&output=citation&scisdr=CgUgMydbGAA:AAGBfm0AAAAAXoSezaQALOlFVjCLJgcTVUPBVLhAC4P_&scisig=AAGBfm0AAAAAXoSezSdi7qdJVVpppb0Qjy9URFYAVvDb&scisf=4&ct=citation&cd=-1&hl=en"
    },
    {
      "name": "EndNote",
      "link": "https://scholar.googleusercontent.com/scholar.enw?q=info:re9ssrU-exUJ:scholar.google.com/&output=citation&scisdr=CgUgMydbGAA:AAGBfm0AAAAAXoSezaQALOlFVjCLJgcTVUPBVLhAC4P_&scisig=AAGBfm0AAAAAXoSezSdi7qdJVVpppb0Qjy9URFYAVvDb&scisf=3&ct=citation&cd=-1&hl=en"
    },
    {
      "name": "RefMan",
      "link": "https://scholar.googleusercontent.com/scholar.ris?q=info:re9ssrU-exUJ:scholar.google.com/&output=citation&scisdr=CgUgMydbGAA:AAGBfm0AAAAAXoSezaQALOlFVjCLJgcTVUPBVLhAC4P_&scisig=AAGBfm0AAAAAXoSezSdi7qdJVVpppb0Qjy9URFYAVvDb&scisf=2&ct=citation&cd=-1&hl=en"
    },
    {
      "name": "RefWorks",
      "link": "https://scholar.googleusercontent.com/scholar.rfw?q=info:re9ssrU-exUJ:scholar.google.com/&output=citation&scisdr=CgUgMydbGAA:AAGBfm0AAAAAXoSezaQALOlFVjCLJgcTVUPBVLhAC4P_&scisig=AAGBfm0AAAAAXoSezSdi7qdJVVpppb0Qjy9URFYAVvDb&scisf=1&ct=citation&cd=-1&hl=en"
    }
  ]
}

If you want more information, check out SerpApi documentation or live playground.


Baritone or Tenor?

Question: I was classified recently by two different peeople as Lyric Baritone and Spinto Tenor, and i just want other opinions. First of all i am an untrained male voice, 30 years. I have had some trouble to find my voice type. My total range include airy lower register and mixed voice is F2-A4, but my singable comfortable range is A2-G4. I feel like i can mix more than A4, but i don't know how to, i have a crack so that's why am not able, but i can go in head voice without falsetto about C5-Db5 and in falsetto up to Bb5-B5. I have a natural quality high G. I will shaRe here a link with my audio, i don't sound very well, but i hope you can listen and find my voice type. Thanks in advance!
Comment: Hey, just so you know, this sort of question is pretty hard to answer properly without just saying 'talk to a teacher'. Here's some background information: https://music.meta.stackexchange.com/questions/2722/vocal-type-questions. The answers there do mention a canonical 'what's my voice type' question, but I can't seem to locate it for you.
Answer: You love to sing!  You can extend your range well beyond what is obvious.  Relax and blow.
At the high end, think "ee" but voice "oo."  At the low end, think "oo" and voice "aa."

Baritone or Tenor?


Why wing ribs have diagonal struts

Question: Why do ribs have diagonal struts,why not vertical as seen in airfoils of Citabria airplane?
Answer: The diagonal struts are best to transfer shear. Imagine an upward pointing load at the nose. In order to get that load transferred to the fuselage, it first needs to be transferred to the wing spar. Imagine now that you hold the rib firmly in your right hand where the spar is and press the nose upward with your left hand. With parallel struts, the rib will have much less stiffness and the nose load will deform the rib easily. With the diagonal struts, the rib is much stiffer when that particular nose load is applied.
Comment: I have a follow up question @PeterKampf. So if parallel struts are better for bending stress, and the diagonal struts better for shear stress, would some aircraft combine the two or would that create issues with weight? Would those new honeycomb structures they use on some planes be a compromise between the two?
Comment: @Jihyun: Many aircraft do this already. Ribs in large aircraft have round holes so the remaining structure will keep the upper and lower flange of the rib apart (good for bending) and transfer shear as well (good for transferring lift). Those holes will save some mass, but with larger aircraft there is no way around a [heavier structure](https://aviation.stackexchange.com/questions/27401/is-there-a-maximum-possible-size-for-an-airplane/27407?s=1|16.8051#27407).
Comment: @Jihyun:  Regarding honeycombs: They are used for three functions: To transfer shear between the top and bottom layer, to keep them apart (good for bending) and to prevent them from buckling. What kind of load those panels can transfer is determined by the fiber direction in those layers.
Comment: I see. Thanks for the thorough answer!
Comment: In #1 the struts are strong in compression, but the joints are weak in torsion, so triangles are used.  In #2, the joints are strong in torsion (in the rib plane).
Answer: This isn't really aviation-specific, it's just good structural engineering practice. Triangles in structures are strong because they don't bend: whichever way you apply load to the triangle, the load is along the members. With a rectangle, any load that's not perfectly aligned to the structure will bend the joints and squash the rectangle into a diamond shape, which will then squash flat easily. You don't want any rectangles in your structure anywhere.
Comment: @David Teahay: You could of course design your wing using rectangles, but it would probably be heavier for the same structural strength.
Comment: @DavidTeahay Those google results don't show that at all. The pictures there show two forms of rib: ribs constructed of triangular shapes (such as your new picture 1) and solid ribs with holes in the middle to reduce weight (such as your new picture 2, though more of the examples have circular holes). The latter will generally be heavier for the same strength, but might be easier to manufacture. If you try to build a truss without triangles, you'll need so much reinforcement at the joints it'll end up heavier than a solid rib anyway.
Comment: @DavidTeahay What is that link supposed to relate to?
Comment: That the wing ribs of some planes(maybe few) is actually rectangular and not in triangles(truss)....is this a design flaw or can I just go with that kind of wing rib in the design of my own wings? @Dan Hulme
Comment: http://www.russellw.com/logbook/citabria_wings/LH%20tip%20inward.jpg
Comment: @DavidTeahay Stop posting the same picture. As I already said, this is a solid rib with holes in, not a rectangular truss. It's still worse (heavier for the same strength) than a triangular truss.
Answer: It's a truss. Ideally, all of the beam elements in a truss are in either tension or compression, without major bending loads. This offers the lightest weight for given load.
This same design is commonly seen in the open in steel bridges, construction cranes, and spacecraft. Triangles that a truss consist of cannot be bent without changing the elements' lengths. If all of the struts were vertical, the structure would consist of rectangles, which can be easily deformed by bending the joints.
Answer: It's to make the wing stiff and strong in torsion. For torsion stiffness, you want two things. First and foremost, you want as much material on the outermost fibre as possible. The further the material from the neutral axis, the more it contributes to torsion stiffness due to the moment arm from the neutral axis.
Secondly, you want the cross-section to remain undeformed. Consider for example a matchbox 'shell', which is in theory very stiff for torsion. However, if the forces do not enter the matchbox exactly right, the open ends will deform into a diamond shape and will twist easily. This shearing into a diamond shape can be prevented by placing baffles in the matchbox.
This is in fact the very reason wings have ribs: so that the wings maintain their cross-section by transferring shear loads due to torsion from and to the top and bottom skins of the airfoil. In terms of stiffness, thin plates would be ideal, but these are prone to buckling so a strut structure is used instead. The best way to transfer shear loads with struts is to use diagonals.
So, in short: the diagonal struts transfer shear loads to increase torsion strength and stiffness of the wing.
Comment: You think ribs are mainly for the prevention of buckling? Then the vertical struts in the first picture would work just as well. I'm afraid you are not really answering the question at all.
Comment: @PeterKämpf Not at all. Stiffness and buckling are separate phenomena. I'm saying the diagonal struts are added for torsional stiffness to increase the eigenfrequencies, similar to adding baffles to a tube structure.
Comment: No, for torsional shear the ribs should be built similar to the wing skin - after all, they are part of the torsion box. With those puny struts they are certainly not up to the task. In other words, the rib shown is from somewhere internal while an end rib (which **is** part of the torsion box) would look much beefier.
Comment: I understand your second point but not the first. what do you mean by "outermost fibre" and what is "neutral axis"?....are you talking about the neutral point of an airplane? @Sanchises Pls elaborate
Comment: @DavidTeahay The 'neutral axis' is the line along which the cross-section of a structural member rotates if a pure torsion is applied (for a round tube, this would be exactly in the middle). With 'outermost fibre' I mean to say that you want as much material as possible as far away from this neutral axis. Material further away from the neutral axis contributes more to torsion stiffness than material near the neutral axis. Think of the difference of twisting a string or a tube of equal mass: you will find that the string is easier to twist because the material is closer to the neutral axis.
Comment: @Peter Revisiting this answer, I'm inclined to partially agree; that is: I based this answer on another design that used baffles to increase torsional rigidity, however, this concerned a bent tube (for which a single end plate would be insufficient). In this case, baffles such as these _can_ serve the same function of a torsion box end plate (albeit slightly less efficient if the wing is sufficiently straight, and of course this presumes the wing skin itself serves as a torsion box / structural member). I suppose then this answer only applies for outlandish designs such as box wings.
Answer: A top picture of number 2 might have been a bit better, but notice the "puny" cross struts run both ways, much like in the wing of an old time biplane.
Their function would be help prevent the wing from
collapsing BACKWARDS as a result of excess airspeed.
(spokes in wheel rims may also seem puny, but the rim
cannot come out of round because the spokes, 90 degrees from the load, cannot be pulled apart).
This seems to be a bit of sensibly added insurance,
but no, they probably would not add to the torsional
stiffness of the wing.
Regarding the design of the ribs themselves, as mentioned, 1 is a classic truss.  2 has the center of
the rectangular rib filled in with metal and the center circular portion and edges made as an I beam for strength.  1 of wood, 2 of stamped metal.
As far as making a stiffer wing torsionally, might consider replacing aluminum skin with plywood or some type of composite material.  Others may know how better to do it within the wing.

Why wing ribs have diagonal struts


How do I cycle through the camera views?

Question: When reviewing the existing cameras of a scene,
is there a way to quickly cycle through the views of all cameras?
Answer: You can try by binding the cameras to the markers. In the timeline, press M to add marker in specified frames. You can rename that frame by pressing Ctrl + M.
Assuming you have 2 cameras on viewport, then add two marker on timeline (adjust location of the marker diferently, ie : marker 1 : 1-20, marker 2 : 21-50). Now select the first camera, press Ctrl + 0 to set as active camera, make sure first marker selected, then in timeline press Ctrl + B to bind active camera to first marker.
Select the second marker, then set second camera as active again Ctrl + 0, hover the mouse on the timeline and press Ctrl + B.
Now, when you start the animation Alt + A, the camera should switch between first and second based on marker position.
Comment: If you just want to switch views without changing cameras on the timeline, just use ctrl+numpad0 after selecting the camera you want to view from.
Answer: run the following script:
import bpy

scene = bpy.context.scene
currentcam = bpy.context.scene.camera
setcam = False

for ob in scene.objects:
    if ob.type == 'CAMERA':
        if ob == currentcam:
            setcam = True
        elif setcam:
            bpy.context.scene.camera = ob
            break

if currentcam == bpy.context.scene.camera:
    for ob in scene.objects:
        if ob.type == 'CAMERA':
            bpy.context.scene.camera = ob
            break


the fingering intended by the composer

Question: I'm trying to understand why Erik Satie put chords impossible to play with the right hand up in the treble clef.  Why not put these chords in the bass clef so that it is obvious that they are played with the left hand?
Comment: It would also be helpful to name the piece, and the measure (if there is one) you are referring to as this would eliminate guess work and possible confusion by those who wish to answer your good question.
Comment: You can't spell "satire" without "satie".  Among other things, he was a proponent of Dadaism and put a lot of silly, dry humor into his pieces, among other treasures.
Comment: This is one of many unconventional yet fascinating aspects of this composer, consider "his first three gnossiennes... without time signatures and bar lines (often referred to as "absolute time") and traditional tempo markings."
Comment: For a good example of a place where there's a great deal of hand crossing, see the beginning of Brahms's G Minor Rhapsody, Op. 79 No. 2.  You will see that there are melody notes that need to be taken with the left hand crossing over.  These would be very difficult to write in the bass clef.
Answer: Advanced pianists don't see the bass clef as meaning left hand and the treble as meaning right.  The chief consideration for which clef to put a note in is readability, and notes on ledger lines are usually harder to read.  So, if the left hand is playing many notes above treble F or thereabouts in a passage (while the right hand is playing higher stuff along with it), the lower clef will switch to treble for a while.  Furthermore, there are plenty of cases where stuff in the upper clef gets played with the left hand, and vice versa.
The overriding rule is to use the hand which gets the job done, period.
To illustrate this, here's a snippet from Copland's Piano Variations:

This piece is characterized by a lot of leaping around the piano, and often resorts to using three staves (and even four in a couple of places).  Here, you'll notice that the middle staff moves from bass to treble in the fourth bar.  You'll also notice the "l. h." under the D# in the first bar, partly because it's easier to play, and partly because Copland wants to emphasize the slur between that note and the upcoming C# an octave higher.  This emphasizes a contrast between the notes in the top staff and those in the bottom two.
Of course, he could have written all this in two staves, but putting it in three clarifies the voicing that he wanted, making the middle voice stand out better.
Now, Satie is kind of unique as a composer, probably the only composer that was also a musical humorist.  So, although I can't think of any offhand, there are probably places in Satie's music where his note placements were some sort of joke.  To get some idea of Satie's attitude towards music, have a look at this parody of the "three wise monkeys":

Satie is in the middle.  The other people in the picture are the artist Marcel Duchamp and the writer James Joyce.  I feel pretty sure that it was Satie who put the others up to it!
Satie constantly satirized the self-important and sentimental musical conventions of Romantic music. For a fine example, see Embryons desséchés - "Dried Embryos".  This is a collection of three pieces entitled d'Holothurie (Of a Holothurian, or sea cucumber), d'Edriophthalma (A disused order including things as diverse as freshwater shrimp and woodlice), and de Podophthalma (the stalk-eyed Crustaceans, including lobsters, crabs and prawns).  Not exactly "To a Wild Rose" or "At an Old Trysting-Place"!  The ridiculously bombastic and superficial cadenza tacked on to the end of de Podophthalma is notated Cadence obligée (de l'Auteur), or "Obligatory cadenza (by the Author)".
Here's a bit from Embryons desséchés:

The writing says "I haven't any tobacco, fortunately I don't smoke"!  Typical.
Answer: There is no fixed association of the left hand with the bass clef. Plenty of non-eccentric composers like Mozart and Beethoven wrote whole passages where the left hand is playing high enough to be easiest written in treble clef. Sometimes the right hand dives over the left to play low bass notes, and is written in the bass clef.
Comment: Non-excentric composers like Mozart.  I remember some menuet where the only way to play a particular note was to use one's nose.  I remember because I played that thing on chromatic button accordion (where it was sort of playable) and asked my teacher what the idea on the piano would have been.
Comment: Chopin did that too, on the last chord of his second Ballade.  People usually break the chord up.  At least, I haven't ever seen anyone use their nose, although I tried it myself.  It hurts, and the piece is way too somber to do something that ridiculous-looking at the end.  :)
Comment: @BobRodes Wasn't that chord in Chopin marked with arpeggio though?
Comment: @Divide1918 It is in a lot of the 19th century editions, and some of those even rewrite the chord to remove the offending note altogether. The two modern editions I'm familiar with (Institut Fryderyka Chopina and Henle) do not mark the chord as arpeggiated. That doesn't mean that it shouldn't be arpeggiated in performance, just that Chopin is unlikely to have marked it so (I don't have a link to the manuscript), preferring to let the performer work out how to perform it.

the fingering intended by the composer


iphone dev: splash screen with tabbar controller + modalviewcontroller

Question: I'm new to iphone app development and I try to build an app with a splash screen. I need the splash screen, because my app needs to load a xml file from the web. during this, the app should show a splash screen (logo + message "loading xml...") and after successful loading it should proceed to the main screen.
I started the app with a tabbar template, because this should be shown after the splash screen. the first tab has a navigation controller (configured in IB) which loads a custom view controller (I called it searchViewController.h/.m/.xib) on his stack.
my problem:
if I run my app, the screen keeps for a long time black and then there is very shortly the splash-screen shown (as it moves down/disappearing) and then the tabbar with the other attached views are shown. but while the screen is black, I can see in the console my control NSLog-messages from the XML parsing.
this means: the app starts, fetching XML, parsing XML, showing splash screen for about 1ms and then show the main app. but I want it to show the splash screen already during the XML fetching and parsing.
my AppDelegate.m:
<code>#import "AppDelegate_iPhone.h"
#import "startPage.h"

@implementation AppDelegate_iPhone

@synthesize window;
@synthesize tabBarController;
@synthesize theVendors;
#pragma mark -#pragma mark Application lifecycle

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:
  (NSDictionary *)launchOptions {

        [window addSubview:tabBarController.view];

        //initialise the splash screen from class startPage as loadingPage
        startPage *loadingPage = [[startPage alloc] init];

        //present splash screen as modalview of the tabbar controller
        [self.tabBarController presentModalViewController:loadingPage animated:NO];

        //make the hole thing visible (should be visible, but isn't (that's the problem))
        [self.window makeKeyAndVisible];

        //call the splash-screen controller for doing the XML work
        [loadingPage initVendors];
        [loadingPage release];

        return YES;
}
</code>
and now the spash-screen method for the XML stuff:
<code>-(void)initVendors{
    vendors *theVendorsLocal = [[vendors alloc] initWithDictionary];
    NSURL *xmlURL = [NSURL URLWithString:@"http://.../muuhh.xml"];

    fParser = [[NSXMLParser alloc] initWithContentsOfURL:xmlURL];
    [fParser setDelegate:theVendorsLocal];
    [fParser setShouldProcessNamespaces:NO];
    [fParser setShouldReportNamespacePrefixes:NO];
    [fParser setShouldResolveExternalEntities:NO];
    [fParser parse];
    [xmlURL release];

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
    //AppDelegate_iPad *del = (AppDelegate_iPad *)[UIApplication sharedApplication].delegate;
    //del.theVendors = theVendorsLocal;
}else{
    AppDelegate_iPhone *del = (AppDelegate_iPhone *)[UIApplication sharedApplication].delegate;
    del.theVendors = theVendorsLocal;
}

    //detach the modalview from the tabbar controller
[self.parentViewController dismissModalViewControllerAnimated:YES];
}
</code>
so the problem is, that the whole parsing stuff is done BEFORE the splash screnn is shown.
why??
as you can see, I load the tabbarcontroller.view, put it as subview of window, set the modalview and do the [self.window makeKeyAndVisible] before I call the [loadingPage initVendors]; method...
why is the splash screen shown after the whole parsing stuff (actually it's not even shown, I just see how it slides out)??
thanks for any help...

I tried to move the [self.window makeKeyAndVisible] to the very top, but the results are still the same:
<code>- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    breakpoint1 ->  [self.window makeKeyAndVisible];
    breakpoint2 ->  [window addSubview:tabBarController.view];

    //initialise the splash screen from class startPage as loadingPage
    breakpoint3 ->  startPage *loadingPage = [[startPage alloc] init];

    //present splash screen as modalview of the tabbar controller
    [self.tabBarController presentModalViewController:loadingPage animated:NO];

...
</code>
I also tried around with other arrangements, nothing worked. finally I started setting breakpoints and using NSLog to show me, how the app is calling every method. while observing the screen, I found out, that the method-call of [self.window makeKeyAndVisible] doesn't show the view directly after the call..
I marked the breakpoints in the source code above: I would have assumed, that after breakpoint1 the black screen would disappear and a white screen is shown (the window) and afterwards at breakpoint2 the tabbar is shown (at least at breakpoint3). but nothing happens. the screen remains black until the whole idFinishLaunchingWithOptions-method is finished.
I also placed some breakpoints in the applicationDidBecomeActive-method, which is called after the didFinishLaunchingWithOptions-method. if the debugger breaks in one breakpoint in the applicationDidBecomeActive-method, even then there is nothing shown on the screen, the screnn still remains black.
finally after leaving the applicationDidBecomeActive-method the tabbar is shown.
I have no clou, where the app "goes" after leaving the applicationDidBecomeActive-method.
And I would like to know, where and when the tabbar is actually shown?
why does [self.window makeKeyAndVisible] doesn't show the window if I stop at a b reakpoint directly behind this call?
Answer: I suspect the tabbarcontroller is unable to present your splashscreen modally in time, because at that point your window is still invisible, hence hiding the view hierarchy attached to it. The splashscreen belongs to this hierarchy too.
Try moving the "makeKeyAndVisible" method to the beginning of your didFinishLaunchingMethod, otherwise making the view hierarchy is visible until after parsing your xml is complete - just as you are observing it.
Comment: thank you for your advise! I tried to put the [window makeKeyAndVisible]; method as the very first - the problem remains the same..if I don't call the [loadingPage initVendors]; method, the app starts a lot quicker, not showing the black screen, but showing the modalview and that's it. any further suggestions??


Why does the drink affect him?

Question: In The Flash S1E11 Dr. Harrison Wells is seen in his apartment just having arrived from S.T.A.R. Labs, and he pours out a drink for himself, sips it and seems satisfied. Except he is a speedster. Therefore, like Barry, he should not be affected by alcohol. Is there something besides the abilities that gives Barry infinite tolerance to alcohol?
Comment: Well, I haven't seen the scene so it may well be that there's some effect. But it *does* sound like it's just enjoying the drink as opposed to being seriously affected by it
Comment: But why does that mean he's drunk? Heck, I do that when I get a sip of beer after a long day. I'm certainly well off being drunk.
Comment: Hahaha okay if you say so. Not really experienced in drinking here. Is the question pointless then?
Comment: I haven't seen this episode. Are you sure he's drunk and doesn't simply enjoy the drink?
Comment: Well, he throws his head back like he's enjoying the 'hit'.
Answer: In S01E17 it became clear. In the scene when reverse flash / Eobard Thawne fall on the road he asks Gideon, the A.I. projection

Reverse Flash: What's happening to me?

In reply he got to know

Gideon: your time jump against flash caused a massive drain on your power. Your ability to super speed as well as travelling time has been completely depleted.

And later we saw Eobard Thawne sucked the DNA of Harrison Wells (We dn't know till now what actually happened between them) and becomes Wells. Thus he isn't as powerful as Flash. He has limitation after the long time jump affected his powers. So drinks can have an effect on him.
Answer: So far, we have no idea what kind of speedster Dr. Wells is. Is he completely similar to Barry? Probably not, since we see in latter episodes that he has trouble keeping the speed force stable, and needs the tachyon device to recharge it. So it's not a big stretch to think that his metabolism works differently as well, so alcohol may indeed affect him.
Answer: There's a scene in Captain America where Agent Carter finds Steve (post-transformation) drinking what might be whiskey. He comments that he knows he won't be affected by alcohol anymore, but still continues. I think it's just to show human emotions, such as sadness, pleasure, whatnot.
Comment: Not just Cap, but Wolverine, Deadpool, the Major from Ghost in the Shell, etc. Any healer has a hard time getting drunk.
Answer: HE is affected because his speed force is the only thing that makes him the reverse flash and without it, he is just a normal human being. See episode 17.
Edit: Barry does have a tolerance for alcohol because his nerve cells regenerate and repair themselves quickly from the effects of alcohol. In the episode 5 end we see barry gets buzzed for a high proof alcohol, but was able to recover from it quick enough.It is because of his cells quick regenerative ability, which disappeared from reverse flash the night he killed nora because he used his speed force in coming back to nora's timeline and in fighting against the flash.
Comment: Alcohol that's 400 proof aka 200 percent alcohol. Rubbish.

Why does the drink affect him?


How can I send mass email to all contribution page pcp owners?

Question: I have a contribution page that has pcp enabled. I want to send out a mass email to all the pcp owners. I can display a list of all the pages with owners, but I can't do any actions on them. Is there an easy (or even a hard) way to do this?
Comment: I think PCP stands for "Personal Campaign Page".
Answer: This is definitely a blind spot in CiviCRM!  I don't think there's anything except a very hard way:  Write SQL to get the contact IDs, then import those IDs, assigning them to a new group.
To get the IDs of EVERYONE with a PCP, here's the SQL:
SELECT contact_id from civicrm_pcp;
If you want to get the PCPs associated with a particular contribution page, and that contribution page's ID is 12, here's the SQL:
SELECT contact_id from civicrm_pcp cp JOIN civicrm_pcp_block cpb on cp.pcp_block_id = cpb.id WHERE cpb.entity_id = 12 AND cpb.entity_table = 'contribute';
If it's an event page, change contribute to event.
Export that as CSV (this is trivial in PHPMyAdmin, for command line you can look up syntax).  Import the list of ONLY contact IDs to CiviCRM through Contacts menu » Import Contacts. On screen 4 of 4 of the import, you can specify a (new or existing) group to add your contacts to.  Once it's imported, you can mass mail the contacts.
Sorry it's such a hassle!  Hopefully an organization invested in PCPs will step up and fund a better solution.  If nothing else, a custom search would be easy to write.


Other forms needed at the Auslanderbehorde for work visa in Germany?

Question: I'm a US citizen applying for a work visa at the Auslanderbehorde in Berlin. Aside from the listed required forms (registered residence, passport, passport photos, residence permit application, job description form, permission for job application, job offer/contract, rental agreement, bank statement, proof of health insurance, and copies and copies and copies of some of these), are there any other forms I need? I keep reading in various blogs/accounts that people have been sent back because they're missing "some specific form" - but no one has said WHAT those forms are. What are some other forms/documents they might ask for? I've read about maybe needing a "certificate of good conduct" and a "certificate of good health" on older blogs, but the document requirements on my registration page say NOTHING about it. Do I need them? And other forms?
Comment: Usually you can email Auslanderbehorde and they should let you know the list of documents. My experience is that the list varies according to the person who is going to process your application. I was to bring a set of documents during blue card application and my friend was asked to bring a different set of documents. Hope it helps.
Answer: The rules typically depend on the city/land where you live. For Berlin, the requirements for each specific type of residence permit are listed on the web site of the Ausländerbehörde, here is an example for residence permit for a purpuse of employment. In general, I would not worry too much, if you have everything listed there, but still asked about some extra documents. Probably in such case your application will still be taken, and you can send missing documents via post/e-mail. In the worst case, you will need to come there one more time in person, which is probably also not so critical...


What is the syntax of @username in comments when username has spaces?

Question: I like the new @username feature of comments. However, what syntax do I use when the username has spaces (or perhaps other weird characters) in it?
Comment: possible duplicate of [How do comment @replies work?](http://meta.stackexchange.com/questions/43019/how-do-comment-replies-work)
Answer: Based on a comment in the blog post, I implemented a way to handle this. The situation:

Spaces are not used for matching user displaynames.

The user displayname match must be 3 characters minimum, so @a and @ab will never match, but @abc will.

This is fine most of the time, but it is problematic for users with both spaces in their names and either very short or very common first names like "Al Smith".
Now, spaces are removed from the display name for the purpose of matching. If you need to refer to "Al Smith" then @als will work -- or @alsmith.
(Matches are done in reverse chronological order so you only need the minimum 3 characters necessary to match the displayname of the most recent comment under yours -- the matching process stops as soon as a match is made.)
Comment: @jan I considered that, and "it worked!" feedback would be nice, but comments are busy enough without adding more hyperlinks.. http://meta.stackexchange.com/questions/4798/lets-make-it-easier-to-reply-within-comments
Comment: @JeffAtwood Better solution. Thanks for changing. Now some link action on the @username could help to see, if it worked.
Comment: ITYM "above" yours, not under, unless you've got your browser rendering text in bottom-to-top order or something ...
Answer: I just saw in What is the relevance of " @ " in comments? this info:

Spaces cannot be used to match, so if the person's display name is "Peter Smith" then just use @peter to match.
Matching is performed in reverse chronological order, so if there are five people named "John" in the comments, writing "hey @john, have you considered apples?" will match the most recent John to comment.

I guess the answer is "you can" and it "mostly works the way you want it to anyway" and that's good enough for me!


Hop extracts...

Question: Do you use them?
How do you use them?
How can I get some?
Answer: I have not used them. The amount of hops I need for my beers is never high enough to justify going for the extract. But if I wanted to make a super-high IBU high-gravity monster, I'd think about it.
Northern Brewer sells them. Seems like you can add it at any time during the boil. And the NB site links to a calculator you can use to determine IBUs.

Hop extracts...


What does 聊斋志异 mean and what is its cultural significance?

Question: 聊斋志异 is the title of a famous collection of short stories dealing with the supernatural. What actually do the words the title is made of verbatim mean?  What is the cultural significance of those words and word-combinations so one could understand why the author (pu songling) used to choose them for the title?
Answer: According to Revised Chinese Dictionary of the Ministry of Education, ROC:

聊齋為蒲松齡的書房,志異是說記錄一些怪異的事情,借鬼狐之事,抒發對現實政治、社會的不滿。

So 聊齋 (聊斋) is simply the name of Pu Songling's studio. 聊 could possibly mean "fun" or alternatively "to depend" or "to rely on". 齋 means a study (as in a room in which one pursues literary endeavours). 志異 (志异) simply means "records of strange happenings".
Answer: 聊斋 is the name of the study room of the author.
斋 means a small room or house.
聊 is the name of that house.
In ancient China, a writer usually refers himself with the name of his room or his hometown.
The author 蒲松龄 called himself 聊斋先生.
志异 means to record something weird.
志 usually is used as a noun such as 日志 (daily record or log), In classic Chinese, sometimes you can use a noun like a verb. So here, it means to record something.
异 is a adjective means weird. In this case, it is used as a noun that means weird things.
So 聊斋志异 means something weird recorded by 聊斋先生 .
Answer: 聊斋 => Means people talk about something when they ate enough or in free time
Use 聊 because the stories in the book is from people's talking.
Use 斋 because this word in Chinese have two normal means, one is meal, one is the house use to read book or talking about literature.
志异 => Means the things sounds strange or weird.
So, that the reason why that called 聊斋志异.


Why was Snape called the Half-Blood Prince?

Question: My question comes from what I learned in the movies, considering I have not yet been able to read the books. I would just like to know why Severus Snape called himself the Half-Blood Prince? Did many people call him that or did he just think that it was a cool nickname? This question might be answered in the books so feel free to quote from it.
Answer: His mother's name was Eileen Prince, and his father was a Muggle (Tobias Snape). Thus, he gave himself the name "The Half-Blood Prince":

'I was going through the rest of the old Prophets and there was a tiny announcement about Eileen Prince marrying a man called Tobias Snape, and then later an announcement saying she'd given birth to a-'
'-murderer,' spat Harry.
'Well...yes,' said Hermione, 'So...I was sort of right. Snape must have been proud of being "half a Prince", you see? Tobias Snape was a Muggle from what it said in the Prophet.'
'Yeah, that fits,' said Harry. 'He'd play up the pure-blood side so he could get in with Lucius Malfoy and the rest of them.'
Half-Blood Prince Chapter 30: "The White Tomb"

It's never specified whether anyone else knew him by this name, but considering his Slytherin origin and the fact the Voldemort was on the rise, it's unlikely he was telling other student's about his half-blood status.
Well, maybe one other student...
Comment: A quote from the books is a better source than the Wikia; it is not a very good Wikia (cc @Noodlemanny)
Comment: @DavidS Found it
Comment: "Well, maybe one other student..."
:O SPOILERS P.S. A link backing up the claim would be good
Comment: On the topic of [whether anyone knew who the HBP was](http://scifi.stackexchange.com/q/55304/21267)
Comment: I'd tend to agree, but am unable to access the books at the moment. If you can get the quotes, I'll happily accept the edits!
Answer: Snape was a unpopular kid when he attended Hogwarts, and was always bullied by Harry's father. His mother also attended Hogwarts, and was a pure-blood with the last name "Prince". Snape's father was a muggle, so when Snape was born, he was a half blood. The kids who bullied him called him "The Half-Blood Prince", and that is what he was known as.
Comment: Although you're not wrong, this appears to be a worse version of the existing (heavily upvoted) answer.
Comment: I do not believe there is anything in canon that asserts the nickname was made up by "the kids who bullied him".  If anything, evidence from the books leans toward the belief that Snape made the name up himself.
Comment: Welcome to SF&F.SE (or science fiction & fantasy stack exchange). There's nothing intrinsically wrong with what you've written here, except its appropriateness to this site. This is a good answer, or it would be, if it included a few references and didn't say more or less what an existing answer says (see @Valorum's comment). In some places, that's okay, but Stackexchange is different as I'm sure you'll learn. We're not a forum, you can't just toss your 2¢ in, you wanna bring something new to an old question. If you don't, unfortunately, your efforts will be wasted, which sucks for everyone
Answer: A mud blood (a really mean name) is one who is born from a non wizard family. A half blood is one who is born to one wizard and one muggle parent. A muggle is one who is not a wizard. Snape was a half blood, therefore the half blood part, and the prince part was from his witch mother, Eileen Prince, therefore the prince part, and his name, Snape, is from his not wizard father, Tobias Snape.
Comment: Although correct, you're not actually adding anything from to the existing answers.
Answer: Because his mom was a wizard and his dad(Tobias Snape) was muggle, thus the name half-blood. Prince was the last name of his mother(Eileen Prince).
Comment: Hi, and thanks for your first post! This is correct, but we usually like posts to have a bit more detail than this. Could you provide some quotes from the books, perhaps, or a little more explanation?


Light scratch on sensor: is that fixable

Question: Short question, could a very light scratch on sensor be fixed?
Comment: Are you sure it's a scratch and not just a bit of smeared dirt?
Comment: @Caleb: a line that shows a faint yellowish color, in extreme contrast(blacks to 0, white to 100). I wasn't able to fade it away with proper sensor wipes.
Comment: If you would include information on the camera in question this question could be much  more specifically answered.
Answer: A scratched sensor can not be repaired. The only way to 'fix' the camera is to replace the sensor.
In all likelihood, though, your actual sensor is probably not scratched. What is scratched is probably the top of the stack of filters placed in front of the imaging sensor. Unfortunately, replacing a filter stack also requires extensive disassembly/reassembly of the camera that would probably cost more in labor charges than the price of all but the most expensive cameras.¹ Depending upon the specific camera and how it is made, only an already assembled sensor/filter stack combination may be available as a repair part.
¹Many different camera models cost more than a sensor/stack replacement would. But the overwhelming percentage of camera units sold are the lower cost camera models that do not cost more than the labor charge for such a repair would be.
That's not to say the camera is no longer usable at all. Depending on the location of the scratch one might be able to crop all images to exclude the area with the scratch. When selecting a lens to give a desired angle of view and when composing an image the unusable portion of the frame would need to be taken into account.
Depending on the severity of the scratch, assuming it is on the filter stack a few millimeters in front of the imaging sensor itself, shooting at very wide apertures could also minimize its effect on your images.
Comment: a camera without low pass filter, would it be filter again? how much would that cost to get it replaced approx?
Comment: Most cameras with no LPF have a cover plate with the same refractive index as a LPF. There are other filters in front of most sensors as well. UV, IR, etc.
Comment: Cost totally depends on the specific camera model and who does the work. In 2013 Roger Cicala mentioned $1,800 is what it costs LensRentals.com for a Nikon D800 sensor replacement in [this blog entry](https://www.lensrentals.com/blog/2013/02/roger-buys-a-camera-system-finally/). Keep in mind that FF sensors cost much more than APS-C sensors do, but there isn't much difference in terms of labor required.
Answer: If there is a scratch on the filter stack on the camera's sensor, another option would be to convert the camera to an infrared camera. When that is done, the filters are replaced by other filters anyway.


multibit - my wallet is not reopening

Question: the guidebook says that "when you open MultiBit, the wallets that were open in the previous use of MultiBit are reopened", but I've stored some money in a wallet that I created in a USB key. Now I am opening again multibit and I can't see this wallet. The .wallet and .info files are in the flash and I know its address so the problem is, how to do in order to see the wallet in multibit again? there is not an explanation of it in this short guidebook. Thanks for your help.
Answer: You can use the "File | Open" menu option to open an existing wallet.
A file chooser opens and you can navigate to where your wallet is stored to open it.
Note that in the older code (v0.4.23 and before) your wallet does not automatically resync when you open it. You have to do this manually with a 'Tools | Reset blockchain and transactions'.
The current version (v0.5.9 or later) automatically resyncs wallets when you open them.
Answer: I think if you want it to use the info you musttransfer the wallet files especially the Wallet.dat files to your appdata folder on the C drive as the default loading folder is the appdata folder, uhnless you tell it to open the file from the flash disk or right click on it in the flash drive and tell multibit to open it the multibit will always look in the c drive in your appdata folder for the files it uses.

multibit - my wallet is not reopening


Were there any assassinations of high-profile Austrian officials before that of the Archduke Ferdinand?

Question: I am trying to argue that "the Blank Cheque" ushered Austria to be aggressive against Serbia, thus leading to WW1. Were there any assassinations, mainly by Serbians, of equally or a bit less important officials of the Austrian Empire?
Comment: @MarkC.Wallace I thought that's because the emperor made it a family members only private funeral. Not a good indication of a heir presumptive's importance.
Comment: I would suggest focusing your question to 1903-1914 only.  Prior to Serbia's 1903 change of regimes, it would not have been so readily assumed that a Serbian assassin acted on orders of the Serbian government.
Comment: @Mark C. Wallace what assassin's funeral you are referring to? Gavrilo Princip died in prison from typhus. And that was during the war. I doubt there was any official funeral.
Comment: @Anixx MarkC.Wallace is probably referring to the state funeral of Princip and the other conspirators in 1920 in Sarajevo. See [Wikipedia](https://en.wikipedia.org/wiki/Gavrilo_Princip#Imprisonment_and_death).
Comment: I think you need an assassination from 1912 or later to be comparable.  Serbia grew tremendously during the Balkan Wars.  Prior to 1912 Serbia was not viewed by Austra as a serious existential threat.
Comment: Does Emperor Maximilian of Mexico count? He was Austrian.
Answer: Count Andrzej Potocki, the governor of Galicia, was assassinated on April 12, 1908 in Lemberg (Lviv) by a Ruthenian (i.e. Ukrainian) student.
There were also several unsuccessful assassination attempts:

on general Marijan Varešanin, the governor of Bosnia and Herzegovina, on June 15, 1910 in Sarajevo by a Bosnian Serb,
on count István Tisza, the speaker of the House of Representatives, on June 7, 1912 in Budapest by a Hungarian (he would be assassinated by Hungarian soldiers on October 31, 1918),
on Slavko Cuvaj, the ban of Croatia, on June 8, 1912 in Zagreb by Croatians,
on baron Iván Skerlecz, the next ban of Croatia, on August 18, 1913 in Zagreb by a Croatian,
on István Miklósy, the Greek Catholic archbishop of Hajdúdorog, on February 23, 1914 in Debrecen by Romanians.
Answer: Is an Empress Of Austria considered a "high-ranking official"?
https://en.wikipedia.org/wiki/Empress_Elisabeth_of_Austria#Assassination
Comment: Italian Anarchist not Serbian or related to Balkan politics
Comment: Could have something to do with Austria-Hungary's animosity to Italy, and to the Allies generally.
Answer: In 1853 the emperor Franz Joseph himself had to suffer an assassination attempt. And he was certainly high-profile enough to be at the center of attention for all would-be assassins for his whole life. Only by chance he avoided that fate later, as he was also the prime target for the Black Hand that eventually settled for the archduke:

In 1911, Dimitrijević organised an attempt to assassinate the octogenarian Austrian Emperor Franz Josef. When this failed, Dimitrijević turned his attention to the heir to the throne, Archduke Franz Ferdinand.

But for the background given in the question, it might be of interest that not only Serbian/Bosnian operations clashed with Austria-Hungary's plans, but also:

Austria-Hungary, struggling for an exit from the Adriatic and seeking ways for expansion in the south at the expense of the Ottoman Empire, was totally opposed to any other nation's expansion in the area. At the same time, the Habsburg empire had its own internal problems with the significant Slav populations that campaigned against the German–Hungarian control of the multinational state. Serbia, whose aspirations in the direction of the Austrian-held Bosnia were no secret, was considered an enemy and the main tool of Russian machinations that were behind the agitation of Austria's Slav subjects. But the Habsburgs failed to achieve German backup for a firm reaction. Initially, Emperor Wilhelm II told the Archduke Franz Ferdinand that Germany was ready to support Austria in all circumstances – even at the risk of a world war, but the Austro-Hungarians hesitated. Finally, in the German Imperial War Council of 8 December 1912 the consensus was that Germany would not be ready for war until at least mid-1914 and notes about that passed to the Habsburgs. Consequently, no actions could be taken when the Serbs acceded to the Austrian ultimatum of 18 October and withdrew from Albania.

Even the Serbian king Alexander I of Serbia was assassinated in part or even mainly because he was "too friendly to Austria-Hungary" in 1903.
Bogdan Žerajić who also wanted to have a shot at the emperor then went

on 15 June 1910, Žerajić attempted to assassinate Varešanin on the day of opening of the Austro-Hungarian Diet of Bosnia because he believed it was illegal and illegitimate.9 He shot at Varešanin five times, and missed. With his last, sixth, bullet Žerajić killed himself. Before he died, he said that he expected that Serbdom would avenge his death. His action brought Young Bosnia to the public attention.

Even in January 1914 Oskar Potiorek (Feldzeugmeister of the kuk Army and governor of Bosnia and Herzegovina at the time) was targeted by  Muhamed Mehmedbašić, who was also involved in the later shooting of Franz-Ferdinand.
Answer: There is an conspiracy theory, where Rudolf, the crown Prince of Austria was murdered. Official documents reports that he died in an act of suicide.
More details about Rudolf here:
https://en.wikipedia.org/wiki/Rudolf,_Crown_Prince_of_Austria#Affairs_and_suicide
Answer: First of all, i wouldn't say Archduke Franz Ferdinand was at all important - let's not forget, even though he was the heir presumtive, he was in a mortganatic marriage, so in any case the titles would have passed to his brother and his heirs.
The Austrian response had nothing to do with Franz Ferdinand - they would have probably reacted the same if the Black Hand had murdered a.. simple Austrian soldier(speculation, but mostly founded). The Austrians wanted land, to prove they were still a force to be reckoned with, and tensions in Europe were really high.
And secondly, more to the point - no, there weren't any high profile Austrian victims of Serbian extremism(at least not to my knowledge).
Comment: Yes.  He was the heir to the throne. This answer is very off base.
Comment: "i wouldn't say Archduke Franz Ferdinand was at all important" => Really? He would have been the next Emperor wouldn't he?
Comment: Sources would improve this.
Comment: He was, but he was in a mortganatic marriage...
Comment: Stating that a foot soldiers death would have exactly the same impact as an archduke requires at least a detailed argument (sources, etc would also help). "Austria wanted war" is not really an argument about a region that had practically constant war between the freshly created nations.


finding running applications on a system in a network

Question: While on windows, suppose i connect to a wireless network that is within range.  Is it possible for the admin of this network to access my computer and find out the applications that are running on my system?  If so, how? Thanks.
Answer: In a few roundabout ways, yes.
For one, they can monitor the sites you visit and the addresses you query. Some applications are very specific- World of Warcraft, for example, queries a specific set of addresses (it's servers), so from knowing the IP's you visit, some applications could be revealed.
Another possibility is that they could exploit any of your internet-enabled applications and insert their own code, but this is so minimally likely that it's not worth thinking about.
Finally, the admin can see the pages you visit, and could logically deduce the programs you have installed from your searching habits.
However, it all boils down to a simple condition- If your application uses the internet in any way, it can likely be deduced that you are using it. If your application is offline, or in offline mode, there is absolutely no way (aside from the tiny chance of an exploitable sharing capability in one of your applications).
Answer: Yes he can, Every time you access a website or any application that goes to the world then it hits the router, if the router has capabilities of monitoring the traffic, then he can know what IP are you accessing and what ports are being used. therefore he can tell what you are the websites/application you are using, but he can't access your computer, only the router has a log of the activity.
Answer: most people will check DHCP on the router to get your IP and then could, if you have left the ports / services open to do this, use a tool like "tasklist /S \192.168.2.100 or whatever your ip is, but most installs disable this kind of access by default, just double checking to make sure you are running some kind of protection between you and the router is good, although it wont stop them from seeing your unencrypted network transactions... i have logged onto many wireless routers that wern't mine and never had anything like that ever happen, even when i did open things up to see if they would.


How do I tether over wifi in rooted Xperia x8?

Question: I would like to tether over wifi rooted Xperia X8 running Android 2.1.
I used wifi tether app but I just saw error message "Sorry, but your kernel does note have all necessary feathers for running this application."
What kind of setting should I change?
Answer: Download Barnacle Wifi Tether  This app will load it's OWN drivers and actually use your phone as a modem. I have used it once before with my X8 Android 2.1 also.
Answer: Alas, it's not possible officially.
As the message told you, there are dependancies on the running kernel. This belongs to the core of your phone's operating system and is only meant to be upgraded by official updates from Sony Ericsson. Your current firmware is however already the latest version Sony Ericsson provides for the X8 as it has reached end-of-life update-wise. Hence, you cannot do anything about it except installing a non-official community mod.
For the sake of completeness: Such a mod exists, see this for an example. However, it's not an easy path to get it working initially. I would suggest you refrain from installing it if you have concerns to void your warranty and don't want to end up with a broken device.


What wood is not good to use in a cutting board?

Question: I have heard that there is some wood that should not be used in a cutting board because it can be 'bad'. I am not sure what wood is not good, but I guess some wood is poisonous and stuff. I use woods like pine, black walnut, cherry, oak, red oak, cedar, maple, hickory, and sometimes aspen. Are any of these bad? And if they are why are they? What should I look out for when making a new cutting board? Thanks!
Comment: I am not an expert but once read walnut chips in a horses bed can be very unhealthy for some reason, and one thing I do know , maple I read has naturally occurring anti microbials. Walnut on the other hand when water is left on it, there can be a change to the water -the walnut has some oil or chemical in it which is why I dont use it in this way and that could be alleviated by a good finish but then arent food grade finishes not really sealants, therefore they would not seal or prevent the transfer of the chemical in walnut -maybe someone should do a test leave a puddle of water on maple and
Answer: The Wood Database has an extensive database with details about "Allergies and Toxicities" for all its known woods.
Cedar (which has 12 varieties listed on their site at the time of this post) can cause both skin and respiratory issues. Several wood varieties can cause death.
Example:

Species: Cedar, Western Red
Reaction: irritant, sensitizer, runny nose, asthma, nervous system effects, NPC (rare)
Areas Affected: skin, eyes, and respiratory
Potency: 5 (out of 5)
Answer: To a great extent this is just the flipside of the question "What woods are good to use in a cutting board?" and there was a recent thread on this subject that was closed for being more likely to attract opinion-based responses. But you have asked one key follow-on question that doesn't come down just to a matter of opinion.

Are any of these bad? And if they are why are they?

As per the above it depends on who you ask, so this becomes largely a matter of opinion rather than there being some definitive yes/no checklist you can refer to showing what species should and shouldn't be used.
The example of western red cedar helpfully provided by Adam Zuckerman already is a perfect illustration of this, as not only is this species used for boards it's sometimes specifically chosen for use with food for the very chemicals it contains that make it an irritant (Google "planked salmon" for more). Some of the aromatic hardwoods chosen for burning when smoking food are also good illustrations of the same principle, because someone out there is likely to hold the opinion that "they shouldn't be used for boards because they'll taint the food" or something along those lines.
In terms of outright toxicity, not something like irritant/potential irritant properties, there are no woods you might buy and would consider using in a board that qualify, so you can put that worry out of your mind.
The thing you should focus on here as the woodworker is the risk to you when making the board, not any danger for the user from the completed board in any normal way. So while a given species might be perfectly fine in a board, you might want to avoid using it rather than risk exposure to its dust when sawing, routing or sanding it.

What should I look out for when making a new cutting board?

This is the only part where I think you can get input that isn't merely an opinion, because it's about wood's physical properties. And the primary bit of advice is not to combine species of widely different properties in a cutting board, for durability reasons.
Probably the main thing to focus on is avoiding combinations of species which have markedly different coefficients of movement (see table at the bottom of this previous Answer). This is for structural stability, because where pieces that expand more are locked between pieces that expand less it could put great strain on your glue joints and eventually split the board. Note: it doesn't matter if the glue is completely waterproof or how strong the glue joints are, because if necessary the board will split the wood itself apart to relieve internal stresses.
The other thing to bear in mind is using woods with very different hardnesses, if you're concerned with how the surface will retain its looks. So for example pine can make a perfectly acceptable wood choice for a board but it shouldn't be combined with something like hard maple because the pine will wear far more than the maple over time, leading to an ugly mismatch of surface textures.
Answer: The woods that are most safe to use for cutting boards are those that bear fruits, nuts, or other edibles and have tight grain - Walnut, Cherry, Maple, etc....  A mix of walnut and maple make great cutting boards whether you're planning on gluing face, edge, or end grain.  Also, make sure your glue is food-safe; I use Titebond III
Comment: *Why* does the tree being fruit-bearing have a bearing on the suitability of its wood for use in a cutting board? You haven't given a reason, just made an allusion to the wood being safer because the tree bore fruits or other edibles. But what about thujone?
Comment: I use titebond lll on my cutting boards all he time. And titbond ll on everything else.
Answer: Obviously you don't want to use any softwoods, regardless of their grain density.  They will show knife marks more than a hardwood in most cases. And, even though poplar is technically a hardwood, you'll want to avoid it as it has very similar properties to pine.  It's just too soft and light to handle chopping and cutting.
Secondly, don't use any species with open grain patterns; or, low grain density.  Oak is an example of an open grain wood.Oak has very open pores which would attract bacteria, oils, etc..
The go-to/can't-go-wrong woods in the US for cutting boards are hard maple and black walnut.  They're accessible, dense, closed-grain, and quite attractive as well.
If you want to use some exotics, some good cutting board woods are sapele and jatoba.  Purpleheart is popular but can be very tough on your blades and tools.
Some "in-the-middle" species you're probably familiar with are ash and hickory.
Comment: @Graphus fair enough. not last long was maybe not the best way to put it.  pine lasts plenty long in old house frames, etc.  i should have said softwoods will show wear and tear more than a hardwood like maple.  glad you're pine board is still going strong.
Comment: Actually, many commercial cutting boards or blocks were made from softwoods because the intention was that they would be sanded or scraped down when they got too chopped up. Maybe not ideal for home use, but commercially softwood is cheap and easy to resurface.
Comment: I'm sorry but there's so much wrong here. You *can* make boards out of softwoods. Many many old boards were made from softwoods, including pine and spruce, the same woods commonly employed for the tops of farmhouse tables which were not babied in any way. Re. your recommendations for close-grained woods, black walnut isn't one of these! Otherwise it would never need grain filler. And ash can be just as open-grained as some oaks.
Comment: "So much wrong" is a bit dramatic.  Don't tell me that NOT using softwoods for quality cutting boards is a controversial opinion.  It's not.
Comment: Not being the least bit dramatic. If you want to skip over the black walnut and ash and focus on just the softwood issue, your statement that they won't last very long is, again I'm sorry, plain wrong. I have a pine board downstairs that attests to this, it's a family piece and is now *over 30 years old*. There's nothing at all special about it and it hasn't been treated with kid gloves (quite the opposite in fact, before it came into my care it was soaked repeatedly and used as a trivet numerous times!) and yet it's still going strong.
Comment: Please tell me why you have a problem with my walnut and maple recommendation.  They are literally the two most popular/common species I've seen in hand crafted cutting boards and you dismissed it without any explanation,
Comment: I didn't dismiss them without explanation, in fact I didn't dismiss maple *at all*. And as for black walnut, please re-read my fist Comment as I say plainly what I meant. As this is from seven months ago now I suggest we leave it at that, and may I wish you a happy new year.


Cisco Catalyst VTP to HP ProCurve GARP?

Question: I have two L3 capable ProCurve switches (2810-24G) which I would like to use in our Cisco environment.
The Cisco switcheshave vtp configured, and all VLANs are added/maintained basically on the distribution switch.
Is it possible to distribute what VLANs the switches should carry in between each others (cisco trunk ports vs untagged everything in HP) using VTP, or is this a big no no and I  should consider using only one type?
My goal is to incorporate the ProCurve gigabit switches, and run a couple of ESXi servers on them, hence the need to be able to acces
Answer: You will need to manually number and name the necessary vlans on the HP switch, as it will not learn them from VTP. But, generally you only need to define the few vlans you actually plan to use on the HP, not the full set carried by the Ciscos.
A multi-vlan port (called a trunk port in Cisco, but trunk means something else to HP) can have at most one untagged vlan; packets for all others must be tagged. On Cisco, the trunk's "native" vlan is always untagged, and everything else is tagged. On HP, you can set these as you wish, though there can again be at most one untagged vlan per port.
You must match the HP tagging to the Cisco's, which typically means the default vlan 1 untagged, and the other vlans tagged.
Also on the Cisco side, you should specify which vlans to send to the HP, as by default Cisco switches will send all of them, and count on VTP pruning to eliminate the extras. List whatever vlans you manually added to the HP switch on the parent Cisco trunk port with "switchport trunk allowed vlan " followed by a comma-separated list of the desired vlan numbers.
Plus, if you have Cisco switches "downstream" of your HP (e.g. Cisco core -> HP switch -> Cisco child switch) then you should disable vtp pruning on the Cisco side of link from the core to the HP. Otherwise the child Cisco switch may cause the core to prune out any VLANS that are used in the HP but not in the child Cisco.
HP has some extensive notes about making this work, through the search at HP.com makes them hard to find. Google for things like "procurve and vtp".
Comment: In HP terms, a trunk is the combining of 2 or more ports for link aggregation such as 802.3ad. Cisco calls this EtherChannel.
Comment: When referring to 802.1q vlan tagging, Cisco uses the word "trunk" while HP uses "tagged" & "untagged".
Answer: That's a big no no (basically since only Cisco implements VTP). Mixing switches (even for L2) is also kinda no go if you don't want finger pointing from Cisco or HP's side in case of problems.
Answer: As pfo state VTP is Cisco proprietry however MVRP (used to be called GVRP) is a multi-vendor standard that's functionaly almost identical to VTP - Certainly Cat 65xx servers can use MVRP, don't know about Procurve's but I know the 2810-24G supports GVRP so presumably MVRP support is either inherent or a code update away.
Hope this helps.

Cisco Catalyst VTP to HP ProCurve GARP?


How do I figure out what is burned on an Arduino ROM?

Question: I have an Arduino Uno Rev3. I would like to extract and find out what code is burned on the ROM of the micro-controller board.

How do I extract the code from the board?
How do I figure out the original source code that went into the hex file?
Comment: @borowcm Basic functioning. Your answer covers that. I havent selected that as the best answer, as others could answer/add to it.
Comment: In order to improve the answer below - do you have any more details on what you're looking for out of the original source code?
Answer: I'll answer this in two parts, #1 is relatively easy, #2 impossible to the level which I'm assuming you want.
1. Extracting the hex code from the Uno:
While the specifics will depend on the revision of the Uno that you have, you'll want to use avrdude (available for linux, bundled with the OS X Arduino software) and a command similar to the following that would extract the information from an ATmega168:
avrdude -F -v -pm168 -cstk500v1 -P/dev/ttyUSB0 -b19200 -D -Uflash:r:program.bin:r

Look at the avrdude documentation to match the part parameter -p specific to your device (or post them and we can go from there).
Since it appears that you have the Uno Rev3, that board has an ATmega328 (-pm328).  The programmer "communicates using the original STK500 protocol" thus the communication protocol flag -c should be -cstk500v1 the command you would need (assuming the Uno is connected to /dev/ttyUSB0) follows:
avrdude -F -v -pm328p -cstk500v1 -P/dev/ttyUSB0 -b19200 -D -Uflash:r:program.bin:r

Next up your second question.
2. Converting Hex code to original source:
Sorry, but that's not possible. While you can get some hex to c "decompilers" the gibberish returned, while functionally correct, will not be human readable (some commercial ones, like Hex-Rays, might give you some level of human-readability).
With that said, you're best bet would be a hex to assembly translator/converter - which will still only give you a better picture of what's happening, but will still be (by definition) very low level. All variable names, comments etc would be stripped and you're still going to be left with not knowing the original source program contents - just the compiled result.
Since you're dealing with an Atmel device you could try to use the avr specific gcc toolchain avr-gcc. Specifically, you'll need avr-objdump using the needed MCU type flag -m atmega328 (avr5) architecture (Full List of Available Architectures, MCU types)
avr-objdump -s -m atmega328 program.hex > program.dump

It is also possible, depending on your configuration, that providing the architecture type itself (avr5) would be sufficient:
avr-objdump -s -m avr5 program.hex > program.dump

Answer: On windows for an arduino nano, you do this:
cd "C:\Program Files (x86)\Arduino\hardware\tools\avr\bin"

followed by this:
"C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude" -F "-CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -v -v -patmega328p -carduino -PCOM14 -b57600 -D-Uflash:r:c:\keep\program.bin:r

Here's the output from the above grabbing code:
avrdude2.exe: Version 6.0.1, compiled on Mar 30 2015 at 14:56:06
              Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
              Copyright (c) 2007-2009 Joerg Wunsch

              System wide configuration file is "C:\Program Files (x86)\Arduino\
hardware\tools\avr/etc/avrdude.conf"

              Using Port                    : COM14
              Using Programmer              : arduino
              Overriding Baud Rate          : 57600
              AVR Part                      : ATmega328P
              Chip Erase delay              : 9000 us
              PAGEL                         : PD7
              BS2                           : PC2
              RESET disposition             : dedicated
              RETRY pulse                   : SCK
              serial program mode           : yes
              parallel program mode         : yes
              Timeout                       : 200
              StabDelay                     : 100
              CmdexeDelay                   : 25
              SyncLoops                     : 32
              ByteDelay                     : 0
              PollIndex                     : 3
              PollValue                     : 0x53
              Memory Detail                 :

                                       Block Poll               Page
           Polled
                Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW
  MaxW   ReadBack
                ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----
- ----- ---------
                eeprom        65    20     4    0 no       1024    4      0  360
0  3600 0xff 0xff
                flash         65     6   128    0 yes     32768  128    256  450
0  4500 0xff 0xff
                lfuse          0     0     0    0 no          1    0      0  450
0  4500 0x00 0x00
                hfuse          0     0     0    0 no          1    0      0  450
0  4500 0x00 0x00
                efuse          0     0     0    0 no          1    0      0  450
0  4500 0x00 0x00
                lock           0     0     0    0 no          1    0      0  450
0  4500 0x00 0x00
                calibration    0     0     0    0 no          1    0      0
0     0 0x00 0x00
                signature      0     0     0    0 no          3    0      0
0     0 0x00 0x00

              Programmer Type : Arduino
              Description     : Arduino
              Hardware Version: 2
              Firmware Version: 1.16
              Vtarget         : 0.0 V
              Varef           : 0.0 V
              Oscillator      : Off
              SCK period      : 0.1 us

avrdude2.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude2.exe: Device signature = 0x1e950f
avrdude2.exe: safemode: lfuse reads as 0
avrdude2.exe: safemode: hfuse reads as 0
avrdude2.exe: safemode: efuse reads as 0
avrdude2.exe: reading flash memory:

Reading | ################################################## | 100% 9.49s

avrdude2.exe: writing output file "c:\keep\program.bin"

avrdude2.exe: safemode: lfuse reads as 0
avrdude2.exe: safemode: hfuse reads as 0
avrdude2.exe: safemode: efuse reads as 0
avrdude2.exe: safemode: Fuses OK (H:00, E:00, L:00)

avrdude2.exe done.  Thank you.

and this is the resulting file:-
C:\Program Files (x86)\Arduino\hardware\tools\avr\bin>dir c:\keep\program.bin
 Volume in drive C has no label.
 Volume Serial Number is EE8C-DFB9

 Directory of c:\keep

19/02/2016  07:00 PM            32,670 program.bin
               1 File(s)         32,670 bytes
               0 Dir(s)  41,416,818,688 bytes free

I renamed my "avrdude.exe" to "avrdude2.exe" and wrote a shim named "avrdude.exe" which calls the real one after outputting what the arduino does to build to my target device.
The original command my system used to build was:-
C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude "-CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -v -v -patmega328p -carduino -PCOM14 -b57600 -D -Uflash:w:C:\Users\user\AppData\Local\Temp\build4588201597642272956.tmp/TFT_Baja2.cpp.hex:i

Interesting fact: the hex dump included fragments of other code I'd written... this suggests some very interesting privacy and security problems for anyone shipping arduinos which have been previously used for other things...
If you're using boards other than a nano, my shim was:
#!perl

use strict;

foreach(@ARGV){$_=qq("$_") if(/\s/)};   # DOS Wants quotes around space-embedded paramaters!

foreach(@ARGV){$_='-v' if($_ eq '-q');} # go verbose instead of silent

my $parms=join(" ",@ARGV);
open(OUT,">>","C:\\keep\\avrdude.log") || warn "Cannot write: $!";
print OUT "\n" . &db_now() . " $0 $parms\n"; close(OUT);

my $rc=`avrdude2.exe $parms`;

open(OUT,">>","C:\\keep\\avrdude.log"); print OUT $rc; close(OUT);
print $rc;

# Return "now()" in mysql default format.
sub db_now {
     my($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime();
     return sprintf("%04d-%02d-%02d %02d:%02d:%02d",1900+$year,$mon+1,$mday,$hour,$min,$sec);
}

compiled to a windows .exe using:
perlapp avrdude.pl

enjoy!
Answer: There is a way to recompile with this opensource app, called RetDec:
https://github.com/avast-tl/retdec
Comment: Alas it does not support AVR.


What is the difference between a POH and an AFM?

Question: Some aircraft come with a Pilot Operating Handbook and some come with an Aircraft Flight Manual.  Why the different name, and is there a difference between them?
Answer: Both a POH and an AFM meet the "Operating Limitations" requirement in the ARROW acronym.
The difference between the two is mainly in length and content: an AFM is usually a thinner document, satisfying the requirements of FAR 23.1581 and not much else, while a POH contains these required items plus other information like system diagrams (The contents & format of a POH are standardized in GAMA's Specification 1).
Parts of the POH (like the Limitations section) are FAA-Approved, and serve as the AFM, and both documents are typically associated with a specific airframe (by serial number).
A better explanation might be this:
The AFM is a regulatory document (it's contents are prescribed under the section of the regulations the aircraft was certificated under - Part 23, Part 25, etc). The POH is a GAMA-defined document whose contents meet the regulatory requirements of an AFM, and present other information in a standardized way so that a pilot can go from a Cessna to a Piper to a Mooney to a Socata and browse the book to learn about the airplane they're about to fly with all the information presented the same way no matter who the manufacturer is.

The other two types of documents you may encounter are an "Owner's Manual" (which usually goes along with a thinner AFM & provides some of the information found in the newer-style POH) and a Pilot Information Manual (PIM) which is a "generic" version of the POH which many pilots buy so they can study the procedures without removing the regulatory document from the aircraft.
Chapter 9 of the Pilot's Handbook of Aeronautical Knowledge talks a little about the differences between the two documents (and a whole lot of other flight documents).
Comment: I'd like to add that an AFM is not required for aircraft manufactured before a certain date (1975?). However a POH is still required to be in the plane. After that date, an up-to-date AFM with information for that specific airframe is required. Sometimes AFMs will be short, with just the airframe-specific information, and sometimes they will be the entire POH re-written.
Comment: Ummm, I don't think that this is quite right.  The AFM (**not** POH) on my Falcon is 7 volumes, all of which are 2" binders.....
Comment: @StallSpin No, the AFM is from the manufacturer and comes with the airplane (who had no idea what operating rules will apply).  I fly two Falcon 50's. One is operated under part 135 and the other under Part 91. They both came with almost the same AFM (differences being serial number specific).
Comment: @Lnafziger 125.75 allows operators to carry a combined manual, and modify the AFM to suit their certification. I thought I read something similar for 135 but I can't find it now. Anyway, I don't know what to tell you other than that the Falcon is a very complicated airplane. It may be filled with a lot of non-approved sections? The POHs for both the light aircraft I fly are almost twice as thick as their AFM counterparts. Their AFMs have only the required approved sections in a binder and that's it, like voretaq7 said.
Comment: @StallSpin Well, it's probably **possible** to create a combined manual, but in reality 135 operators have a different FOM/GOM which has nothing to do with the specific aircraft type.  The ***manufacturer*** on all of the jets that I have flown (various Learjets and Falcons) all provide an AFM and none of them have a POH.  Hence, the question.
Comment: @Lnafziger Does your Falcon fall under pt 135 or 125? They greatly expand the requirements of the AFM. Often it will combine the certificate holder's operating manual. Also, I must amend my previous comment that a POH is NOT required, but some form of compliance to 91.103 must be, and a POH satisfies that.
Comment: @Lnafziger The Falcon actually falls under Part 25, which has [a slightly more substantial AFM requirement (beginning at 25.1581)](http://www.ecfr.gov/cgi-bin/text-idx?rgn=div5;node=14%3A22.214.171.124.11#14:126.96.36.199.11.7.200) -- I would also assume that a few of those volumes are also material that would show up in a Part 23 aircraft's POH (which may be informational or "FAA Accepted", but not necessarily "FAA Approved"). Pages that are FAA approved meeting the AFM requirements in the regs should be "clearly marked" (or specific sections may be noted as FAA approved).
Answer: (Posting as an answer because formatting.  Quoting from the spec directly, as an FYI which some may find interesting.)
From the GAMA standard for POHs (GAMA Specification 1, rev 1996), section 0.7:

The title [of the document shall be] "Pilot's Operating Handbook
and FAA Approved Airplane Flight Manual" for all airplanes except
those for which the airplane manufacturer elected to provide a
separate FAA Approved Airplane Flight Manual. In the latter case, the
title shall be "Pilot's Operating Handbook".
Note: After the effective date of this revision, Pilot's Operating
Handbooks for newly manufactured airplanes must be FAA Approved
Airplane Flight Manuals.

Also of interest, since it speaks to intention, in the Preface it says,

This Specification is designed to provide guidance for the preparation
of Handbooks for all types of general aviation airplanes originally
certificated at maximum takeoff weights of 12,500 pounds or less

The Specification contains little, if any, new material or novel
approaches. Basically, it is a guide to industry standardization of
proven concepts to be presented in a form most useful to pilots.
The Federal Aviation Administration has reviewed this Specification
and has ". . . determined that a handbook that would meet the
specification would also meet the intent of the requirements in FAR
23, which is to provide the pilot with all of the information needed
to operate his aircraft in a safe manner." The Federal Aviation
Administration recognized that compliance with this Specification will
result in a high degree of standardization of content and format for
all aircraft types and this will lead to a level of safety equal to or
higher than is required under FAR 23.
Answer: While both POH and AFM are generally used to mean the same thing, they do have some specific differences.
AFM is meant and built specific to make and model, or by serial number. In fact, while other aircraft of the same make/model can have very similar AFMs, they are usually tailored for that specific aircraft.
Not only is it FAA/regulatory approved, it contains specific instructions that pilots comply to operate the aircraft safely.
POH is contains similar FAA/regulatory approved information, and should indicate certain sections of the documents are approved. For the same make and model, they generally use and refer to the same POH. Mostly used in General Aviation, the POH is also known as the standardized AFM, following the same exact format.
I'm currently training to be a CFI, and this is a pretty tough question I have to prepare to answer my students.
Answer: All the above answers are wrong. A POH is a 'kind' of AFM. All aircraft must have an approved AFM. Before 1978 this could be anything (owners manual, POH, etc.). After 1978 GAMA (General Aviation Manufacturers Association) decided to standardize the AFM around the POH format. The name POH stuck… but it is still a kind of AFM.
Comment: Welcome to aviation.se! do you have any source to back up what you say?
Answer: All you need to know is that an AFM is specific to an aircraft serial number. A POH is less specific and generalized for a particular make or model
Answer: The POH is the official book of rules for that specific serial number airplane.  The AFM is the unofficial/generic one for a type of airplane that may or may not match the one it's in.  On occasion you'll run into a book labeled "AFM" that is in fact actually the "POH" (often due to an STC requirement).
Comment: You're thinking of a "PIM" (Pilot Information Manual) or "Owner's Handbook". An AFM ***is*** serialized & associated with a specific airframe.


Allow tag synonyms where the source has more instances than the target

Question: The tag synonym proposal system doesn't allow you to propose a synonym if the source tag has more instances than the target. I haven't seen the reasoning on that yet, but I think it's probably not a good restriction to have, as a majority of people typing a particular tag doesn't necessarily make it ideal. For example, somehow [word2007] took off and has several dozen more instances than [microsoft-word-2007], even though other cases like [word2003] don't even exist. More generically, [msword] is crushing [microsoft-word]. Why can't we add synonyms to make these go in the right direction?
Comment: I go through lengths to produce a (needlessly lengthy) analysis on why automation that defaults to higher numbers is bad, and it turns out *it is already implemented*?
Answer: As I understand it, the system allows it if and only if a diamond moderator enter it, the reasoning being that changes where the source is common should be reviewed more carefully to the change is correct, because these are generally addressed via <code>[retag-request]s</code>, and if they haven't been corrected, perhaps the reasoning is that the existing tag is better than the proposed target.
Non-diamond moderators should probably file these requests on meta.
Comment: Do tag synonyms happen automatically if enough people upvote them? I figured a mod needed to implement them anyway, and the proposal system was just a way to finally get that stuff off meta. If proposals are added automatically when they have enough upvotes, I'd rather that the proposals that need extra review just not have that capability and require mod intervention, as opposed to not using the proposal interface at all and resorting to a meta post
Comment: @Michael: [Yes](http://meta.stackexchange.com/questions/58023/how-does-the-tag-synonym-suggestion-feature-work).
Answer:
Why can't we add synonyms to make these go in the right direction?

We can, we just post a retag request on the meta sites. This protection is in place to ensure that the most popular tags always take preference.
The tag synonym system is not a complete replacement to the retag requests, some cases need careful review by mods.
Comment: Also, I do not want to make the system way more complicated just to account for this
Comment: @Michael, totally, anything controversial like going from popular to unpopular should be discussed on meta. people are used to the popular tags
Comment: @Jon this is a total edge case, we would only be talking about a handful of times we want to do this on Stack Overflow, and all of those cases need some sort of discussion (like hg -> mercurial vs svn -> subversion) low traffic tags can be retagged manually anyway. so what we are dealing with is a well established **bad** norm, imho the mods need to look at those on a case-by-case
Comment: I meant why can't we propose synonyms going from unpopular to popular. I've noticed you say a few times that it's extremely bad to have a synonym going from an unpopular tag to a popular tag, but it seems like the popular tags often take off because they're shorter, even if they're wrong. word2007 is a great example; it shouldn't be that way. Even if every question in the system is tagged with it, it's completely against the normal version convention and should be changed. I'd hoped tag synonyms would obviate the need for retag requests on meta, but it sounds like that's not the intent
Comment: @waffles: I'd like more control of the system, but I can also see how this would be dangerous. Would the team consider an alternate (higher) set of acceptance parameters for "reverse" synonyms like that?
Comment: Okay, that's a really good point. I agree completely.
Answer: I have a couple suggestions for a better (?) system.
Possibly better rules:

You could propose a synonym if the "better" tag had at least some % of the "not so great" tag.
You can propose any tag as a synonym, and people vote on which of the group they think is the best tag.