What happens if you drop and break a plate of fruit from the Buddha's altar?

Question: What happens if you drop and break a plate of fruit from the Buddha's altar?
Comment: You will have to pick up the pieces and clean the mess. Kind regards!
Answer: Is it bad karma? Well, karma is about intention. If you did not intentionally drop and break the plate of fruit, then there is no consequence for you, from the perspective of karma.
Is it a bad omen? Definitely not. The Buddha did not teach his followers to believe in omens. In fact, we should not cling to unskillful thoughts like superstitious belief in omens.
How should I interpret the incident? All conditioned things are impermanent (sabbe sankhara anicca). Everything that arises, must eventually cease. That applies to the plate of fruit too. If you leave the fruit where it is, in due time it will rot and dry up, even without your intervention.
What should I do? It would be skillful, virtuous and thoughtful of you to clean up any mess that you created, even if done accidentally.
What should I not do? You should not carry remorse or regret for breaking the plate. It's unskillful to cling to remorse. Instead, you should resolve to be more careful next time - that's skillful. You should also not deceive others into thinking that you did not break the plate, as lying is against one of the five precepts.
Answer: What happens is the possible realisation of impermanence & the true nature of rupa (materiality).
SN 22.79 says: "Why is it called rupa (form)? Because it is deformed or broken (ruppati), thus it is called form (rupa)".
There was a Thai leader & teacher of many monks named Ajahn Chah. who had a drinking glass. He would always tell his disciples the drinking glass is already broken.
Similarly, it is the true & inherent nature (sabhava) of the altar plate that it must inevitably break (sooner or later).
Answer: You should take responsibility.
Someone commented ...

"You will have to pick up the pieces and clean the mess.

That's an answer of a person who has at least such as shame and a feeling of responsibility for his deeds; but nevertheless, it's not the place to play "the cool one" if hurting somebody else.
One may read or listen to "Sensitivity through generosity"
It's a very praiseworthy reaction to feel remorse, even if having unintentionally broken someone else's possession or something another loves. And it is praiseworthy, even if would not having a debt to repay something, to simply use such occasions for training one's generosity -- without long asking who, and why.
Bringing Ajahn Chah here in the right way into this, he said:

"When you see some dirt, sweep it away. When there is something to do, do it. No need to argue around who's duty."

Don't just imitate equanimity (by saying for example "it's just rupa"), or use that as an excuse not to work on the very basics, on defilements.
(Note that this is not given to make anybody a favor, for exchange, trade, gain and bonds but dedicated for release not only from fools but also from debts in this world)


Gypsy Jazz - Improvisation

Question: I am currently playing lots of old blues music such as BB King, Peter Green and Clapton . I recently developed a liking for gypsy jazz; specifically, Django's work. I tried to improvise using Mixolydian , Dorian as well as major/minor pentatonic, but it didn't give an authentic gypsy jazz sound. What theory must I learn so that I understand feel gypsy jazz better?
Comment: I'm still working on this myself, for Gypsy fiddle, thus comment not answer, but look at Bebop scale and ii V I jazz theory. There are books about the subject that go over the Idiom and phrasing used that can help, also. One that I have that comes to mind is "getting to gypsy jazz", and there are others.  To dig deeper, look at French "Musette" music, which is the tradition many of the Gypsy jazz players came from.
Comment: As stated in some answers, it is not enough just to know scales. Also, it is not enough to know all posible arpeggios/chords used in gipsy jazz...Django's vibrato, and specific thrillers, rhytmic patterns, sound of guitar... Listen, and try to play by ear, to repeat all nuances you've heard...
Answer: This is almost exactly the path I started down a year or so ago! There is a lot to learn in this style to get the authentic sound and I feel like I've only scratched the surface.
This melodic lines played by Django and others generally come from arpeggios and enclosures with scale tones in between. This isn't a hard and fast rule, but if you start to analyze the music and look at the lines in context of the chord, then pick out the chord tones only, you will start to see the common patterns that were used to create a skeleton of sorts.
In many cases the arpeggios are played from the 3rd to the 9th leaving out the root.
Over dominant chords many times you will hear a diminished arpeggio starting a semi-tone up from the root. For more on this, you could look into Dominant 7b9 chords and how these are actually diminished 7th chords, etc.
Even looking at the style of Charlie Christian will help here!
I will try come back later and cite some more informational material that may help, but in this style arpeggios are definitely the bread and butter!
Comment: True for solos in a lot of styles of music.
Answer: The harmonic minor scale, which is used at the beginning of Django's Minor Swing, will work perfectly.
To be clear, the harmonic minor is the same as the natural minor (Aeolian mode) except the seventh degree is raised 1/2 step. That creates a gap of 1 and 1/2 steps between the 6th and 7th degrees. That gap, along with the help steps between the 7th degree and the octave, the second and third degrees, and the fifth and sixth degrees, give the harmonic minor its particular sound.
If you raise the fourth degree a half step also, then you get the gypsy minor scale. also called the Hungarian minor or double harmonic minor. I think the first name says it all. Once again this creates an gap of 1 and 1/2 steps between the third and the fourth degrees Depending on the changes you may need to play around with when you do and don't raise the seventh and fourth degrees, but playing around with the harmonic minor and double harmonic minor scales should open up some of the sounds you're looking for.
See also: http://www.jazzguitar.be/blog/the-gypsy-minor-scale/
Answer: Have you tried using arpeggios instead of the scales? This wiki page has a nice description...
https://en.wikipedia.org/wiki/Gypsy_jazz#Lead
Answer: I would give the "major mode" of the blues scale a try.
Basically, it is a major pentatonic, with the "blue note" being the minor third. I think I've heard Stephane Grappelli getting some mileage out of this one.
I'm not a pro on the style though. And I'm sure the music has too much going on harmonically for a one-scale-fits-all approach.
Answer: From Jazzology, combined with info from a guitarist friend who has been playing gypsy jazz as a pro for well over a decade: Become familiar with these scales and how they are applicable to the chords used in gypsy jazz:

Also:
Spanish Gypsy Scales (Phrygian Dominant)
Eight Tone Spanish Scales
Romanian Minor Scales

( In general Piano scales-Exotic scales and the site at large appears to be a good resource. )

Gypsy Jazz - Improvisation


How to master Fortran with minimal effort?

Question: Fortran language is used in many first-principles matter modeling codes, such as VASP and QE. These codes usually include many files and thousand of lines and are not readable for a newbie. Are there good strategies and resources to master the Fortran language with minimal effort if I have some experience with the PYTHON language? The final purpose is to read and modify the existing Fortran codes such as QE.
Comment: Is there anything in particular with which you're struggling? The easiest way to learn a programming language (in my experience) is to practice programming in it.
Comment: The first thing you need to learn is that the quality of almost all Fortran code written by "academics" is atrocious. That cuts both ways: if you are in academia the bar is set so low you can learn as much as your colleagues know about software development in an afternoon, but on the other hand if you want to learn Fortran (or any other language) *properly,* all the code you are likely to see is worthless as an example of good practice.
Comment: You can't master anything with minimal effort.  Even if you're a genius.  Get used to it.  Gaining skills requires work.  It's really as simple as that.
Comment: When I was learning Fortran, I first tried to write a few simple, standalone programs, such as a program that computes all prime numbers in a certain range, or simulates the three-body problem, or calculates the rotational constants of a molecule. This helped a lot, and when I finished quite a few such small programs I felt sufficiently confident about my Fortran skills that I could move to the actual codebase that I have to familiarize myself with.
Comment: Just because it has come up quite a few times note Fortran is officially spelt lower case, and that has been the case for over 30 years now.
Comment: @Rainb Programs like these grew over years, if not decades; in absence of a reliable automatic "code translation" this likely is too much work for a single person.  Equally, standard CPython is more a *general purpose* language, which (if not calling for numpy, pypy, numba, etc.) often is quite less performant than Fortran designed early for number crunching / matrices / PCA when facing just this type of work.  Though, there are quite a number of programs where Python nicely moderates / glues multiple Fortran codes together (thus e.g., [F2PY](https://www.numfys.net/howto/F2PY/)).
Comment: maybe translate the libraries to python? Like if you don't like fortran.
Comment: Have you looked at the nearly [12 ***THOUSAND***](https://stackoverflow.com/questions/tagged/fortran+or+fortran90+or+fortran77+or+fortran95+or+fortran-iso-c-binding+or+fortran2003+or+fortran2008+or+fortran-common-block+or+fortran-coarrays+or+fortran2018+or+fortran-namelist) Fortran-related questions on Stack Overflow?
Answer:
"How to master Fortran programing with minimal effort?"

The concept of "mastering" a programming language is a bit subjective, and people typically don't "master" a language with "minimal effort".
However as a Fortran programmer myself, there's two strategies I can recommend:
(1) Tutorials: As with any programming language, there's plenty of books and tutorials for Fortran, and some of these come with exercises you can do to help you learn the language. Here's some of them:

Our coding club Fortran intro
Fortran-lang.org (there's a multitude of links to other tutorials and books there!)
FORTRANtutorial.com (a 7 lesson course)
Fortran tutorial youtube video (for those that like to listen rather than read)

(2) Practicing: As the comment by user tmph says the best way is often just to practice. When I began Fortran as an undergrad summer student, I was told ahead of time that I'd be coding in Fortran, and I dreaded it.  I went to the library and picked up a bunch of books (online tutorials and youtube videos were unheard of at the time), thinking that I'd learn based on strategy #1 above. It turns out though that I learned much faster "by doing" rather than by reading.
I recommend playing around with existing Fortran code, and adding simple features with gradually increasing complexity. Changing the number of digits for a numerical output in QE is an easy thing that I think you can try doing right now! Next you can add more output (more words, more numbers, etc.) You could also try to add new input flags for the feature you want to implement, and at every step of the way, see if it compiles, and follow the error messages at compile time: I learned so much Fortran that way! Very soon you'll find yourself feeling quite comfortable and you'll gain your confidence this way!
I find Fortran to actually be in many respects, simpler and easier to master than Python, especially since most Fortran code is not object-oriented, and you'll see that it's really designed for scientific computing (the way you can output numerical values for example, will probably convince you of this). Python was not originally designed for number crunching, and neither was C or C++ or Java: these languages were designed to be more general, and are used for writing everything from operating systems, to GUIs, to web applications, to computer games, etc., whereas Fortran was literally designed for number crunching (a bit like MATLAB and Julia, the latter which was discussed here at MMSE) so once you spend some time familiarizing yourself with it, I'm confident that you'll find it much more natural for scientific computing than other languages you've used in the past.
Comment: I will just note that I totally disagree with having to read the assembler. That might give you information on how one implementation of Fortran works, it doesn't help you learn the language.
Comment: Correct. That's why I said "*most* Fortran code is not object-oriented" with emphasis on "*most*". I'm glad the video tutorial helped!
Comment: Also for mastering usually one should also read the compiler output in assembler to get a decent mental mapping function.
Comment: Nice video tutorial!
Comment: OOP is added in Fortran2003.
Comment: https://youtu.be/t32BNi3NEYA
Answer: Fortran is a language that evolved strongly and a programmer just maintain very old legacy codes will have very different needs from a programmer maintaining codes written in Fortran 95 and different needs will have a programmer who wants to employ modern techniques and develop new program that use Fortran 2003, 2008 and 2018 (and future revisions).
The amount of features that appear in the successive revisions increases strongly, the biggest steps being Fortran 90 and Fortran 2003.
Fortran 90 was completely superseded by Fortran 95 which fixed several defects or inconsistencies.
Fortran 77 and earlier are very old and the programs often use techniques that are strongly discouraged today (and even deleted from the standard or marked obsolescent).
Fortran 2003 brought object orientation, portable interfacing to C and much more. Fortran 2008 added smaller enhancement and parallel programming using coarrays.
Fortran can be learnt from book and there is a choice different styles of introductory books. I always preferred the Fortran Explained (Fortran 90 explained, Fortran 2003 explained, Modern Fortran Explained) by Metcalf, Reid and Cohen. However, it is rather terse and can also be used as a reference book. It is written in a university textbook style and I prefer to use it as the recommended reference for my course.
Some other books are oriented more practically, like the Fortran for Scientists and Engineers series by Chapman or Modern Fortran in Practice by Markus.
There are several other books that I did not have in my hand. Modern Fortran: Style and Usage by Norman and Spector is for more advanced programmers who want to use good style but know the basic language.
You can get a lot of help at Stack Overflow in the Fortran tag https://stackoverflow.com/questions/tagged/fortran .
When it comes to online tutorials, be aware that there are many obsolete ones. https://www.fortran90.org/ is not that old, even if missing more advanced modern stuff, and the author Ondřej Čertík is active in the standard committee developing future Fortran standards.
The community dealing with modern Fortran, developing a community software ecosystem, libraries and so on meets at https://fortran-lang.discourse.group/ and will be happy to discuss any interesting Fortran topic. The usenet channel comp.lang.fortran can also be used for discussion with experts and contains a lot of useful information in its history.
An interesting option to try Fortran is the https://lfortran.org/. A compiler that is still in development, but enables you to try Fortran interactively in notebooks you might know from Python or Julia (Jupyter).
Comment: Having programmed Fortran for more than 40 years, in pretty much every version from the IBM 1130 up to Fortran 2018, IMO Metcalf, Reid and Cohen would be a *terrible* book to learn the language from. In fact it isn't a *good* reference book either, because the organization is chaotic (far too many forwards-and-backwards cross references) making it nearly impossible to know if you have found *all* the information about any particular topic. Trying to cover every version from Fortran 90/95 to the latest one, in historical order, is a very good way to confuse the reader.
Comment: I gave my +1 long ago, but I just came back to let you know in case you have any input you can add [here](https://mattermodeling.stackexchange.com/a/10042/5)!
Answer: The answers provided by others are excellent and rather comprehensive. I would only introduce a few other resources that could help you down the road to find answers to problems more efficiently. Several Fortran communities can be extremely helpful in learning optimization and performance tips or simply to seek help from experts:

The Intel Fortran forum has over 130,000 Fortran-related questions and posts, as far I as remember from a few years ago that I checked. There are also many industries and academia experts, as well as Fortran Standard Committee members there ready to take challenging questions and to guide and educate people (I have no connection to the Intel HPC team, just a user).
The NVIDIA Fortran forum is another place to seek help, although NVIDIA is more focused on CUDA and GPU-enabled Fortran.
The Reddit Fortran community has close to 6,000 Fortran programmers and enthusiasts already who can help with a diverse range of Fortran-related questions or direct you to relevant people or communities for further help.

There are likely many more resources that I am simply missing in the above list. There are also online Fortran compilers like the following that can aid rapid limited testing of ideas:

tutorialspoint
rextester
onlinegdb
jdoodle
godbolt (for inspecting the generated assembly code)

and Fortran Jupyter bindings for serial and parallel Fortran programming like OpenCoarrays Jupyter Binder.
Comment: There is also a new [Fortran discourse](https://fortran-lang.discourse.group/) which is very welcoming to new users and is fairly active.
Comment: @Rashid Rafeek, thanks for the link, VladimirF had this already mentioned in his response, so that is why I did not repeat it.
Comment: Oh thanks. Hadn't noticed that.
Answer: I've done that professionally.
In the early '90's, I worked at IBM and spent some time porting FORTRAN "codes" to work on the new RISC SYSTEM / 6000.
I found that FORTRAN was such a simple language that it could be worked with without "knowing" it, per se.  I obtained a FORTRAN 77 text book, which was rather small and slim, about the same volume as a paperback novel though the pages were larger and the the number of pages smaller.  With the text book, I easily looked up the meaning of any non-obvious construct and precise details like the exact order of precedence, when needed.
The real problem with these "codes" isn't the nuances of the FORTRAN language, but the code itself.  They are typically written by people who are not software engineers, and cobbled together over time.  Worse, are complex programs that go to great lengths to exceed the natural bounds of the language:  I recall MODFLOW implementing its own memory management in order to do dynamic data structures as subscripts in static arrays; and more generally the lack of structures, so related data is spread out over separate named variables or parallel arrays.  Of course, we only had current source code, zero design documents or anything explaining the code organization.
Point is, your "thousands of lines" might not be readable even when you are fluent in exactly what the FORTRAN statements mean.  Now, with the World Wide Web, you can easily find some reference material for the language itself, and since you already know how to program it will be no problem understanding it all.

"Modern" Fortran is a more complex language, but I expect it's just a matter of learning the specific syntax as the concepts are no different than what is found in other languages; e.g. structures (use % instead of .), modules (like Modula-2), generics (like Ada), block-structured statements (any modern procedural language), etc.
Comment: I registered just to upvote. People often focus too much on mastering the language and forget that it is just a tool to express an idea.
Comment: @HristoIliev fitting, since I had registered just to post the answer.
Answer: Extending the answer by Nike Dattani separately rather than an addition in the text:
(2) Practicing, bis: After gaining some familiarity with the language, join a "drill site" like codewars.com where you may train yourself (dojo-like) according to difficulty, or subject.  In addition to "you passed the test", there is a community-based rating for solutions by others to the same problem (and if you know an other language than Fortran, you may tackle the problem again there).
Open an account on a platform like GitHub.  Aside from learning version control, you may draw inspiration and spur collaboration from projects you identified by a search with Fortran as a keyword.
(3) user groups / conferences:  Get in touch with others already using the language.  In the best case, this will be an exchange of mutual benefit.  You might like the idea to have a sparring partner, especially if you are not sure if a concept was understood by you.  It may show you applications of Fortran you did not anticipate yet.  An example was the eventually virtual FortanCon2020, with video recordings available, yet the monthly video calls on fortran-lang.org (e.g., April 2021, code-curation of rocket programs) equally may contain such insights.
Answer: If you already know Python, perhaps you could try to convert Python code to Fortran code.  That is probably the fastest way to get to know the language.  Unless you go from one paradigm to another programming principals are mostly the same and it is syntax that differentiates one language from another.  If you go through books and tutorials then you will probably be "reinventing the wheel" to some extent by going over familiar ground.
Comment: *This* is *one* of the reasons I like the concept of [codewars.com](https://www.codewars.com/) mentioned. You train on a problem (often set agnostic of the language you train), with the integrated tests you check if it is working well enough. When done with language A, you train again, now in language B. While the coverage for Fortran still is less than the for Python, you may adjust the kata accordingly. You may run it locally, too, as you find much / all (incl. test frameworks) on [GitHub](https://github.com/codewars/fortran-test-framework). Plus the guiding stars by others' solutions.
Comment: After your comment I tried out codewars again and thanks, it is a good suggestion.  I like that after you finish a task you can see how other people have solved it.  I then find out there are much more succinct ways of doing it.
Comment: I share the experience to be surprised again and again how some basic 101-textbook approaches are replaced in solutions by others in the field.  Speaking for Python, as an example, the initial presentation of `list comprehension` seen in a book was still something *strange* for me, at best.  This perception passed for the better; after multiple kata eventually showcasing a "more Pythonic / idiomatic" approach, I started to appreciate it.
Answer: I have not had the pleasure of programming Fortran, but have learned and used many other languages over decades, both privately and commercially.
My preferred way of diving into a new language may be a bit old-fashioned. I normally stay very much clear of "tutorials" and the like. First thing I do is I grab the official reference documentation - or, if you are lucky, a more informal long-form text (in the old days, a book; but today, plenty of languages have this kind of description as well, next to a more dry reference) - but only if it comes from the same source as the language itself, whatever that may be.
For example, to learn Ruby, I first read a seminal book on it (Programming Ruby), then I actually read quite a few of the dry reference pages from top to bottom (e.g. Array).
For C, I did (back in the day) indeed buy The C Programming Language and read it completely (obviously speed-reading/glossing over some bits).
For Fortran, start at fortran-lang.org and pick those documentations they suggest for you; maybe do one of the quick tutorials they link, but take everything written in a tutorial with a grain of salt. Not because it's necessarily wrong, but because they are by nature very much condensed, and by taking them as gospel might hurt you very much in the long term.
As soon as you have a general feel of the language (which you, for your current background, probably already have), get the most technical, most complete documentation you can find and stomach, and go through it front to back. You do not need to read, much less understand every single word, but you should know all the major concepts - at least know that they exist, and where you have to look when you need actual hard facts during development.
Answer: Mastery and minimal effort create a large conflict. It takes significant effort to master a computer language, beyond just learning the syntax. So, I'd first set my expectations that I need to work hard.
Next, yes, the previous authors have very sound suggestions and I'll respectfully not repeat them here.
One technique I've used in my many decade career (and yes, I did Fortran programming back in 1971), is to take a task for which I already have a sound algorithm and implementation in another language, and implement in the new language. It helps understand syntax and semantics of the new language, in more detail, as it is applied to fundamental constructs - data types, memory management, logic, looping, arrays, structures, functions, I/O, string formatting (and reading and writing and parsing), etc. Running the same program in different languages and then comparing (CPU time, memory usage, I/O, the actual results) between the two, which should be very similar in almost all cases, will illuminate important items for deeper learning when results are vastly different. My favorite piece of code is a raytracer, which I've implemented in Fortran, C, C++, .NET, JAVA, and most recently in GPU coding.
My final thought is that much more effort "mastering" the various libraries supplied or available in the langauge (ie, GUI, numerical algorithms, I/O, tasking, memory management, communicating with other running tasks, etc.) takes much more effort than learning the language syntax, and is a worthwhile expenditure of your time and energy. After all, then you are building on the shoulders of those who built the libraries for you.
Answer: The best start for learning Fortran it to try to ignore the newer languages you have learned.  Fortran is an early language that was very powerful at the time.  It is not "Object Oriented" and is not geared for dealing with bits, bytes, addresses.
I have taught Assembler, Visual Basic, RPG, PL1, Pascal, Fortran, C, & C++ in colleges. But I will admit that Fortran (IV, 77) was one of my favorites.  Many of these were on the on mainframes.
Comment: Thanks for contributing your knowledge to our knew community here! Is this you: https://www.linkedin.com/in/m-todd-hess-9785083 ?


Reading GPIO states using C

Question: I've implemented this example to familiarize myself with basic GPIO programming in C.  The code demonstrates how to write to GPIO pins but does not explicitly state how to read the state of pins. I suspect that WiringPi will ultimately be a better solution since I'll want to read the state of an output pin eventually, but meanwhile I'd like to complete my trek through Dom and Gert's code.  How then, could I read the value of a pin?
Comment: The downvotes are ridiculous, perhaps you've upset someone(s) at some point.  +1 from me just to compensate.
Comment: Care to explain the downvote?
Answer: That example from elinux uses memory-mapped IO. The kernel also exports a user space interface via /sys/class/gpio,1 which is also documented on elinux.  Working in C you would use low level read()/write() instead of echo, obviously.  Don't use higher level stream based functions.
Some programmers become a bit upset when told to use a file interface for things that they believe should be done with system calls.  This is purely a matter of style  -- they amount to the exact same thing.  There is no "additional I/O overhead", etc., accessing a file in this case because it's not a real file, it's a kernel interface.  Exactly like any other system ABI you've ever used, only different.  The use of /proc and /sys nodes has been long preferred by the kernel developers, but I still see people determined to use system calls where they can -- e.g., sysfs(), despite the fact that man 2 sysfs says clearly:

This System-V derived system call is obsolete; don't use it.  On systems with /proc, the same information can be obtained via
  /proc/filesystems; use that  interface instead.

That's a C library man page telling you to use the /proc interface. If that's not good enough to convince you, nothing is.  /sys is the same kind of thing. Point being: just because you are using a file node instead of some C specific API doesn't mean you aren't doing real programming, or that performance will suffer, etc. etc.  Some people might say it's actually a nice feature.  It's also the method recommended by the people who wrote the OS kernel.
A quick introduction to the GPIO interface can be found in [kernel-src]/Documentation/ABI/testing/sysfs-gpio:
  GPIOs are only made available to userspace by an explicit
  "export" operation.  If a given GPIO is not claimed for use by
  kernel code, it may be exported by userspace (and unexported later).
  Kernel code may export it for complete or partial access.

  GPIOs are identified as they are inside the kernel, using integers in
  the range 0..INT_MAX.  See Documentation/gpio.txt for more information.

    /sys/class/gpio
        /export ... asks the kernel to export a GPIO to userspace
        /unexport ... to return a GPIO to the kernel
        /gpioN ... for each exported GPIO #N
            /value ... always readable, writes fail for input GPIOs
            /direction ... r/w as: in, out (default low); write: high, low
            /edge ... r/w as: none, falling, rising, both
        /gpiochipN ... for each gpiochip; #N is its first GPIO
            /base ... (r/o) same as N
            /label ... (r/o) descriptive, not necessarily unique
            /ngpio ... (r/o) number of GPIOs; numbered N to N + (ngpio - 1)

There seem to various tutorials and such online in addition to the elinux one.  I've only been using I2C, otherwise I'd give you a more direct answer.
If you are interested in writing kernel space code accessing GPIO, you can have a look here, although I think that is really only useful if you want to write a driver for a specific device and create your own user space API.

1. Since mem-mapped IO must also use read/write, I'm not sure if one method provides a significant advantage over the other here.  Using the /sys interface will certainly be more portable, if you are looking for code that will run on things other than a raspberry pi.
Comment: Thanks. My go to language has been Mathematica, so when it was ported to the RPi I jumped.  GPIO access via native Wolfram commands is a bit sluggish at the moment, so I'm trying to to learn enough c to keep me out of trouble. (so no kernel space code writing for me!)
Comment: `read()`/`write()` and the associated *file descriptor* (as opposed to *file stream*) based functions are actually not Standard C, but they are POSIX and standard on linux.  There's an introduction here: http://www.gnu.org/software/libc/manual/html_node/Low_002dLevel-I_002fO.html  Standard file streams may work, but in my experience they've also been problematic WRT to `/sys` and `/proc`; using the lower level descriptors is not anymore awkward or difficult anyway.  Good luck!

Reading GPIO states using C


$\mathbb R^3$ is not a field

Question: I'm trying to prove that $\mathbb R^3$ is not a field with component-wise multiplication and sum defined. I think it's weird, because every properties of a field are inherit from $\mathbb R$.
Anyone can help?
Thanks
Comment: How do you define multiplication in $\mathbb{R}^3$?
Comment: Then it's not even an integral ring.
Comment: @QiaochuYuan The OP went on to clarify that in the second comment.
Comment: Or phrased more simply, how do you define inversion on *all* non-zero elements? (paying careful attention to the fact (0,0,1) is nonzero)
Comment: @m.k. the same of $\mathbb R$ component-wise
Comment: It doesn't make sense to say that $\mathbb{R}^3$ is not a field. You haven't specified a candidate for multiplication.
Answer: I'm assuming you define muliplication component-wise on $\mathbb{R}^3$, i.e. define $(x_1,x_2,x_3)\cdot(y_1,y_2,y_3) = (x_1y_1,x_2y_2,x_3y_3)$.
The field axiom which causes trouble is $\forall x \:((x=0) \lor \exists y\: (xy = 1))$, i.e. the existence of multiplicative inverses. To show that $\mathbb{R}^3$ is not a field, try to find the multiplicative inverse of $x = (1,1,0)$ (note that $x \neq 0$!)...
The axiom about multiplicative inverses is, btw, the only axiom which can cause trouble. You can prove that whenever you have a structure defined purely by equations, i.e. by axioms of the form $\forall x_1 \ldots \forall x_2 t_1(x_1,\ldots,x_n) = t_2(x_1,\ldots,x_n)$ for some terms $t_1$, $t_2$ in $x_1,\ldots,x_n$, then the set-theoretic product of arbitrary many such structure together with component-wise definition of all functions will obey the same axioms.  Thus, the product of groups is a group, the product of rings is a ring, ...
For fields this breaks down because the condition $x \neq 0$ in the axiom about multiplicative inverses prevents that axiom from being written as an equation. But this axiom is the only axiom which cannot be written as an equation, and since this axiom is what turns a ring into a field, you get that the product of arbitrarily many fields is a ring.
Answer: It's easy to see that there are zero divisors: $(1,0,0)\cdot (0,1,0)=(0,0,0)$, for example.
So, it of course cannot be a field... it is not even an integral domain!
Answer: Suppose that we want to put a field structure on the $\mathbb{R}$-vector space $\mathbb{R}^3$. Suppose $K$ is isomorphic to $\mathbb{R}^3$ as an $\mathbb{R}$-vector space and is a field. Then $K$ contains a copy of $\mathbb{R}$ as a subfield. Thus, $\mathbb{R}^3$ is an algebraic extension of $\mathbb{R}$ of degree $3$. But all algebraic extensions of $\mathbb{R}$ are either or degree $1$ or $2$ because all algebraic field extensions of $\mathbb{R}$ can be embedded into $\mathbb{C}$ and $\mathbb{C}$ has dimension $2$ as an $\mathbb{R}$ vector space. Thus, $\mathbb{R}^3$ can not be equipt with a field structure.
In this answer I have assumed that you are viewing $\mathbb{R}^3$ as an $\mathbb{R}$-vector space. If you only want to view it as an abelian group then this argument won't work (I don't think).
Comment: Yes - but I have to pop out for a few hours. I promise to edit it to make it more clear when I get back. Sorry!
Comment: Nice answer! Would you care to explain a bit more though?
Answer: There are two "canonical" products on $\mathbb{R}^3$, the cross product and component-wise multiplication. For the latter it's very easy to prove, that it's not a field, since $$\left(\begin{array}1 1 \\ 0 \\ 0\end{array}\right) \neq \left(\begin{array}1 0 \\ 0 \\ 0\end{array}\right),$$ but it has obviously no inverse element.
For the former you can't find a 1, since the cross product is always orthogonal to both its right and left hand side.
Comment: Indeed. It's also not associative. But it's something called product and it maps $\mathbb{R}^3\times\mathbb{R}^3\to\mathbb{R}^3$, which made it a candidate :)
Comment: The cross-product is also not commutative. $a \times b = -b\times a$

$\mathbb R^3$ is not a field


As electrons are moving through the ETC, how is ATP produced for the active transport to even happen?

Question: A lot of websites aren't being specific and they are just saying that when electrons move from a high to low energy state during the ETC, "energy" is being released and that energy is used to pump (active transport) H+ ions through the membrane. I want to know more. Isn't ATP formed by adding a phosphate to ADP? If so, where do electrons moving through the ETC get that phosphate from? BTW, I'm not talking about ATP synthase, because you need H+ ions for ATP synthase and I'm not understanding how those H+ ions are being actively transported through the membrane in the first place.
Comment: On SE we expect you to do more research before posting, as you will find if you read the [help on asking good questions](https://biology.stackexchange.com/help/how-to-ask). It's not sufficient to say "a lot of websites aren't being specific" — you need to find sources that treat the subject at a more advanced level. And the best sources are books, not websites. If you have the money, buy as many as you can afford. If not, try NCBI Bookshelf. For Biochemistry use [Berg *et al.*](https://www.ncbi.nlm.nih.gov/books/NBK21154/) — Try Chapter 18.
Comment: If you are referring to the active electron transport by complexes I-IV (which I guess you mean, by saying you're not referring to ATP synthase), then the most likely answer is 'we don't really know'. For ATP synthase the mechanism is quite well known, but for the ETC complexes I think I've only ever seen some structural/mechanical theory for one of the complexes.
Answer: ATP formation is done using the Complex V called as ATPsynthase (also called as F0/F1 particle) and the theory explaining this process is called as the Chemiosmotic Theory2.
During cellular respirationKreb's cycle (in the mitochondria) and Light dependent Photophosphorylation photosynthesis (in the chloroplast thylakoids) a set of reactions establish a proton gradient across the inter-membrane space ( hereby referred to as IMS) of the mitochondria/chloroplast( if you remember mitochondria/chloroplast are double membrane bound organelles).
Just as in a battery/cell we have EMF(electron motive force) we have, in the IMS of the mitochondrion/chloroplasts, a proton motive force.
Since substances always flow from higher potential to lower potential, the IMS of mitochondrion/chloroplast having a high amount of protons is a region of high potential and lumen of mitochondrion/chloroplast is a region of low potential since there are less number of protons.
The only way protons can move from the IMS  of the mitochondrion/chloroplast to the lumen of the mitochondrion/chloroplast is via the complex V (also known as ATPsynthase).
The ATPsynthase is a lollipop shaped protein structure that is freely rotatable and it brings ADP & phosphate molecules close together so that a covalent bond can be formed in between them.
How does it exactly do this you ask?
So let's summarise what all we have here:

ATPsynthase that can rotate about its rotor.
Proton gradient across the IMS ( high potential) and the lumen ( low potential).
The only way out for the protons is via the ATPsynthase.

Now we can see a link here.
So what happens is, there's the F0 subunit of the ATPsynthase through which the protons are able to move across the membrane and during that movement the rotate the F1 subunit.
During this rotation shown in animation here  the ADP & the phosphate group which are present in the active site of the F1 subunit are brought near each other and due to atomic interactions a bond is formed.
The mechanical energy ( movement of protons across the membrane) is converted into chemical energy ( covalent bond) between the two molecules.
This is the process via which the currency of the cell, ATP, is produced.
Hope that answers the question.
Comment: I don't think you should answer questions in which the poster has not done his homework properly, but it you do, please read them first. What he writes is "I'm *not talking about ATP synthase*, because you need H+ ions for ATP synthase and I'm not understanding how those H+ ions are being actively transported through the membrane in the first place." You have described the ATP synthase — he wants to know how the proton gradient is established in the electron transport chain. I have told him where he can read about it for himself.
Comment: Oh, I see. Thank you for pointing it out. I thought he needed the mechanism of it. I think he needs to learn the cycles to completely understanding how H+ ions are being transported. I'll be more careful next time.


The notion of an adiabatic process in thermodynamics -vs- quantum mechanics

Question: I'm confused about the terminology in the two contexts since I can't figure out if they have a similar motivation. Afaik, the definitions state that quantum processes should be very slow to be called adiabatic while adiabatic thermodynamic processes are supposed to be those that don't lose heat. Based on my current intuition, this would mean that the thermodynamic process is typically fast (not leaving enough time for heat transfer). What gives, why the apparent mismatch?
Answer: The terminological mismatch arises because different physicists use the terms differently in different contexts.  For example, here is how Landau and Lifshitz define an adiabatic process in the context of thermodynamics:

Let us suppose that a body is thermally isolated, and is subject to external conditions which vary sufficiently slowly. Such a process is said to be adiabatic

As you can see, these authors combine the criterion of thermal isolation (no heat exchange with the environment) with a slowness assumption, to arrive at their definition of the term adiabatic.  In contrast, consider Huang's definition of adiabatic in the context of thermodynamics;

Any transformation the system can undergo in thermal isolation is said to take place adiabatically.

In the context of quantum mechanics, Griffiths defines the term adiabatic as follows:

This gradual change in external conditions characterizes as adiabatic process.

I would say, from personal experience, that the more widely held convention for the term adiabatic is not the one used by Landau and Lifshitz.  In particular, most physicists I know use the term adiabatic in the context of thermodynamics to mean thermally isolated, while they use the term adiabatic in the context of quantum mechanics to mean sufficiently slow that certain approximations can be made.
Addendum. In the context of thermodynamics, the free expansion of a thermally isolated ideal gas is often referred to as an "adiabatic free expansion of a gas," see, for example here.  Such a process is not isentropic.  Using Slavik's definition would deem invalid the characterization of such a free expansion as adiabatic.  However, all you need to do is google "adiabatic free expansion" to see how widespread such use of the terminology is.
Comment: I agree with @joshphysics.  In chemistry it is unambiguous that "adiabatic" means "thermally isolated".  Thus an explosion, at least in its initial stages, can be and is treated as adiabatic because there is not enough time to exchange much heat with the surroundings.  Further, adiabatic processes do NOT have to be at or near equilibrium.  Those paths are called "reversible".  Adiabatic paths can be reversible but are not mandated to be such.
Comment: With all due respect, I disagree. Explosion in a thermally isolated box is not adiabatic by any sensible definition. So it is not only the isolation - I explain myself more in a separate answer.
Comment: @Slaviks I respect your opinion and downvote; I just want to make the issue clear for future readers so that they can make decisions on matters of taste for themselves.  I also don't think you're being harsh at all; I hope you continue to be authentic in your assessments of respones.
Comment: @joshpysics I am happy we agree to disagree! It should be good for the readers to see different perspectives and judge for themselves.
Comment: In classical thermodynamics there is generally an assumption that the entire path is at or near equilibrium, which is why an abrupt event like an explosion probably shouldn't be called "adiabatic" in a thermodynamic sense even though it does not exchange heat with the environment. And yes, this makes the application of the theory to IC engines a little philosophically difficult, but it more or less works so people do it anyway.
Comment: I'm not clear on how this fact about classical thermodynamics makes one convention for the term adiabatic more reasonable unless one wants to restrict the term to only be applicable in the domain of classical thermodynamics.  I see nothing unreasonable about keeping adiabatic = $Q=0$ and simply adding the qualifier quasi-static when you also want to emphasize that the process being considered is slow in the sense you describe.  I feel that making definitive statements about what adiabatic means is problematic given the varying usage of the term.
Comment: @Slaviks What exactly are you disagreeing with?  My statements pertain only to what I perceive to be a widely held convention about how a term is defined.  Are you saying that you think using adiabatic as a synonym for thermally isolated is not a common convention?  I'm certain that I can site multiple sources to show that there are a sizable number of physicists who use the term in that way.
Comment: We apparently disagree only on matters of taste - I just disapprove, and hence downvote, the convention of identifying adiabatic with thermally isolated (even if the convention is commonly  held). Sorry if it is too harsh by the community standards here.
Comment: Personally, I wouldn't argue that the "no heat exchange" definition is incorrect or less reasonable, just that some processes are not well handled by equilibrium thermodynamics and it doesn't make sense to assign any significance to that version in a non-equilibrium context. I suspect that we agree except in some matters of semantics.
Comment: My encounters with the terminology have been the same as @joshphysics describes. The point of my question was to understand if there's a common underlying theme to the (seemingly) disparate conventions.
Comment: I would say that the different terminology is rather between chemistry (where it means, a process with no heat exchange) and physics (where it's mostly synonym of slow, this is how Enisten, Born and Fock and others meant it). As for which interpretation is more common it depends on your field. In quantum computing it is definitely a synonym for slow.
Answer: The etymology of adiabatic appears to be from the Greek meaning "not passable" (native Greek speakers should feel free to clarify and/or correct that). In the technical meanings, the "passing" refers to heat transfer. So in thermodynamics, adiabatic means there is no heat transfer between the system and the environment.
In practice, of course, that's an approximation. In practice, adiabatic means that the thermodynamic process is slow enough that the system is always very nearly in equilibrium, so the heat exchange with the environment is negligible. In quantum mechanics, the analog to equilibrium is an eigenstate. So adiabatic means that the change is so slow that the system is always very nearly in equilibrium, so the system is always in an eigenstate. Both of these are approximations.
In quantum mechanics, the opposite of the adiabatic approximation is the sudden approximation. Take a system with initial Hamiltonian $H_0$, and change the Hamiltonian to $H_1$ over some time $T$. Then the adiabatic approximation is $T \rightarrow \infty$, and the sudden approximation is $T \rightarrow 0$. In the sudden approximation, the state of the system doesn't change (it "doesn't have time to change"), and it finds itself suddenly not in an eigenstate. In the adiabatic approximation, the state follows the perturbation, and is always in an eigenstate of the Hamiltonian.
Comment: "In quantum mechanics, the analog to heat exchange with the environment is the system changing state." Could you please elaborate on that?
Comment: @Siva, I've added a paragraph in response to your comment. Thanks for that, as my original answer was a bit imprecise and incorrect.
Comment: Quantum mechanically, particles moving to another state is heat exchange (energy lost or gained by particles) whereas the energy of the state itself changing is "work". The simplest example is particle-in-a-box, compress the box and the energy of each state increases. Heat the box, and the particle jumps to other states. Both can happen in an interaction. If you do the compression slowly enough, the particle will remain in the same state and change energy with it. Do it very fast, and it will pick up components from many (new) eigenstates...
Answer: Adiabatic means quasi-static and isoentropic - slow enough to create negligible amount of irreversible excitation. This is the common rationale of technically different definitions. E.g., Landau & Lifshic'es definition has two components - thermally isolated (to prevent entropy change by heat exchange) and slow (to prevent irreversible excitation). For a gaped quantum system adiabatic can by quite fast (just keep Planck constant times the characteristic driving rate below the value of the energy gap).
What is confusing indeed is that there can be an intermediate speed which you can be reasonably adiabatic - much faster than heat exchange with what you separate as the "reservior" but much slower than the equilibraton speed of the degrees of freedom being excited. That's why adiabatic can be fast and slow at the same time - there are two conditions to satisfy. These subtleties are often not made sufficiently clear,
but that's what we have physics.SE for :)
To sum up, don't make "waves" (entropy) and you'll adiabatic.
Comment: That's good - life is not adiabatic! :)
Comment: This sentence made me quite scared of life for a moment: "Adiabatic means quasi-static and isoentropic"
Comment: I see what you did there ;)
Comment: If I understand correctly, the adiabatic time scale being slower than the equilibration time scale implies that the process will be quasi-static, and hence reversible. We need it to be slower than the heat-transfer ("thermalization"?) time scale.
Comment: In QM, all processes are reversible, so presumably we don't need the notion of quasi-static (which knocks off the smallest time scale). So I would naively think that the adiabatic condition you phrased in terms of the energy gap should give an _upper limit_ on the time scale (to replace the notion of no heat transfer), but it seems to serve as a _lower limit_. That confuses me.
Answer: In both thermodynamics and quantum mechanics, the term adiabatic is used to refer the idea of "something not changing". In Thermo, this something is that of the system's heat content and is said to not change over the process.
In quantum, this some thing is spoken in terms of "eigen state" of Hamiltonian of a system - precisely, "at the moment of consideration". The notable point here is that, after a time t (non zero), the new quantum system (under adiabatic process) has a different Hamiltonian but the energy of the system at that point is still an eigen value of the new Hamiltonian i.e., the process occurred such a way that system adjusted itself into its eigen states - just like in thermo, system adjusts itself such that its heat content is constant.
In summary, "The state of being an eigen value of Hamiltonian or the heat content (a state of being, in a way)" did not change over the process and hence is referred to as adiabatic.
Answer: In the development of quantum mechanics, an analogy of adiabatic condition is used.
Assume there is a mechanical system, executing periodic circular motion. According to the adiabatic condition, in absence of any external interference, the ratio of the kinetic energy of this system (which corresponds to the internal heat, if the system is microscopic) and the frequency of its oscillation will be invariant. This ratio will not change. This is adiabatic conditioning from pure mechanics.
In the development of old quantum mechanics, we see a similar idea pop up. Let me put it this way: mathematical expression of this conditioning is as follows,

E/υ = c

Here, E is the aforementioned kinetic energy, υ is the frequency, and c is a constant.
Or

E = cυ

Have you seen the before? You must have seen this as

E = hυ

In the Bohr's atomic theory, the mechanical oscillation of an electron is seen to correspond to the optical frequency of the light emitted. In Bohr's 1913 paper, we see him using this adiabatic conditioning.
Somehow the adiabatic process of thermodynamics (or more generally, mechanics) corresponds to quantum mechanics. Why exactly nature prefers the Planck's constant to bind the ratio of the kinetic energy and the frequency is still a puzzle.
I would recommend, Max Jammer's 'The conceptual development of quantum mechanics', pp.118 for in depth exploration of this idea.


Install ffmpeg on iPhone

Question: Can I use ffmpeg on my iPhone and edit videos in my camera roll with it?
Comment: Are you ok with jailbreaking? That's the only way to do it.
Answer: If your device is jailbroken, you can install the ffmpeg package:

 ffmpeg
This package is open source on GitHub nin9tyfour/FFmpeg-iOS-build-script which you can use to build a more recent version and manually install it yourself if the version of ffmpeg provided by this package is insufficient for your needs.

You can use the package from the command line using a Terminal.

 NewTerm 2
A terminal emulator package, installable with Cydia.

NewTerm is a continuation of the Mobile Terminal project, a versatile terminal emulator for iOS.

You can also use an SSH app from the App Store, however this requires you to change your SSH port from 22 since iOS prevents localhost access to port 22, so suggestions for apps and instructions are out of scope for this question.
Comment: This is the real answer.
Comment: Can I do it with Cydia Impactor and skip jailbreaking?
Comment: @theonlygusti No, you need to be fully jailbroken to install these.
Answer: In a word NO.
FFMPEG is a command line video converter and iOS has no command line. There are plenty of programs that can edit video though, not the least of which is Apple's own iMovie.
A simple search on the iTunes store (the only place you can install software from) for "edit video" will turn up a lot of apps.
(Yes I know all about jailbreaking and what is possible, command lines and alternative applications, etc. But we do not discuss or support people with Jailbreaking issues, there are other places for that)
Comment: This website does support jailbreaking. See the jailbreak tag.
Answer: ffmpeg is both a command line utility and a software library allowing modification of various media files. As a command line utility you won't find ffmpeg in the App Store, as there's no command line support in iOS.
However parts of ffmpeg are also used as a software library (usually in the form of libavcodec) in a wide range of applications, some on iOS as well. For example VLC on iOS uses it to decode and display media files. My searches did not show up unfortunately any good apps that use either ffmpeg or libav for encoding & editing purposes, but it's likely a few of the video editor apps you'll find will use these software packages as their backend.

Install ffmpeg on iPhone


How accurate did medieval historians think histories to be?

Question: How accurate were histories thought to be by medieval historians? What constituted the historical record? Did folk lore and songs carry as much weight as the churches' histories or other written documents?
Comment: This is a very complex question. Having said that the Crusades did not go well...and this was noted in the Historical Record of both sides and is duly noted even today. There was blame laid upon a certain Christian group but I can't think of their name right now. What happened to them was also duly noted in the Historical Record. Both accounts (of the War and the Blamed) I believe to be quite accurate.
Comment: "The Knights Templar." History seems pretty clear they were blamed for the defeat...one of the most powerful Military Orders in all of European History...and eradicated. One might look at the current US Military as a similar equivalent...professional, ruthless, extremely capable and an extreme minority...and therefore very dangerous. Certainly unique in the annals of US History...all of US History I might add. Some might view them as a modern day Knights Templar...and react accordingly. This "internet thing" does not help as so many false narratives get fed "through it" to the Mainstream Media
Comment: @user14394 I'm broadly aware of those events, but I'm not clear on the relevance. Did doubt or trust of some histories play an important role?  Maybe I have some thinking to do on the implications of slow traveling information, but I was thinking previous generations' stories, not news a few years old.
Comment: Well...I would define "History" as a noted event denoted by a noted outcome. You can point to a litany of other aspects of the Medieval Age if you like and question how said "event" was written for posterity. But since that is not done here the reader is forced to specify.
Comment: There is not a single answer. First off, as with most questions re Middle Ages, do you mean early, mid, or late? In England, the continent, or elsewhere? But short answer: to monks (aka most of the people writing histories, at least at first), it depends. Someone like Bede had more authority than others and historians (which was not a professional class) favored some sources over others.
Answer: When you state medieval historians, what you really mean are Catholic monastery monks who would transcribe the old pagan stories, myths, and histories onto paper with an agenda (often with plenty of Christian embellishment).
Many of the natural histories during the Early and Middle Ages were suppressed and repurposed to serve the Church's political interests. The Medieval times begin with the fall of Roman decadence, generations of war and suffering. Accuracy wasn't at the forefront of the Christian monks' minds, as were their beliefs of improving upon a failed society. With the fall of Rome, the great migrations occurred- bringing with it more war, destruction, and famine. An intellectual and social belief vacuum opened up and now there was a market for new ideas that could shape the world. Mysticism and folklore were still very fresh amongst the nomadic tribes, and it was incorporated together as generations passed and Christianity spread throughout Europe by conquerors such as Charlemagne. ("The Vanishing Paradigm of the Fall of Rome")
Most literature during this time would often have a mix of history, myths, and Christian dogma, typically describing a conflict between man and nature ("Beowulf") until we reach the Protestant Reformation and the Renaissance. This doesn't mean that the Church didn't entirely care for history or science for that matter (science is based on historical evidence), but they mostly kept that to themselves till the late middle ages. Monks had to be careful not to show signs of heresy and it was not easy for them to share their work until the invention of the printing press.
Despite the failures of the Crusades, it also brought with them the trade of ideas with Muslum countries, they were far more advanced in terms of the humanities, recorded histories, mathematics, and sciences. This connection helped spark curiosities within Christian scholars and paved the way for the rediscovery of the lost Greco-Roman humanities, philosophies, and histories. This is when a period of seeking historical accuracy would occur. ("The History of the Renaissance World")


How can I shoot time lapses with Nikon P900 beside the built-in 10 seconds programs?

Question: I'm sweating blood to find any product or how-to to make time lapses with my Nikon P900. It seems to me, that my only option is to use the built-in time lapse modes, which sucks. I mean, it shoots in 2MP and the result is horrible. I've tried the interval mode as well, but the smallest interval is 30 seconds. I need simply a tool, to remotely shoot a picture like every 3 seconds and I gonna make a video after that from the separate images. The problem is I neither was able to find any shutter release compatible with P900 that can do this job. I've contacted a photographer shop and they also said that there is no compatible product for P900. Can you recommend me anything please?
Answer: What you're looking for is called an intervalometer. Unfortunately, nobody seems to have specifically made one that replaces Nikon's ML-L3 wireless shutter release (the remote that Nikon mentions on page 116 of the P900 Reference Manual).
This dpreview.com thread asks about your same problem — looking for an intervalometer for the P900. The only response links to a Gloxy Wireless Multi-exposure Intervalometer remote control for Nikon Coolpix P900 cameras. However, I don't believe it will actually work with the P900. I believe the mention of "P900" is linkbait. The pages states the remote replaces the Nikon MC-30, MC-DC2 and MC-DC1 remotes. These are all wired remotes. This indicates the remote probably includes a wireless receiver that has to plug into an appropriate connector on the camera, which the P900 lacks.
If you don't mind a bit of DIY, Limor Fried (Lady Ada) at Adafruit Industries has posted a fairly easy walkthrough of creating an intervalometer that emulates/replaces the ML-L3 using an Arduino kit, IR LED, and a couple other simple parts.


What is a better marriage for my Canon 70-300 L lens: A 7D or 5d Mark iii?

Question: I currently am using a Rebel T3 with my 70-300 L lens.  I have been shooting for about 2 years now and find myself mostly shooting outdoors sports.  I believe I have come to the point were I have out grown my Rebel T3, but I am not sure if I want to stay with an APS-C sensor or go full frame.  I mostly shoot outdoors soccer and baseball.  I was wondering if my 70-300 L would perform better as far as auto focus and image quality on a 7D or 5d Mark iii?  Also, will 6 fps on the Mark iii be sufficient enough for sports?  I thank you all in advance for your time and knowledge!  Cheers!!!
Comment: If the 7D and 5Dmk3 are on your list, you should also look at the 6D and 70D.
Answer: Like most things it depends. Do you shoot under lights at night? If so the 5dm3, is going to perform better (autofocus and cleaner high ISO), otherwise the 7d will perform wonderfully and provide greater reach.
As for FPS, in my experience as I get better at shooting most sports this matters less, as I am able to time the shots, rather than gunning through a sequence. If your timing is not great or you want to capture the stop action type sequences, the extra couple frames per second on the 7d will help.
I primarily shoot indoor sports (Volleyball), and have great success with a 5dm2, but it took a lot of learning to get the autofocus to work in this environment. I upgraded to a 5dm3, and it makes getting the shot much easier. I have also used the 5dm2/3 for soccer as well as twice I have shot with a 7d for soccer (with 100-400, not your 70-300). In general I would choose the 7d for daytime soccer for the greater reach.
Comment: Nice answer! "I am able to time the shots, rather than gunning through a sequence" makes a lot of sense
Answer: The autofocus consistency in terms of accuracy from shot to shot is worlds better in the 5D mark III which has a 1-series level focus system. The 7D on the other hand, while slightly faster and much more configurable than other consumer/pro-sumer grade bodies from Canon, is not consistently more accurate than them. I own a 7D and that is my biggest frustration with it. Even when the AFMA is dialed in, a good number of shots just miss correct focus. Some are front-focused, some are back focused. In my case that is with an EF 70-200mm f/2.8 L IS II mounted to the 7D. For more on the accuracy of various Canon bodies, see Roger Cicala's excellent blog article. For more on exactly how the 7D AF system works, see https://photo.stackexchange.com/a/41179/15871. Other multi-point systems, including the 5D3 are similar. To get the most out of them you have to understand the actual 'map' of the focus points and how the area of greatest contrast within the entire active area for any particular point is what the camera will focus on. But most other sophisticated multi-point systems are more consistent than the 7D.
On the other hand, the 1.6x crop factor of the 7D will give you more reach than the 5D3 with the same lens. If you crop a shot from the 5D3's 23MP down to the same size as the 7D's sensor, you will only have about 9MP resolution instead of the 7D's 18MP.
The larger pixels and newer design of the 5D3 also mean better low light performance. Real world testing gives an almost two stop edge to the 5D3 over the 7D in terms of noise at high ISO. And with the slower aperture of your 70-300 L compared to a constant aperture f/2.8 telephoto that is a key issue.
As far as frames per second go there are several considerations:

Maximum frames per second are only achievable at low ISO with many in-camera processing options turned off. Raise the ISO or turn on options like Highlight Tone Priority, Peripheral Lens Correction, or High ISO Noise Reduction and the frame rate will drop. There may not be as much real world difference between the 6fps of the 5D3 and the 8fps of the 7D, especially if you need to use a heavier noise reduction setting with the 7D.
Sometimes when shooting sports the number of frames isn't as important as being able to time the critical instant and being confident your camera can nail the focus. After all, six properly focused shots per second are better than 8 shots if half are out of focus.
Buffer depth seems more critical to me than frame rate, especially when saving RAW files. With the fastest UDMA-7 CF cards available the 7D can go 25 RAW files at 8fps before getting bogged down, the 5D3 can go 18 at 6fps. That's about 3 seconds worth of continuous shooting in both cases.

The 5D mark III costs about twice the price of the 7D. Whether the far superior focus system and significantly better low light/high ISO performance is worth it to you is a question only you can answer. The only other thing you will be giving away is the reach of the 1.6x crop factor of the 7D and a very modest difference in burst rate.
Answer: Everything in life is a tradeoff, there isn't a clear-cut choice - you have to choose based on the factors that matter for you most.
The 5Dmk3 is definitely a better camera than the 7D (except for two things), it has better auto-focus, higher resolution, better dynamic range, and in general better everything - it also bigger, heavier and more expensive.
The two things where the 7D is better are the frame rate and the crop sensor (yes, full frame can be a disadvantage too) - with the 5Dmk3 you will get the same field of view at 300mm like your Rebel at 187mm, if you mostly shoot at 200mm-ish and below that doesn't matter but if you often go to 300mm you will need a longer lens with a full frame camera (to get the 300mm field of view you will need a 480mm lens!).
Like I said in the beginning everything in life is a tradeoff, the 5Dmk3 will take better picture but costs more and may require a new (expensive) lens - the 7D on the other hand will be cheaper and is still a very good camera.
You should also look into the 70D, it has a newer better sensor than the 7D and the same auto-focus system and will be cheaper - but it's not rugged like the 7D or the 5Dmk3.
Comment: @MichaelClark - that's what I said - the 70D has a better sensor (even if I'm not allowed to talk about one of the things that make it better) but it's less rugged - like I said in the first line of the answer "Everything in life is a tradeoff" - I never said the 70D is a better camera, only that it's worth considering.  (if it was me, and I had the budget for a 5Dmk3 (I don't) and I could live without the extra reach of the crop sensor (not relevant, because of the budget issue) I would have bought the 5Dmk3, but that's me, everyone has different priorities and can make different tradeoffs)
Comment: The improvements in the 70D sensor are mainly in the area of Live View/ video autofocus using hybrid sensels in the sensor to do the equivalent of PD focus when in Live View. There is less than 1/3 stop difference between the 7D and 70D in terms of Dynamic Range, Signal to Noise Ratio, Tonal Range, and Color Sensitivity. In fact the 7D has slightly higher DR than the 70D below ISO 800. http://www.dxomark.com/index.php/Cameras/Compare-Camera-Sensors/Compare-cameras-side-by-side/%28appareil1%29/895|0/%28brand%29/Canon/%28appareil2%29/619|0/%28brand2%29/Canon
Comment: @MichaelClark - according to the DXO labs score the 70D is slightly (negligibly?) better in every way (except DR below ISO 800 where the 7D is slightly (again, negligibly?) better) - so with the 70D you get basically the same performance at an higher resolution + video auto focus as a bonus all for $300 less - I stand by my previous claim that the 70D's sensor is newer, better and cheaper
Comment: Yes, and the same PDAF system that is the Achilles heel of the 7D.
Comment: I guess the point I was making is that, at least in my mind, the less than 1/3 stop differences are not significant enough to label the 70D "better". The 12% increase in resolution is a little more significant. The video focus advantage shouldn't make much of a difference here where any question including the word *video* is summarily dismissed as **OFF TOPIC**. The current price difference at amazon is only $140 USD. For that you are giving up about 50% of the 7D's buffer depth (firmware ver. 2.x) and a 50% higher shutter life rating as well as the weather sealed magnesium allow body.
Answer: The 6 FPS should be fast enough for sports if you have decent timing.  The AF performance will be far better and more consistent on the 5D Mark iii.  The main thing you will lose with the 5D over the 7D is the extra reach that the APS-C sensor gives you, but the improved AF points, speed and consistency will be more than worth it if you have the money to burn.
Full disclosure, I am a very happy 5D Mark iii owner that shoots with a 70-200 f/2.8L IS II and used to use the non-L 70-300 f/4 before the 70-200 f/2.8.


Allergies: should we test them proactively?

Question: If a child has had no allergic reaction (yet), should we test her for allergies anyway, just in case? Or, is it enough to react after an allergic reaction?
Answer: If there has been no allergic reaction then there is no need to test with two exceptions.

Family history of a lethal reaction. For example if Grandma is allergic to fish, and Mom is allergic to fish, then be extra careful with fish around the child.
Doctors advise allergen testing. I'm not one to say blindly follow doctors' advice, but if a doctor is telling you to get the testing done, then get it done.

With most allergies, common signs will show LONG before a lethal reaction occurs. For example, hives, rashes, watery eyes and running nose will all be very evident with non-food allergies long before any serious complications arise (normally). Food allergies often present as a sore throat or upset stomach, long before the "I can't breath" point (normally).
Even if you do get allergen testing, they don't test for everything, just common things, or things they think have triggered the reaction. The testing can be very unpleasant if the list is long.
Best advise is ask your primary care physician.
Comment: Also, we were told for our daughter that with babies (under a year old), allergy tests are very unreliable. I don't know if it applies to all tests though, as she had skin problems only.
Comment: "With most allergies, common signs will show LONG before a lethal reaction occurs." - is there research backing this up? It sounds intuitively correct, but so do many other things that aren't actually medically sound.
Comment: Honestly, not really. You can research "Anaphylaxis" that's the "food one" but most of what I can find on google is fear mongering and product sales. If you believe the first few links your better off just starving your self to death then risking eating anything. But, as a person with non-food allergies, and husband of someone with food allergies. I can tell you, in my experience, that even the food my wife is allergic too won't cause a fatal reaction, before it starts causing her other unpleasant side effects. But when in doubt ask a doctor.
Answer: If there are no allergic symptoms you don't actually need to test it proactively. Yes if your child has running nose or constant cough or some ongoing allergic symptoms. it is time to find out what is the reason & how it can be handled. Know complete details about childhood allergies & treatment plan here. http://www.ssdhospital.com/childhood-allergies/


Bulk edit for large number of files not working?

Question: I'm on Sharepoint Online, and I have a document library of about 1600 files. I have about 1000 files that are Unassigned in a certain column that I want to change from Unassigned to some other category. I tried selecting all the files with Ctrl-A and using the bulk edit properties tool to change the Project column, and then I click Save, but the saving never finishes (I waited overnight for this, just in case), and when I check on the document library with a new tab, nothing seems to have actually changed. Is there a reason why bulk edit properties isn't working, and is there a better way to do it?
Answer: Per my test in my SharePoint online, in the modern document library, I select bulk files and use the bulk edit properties to edit the properties of the files.
And it can work.
I suppose you select too many files to edit the properties.
I suggest you could select about 100 files to edit the properties of the bulk files.
Comment: Thanks. It seems the problem is not exactly too many files (although that does slow it down), but that I'm using Ctrl-A and selecting all the files to bulk edit, but the files aren't all loaded onto the page yet because I didn't scroll down all the way (like maybe 100 of the 1000 files will be loaded on the page), which seems to cause issues that prevent the bulk edit from saving
Comment: You could consider selecting the files manually.


How do you open an SE/30? (a.k.a. what is a "pull-apart tool"?)

Question: I have been trying to work out how to open a Mac SE/30, in order to have a better look at its internal condition. I have the repair manual, and in the "Take Apart" section it references a "pull-apart tool". However, I cannot find any mention of this tool or where to buy one. Attempts to lever the case off using screwdrivers and similar implements have been unsuccessful. What is a pull-apart tool? Where can I get one, or what can I use instead?
Answer: There was, at one time, a custom tool for this job called the "Mac Cracker" and Apple provided their own to dealers and authorized repair shops.

In essence, what you need is a long handled Torx T15 driver and a spudger or similar tool to pry the halves of the case apart without damaging the plastic. There are other examples of "case crackers" that do the same thing, applying even pressure to force apart tower cases.
http://www.pcmag.com/encyclopedia/term/39316/case-cracker
Using a flat screwdriver to loosen the case is possible, but not advised. The small area over which the force is applied tends to crack or scar the case. You can often see signs of this kind of distress on used Macs. Best to use one the aforementioned tools, or just a couple of good whacks and gravity.
Answer: My "pull apart tool" of choice for toaster Macs is a pair of hands, utilising gravity and friction!
Place the Mac face down on a softish surface, top or bottom facing towards you. Remove the Torx screws (make sure you get them all!) and then place your hands almost on the sides of the Mac as if you're about to clap.
Then, move your hands quickly towards each other to grip the rear casing and move them up immediately on touching the sides - you're not trying to lift the machine, but let gravity keep the main part of the machine down while your hands try to break the friction holding the rear casing to the front. You may need a few attempts. I find machines tend to be easier to open this way after they've already been opened, but I have been able to open previously unopened machines using this method.
It takes some practice, but I've had good success with it. You might like to try on a dud machine to get the hang of it just in case your unpractised method lifts the whole machine too much. You won't damage the case as you would trying to use a screwdriver or ordinary spudger, and you won't have to look for the official tool or one that works as well.
Good luck!
Comment: Exactly. No need for a special tool except the long screwdriver for getting at the two screws in the handle. Then Mac face down to open it is the right way. That's actually the position used to build it in manufacturing.
Comment: I advise to put a towel down, double-folded to protect the glass.  And I wouldn't lift more than about 2-3 inches until you've confirmed the back case is separated.  You don't want to lift quickly and have the monitor drop 10 inches to the table.
Answer: All you need is a long reach Torx T15

to get at the screws and a large bull dog clip (1"-2")

to crack the case open. Nothing else.
The bulldog clip is the cheapest, and best approximation to the "pull apart tool" to which you are referring.
IIRC, the clip, when closed, is placed in the mid point of the grove (where the front and back parts of the case meet) at the top of the SE/30, and then you slowly open the bulldog clip, to crack the case open. This is obviously done once the screws have been removed. The area to which I am referring is shown below:

Top tip: once you have extricated the Torx screws, replace them with Philips/crosshead ( or Allen bolts), to make life simpler for you in the future, as long reach Torx screw drivers are generally harder to find than other types.
Answer: The other responses here are correct (except the spudger, IMO -- it might work but isn't really the tool being asked about here).  The ones I remember looked different, like in this picture which I'll include in case someone finds one and isn't sure what it does.  They worked like the bulldog clip... stick in the crack at the top of the classic-type Mac and wedge the case apart.
Answer: They are probably referring to a spudger, though it's hard to tell. If it is intended to safely lever apart plastic parts that are held together with friction in such a way that a screwdriver would damage the case, then this is probably what it is.
A number of different spudgers (sizes, stiffness, etc.) are handy tools for retrocomputing fans.

Actually, even if a spudger might work, it is probably not what was intended.  I found this reference:

One of my pull-apart tools is simply a spring clamp marked "Pony 3201 Made in USA". I bought a Mac opener kit from APS long ago. This Mac opener kit consisted of ... a pull-apart tool ... The jaws (closed) of the clamp measure 3/4 inch (19 mm) wide and 1/16 inch (1.6 mm) thick. Just insert the jaws and squeeze. You can find a similar tool at any hardware or hobbyist shop or Home Depot or Office Depot. Instead of the pull-apart tool, you can use a medium to long flat-blade screwdriver to open the computer's case.

So, a spudger or screwdriver might work, but it looks like the "case-cracker" intended for this job is a spring clamp of some kind.
Comment: Mostly be careful not to damage the case, a screwdriver is tempting but I've damaged the plastic on a MacPlus prying it apart.
Comment: Yes, which is why I say this in the first sentence of the answer...
Comment: It is definitely not a _spudger_ as it is too narrow and soft to get any leverage on the two halves of the case. The _blade_, as it were, needs to be at least an inch wide.
Comment: Yeah, my follow-up made it clear that everyone has a different notion of this, but they are all stiffer than the usual spudger.
Comment: I used, for years, a 3" x 4" piece of sheet steel (about 0.030"); just slip its edge into the crack, and push the front bezel forward from the rear case.


What is the difference between "sich ausruhen", "sich entspannen", "ausspannen" and "sich erholen"?

Question: There are a lot of verbs meaning "to relax" or "to rest". It's unclear what the difference between them exactly is. Some of the verbs are: "sich ausruhen", "sich entspannen", "ausspannen", "sich erholen". Is there any difference in meaning between the mentioned verbs in day-to-day usage? Maybe some of them sound unnatural in some contexts and some are preferable in others.
Dictionaries often translate these verbs as "to relax" or "to have a rest" but the subtle differences in their meanings and their usage are unclear.
Comment: @falkb it's open again, I'll clean up my comments now
Comment: Is alles nur noch "chillen". :) Im Ernst: Im Wörterbuch die Gegensuche machen (was heißt "ausruhen"? und bei konkreten Unklarheiten noch mal nachfragen. Vote to close weil zu allgemein, unklar was die Frage ist.
Answer: Basically, they all mean the same. Though each one has a slight different viewpoint.

"sich ausruhen" just means you need calm (Ruhe). Often this is the case after stress. You simply need a break. Your power has gone.
"sich entspannen" and "ausspannen" are literally meant to reduce the tension (Spannung), although prefix "aus-" emphasizes you're taking yourself "out" of the stress location, while prefix "ent-" emphasizes your body is de-stressing
"sich erholen" preferable means to recover from a former (maybe medical) problem state, illness or exhaustion or something.

There is a smooth transition of usuage. But an athlete would prefer "sich ausruhen" after a competition, while a deseased man would "sich erholen", while a working man would "ausspannen" after work, and you would "entspannen" on a yoga mat.
Comment: *Erholung* ist fester Bestandteil des Athletendeutsch, zum Beispiel auch für die Pausen beim Intervalltraining.
Comment: ja, deswegen habe ich als Zustand *Erschöpfung* mit dazu genommen. Wie gesagt, die Übergänge sind fließend...
Answer: I could give you some concrete examples / circumstances of how I'd use each if you'd like:
"sich ausruhen" - for example when you're down with a cold, I use it mainly in a physical context referring to my body, be it physically or mentally you come to a rest
"sich entspannen" - while watching a movie, or whatever activity that you enjoy and relaxes you
"ausspannen" - as falkb pointed out, it carries the connotation of relaxing for a longer time with a conscious focus on avoiding what stressed you
"sich erholen" - I'd translate it to " to recuperate" (your strength or what have you)


Where is the aperture?

Question: Where and how is the aperture placed inside a lens?
How come the image is not affected (no obscuring) by something inside the lens literally blocking light?
Comment: Possible duplicate of [Why does an aperture crop the image when you look through a lens itself but not when you look through the viewfinder?](http://photo.stackexchange.com/questions/21400/why-does-an-aperture-crop-the-image-when-you-look-through-a-lens-itself-but-not)
Comment: I'm struggling to understand exactly what you're asking. The aperture is a hole (that's what aperture means) so it doesn't block light, but lets a variable amount of light through (because the size of the hole is adjustable). This *does* affect the image: it gets darker, and you have to increase the exposure time (or sensitivity). Are you asking why this doesn't cause [vignetting](https://en.wikipedia.org/wiki/Vignetting)?
Comment: @Max The size of the aperture opening is controlled by the aperture diaphragm. I believe what the OP is asking is how this diaphragm doesn't appear to block light as seen through the viewfinder, in particular when a high f-number has been set.
Comment: @osullic: if that is the OP's question you have answered it correctly, but since OP didn't mention the viewfinder at all and didn't specify which image he's talking about, I wanted to clarify.
Answer: The camera lens acts like a funnel in that it gathers light. The aperture is a mechanically operated, circular opening. Its job is to adjust the working diameter of the lens. The greater the lens diameter, the more light gathered. When the light is feeble, we set a large aperture diameter. When the vista is brilliantly lit, we set a tiny aperture diameter. Additionally, the diameter of the aperture is often used to cause different imaging effects. This is possible because the aperture diameter is intertwined with shutter speed and the sensitivity setting (ISO) of the camera.
Now to answer your question: You can draw an imaginary line from the subject to the lens. You can continue this line as it changes direction when it passes through the lens until it bumps into the light sensitive surface of the image sensor or film. Now that you have drawn this line, draw another from some other part of the vista. Now continue drawing. You will find that you must draw zillions of lines. In other words, you must draw lines from every point on the subject to the top of the lens, to the center of the lens, to the left side of the lens, to the right side of the lens. In other words, light from a single point on the subject hits everywhere on the lens. All these rays pass through and then play on the film or digital chip. If you interpose a circular aperture, you stop some of the light rays that hit the boundaries of the lens. But you do not stop the remainder. Those that get though project an image on the film or chip. However, you have cut down the volume of light that can get though, and the image dims as you close down aperture diameter.
The mechanical aperture can be inside the lens which consists of many glass lenses. The aperture can be placed before the lens, the aperture can be behind the lens. We place the aperture inside to protect the delicate thin metal blades, and because the position will effect optical performance.
Answer:
Where and how is the aperture placed inside a lens?

Exactly where it is depends on the lens design, but somewhere in the middle is a reasonable approximation. A Comprehensive Guide to Camera Lens Design and Zeiss Nomenclature has a number of diagrams that show cutaway diagrams of different designs, and you can see that the aperture isn't always exactly in the middle, but it's usually close.

How come the image is not affected (no obscuring) by something inside the lens literally blocking light?

There's not just one ray of light entering the camera from any point in the scene -- there's a whole cone of light, with rays from that point to every point on the front element of the lens. The job of the optics is to get all that light to converge to a single point in the image on the sensor (or film). The aperture blocks some of that light, but it also lets some light pass through, so a complete image still forms. By blocking some of the light, though, the aperture reduces the amount of light that can be focussed at each point, and therefore reduces the brightness of the image.
The fundamental reason you don't see the iris itself is that there's no light to illuminate it's back side (and even if there were, it'd be way out of focus). And you don't see a big black ring around the edges of the image because, as discussed above, light from the image travels through the aperture at many angles, so it's still able to cover the entire sensor (and then some).
Answer: The aperture (the size of the diaphragm) DOES affect the quantity of light that reaches the focal plane. You may not notice this because the diaphragm remain full open until you actually take the photograph, diaphragm closes to the set position and shutter opens to let the light reach the focal plane (film or sensor, whatever)

Sometimes the borders of the image receive less light that the inner part, causing VIGNETTING.
Also, it affects the quality of the image that is formed in the focal plane, once it gets through the group of lenses.
As light has to travel different distances in the outer part than the inner part of the lens, it may happen that at certain big apertures (wide open, small f numbers), the rays don't focus on the same plane, producing what is called SPHERICAL ABERRATION.
When the aperture is big (small f numbers) some CHROMATIC ABERRATION may occur, specially in the edges of the image, FRINGING.
When the aperture is small (big f numbers) DIFFRACTION may occur, lowering the quality of the image.
Depending on the size of the diaphragm, the portions of the image that stay apparently sharp (focused) varies, DEPTH OF FIELD.
Finally, the relative position of the diaphragm, its shape, etc also affect the image formed in the focal plane.
Answer: The aperture is fully open, regardless of your aperture setting, until the instant the shutter is released. The aperture diaphragm stops down to the desired aperture setting, then the shutter opens and closes, then the aperture diaphragm opens fully again.
If a camera has Depth of Field preview, all this does is prematurely stop the aperture down to the setting you have set, and you see the effect (including the darkening) through the viewfinder.

Where is the aperture?


Is there an official skeleton player race?

Question: In my game one of my players said he wanted to make a new character and get him prepared so he can switch out characters soon. I asked him what he wanted to play and he asked if he could have his race be skeleton. I told him that I would have to see if I could find something official and not homebrew and if I could I would let him play one. Anyone have an idea of where I could find an official skeleton race?
Comment: I'm assuming he wants an _intelligent_ skeleton? Common skeletons in all versions of D&D are mindless creatures that just obey orders, those make for really poor player characters.
Comment: @PerrinTealeaf did you ask the player, what exactly he wants from being a skeleton? there are other options, probably. Or is it just about the look?
Comment: related: [D&D5e's playable races](https://rpg.stackexchange.com/q/77247/23970)
Comment: I've removed the forgotten realms tag as it's not clear why it's on there. (For all tags except the system tag, we expect the reason why the tag is present to be self-evident in the question: tags describe content, not add new content.)
Comment: It'd depend on what he would roll and if the race gives a minus to the int score which I would assume it would. He told me he doesn't really care that much about how his int is. He just wants to play one for rp reasons I believe.
Comment: I didn't. I just told him that if I can't find anything that I'd be nice and just let him be one with the racial ability's from what the skeleton was in life and he was fine with it. I believe he's fine with whatever he gets.
Answer: There is no official skeleton race. The closest thing to it is the Revenant race from the Gothic Heroes Unearthed Arcana, which is an undead. However, Unearthed Arcana is playtest material, which may or may not be any better than homebrew.
Comment: The revenant is virtually immortal,  as it resurrects to continue its pursuit of revenge. I feel there are home brewed undead that are more balanced
Comment: @GarretGang The guidance on the Revenant race suggests that it's intended for use with a player who wants to continue playing a character that was killed, and that the focus of their revenge should be something related to the way they died or the quest they were on. This balances the revenant's apparent immortality with the fact that their eventual death is guaranteed at some later point in the campaign (unless the party deliberately never pursues that goal, at which point the DM should call shenanigans on the whole thing).
Comment: @GarretGang, the balance of the revenant is irrelevant to this question and answer.
Answer: There is no skeleton race for the PCs but...
There is a Skeleton race for NPC in the DMG p282, this can be a good starting point

+2 Dex, -4 Int, -4 Cha
Vulnerable to bludgeoning damage
Immune to exhaustion
Immune to poison
Darkvision 60ft
Can't speak but understands the languages it knew in life
Comment: If you compare the entry for dwarves, for example, in the same place to the PH dwarf race, it's pretty clear that these NPC races are not even close to balanced against PC races.
Comment: @PerrinTealeaf Note that you'll want to buff this quite a bit to make it on par with other playable races
Comment: It can be really good but the counterparts are big too.
The vulnerability & unability to speak are pretty big issues. Double damages on an ogre club attack can be deadly. No speak = no spell with verbal component. Even if Wizard, Sorcerer or Warlock aren't really viable classes, I kinda like the idea of a skeleton cleric.
Moreover, being a mute skeleton is a big problem in some situation. Every social encounter i.e.
Also, how does it heal ? Does it benefit of the effect of a long rest if it doesn't sleep ? (I would homebrew "no and but it can enter a trance like the elves if it want")
Comment: This is a really good find compared to the other answers and might be exactly what the querent needs. @PerrinTealeaf you may want to consider re-assigning your checkmark.
Comment: I just did. Thanks so much @NahynOklauq. This will work perfectly.
Comment: Being immune to poison and exhaustion is already kinda buff. I see what you mean though since they get a -4 to two stats and take double damage from bludgeoning weapons.
Comment: Finally a race that makes sense for the Berserker Barbarian.
Answer: There is no official Skeleton-like race for players.
If it's just for appearance and role-play purposes, you could suggest that he picks an existing race and be an undead/skeleton version of that. To keep it RAW you could state that all stats are exactly the same as the original race.
But if he wanted to play a skeleton because of any potential racial bonuses or traits, you will have to homebrew this.
Answer: To my knowledge there is no official "skeleton" race.
I'm afraid it would have to be home-brewed (the closest thing I can think of is the Revenant, which popped up in an Unearthed Arcana a while back),
Answer: I could not find a official skeleton race, but there's a way to officially play an undead.
In Tomb of Annihilation, there's a section with rules for a player to be raised as a zombielike creature.

 A deceased character can be reanimated by Nanny Pu'pu in Mbala in Chult using the Rite of Stolen Life (p. 73).

The section states:

 A character transformed by this ritual into the walking dead regains all its hit points and retains its statistics, except as noted here:

 - The character is considered an undead, not a humanoid, and is subject to all effects that target undead. The character doesn't need to eat, drink, sleep, or breathe.

 - The character's hit point maximum is reduced by 1d4 at dawn each day, representing the physical decay of the body. No spell or effect can halt or counteract this decay.

 - If the character's hit point maximum drops to 0, the gemstone embedded in the character's forehead shatters, and the character becomes a corpse once more.

 A character that is turned into the walking dead and later raised or resurrected loses all memory of being an undead creature, but it doesn't lose any levels or XP gained while it was undead.
Answer: There is no official skeleton race beyond the revenant as other answers have stated.
As a DM I have allowed my players to use an awesome set of undead races that have home-brewed
Comment: I'll go just a touch further than NautArch did in their comment: can you please comment a bit on how well these races worked, what trouble spots you had or fixed, what makes them awesome? This is all part of the [Back It Up!](https://stackoverflow.blog/2010/09/29/good-subjective-bad-subjective/) principle which, in part, makes Stack Exchange such a high-quality resource.
Comment: Do you have any comments or assessment on that homebrew from your table play?
Comment: This homebrew contains the overall undead race and is fleshed out (no pun intended) by the subrace by actually defining what type of undead you are. There are three sub-races: ghost, revenant (different than the UA from Wizards) and Skeleton. I have only ever had a skeleton player (he was a wizard) and it was a fantastic experience. He used various spells and perfume to hide his undead-ness. People state it is slightly too strong with its poison immunity + other strong race abilities. I disagree as it never felt that his race made him stronger than everyone else and if it did the amount of...
Comment: resources and critical thinking/planning that the player (and any player using this race) would have to devote to hide their state of un-life from the paladins and clerics of the world (especially cleric/paladins of the grave domain), in my opinion, offset any "overpoweredness". Instead, it encourages a high risk/high reward (the reward being the race features, including 4-hour sleep like elves) gameplay style. (I hope all that made sense). Finally: in one session the undead player and his siblings (who thought their brother had died years ago) fought a monster, the undead played got hit...
Comment: ..and got knocked to 0 hit points in which the skeletons class feature kicked in and he turned to a pile of bones. With both player and character unaware of this I played it off as the beam of energy melting his flesh from his body. This leads to the party, and in particular the Skeleton's brother all feeling really sad and as they eventually leave the room, the skeleton played deactivates his bone pile, and pokes his brother on the shoulder, leading to confusion, laughter and an extremely memorable campaign moment. I'm new to stack exchange, hopefully my comments have helped elaborate my post