Is there really a difference between crop and FF sensors anymore in regards to pic quality?

Question: It seem to me that everything is a numbers game. Better lens better ISO technologies better more modern camera etc etc. These days a canon 80D ...Is it really that much different picture quality then a 5Dm4?
Say I have a sigma 18 to 35 1.8 lens on a canon 80d.- Is a full frame realllyyy THAT much better picture quality?
Answer: A lot depends upon what type of photos you want to take and how you wish to display them.
Pretty much any camera, including most phones, can take a photo in bright light for relatively low resolution display on the internet. In the hands of the right photographer such an image can even be pretty good no matter what kind of camera is used.
Where the differences are the greatest and the limitations of lesser cameras become more apparent are under specific conditions that tax the light gathering capability of the camera the most, require very wide angle coverage, or challenge the resolving power of sensors and lenses the most.
A camera is a tool. Tools come in different shapes and sizes. Some are better suited for using one way for certain tasks. Other tools are better suited for using other ways to do other tasks.
In general larger sensors allow the possibility of better image quality, but they in no way guarantee it. Sometimes the difference in quality between different cameras taking the same photo will be incremental and hardly even noticeable. Sometimes it will be quite obvious. Often the other things needed to allow using the larger sensor to get that quality means spending a lot more money on things such as lenses in addition to the higher initial cost of the larger sensor.
Where larger sensors have greater advantages:

The magnification needed to view the image, as projected onto the sensor, at a specific size is smaller for a larger sensor compared to a smaller one. This means the flaws projected by the lens aren't as magnified when the image is viewed. To get the same sharpness with a smaller sensor, the lens must also be sharper.
Since exposure is measured as the amount of light per unit area, larger sensors collect more total light for the same exposure value. This trends to make larger sensors less noisy. The age of the sensor's technology can also affect this to a significant degree. But if two sensors from the same manufacturer use the same generation of technology the larger one will almost always be less noisy when shooting the same scene with the same settings and then viewing both at the same size.
Larger sensors tend to have larger photosites which are also known as pixel cells or sensels. Because a larger photosite has more surface area, it can collect more photons before it reaches full well capacity. This gives sensors with larger photosites more dynamic range. DR is the difference between the brightest value a sensor can record and the dimmest value that can be recorded and still be discriminated from noise. This is one reason why larger sensors are less noisy than smaller sensors.
Since lenses of the same focal length will give a wider angle of view when used with a larger sensor, it is easier to make lenses that give wide angles-of-view for larger sensors.

Where smaller sensors have greater advantages:

The magnification needed to view the image, as projected onto the sensor, at a specific size is larger for a smaller sensor compared to a larger one. This means a lens with a specific focal length will give greater "reach" with a smaller sensor than a larger sensor. Things the same distance from the camera will appear larger with a smaller sensor than on a larger one when the same focal length is used with each and the respective images are then viewed at the same display size.

Since aperture is expressed as a ratio of the focal length to the diameter of the entrance pupil, shorter focal length lenses can achieve the same exposure or f-number with a smaller aperture diameter than a longer focal length lens. If a larger sensor needs a 100mm focal length for a certain angle of view and a smaller sensor only needs a 50mm focal length to give the same angle of view, the smaller lens can have an entrance pupil half as wide and give the same f-number as the longer lens.

Since lenses of the same focal length will give a narrower angle of view when used with a smaller sensor, it is easier and less costly to make telephoto lenses for smaller sensors. The same telephoto lenses will give a narrower angle-of-view (more "zoom") when used with smaller sensors.

In the end, the quality of a tool is only as good as the skill of the one who is using the tool. Only when the tool is limiting the skill set of the user will a better tool make a difference.
For more, please see:
What Do I Gain from Moving to a Full-Frame DSLR?
Why does it seem like large sensors are necessary for good low-light performance?
Do full frame sensors have a higher exposure?
Does sensor size impact the diffraction limit of a lens?
Why are larger sensors better at low light?
What is the visual difference between Full Frame, APS-C and Micro Four Thirds pictures?
When do the differences between APS-C and full frame sensors matter, and why?
Full Frame Vs Crop Frame
Is the low-light advantage of larger sensors attributable to the sensor itself or to the larger aperture of the lenses?
Do I need a full-frame camera for low-light photography?
How does the smaller mirror in APS-C cameras offer these advantages?
What significant improvement will I get if I upgrade to Canon EOS 6D from EOS APSC 600D?
How does sensor size impact depth of field and diffraction for macro photography?
6D or 80D for upgrade from 100D?
Big sensor and landscape photography, DoF
Can we always talk about noise difference between crop and full frame?
Fancy technology cropped vs old technology full frame - Which will give better images?
Is small sensor always a bad thing?
Does sensor size affect lens distortion?
Which sensor "full frame" vs. APS-C (1.6 crop) gives more distortion?
This recent answer to this older question: Are full-frame cameras bad for sports photography?
Comment: With the caveat that all tools limit the skill set of the user under the right circumstances, I would agree.  I think the simplest way to answer the question is: "Do you regularly get pictures that are smeared or are too noisy to be usable?  If so, and if using a flash is not an option, then you would benefit from moving to a full-frame sensor."  :-)
Comment: @dgatwood If you feel that is the best way to answer the question, perhaps you should have posted it as an answer instead of as a comment to another answer obviously intended to be far more comprehensive?
Answer: In many ways, your perception is correct.  Increasing image quality IS a numbers game.
I purchased a Sony camera in 2000 that cost several hundred dollars.  I thought the images it made were amazing.  It completely blew away even the very best I had ever done on film.
Eight years or so later I purchased a Nikon D7000 and a 50mm f/1.8d lens and thought THOSE images were amazing.
I've always shot full manual since around 1970 so I am a lot more in control of my camera than folks who just take snapshots.  But then I switched to RAW and started post-processing using Lightroom.  WOW!  What an improvement.
Since then, I've added a Nikon D810 which completely blows away my D7000.  Later, I replaced my "plastic" 50mm lens with an amazing 30 year old Nikkor 50mm f/1.2 manual focus "nifty fifty" lens.  Excellent glass really does make a difference.  So I purchased a 20 year old Nikkor 35mm f/1.4 manual focus lens and stuck it on my D7000.
At this point, I really don't need more megapixels.  And I don't think there is any better glass out there for my needs in the less than many thousands of dollars range.
But in terms of "the numbers game" you mentioned, digital cameras still do not even come close to having the dynamic range that the human eye has.  This is where I see much more development needing to be made.  When they come out with a camera that has roughly the same number of stops of dynamic range as my eyes do, I will be all over it.  In the meantime I see small improvements in this area but camera manufacturers are mostly focusing on features that don't really effect image quality that much anymore.  More megapixels at this point are only important to people who plan on making billboards out of their images.
Faster frames per second, better low light performance, ever higher ISOs and so on are, to me, unimportant bells and whistles at this point.  I did NOT spent megabucks to purchase a Nikon D5 for that very reason.
As far as image quality and where one kit of gear is better than another, I personally feel that I make pretty decent images.  Properly exposed, interestingly framed, in focus images that I hope tell a story.  My gear is quite high end for a non-Professional.
However, Ansel Adams could take pretty much any camera including a point-and-shoot and put any of my photos to shame.  Technology will only get you so far.  A great tool needs to be in the hands of a great Artist (which I am not).
So, yes, it's partly a numbers game, partly a constant striving for better glass and constant skills improvement, learning how to use a camera in a way that will get the most and best out of it.  That's why we practice photography and, at least in my case, will never master photography.
Comment: Camera sensors already have higher dynamic range than the cones in your retina do. It's the dynamic range of the eye-brain system that constructs an image of the world around us in our *mind* that has the DR you are attributing to your much more limited eyes.


Recurring Records with Specified Recurrence + Termination Date in ActiveRecord / PostgreSQL

Question: Problem
Hello. I have a model with a field of the format 'datetime' with the name :date. I also have a field in this model of the format 'string' with the name :recurrence. I'd like to be able to set these models to recur say "every week" "every 3 weeks" "every month", etc and also specify a termination date repeat "every week" ending in "4 months". All fields (except for :date) will remain the same on recurring records.
Question
Is there a Gem to assist with this type of development or example available? I can't find anything of this sort on the internet or in the IRC chat rooms.
Any assistance on this matter would be greatly appreciated.
Answer: check the gem ice_cube or recurrence, they provides exactly what you mentioned.


What other sports have an offside rule other than football?

Question: The offside rules has a major impact on the way football is played by making it more difficult to play a simple offside trap or in the past by stopping "goal hanging". I was wondering what other sports have an offside rule as well and does anyone know how the offside rule in that sport affects the way it is played?
Comment: Offside is a rule by several different team sports such as Footbal, bandy, rugby, field hockey as well as ice hockey
Answer: There is an offside rule in (ice) hockey, which essentially means a player cannot just hang out the attacking 1/3 of the rink and wait for the puck to be passed to him.
There is also an offside rule in rugby which seems to differ a bit with respect to the two major disciplines of the sport (union and league). The difference between offside in football and offside in rugby appears to lie in the reference point to which the position of the player is compared, in rugby that is the ball whereas in football it is the second last defender (including the goalkeeper).
While it's not called "offside", there is a similar rule in basketball, called 3-second-violation. Here you can read a nice summary of the offensive and defensive 3-second violation calls. Note that this rule exists under FIBA regulations (art. 26) as well as NBA regulations (Rule 10, sections 7 & 8).
Comment: @Coach-D the idea behind the offside rule is to prevent an attacker from gaining "unfair" advantage by being close to the goal/basket for easy points. In that sense the rules are similar
Comment: The three second violation is in not in any way like an offside penalty.   You could stretch and say illegal defense is kind of like it but still no.  Also in rugby - as for the rules I have played by in the US you are only offsides if you interfere with a play/ball.
Comment: a defensive 3-second violation only exists in the NBA (and doesn't exists in the FIBA regulations) This rule exists so that it is impossible to play a zone defence (which would result in games where the final score would be much lower and would be less appealing to watch). The link to the FIBA regulations is dead btw.
Answer: Gridiron Football (American and Canadian) has an offside foul too.  If a player is on the wrong side of the line of the scrimmage when the ball is snapped then they are offside.  It is even a strategy of the offensive team to entice a player to make such a move before the snap.
You could also argue that at the kickoff, the rule that says that the kicking team have to be behind the line the ball is on is also an offside rule.  A deliberate attempt of the kicking team to gain possession at the kickoff by kicking short and along the ground is even still called an 'onside kick', a play that is reminiscent of a contested kickoff or 22-meter dropout in Rugby.
Answer: Lacrosse has rules for offsides as well. The rules forces at least three players of the team to be on the attack half of the field (usually the attackers) and at least four players to be on its defensive half of the field (usually the defence and goalie).
The three players in the midfield are, however, free to move however they want.
Source: Rule 65 "Offside" of the "FEDERATION OF INTERNATIONAL LACROSSE 2013-2014 Rules of Men's Field Lacrosse"
Answer: Field hockey used to have an offside rule as well. It was very similar to the offside rule in football. However, field hockey removed the offside rule in the mid-1990s. The rule changed over time and Wikipedia is a good starting point for a historical overview and further reading on this topic.


System of ordinary differential equations - time complexity of initial value problem

Question: I am interested in knowing what the time complexity is (in Big-$\mathcal O$ notation) for solving system of $N$ differential equations?
I am using ode15s in MATLAB for this but have no clue about time complexity.
Comment: You may also want to look at the related questions and answers: https://scicomp.stackexchange.com/q/28617/, https://scicomp.stackexchange.com/q/14780/, https://scicomp.stackexchange.com/q/8557/
Comment: Unlike complexity in discrete math, here There is of course a tradeoff between complexity and accuracy. Can you make your question more precise?
Answer: I'm going to assume that you're specifically talking about Initial Value Problems (IVPs) for Ordinary Differential Equations (ODEs), since that's what ode15s() is used for.
First, a disclaimer: Good ODE solvers have stepsize control procedures that automatically take smaller or larger steps to achieve a desired accuracy, which means that the actual amount of time taken to solve an IVP can vary a lot depending on the details of the problem. Also, the big-O notation hides constants which are often important when comparing performance of different methods.
That said, we can easily comment on the time complexity of each step taken by a solver. Supposing we have an IVP
$$
\dot{x} = f(x,t), \qquad x(0) = x_0
$$
with $ x \in \mathbb{R}^N $, then for explicit solvers like Matlab's ode45(), the complexity per step is the same as the complexity of evaluating $f(x,t)$. This is because explicit solvers evaluate $f(x,t)$ a fixed number of times per step. Typically this means a complexity of $O(N^2)$, since each component of $f(x,t)$ can depend on all components of $x$, but is less in some cases. For example, if $f(x,t)$ is 'sparse' in the sense that each component only depends on at most $m$ components of $x$, then the time complexity per step drops to $O(mN)$.
On the other hand, if you use an implicit solver like ode15s() then a linear system of equations is solved at each step. This involves an $N \times N$ matrix, and the complexity of solving them is $O(N^3)$. This is asymptotically greater than the time required to evaluate $f(x,t)$, so is also the time complexity of the step. Once again though, sparsity can sometimes reduce this for a specific set of ODEs. If each component of $f(x,t)$ only depends on at most $m$ components of $x$, we can often construct the linear system such that it involves a banded matrix of bandwidth $m$, and the time complexity per step reduces to $O(m^2N)$.
Now here's where it gets complicated. If we were to fix a stepsize $\delta t$ and take $M$ steps of that fixed size to solve a particular IVP, then we could get the time complexity of the whole algorithm by multiplying the above step complexities by $M$, for example $O(MN^3)$ in the implicit case. But usually solvers take steps $\delta t$  of different sizes to achieve a desired accuracy. This makes it impossible to say anything about the overall time complexity without also considering details of the specific IVP. Despite the fact that implicit methods like ode15s() have a worse time complexity per step than explicit methods like ode45(), for some problems (called stiff problems) we find that implicit methods outperform explicit methods as they can take larger steps while maintaining accuracy. Attempts to analyse this usually consider the 'stability' of the numerical method used on a particular ODE for a particular stepsize, as well as the 'order of accuracy' of the method, and there's a very large literature on the subject.
In practice, the usual procedure is to try an explicit solver like ode45() (which is the Dormand-Prince method) and then if the problem is taking a long time to solve, try an implicit method like ode15s(). There's a huge number of different methods and software for solving IVPs, so usually the only way to find out the best method for a particular problem is to benchmark.


Modelling Point Clouds for Collision Detection in Gazebo

Question: I am currently applying path planning to my robotic arm (in Gazebo) and have chosen to use an RRT. In order to detect points of collision, I was thinking of getting a Point Cloud from a Kinect subscriber and feeding it to something like an Octomap to have a collision map I could import into Gazebo. However, there is no Gazebo plugin to import Octomap files and I do not have enough experience to write my own. The next idea would be to instead feed this point cloud to a mesh generator (like Meshlab) and turn that into a URDF, but before starting I'd rather get the input of somebody far more experienced. Is this the right way to go? Keep in mind the environment is static, and the only things moving are the arms. Thank you. Below is just a picture of an octomap.
Comment: I think converting to URDF (STL meshes from MeshLab should work) is the best option, but I have limited experience with Gazebo.
Comment: Thanks, as always! Just wanted to do a check with more experienced people to see if there was an established framework for what I'm trying to do. I'll post my results within the next few days in case anybody's interested.
Comment: Yes please, I don't know if there are any examples of this out there but interesting to see how well it works.
Comment: Posted the generated STL.
Answer: For the most part I was able to get this done. The only difference I chose was to use the Point Cloud library's triangular mesh generator instead of Meshlab's mesh generator mainly because Meshlab's generator is interactive. Below is the image of the Kinect (on top of the Baxter) taking a picture of the shelf, and a picture of the STL put together from the PointCloud the Kinect took.

The code I used is as below:
<code>#include <ros/ros.h>
#include <sensor_msgs/PointCloud2.h>
#include <pcl_conversions/pcl_conversions.h>
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
#include <pcl/io/pcd_io.h>
#include <pcl/kdtree/kdtree_flann.h>
#include <pcl/features/normal_3d.h>
#include <pcl/surface/gp3.h>
#include <pcl/io/vtk_io.h>
#include <pcl/io/vtk_lib_io.h>
#include <pcl/io/io.h>
int n = 0;
void
cloud_cb ()
{
 // Load input file into a PointCloud<T> with an appropriate type
  pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);
  pcl::PCLPointCloud2 cloud_blob;
  pcl::io::loadPCDFile ("mesh.pcd", cloud_blob);
  pcl::fromPCLPointCloud2 (cloud_blob, *cloud);
  //* the data should be available in cloud

  // Normal estimation*
  pcl::NormalEstimation<pcl::PointXYZ, pcl::Normal> n;
  pcl::PointCloud<pcl::Normal>::Ptr normals (new pcl::PointCloud<pcl::Normal>);
  pcl::search::KdTree<pcl::PointXYZ>::Ptr tree (new pcl::search::KdTree<pcl::PointXYZ>);
  tree->setInputCloud (cloud);
  n.setInputCloud (cloud);
  n.setSearchMethod (tree);
  n.setKSearch (20);
  n.compute (*normals);
  //* normals should not contain the point normals + surface curvatures

  // Concatenate the XYZ and normal fields*
  pcl::PointCloud<pcl::PointNormal>::Ptr cloud_with_normals (new pcl::PointCloud<pcl::PointNormal>);
  pcl::concatenateFields (*cloud, *normals, *cloud_with_normals);
  //* cloud_with_normals = cloud + normals

  // Create search tree*
  pcl::search::KdTree<pcl::PointNormal>::Ptr tree2 (new pcl::search::KdTree<pcl::PointNormal>);
  tree2->setInputCloud (cloud_with_normals);

  // Initialize objects
  pcl::GreedyProjectionTriangulation<pcl::PointNormal> gp3;
  pcl::PolygonMesh triangles;

  // Set the maximum distance between connected points (maximum edge length)
  gp3.setSearchRadius (0.025);

  // Set typical values for the parameters
  gp3.setMu (2.5);
  gp3.setMaximumNearestNeighbors (100);
  gp3.setMaximumSurfaceAngle(M_PI/4); // 45 degrees
  gp3.setMinimumAngle(M_PI/18); // 10 degrees
  gp3.setMaximumAngle(2*M_PI/3); // 120 degrees
  gp3.setNormalConsistency(false);

  // Get result
  gp3.setInputCloud (cloud_with_normals);
  gp3.setSearchMethod (tree2);
  gp3.reconstruct (triangles);

  // Additional vertex information
  std::vector<int> parts = gp3.getPartIDs();
  std::vector<int> states = gp3.getPointStates();
pcl::io::savePolygonFileSTL("mesh.stl", triangles);
}

void saveFile(const sensor_msgs::PointCloud2::ConstPtr& input)
{
if(n <= 1)
{
 pcl::PCLPointCloud2::Ptr pcl_input_cloud(new pcl::PCLPointCloud2);
     pcl_conversions::toPCL(*input, *pcl_input_cloud);
    pcl::io::savePCDFile("mesh.pcd", *pcl_input_cloud);
n++;
    cloud_cb();
    }

    return;
}

int
main (int argc, char** argv)
{
  // Initialize ROS
  ros::init (argc, argv, "my_pcl_tutorial");
  ros::NodeHandle nh;
    ros::Rate loop_late(1);
  // Create a ROS subscriber for the input point cloud
  ros::Subscriber sub = nh.subscribe("/cameras/kinect/depth/points", 1, saveFile);

    while(n<=1)
    {
    ros::spinOnce();
    loop_late.sleep();
    }
return 0;
}
</code>
Most of the code is copied exactly from http://pointclouds.org/documentation/tutorials/greedy_projection.php . I'll have to find a way to get a better 3D reconstruction of the shelf considering there are gaps in the levels.
Comment: Awesome, thanks for sharing! Since the Kinect has a dense gridded point cloud, you can definitely fill in those gaps with ease. Not sure how to do it with PCL (probably a way), but it isn't hard to create ASCII STL files automatically from a pointcloud with your own code -- I have done it in MATLAB and can share that if you want.
Comment: Whoops, uploaded the wrong code earlier. This one is what worked. And thank you, that would be really helpful!
Comment: Will do, I do notice that you define the maximum distance between points: `gp3.setSearchRadius (0.025);` -- try making that some big number like 10.


Will I be losing my BTG by sending BTC to bitfinex

Question: I have my BTC in my trezor wallet (had it for a while before the BTG fork), now I would like to send some BTC to Bitfinex, but I am worried that if I do so, it will also send my BTG to the same address on Bitfinex and so losing my BTG. Can anyone tell me if my assumption is correct ? Thanks
Answer: until the BTG fork is complete, sending bitcoin to a 3rd party might risk your access to BTG.
that said, sending anything to bitfinex might be a risk in itself, given that there is accusations public that bitfinex has no bank accounts and may be involved in multiple accounts of fraud.
always do your due diligence.
never trust random strangers (me included).
Answer: As of right now (October 25), the Bitcoin Gold fork is not yet finished, despite being already forked, and nobody is still sure how it will work.
So it might indeed get replayed on the Bitcoin Gold chain, but it also might not. If you want to be sure, you cannot send Bitcoin to other people's addresses until Bitcoin Gold is live.
In my opinion, Bitcoin Gold is not worth it, but that's up to you.


Why are the boards not square?

Question: I noticed gobans are not square, but rectangular. Why is that, and what is the correct orientation of the board when playing?
Comment: By the way, what happens if you put a really square goban in front of a go player?  He will turn it by 90 degrees, then turn it again, then stare intently on it, then laugh, and finally put it in the direction of the wood grain (if any).
Comment: @svante : haha ! Excellent :)
Answer: The design of Go components is all about symmetry.  Because perspective shortens the vertical height of the board, the boards are made taller than they are wide.  This way they appear to be square when you're playing.  Another similar issue occurs with the stones.  Black stones appear to be smaller than white stones, so the black stones are actually made slightly larger than the white stones to counter this effect.
Related and awesome: How many squares are there on a Go Board?
Comment: A fun fact: go applications usually use rectangular boards as well (preserving the letter but not the intent of tradition). This has the peculiar effect of making internet-bred players stand up during live games to make the board look more like their native environment.
Comment: That's funny, vertigo.  I've had opponents do that in person but never realized the reason.  I can assure you, GoGrinder's boards are square, so they will help to break this habit :P
Comment: @vertigo Which go programs have non square boards? KGS for example is square. As an online player, my problems with real boards were mainly imperfect stones placement and the perspective, not seeing stones from the top.
Comment: @CodesInChaos my SGF viewer app (Qipan, for iOS) has non-square board. It simply looks wrong if it is square ;-)
Answer: This is apparently to combat an optical illusion that "flattens" a board in front of you (as perspective narrows it towards the "horizon"). Therefore, the correct orientation is with the shorter edges in front of the players.
Answer: My japanese goban is exactly like that (45x42 cm²) and the effect it's actually noticeable after you have been playing for a while.
However, I also own a korean folding goban which is a bit smaller (understandably as it is supposed to be easier to carry around, with accordingly slightly smaller nice glass stones) which is exactly 38.5x38.5 cm², and although I cannot now find the reference (looked over the Internet and my books) I actually recall reading that Korean boards are usually squared instead of rectangular; maybe someone can find a source for this.
Anecdotically, our go club Sensei (a Japanese ex-insei) once really called us out in the middle of a game cause we had inadvertently put the goban the wrong way. It was amusing and embarrasing. So much, that in the end we called it a jigo, turned the board 90º and started a new game!
He actually nodded with his head and smiled the next time he came by to have a look.
Comment: You know, you can turn the board 90º _without_ starting a new game :) It won't affect play at all.
Comment: @AdrianPetrescu Haha, I would have missed that too :)
Comment: :-) Of course we knew, but once you get used to see the shapes in one direction, rotating felt so weird we decided it was easier to start a new game... It was Friday night, after all, we were cheery :-)
Answer: Indeed it has to do something with perspective, but a full compensation for perpective would require a much more stretched board.
I believe the squares are stretched just enough so that vertically adjacent stones appear to be touching and not overlapping (consistent with horizontally adjacent stones). In that way, thicker stones require a deeper board than thinner stones.
Comment: Interesting. Is that really the case? I figured it appears more or less completely square by just the slight width adjustment already.
Comment: Mafutrct: here's a picture of a goban from a typical view angle. It is much less high than it is wide. http://4.bp.blogspot.com/_-qF6CbJo2vY/SGtlBGDCJGI/AAAAAAAAChs/XOEFcRAq7Jc/s1600-h/go+game.jpeg
Comment: Note that this is a CG image. I don't trust CG images for this sort of thing at all, and in fact think the image may be wrong here

Why are the boards not square?


Is receiving commission on purchase haram?

Question: I am working as a purchaser in a company. When I make purchases, I always bargain with suppliers to get lowest rate and give orders to suppliers who offer low rate. After the purchase, when company give cheque, he offers a commission to me based on quantity purchased.  The supplier's price is fixed and they will not reduce the price even I am not accepting the commission.  Is it haram or halal?
Comment: Isn's this just a reward for you work?
Answer: The way kickbacks work is this way:

Company gives you a price
Company pays you after you complete the sale

Now, imagine there is another company that will give you the items 5% less cost, but they won't give kickbacks. Most employees will stick with the expensive company so they get their additional kickbacks.
This is highly illegal in the US and many countries and can lead you to serious trouble. In many companies, including my own, it is not allowed and if you get let's say a box of chocolate or a gift it is to be shared with everyone in the company.
Now, since this is illegal, it makes it automatically haram unless of course you have an agreement with the company owner you are working for.
Answer: That commission is illegal,  or haraam if i may use Islamic term. If you had stayed in your house or the house of your mother, not working for the company,  would the supplier look for you and give you the commission. The answer is NO.If they insist you take commission, then take it to the company/employer to decide what to be done with it.This type of practice has destroyed many countries in Africa and Asia-unfortunately this type of corruption is very rampant in many Muslim being one of the key the driver of inequality, retardation, injustice, instability and conflicts.   Response from another reader indicated it is strictly prohibited in the US- may be that is way US is strong country.
Comment: Welcome to Islam SE the Q&A site about Islam. We are not a typical an internet forum. Therefore we expect answers to be well elaborated, see "[how to answer](https://islam.stackexchange.com/help/how-to-answer)" for more information. I strongly recommend you to take our 2 min. [tour](https://islam.stackexchange.com/tour) and visit our [help center](https://islam.stackexchange.com/help) to learn more about this site and the stack exchange model.


Installing a tar.bz2

Question: I am trying to install laidout-0.0o91.tar.bz2. its a publishing program for Linux. can you please give me the right terminal instructions to install this on my system.
Answer: Go to the folder you downloaded the laidout-0.0o91.tar.bz2 from the terminal and type,
tar -jxvf laidout-0.0o91.tar.bz2
then type, cd laidout-0.0o91
afterwards, less README
you will see the installation instructions in your terminal window.
(by the way, if your processor is 64bit, there's a .deb installer to download. Just download that and then double click it to install.)
Comment: i think i downloaded it to an archive file.
Comment: well, if you downloaded the laidout-0.0o91.tar.bz2 Downloads folder, you have to type " cd ~/Downloads/ " in terminal and then continue typing the commands listed in the answer. Can you tell me which folder is laidout-0.0o91.tar.bz2 currently at?
Answer: If you have the 64bit version of ubuntu installed, there is a one-click-installer (.deb) for that version located at this link. All you need to do for that is download and double click the "laidout_0.091_amd64.deb" file.
(If you're not sure if you have 64 bit Linux installed, open a terminal and type "arch". If you see "x86_64" you have 64 bit and can use the .deb package listed above.)
If you have 32bit Ubuntu, you have two options. The simple solution is to download the 32bit package, but it is only for version 0.09. If there is not a specific reason why you need 0.091, then download the one-click-installer package from here and run it just like I mentioned earlier (click the .deb file in your Downloads folder, and click "install" when prompted)
If there is a specific reason why you absolutely need that version AND you are using 32 bit ubuntu, than here is the second option, which involves building the package from source. The general directions are as follows, but may not work depending on the package.
Prepare  your system to build from source
sudo apt-get install build-essential checkinstall

Install from the .tar.bz2 you downloaded
cd ~/Downloads
tar -jxvf laidout-0.0o91.tar.bz2
cd laidout-0.0o91
./configure
make
sudo checkinstall

If it complains at any step about missing packages, install them with
sudo apt-get install <name-of-missing-package>

Again, only follow these steps if you have 32 bit Ubuntu and you cannot use version 0.09 instead of 0.091.
Best of Luck!

Installing a tar.bz2


How can I know if newly released phone will be developer friendly?

Question: What are the facts to look for if someone want to buy a developer friendly phone (other than nexus phones) which means this phone is gonna have a lot of custom roms, mods and can stay up to date with the latest version of android for as long as possible with the help of custom roms.
Comment: Related: [How to check if a device can be made root-able](http://android.stackexchange.com/q/129691)
Comment: Not sure how to answer this kind of question, since we can't expect vendor to explicitly says their devices are developer-friendly. Next, it's related to the popularity on the modder community (e.g. XDA). In the end, there will be someone who is brave enough to buy and experiment with the device, and let the rest of the world know.
Answer: A good starting point would be reading up on how cooperative the manufacturer of the SoC in the device has been with the (open source) Android community in the past. For example some GPU vendors have a bad reputation when it comes to providing information and the sources of the drivers for their products. If the developers/porters of ROMs have to go through hell to get stuff working, chances are it won't be very popular with the modding/custom ROM community, unless there are other very good reasons to persist (for example if the device is very high-profile, think Galaxy S or Nexus series).
Comment: Agree. My HTC One X stucks at Jellybean and didn't get more version update from vendor because of Nvidia Tegra 3. Because of that, no more Sense ROM ports.
Answer: Google Nexus phones are developer phones.
AOSP is the basis for ALL Android custom ROMs.
Here is the complete list of Supported Devices.
AOSP is ONLY released for Nexus devices.
Android Factory images are ONLY released for Nexus devices.
Nexus devices will ALWAYS have more custom ROMs than non-Nexus devices.
What does "developer-friendly" mean?
100% of the software needed to develop for the device has to be GNU/Linux compatible.So that serious Android developers can use it on their development machines(GNU/Linux).
There is a popular misconception that you can be an Android developer without using GNU/Linux. The truth is, you can run a barely-functional neutered version of Android Studio on Windows/OSX. You can start out with Win/OSX, and at some point you will realize that you need to figure out GNU/Linux if you want to be an Android developer.
People learn at different speeds, and some people figure this out quick, while others may tinker around on a Mac for a decade, all the while saying things like "Actually, Mac works great with Android", or laughing nervously and saying "It does everything I need."
Sony and Samsung phones (ALL of the phones made by either brand, with the notable exception of the excellent Nexus models made by Samsung) both FAIL TERRIBLY as developer phones because of their dependence on software that is NOT compatible with GNU/Linux. So basically a ton of the software that is required to interact with their "developer phones" is INCOMPATIBLE with precisely   the type of computer a serious Android developer requires.


Activation/download of Quick Start?

Question: Where/how can I download  ubuntu Quick Start 'cause when I open I open my PC using it, on the screen there's a message telling me to install it...Also,is the Quick Start worth using it?
Comment: What do you mean by "Quick Start"?
Answer: If you have downloaded the  Windows installer , you should then open it to install Ubuntu. You will find detailed instruction on how to install here and "Yes" if you just want to give a try for Ubuntu without leaving Windows on your PC then Wubi is best choice.

Activation/download of Quick Start?


What is the difference between image processing and computer vision?

Question: What is the difference between image processing and computer vision? They are apparently both used in artificial intelligence.
Answer: The Wikipedia article related to computer vision gives, in my opinion, a good description of the field and its relation to image processing. Below, I will only cite the most relevant parts of the article.

Computer vision is an interdisciplinary scientific field that deals with how computers can be made to gain high-level understanding from digital images or videos. From the perspective of engineering, it seeks to automate tasks that the human visual system can do.
The image data can take many forms, such as video sequences, views from multiple cameras, or multi-dimensional data from a medical scanner.
Sub-domains of computer vision include scene reconstruction, event detection, video tracking, object recognition, 3D pose estimation, learning, indexing, motion estimation, and image restoration.
The fields most closely related to computer vision are image processing, image analysis and machine vision. There is a significant overlap in the range of techniques and applications that these cover. This implies that the basic techniques that are used and developed in these fields are similar, something which can be interpreted as there is only one field with different names. On the other hand, it appears to be necessary for research groups, scientific journals, conferences and companies to present or market themselves as belonging specifically to one of these fields and, hence, various characterizations which distinguish each of the fields from the others have been presented.
Image processing and image analysis tend to focus on 2D images, how to transform one image to another, e.g., by pixel-wise operations such as contrast enhancement, local operations such as edge extraction or noise removal, or geometrical transformations such as rotating the image. This characterization implies that image processing/analysis neither require assumptions nor produce interpretations about the image content.

What is the difference between computer vision and image processing?
Computer vision is about gaining high-level understanding from images or videos. For example, object recognition, which is the task of identifying the type of objects (e.g. apples or humans) in an image, is a computer vision problem. Of course, this task requires a high-level understanding of the image, that is, an understanding of the image similar to the way humans understand visual inputs, given that an apple is a high-level object that is composed of atoms, can be green, etc. For example, a neural network that attempts to classify the type of object in an image (assuming, for simplicity, there is just one type of object) would be a computer vision technique. In computer vision, you receive an image as input and you can produce an image as output or some other type of information (e.g. the type of objects in the image).
On the other hand, image processing does not necessarily imply a high-level understanding of the image. Image processing is a subfield of signal processing but applied to images, which are $2$d signals (or functions of a fixed domain). So, for example, if you have a blurred or noisy image, the task of deblurring or denoising it is part of image processing. The typical tasks in image processing are filtering (e.g. using the Gaussian filter or the mean filter), noise removal, edge detection and color processing. In image processing, you receive an image as input and you produce another image as output.
However, note that, in many cases, to gain a high-level understanding of the images, you first need to e.g. denoise them, so you could use an image processing technique to partially solve a computer vision task. In this sense, computer vision is an interdisciplinary field.
To conclude, computer vision is not a subfield of image processing, given that image processing does not necessarily involve a high-level understanding of images. On the other hand, computer vision can use image processing techniques to gain a high-level understanding of images.


Getting progress updates (via AJAX) on a controller action without blocking

Question: I have a controller with an action that accepts requests over AJAX, does some data manipulation, and returns some data:
function publicDirectoryAjaxSearch(){
    // Check the form token
    JSession::checkToken('get') or die('Invalid Token');

    // Don't show PHP errors in raw output
    ini_set('display_errors', 'Off');

    // Sort out the session status
    $session = JFactory::getSession();
    $session->set('getOrganisationsStatus', 'Searching...');

    // Get orgs
    $response = $this->doPublicDirectorySearch();

    // Get the document object.
    $document = JFactory::getDocument();

    // Set the MIME type for JSON output.
    $document->setMimeEncoding('application/json');

    // Change the suggested filename.
    JResponse::setHeader('Content-Disposition','attachment;filename="result.json"');

    echo json_encode($response);
}

This method can take a while, so I'm using JSession to store a status variable getOrganisationStatus that can be periodically checked via AJAX to see how far the $this->doPublicDirectorySearch() method has gotten...
function doPublicDirectorySearch(){
    ...
    while($running)
         $session->set('getOrganisationsStatus', 'Fetched '.$handled."/".$totalResults." results.");
    ...
}

However, I'm having some issues. If I set the Joomla global config session handler to Database the getOrganisationsStatus session variable always seems to 'lag' 1 data request behind. For example (in prep for this example I cleared all existing sessions):

Make a data request via AJAX to publicDirectoryAjaxSearch
Set an interval to get the request status session variable over AJAX to publicDirectorySearchStatus
Data request still running. Session value changing as $this->doPublicDirectorySearch() works through data
Status call made from setInterval to publicDirectorySearchStatus. Returned session variable is empty (this step repeats over the interval)
publicDirectoryAjaxSearch data request completes. Method returns JSON object
Final status call made over AJAX from setInterval to publicDirectorySearchStatus. Returned data (the session variable) now shows the correct text as set in the data request method.

If I set the Joomla global config to use None as the session handler (i.e. PHP's built in file-based handler) then the script blocks (as PHP locks the session file when a script accesses it, so the AJAX call to find out the status has to wait til the method updating the session variable finishes - defeating the point somewhat).
Where am I going wrong? How can I..

Make a call to get data (takes some time)
Make a separate call to get a session variable that's being manipulated over time by the first call
Answer: All your page requests share the same user session. Thus, if you call several pages, in an asynchronic way, under the same session, you can be finding a race condition. http://en.wikipedia.org/wiki/Race_condition
As PHP is not multithreading, there's no locking mechanisms to avoid these cases.
The best solution is to avoid the condition: reorganize the main loop and move the control to the Ajax side. In this way, the browser calls an initialization, the inner loop as many times as necessary, and the finalization.

You have the control so you can show the progress status
If you have thousands of items to process you can define discrete batchs of items to process (instead of one by one)
Comment: Thanks for taking the time to answer, however I'm not sure how this applies to my scenario. I have 2 separate AJAX calls to different methods in a given class, both of which are responding (and not blocking). The issue is JSession values seem to be locked until the first call finishes. Or am I missing something?
Comment: I think the case you are describing is caused by a race condition. At the end, Javascript is running several threads trying to get answers from PHP running a single user session (in a single thread).
Comment: Using PHP's APC caching mechanism I can make this work, just not with JSession. This makes me think it's not a race condition as it wouldn't work full stop otherwise...
Comment: PHP's APC works in memory, instead of any disk caching. Therefore, some way of serialization may be ocurring internally.


Ubuntu one music does not allow Ubuntu One Cloud mode. Cannot stream

Question: The Ubuntu Files app works fine on my new device (Philips Go Connect (Android)) but when I try the Ubuntu One Cloud mode on the Ubuntu Music app it does not manage to sign in but says "Oops something went wrong". This works fine on other devices on which I installed it a few months ago.
Answer: I was not able to reproduce your issue. Could you please verify you're running the latest versions of Ubuntu One Files (184.108.40.206) and Ubuntu One Music (1.6.1)? You can verify version number on your device > Menu > Settings > Applications > Manage applications.
Comment: Also, Clearing application data of Ubuntu One Music may help.


Is there a way to develop "Perfect Pitch"?

Question: I was wondering if there is/are any aural exercise('s), analogous to how playing scales can develop your muscle memory, that can help to develop "Perfect Pitch"?
Comment: @VarLogRant: "perfect pitch" or "absolute pitch" is an expression for the ability to pinpoint a note to be exactly the one it is, related to an A being 440 herz. People with natural absolute pitch actually find this problematic when they hear music that are not tuned perfectly to this reference. See [this question](http://music.stackexchange.com/questions/4666/free-resource-for-pitch-correction-on-a-whole-track).
Comment: A problem with this question is that I don't really know what is being asked for, and the answer depends on the question.

Guitars have frets, and thus the pitches are set by the intonation, which brings in bridge placement, string gauges, fretting pressure, etc. You have one low G, and that low G is likely sharp, and will be unless you take measures which could make the 6th string E flat.

This is different from knowing and playing a G on a fully microtonal instrument like a lap steel, slide, or fretless, where intonation's all in your head.

Either question is good to answer.
Answer: I think a more realistic goal is to aim for relative pitch; then when you have that, perhaps try for perfect pitch.
Relative pitch is essentially being able to recognise and identify intervals, relative to the root note.   Gaining relative pitch is fairly easy, a good way to do it is to pick a simple Major scale ditty, play it, and identify the intervals in it.   A good song for this is the Wedding march, R 4 4 4 R 5 4 5  etc.
Then each time you need to figure relative pitch, refer back to the one or more ditties you have stored up.  Gradually over time this will become automatic, when it has become automatic, perfect pitch is the next stop.
Perfect pitch is the holy grail for a musician; and is not easily obtainable without a lot of training.  It is doable though and I think some of the best training you can do for it is to learn how chords sound and the intervals within those chords; and each time you play/listen to something, think about how it sounds and what is actually going on.
Comment: "Perfect pitch is the holy grail for a musician". I'm not sure I'd call it a holy grail. I know musicians with it, and they feel cursed; When an instrument or band is out of pitch they feel it. I have very good relative pitch which I think is the ideal.
Comment: Some of those with PP like to draw attention to themselves by calling a curse as you mention. Unless you're hypersensitive to it (and the equal-tempered A440 scale in particular), it's just a useful technique that can serve to give you an extra dimension of information about any sound you hear. That's a pretty unlikely situation, however, as any good orchestra is going to be minutely tuning each note they play away from the equal-tempered scale, some orchestras are tuned slightly sharp in general, and I'm sure the piano they learned on wasn't perfect either.
Comment: What Tin Man said...  I have a friend that can tell you the pitch of EVERYTHING.  A hammer striking a nail, a door slamming, a flat tire flapping on a moving car.  He calls it his curse.  We have tested him and he has never failed.  He's the one that told me a telephone dial tone is an F...
Comment: I have perfect pitch and find it pretty useful. I often find it painful to listen to performances or singing because it really bothers me when things are not in tune, but I certainly wouldn't call it a curse.
Comment: Not only is perfect (absolute) pitch not really a holy grail, it's not attainable through practice. Tonal recall and relative pitch are trainable, but true absolute pitch is inborn and automatic. It tends to be about as rare as true tone deafness (amusia). I know musicians with true absolute pitch, and, honestly, it's more of a novelty or an interesting quirk more often than it is genuinely useful. Good musicians with absolute pitch will find use for it, but it doesn't make someone more or less musical than someone without it. Many people with absolute pitch aren't even musicians.
Comment: I think you mean R 5 3 4, not R 5 4 5...
Answer: Pitching in here as someone that does have perfect pitch - however, I'm one of these people who has just always had it rather than sat down and learning it. It's as clear to me that the note being played is say an Ab than the folder currently to my right is green, and always has been. I don't profess to know this from some superhuman effort in training, it's just a trait I have. Nevertheless, a few thoughts.
Firstly, having perfect pitch / absolute pitch isn't something that's required to make you a good musician. Far from it, there are many excellent musicians around with far from a perfect sense of pitch. They all have a good sense of relative pitch in general, which is much more important - but not necessarily perfect.
However, there are things that it can really help with. Dictation is the classic example, especially if you're trying to dictate atonal and experimental pieces by ear, at a pace. Being able to just hear the note and write it down rather than work it out is incredibly useful in this respect. But with that said, there's also situations where it's incredibly detrimental to have perfect pitch. Tuning down to an A at 415Hz to play "authentic" Baroque music is quite frankly awful, on the violin I end up playing everything out unless I'm careful as I naturally try and overreach about a semitone to get out what my ear expects to hear. In similar situations, tuning down to the pitch of a particular organ that didn't sit at 440Hz brings similar nightmares.
So regardless of its usefulness, can it be developed? Or is it just something that you have or don't have? Research in this area is shady and there isn't one definitive way to "learn" it that's agreed on and shouted about by the masses. I don't know anyone who has learnt perfect pitch in this sense either, however I do know someone who, through shear determination of listening to the same note over and over again, was able to identify and produce this note at a whim. Whether this is a "true" definition is up for debate, but in this sense he had perfect pitch - he could produce this note from no relative standpoint, and could then relatively identify other notes from that one. It clearly wasn't as quick or necessarily reliable a process as someone who had the ability naturally, but was above the traditional definition of relative pitch.
So my advice would be that the answer is a definite "maybe" if you're willing to spend long hours listening and practising to get the sort of ability defined above - but I'd carefully consider whether the time you'd need to spend is worth it, when (let's face it) you could be doing something much more interesting!
Answer: I use David Lucas Burge's method for learning perfect pitch. I know many people who think that perfect pitch is something that cannot be learned, but within a few months of working with this method I have made tremendous progress: I can often recognize certain tones (for example F# and B), without using any kind of reference (i.e., without playing any note on an instrument). I can also sing an A whenever I want (apparently this skill is called Tonal Memory or Aural Recall).
The exercises proposed mostly consist in listening and singing the tones.
Comment: Tonal memory and absolute pitch are very different things. True absolute pitch is automatic: the person hears the different pitches as clearly and as automatically as a normally-sighted person sees different colors. There is zero evidence that absolute pitch can be learned, though tonal memory can be developed through practice.
Comment: "There is zero evidence that absolute pitch can be learned..." That's a rather bold and obviously questionable thing to proclaim. Citation?
Answer: No.
True perfect or absolute pitch is an inborn and automatic trait that cannot be trained or learned. People with true absolute pitch hear different musical tones as clearly and effortlessly as normally-sighted people see different colors. It tends to be approximately as rare as true tone deafness (that is, it's a lot less common than many people think), and usually tends to be more of a novelty or parlor trick than anything, though good musicians will certainly find a use for it. Many people with absolute pitch aren't even musicians.
What can be trained is relative pitch, that is, once a reference note is sounded, being able to find any other note effortlessly. This skill is incredibly important for any musician, and ear training is a critical part of any music education.
Another phenomenon that can be trained is tonal recall, as reg mentioned, which usually takes the form of being able to hum the first note of a song in the correct pitch. This sounds an awful lot like absolute pitch, but it's missing the hallmark of the real thing, which is always accurate and automatic.
From the Wikipedia article on Absolute Pitch (emphasis mine):

Those with absolute pitch may train their relative pitch, but there are no reported cases of an adult obtaining absolute pitch ability through musical training; adults who possess relative pitch, but who do not already have absolute pitch, can learn "pseudo-absolute pitch", and become able to identify notes in a way that superficially resembles absolute pitch. Moreover, training pseudo-absolute pitch requires considerable motivation, time, and effort, and learning is not retained without constant practice and reinforcement.
Comment: I'd like to add that the common misconception that perfect pitch can be trained is the pseudo-absolute pitch that the Wikipedia article mentions. The vast majority of people have no firsthand experience with absolute pitch, so the superficial similarity makes them think that they or someone else is training genuine absolute pitch. If you talk to anyone with true absolute pitch, you'll quickly realize that these are **completely** different phenomena.
Comment: @h22 Wikipedia is not the least reliable source ever. One curious about the providence of any information referred to on Wikipedia can simply go to the linked article and look at the relevant citations and thereby gain a sense of the reliability of the information. It could be incumbent upon the person linking to Wikipedia to do that legwork, and at the same time immediately rejecting any information just because it is also present on Wikipedia seems just as lazy.
Comment: Wikipedia is not the most reliable source ever.
Answer: There is no way that I personally have perfect pitch, but I can offer some suggestions:

Practice and hum scales so you know exactly what the notes sound like
Learn songs and riffs by ear. This will really help you with recognising chords and notes
Learn the notes on the fretboard, so you can put the note name to a fretted note that you hear

Hope this helps in some way
Answer: Like most people answering, I don't have perfect pitch but I'm "pitching in" anyway.
There are various interpretations of perfect pitch, one of which could be considered a curse -- to know when a pitch is sharp or flat of a reference pitch you're accustomed to, by an amount that's not a whole number of semitones. Some people would hear a Jimi Hendrix recording -- where everybody's in tune with each other, but nobody used a tuning fork, and wince.
Another interpretation is to be able to name the note when you hear it, without breaking into too much of a sweat if it's a fraction sharp or flat. I'm sure that could be useful.
Other answers have referred to relative pitch. I believe that perception of relative pitches is an essential skill for any musician. You should be able to answer "if this note is C, what note is this" questions. This is a standard aspect of music training, and you can find many answers about it on this site.
Now, if you have a good sense of relative pitch, perfect pitch is simply a matter of having at least one reference pitch in your memory. Consider that if you perpetually hummed an "A" to yourself (and didn't wander off pitch), and had relative pitch skills, you would be able to fake perfect pitch. In fact, I'm not sure it would be fake.
Now take breaks from the humming, but remember the note so you can resume the hum. The longer the breaks, without you resuming at the wrong pitch, the closer you are to having perfect pitch.
But, I don't think it's necessary to do this in order to have something that's as useful as perfect pitch, in a musical context.
In a musical environment -- for example in the middle of a band practice -- there are loads of reference points. The notes you played while tuning up. The notes you played in the last piece. The quiet sounds your instrument makes when you handle it. So you don't need to remember what a note sounds like for very long. With those notes, and your sense of relative pitch, you can again "fake" perfect pitch.
Answer: I think it is possible. But now I will explain what I mean by 'it'. I also think that most of the research done that points to the contrary has been misguided. Identifying pitches is the same as learning the colors. Yet, very often the two are not approached in the same way. We learn (the names of) colors by first learning to group visible light frequencies in a small set of big groups: the reds, oranges, yellows, greens, blues, those close to indigo, violets. Yet with pitches we struggle from the beginning with a much finer subdivision and in addition a cyclic naming (instead of a linear one) of A,B,C,D,E,F,G plus the sharps. The analogous with colors would be to be trying to learn around 88 colors from the beginning with a naming that is cyclic, in which you would call the same name simultaneously to some reds, oranges, ... according to the ratio of the frequencies. This cyclic naming is particularly hard for learning compared to the linear naming of colors, in which nearby frequencies are called reds until the linear distance is big enough that then you call it the next color (orange).
I am convinced the reason learning PP is hard is more related to the naming of pitches than to the actual nature of the task. It would be equally hard to try to learn, from the beginning (even more if you don't have a young brain) a finer list of names of colors, for example The Wikipedia List of Colors. Even more if the naming is non-linear with respect to the frequencies but in some other ordering that is convenient for other purposes than learning them, for example in the Wikipedia list the names are alphabetized. Alphabetized names is good for searching the name sequentially, when written in English, but as it can be seen it ignores how the color looks like and alphabetically nearby names can be given to colors that don't look alike.
The naming of pitches has been designed to make it convenient for harmonization. This is, such that all sounds that we call A sound good together, and likewise with any sounds we call A with anyone we call C and any we call E. Now, what is useful for harmony is not necessarily ideal for learning.
I believe that if the goal is to learn PP we should try to learn to identify pitches in the same way we learn colors. First by learning a naming convention that is not very fine and gradually improving the subdivision. In addition, a naming convention that is monotonic (in the mathematical sense) in the frequencies i.e. nearby frequencies get nearby names, instead of cyclic would help too. For example divide the piano keyboard in a few big groups of keys. The groups should consist of keys that are one next to each other. For example, the octaves. Then aim first to identify without reference given a sound in which of these groups the sound is. If it is very low you would try to chose the group that is more to the left of the keyboard, etc. You are considered to have given the right answer in that initial level of difficulty if the sound is actually in that group of keys, even if you didn't select the exact right key of the keyboard. Then gradually refine the division of the keyboard into smaller groups and repeat. Of course, there are going to be people that will manage to get further ahead and be able to work with finer division than others and go ahead in the levels of difficulty faster than others.
I don't have perfect pitch, but without reference given a sound I can find a key in a piano that is like that sound not more than three keys apart from what the sound actually is. This means that my ability to identify pitches is, compared to perfect pitches, as what my ability to name colors is compared to naming them in the Wikipedia List of colors scale. I definitely know far less colors than in that list, but I do know more colors than the seven colors we learn at young age.
I think that research that points to the incapacity of learning perfect pitch for older individuals has been misguided because they are asking the wrong question about a skill that is improperly trained, in my opinion, in addition to using a naming convention that is improperly adapted to learning pitch identification.
I have often heard that technique of practicing relative pitch and combining it with the recollection of a reference sound that the person managed to remember. I find this method really awkward. Imagine learning colors that way.
Edit: For completeness let me repeat something that many others have said. For music relative pitch is more useful than perfect pitch. Being in harmony is more important than being able to hit rather exactly a pith without reference. That is why the nomenclature, the naming A,B,C,D,... is well adapted to express being in harmony and not being able to name a particular pitch without reference.
Answer: Take a well known tune that's usually played in a specific key.Just sing the first note. I use ( 'cos the wife watches and it's played 4 times in each episode )the theme from Coronation Street (U.K.) .It's a C over  an Ab chord .Sing the note just before it's played, and soon you'll (hopefully) be very close. Every time I go past a piano, I sing the C, then check it.There's little point in recognising all notes, as that, or the one you choose, will give you others as they're relative.
Answer: Just for reference:
http://journal.frontiersin.org/article/10.3389/fnsys.2013.00102/full

Valproate reopens critical-period learning of absolute pitch
Absolute pitch, the ability to identify or produce the pitch of a
  sound without a reference point, has a critical period, i.e., it can
  only be acquired early in life. However, research has shown that
  histone-deacetylase inhibitors (HDAC inhibitors) enable adult mice to
  establish perceptual preferences that are otherwise impossible to
  acquire after youth. In humans, we found that adult men who took
  valproate (VPA) (a HDAC inhibitor) learned to identify pitch
  significantly better than those taking placebo—evidence that VPA
  facilitated critical-period learning in the adult human brain.
  Importantly, this result was not due to a general change in cognitive
  function, but rather a specific effect on a sensory task associated
  with a critical-period.
Answer: TL;DR: Yes.
Absolute Pitch is NOT an inborn trait. It is known that children learn languages extremely fast - and what is music after all? It is a tonal language! Many east-asian languages are also tonal, such as Mandarin Chinese and Vietnamese, which is why it is relatively easier for people from East Asia to get absolute pitch (The percentage of east-asian people with absolute pitch is a lot higher than the percentage of, americans, for example, with absolute pitch). The only difference between tonal languages and music is that music has more tones.
However, don't worry, as you still can learn absolute pitch, with enough practice.
There are several ways to learn absolute pitch:

Listen to this when you're at a relaxed state <code>https://www.youtube.com/watch?v=LgjgAAkhLs8</code> This is the method I currently use the most and it made my tone perception a lot deeper.
Install a piano app to your  phone and play a single note randomly during the day for a couple of days. Before playing it, try to guess what it would sound like by humming it. You can stop there and use your relative pitch to locate every other note by playing it in your head before, or you could keep going until you get all twelve notes. I advise you to learn all notes, as it makes recognizing the note faster and effortless, but you can do whatever you want.
Play a single note on your instrument and try to describe it in as many ways as possible, with as many senses as possible. Make sure that your instrument is properly tuned before doing this.
Try to sing a note. C and D are really  easy to start with. Your brain remembers by muscle memory, just like if you'll say a word in a foreign language you'll be able to remember it for longer.

Test yourself every day by playing a random note (it's better to begin with the white keys) and trying to name it, then check if you were right.
When you'll achieve Absolute Pitch, you'll know it. You will be able to hear music a lot more clearly, and you will have a feeling associated with each note, something that can't be properly described and has to be felt to be understood.
Developing Absolute Pitch may take a lot of time so don't expect immidiate results!
Answer: Try Auralia software and similar ones. And write your own music in various keys and you will develop it if do whish. All who have perfect pitch they had worked hard with sounds from infant age. No miracle exists. PP is not everything you need to be a top player. It is an ability to take a snapshot of sound in your impressive memory. When you are playing a cheap untuned guitar or a heaven`s antique harp it is more dificult to develop PP over time than playing on top-price Korg keyboards.


Why Logistic Regression for Classification Problems?

Question: In a class on machine learning, we covered classification problems. In such a problem, you are studying a property of some object, say malignity of tumors in a patient. You are first given a training set, which consists of a set of ordered pairs $(x^{(1)}, y^{(1)}), (x^{(2)}, y^{(2)}), ... (x^{(n)}, y^{(n)})$, where each $x^{(i)}$ is a vector of desired parameters (in the tumor example, size could be such a parameter), while each $y^{(i)}$ is either zero or one depending on the status of this property (in the tumor example, one might say a tumor is benign if $y^{(i)} = 0$, and malign if $y^{(i)}=1$. By fitting a function to this training set, one finds a hypothesis function, which hopefully predicts whether tumors are benign or malign in the future. But how to fit such a function? The professor of the class gave an example that wouldn't work, linear regression. Linear regression was shown as a poor method because outliers in the training set would influence the hypothesis too drastically. Then the professor said that the better method for classification problems was logistic regression. However, he did not explain this -- from an observer's point of view, it seemed logistic regression was chosen ad hoc as a fitting method. Could someone please ex
Answer: Maybe your professor should ex, since he's the one who introduced the logistic regression? One (possibly weak) reason to use the logistic curve is: it is one of the simplest functions one can think of that increases from 0 to 1, always staying between 0 and 1. Thus, its value at $x$ can be interpreted as the likelihood of $x$ belonging to the "$y=1$" group.
Answer: Consider a simple example: Suppose we have object's temperatures, and two classes, hot and cold. If that's all, at the end of the day you want a solution that classifies the objects to hot or cold. Ideally there would exist a cut-off temperature T=$X_0$, and all objects less than $X_0$ would be cold, while all with greater hot.
In this case you need a "step function", that is $$f(x)= \{\begin{array}{l} 0,x<X_0 \\ 1,x\geq X_0\end{array} $$
The problems with this function are: 1. that it is not-continuous (so the derivative is not defined everywhere, and this makes math difficult) and 2. that it does not allow for situations where we are a bit uncertain (because it either gives 0,or 1. We might have a situation where if something is very near T we want to be a bit uncertain if it is cold or hot)
Logistic Regression uses the sigmoid function, that is a bit like a "cut-off" function (a function that is 0 up to a point, then at some X_0 very quickly goes to 1). This allows us to split values of x to two groups-classes: those less than X_0, and those more than X_0. At the same time, it is a bit better than a step function
 ) because sigmoid is smooth and so can have a derivative. (Also, maybe if we are very close to the cut-off point we might not want to give 1 or 0 but rather a number)
Ideally you want a function that would give you a good approximation of the probability some sample belongs to class 0 or 1 given its value, and the sigmoid function can help you there too, but the first paragraph can help for intuition.


How can I make Samsung Note 10.1 dual boot with Ubuntu

Question: I have a Samsung Note 10.1 with Android 4.1.2 and I want to ask if it is possible to make it dual boot with Ubuntu. (and how of course)
Answer: There are three things when it comes to ubuntu & mobile phone.
Ubuntu as native installation with true dual boot
There are some work regarding a true dual boot in galaxy note 10.1.
You can get more details at this XDA thread-
http://forum.xda-developers.com/showthread.php?p=39622960
Guide mentioned in the thread - http://thermatk.github.com/opensgn-easy/
Install ubuntu as emulator
This method runs ubuntu as using a very well known method known as chroot.
Here you install Ubuntu desktop to your phone. It is just like running ubuntu as a virtual machine under android.
So you can call it dual boot, since you will be using ubuntu desktop, which is not optimized for mobile device. So you may face problem.
You can start, http://sourceforge.net/p/linuxonandroid/wiki/Home/
Ubuntu for android
from wiki
Ubuntu for Android is an upcoming free and open source variant of Ubuntu designed to run on Android phones.
Both Ubuntu and Android run at the same time on the device, without emulation or virtualization, and without the need to reboot. This is possible because both Ubuntu and Android share the same kernel (Linux).
There is no emulation or virtualization. When phone is on, android will be shown. when docked a monitor, phone will turn off and in monitor Ubuntu will load.
If this is the thing you want, sorry it isn't available as of now. It is supposed to come as pre loaded.
Ubuntu for Phone
This is interesting.
Ubuntu for Phone is a mobile operating system. This operating system can use lower level android code. So if your phone as CM10 base, you can use it.
But Dual Booting : Not possible
Here are the list of devices on which different devs are working to port it. Your device is on that list too.
Here is status of your device - https://wiki.ubuntu.com/Touch/Devices/n8000
Here is install instruction : http://forum.xda-developers.com/showthread.php?t=2168999


How to let my boss know I will not accept a new position?

Question: My contract is ending at the end of January (covering maternity leave). My boss and I agreed that they would create a new position in the office for me so that I can stay and continue working there. This new position created is the only reason why I would stay with the company longer. However, last week one of my colleague gave his notice so now the company is having me train with him to cover for him when he is gone. I'm sensing the company will just move me to his position instead of creating a new position for me like discussed. I do not want to take my colleagues position at all. How do I let my boss know when they bring that up to me? I'm willing to cover until they find someone but I am not interested in staying for that position.
Comment: Where are you located? Please state the country, and state/province if applicable. As pointed out by Joe Strazzere in a comment, location can influence your options and the consequences of each.
Answer: You just have to be honest and tell them this is not what you were expecting based on discussions and you aren't interested.
You have to be careful abbout "covering until they find someone".  That can be extended for a long time if you let it happen.  Be polite but firm.  You want the new position; you could even offer to help them to find someone to replace the other person but make it clear that this is not going to be you.
Anyway that is what I would do.
Comment: Be prepare to face the fact that they might not abide by what's was agreed, and that you should consider if you want to resign if you can't have the new position.
Comment: If it sounds like they do want you to cover for some indeterminate period of time, you could always ask them to formalise the temporary arrangement as part of your new contract, so that it is intended to come to an end after a set period of time which you agree in advance. This both gives them a deadline to work to in replacing the colleague, which will motivate them, and it gives you a legitimate reason to leave (or potentially take other action) if they fail to meet the terms of your contract in this regard.
Comment: @JoeStrazzere It sounds like OP is merely covering for someone else who's on maternity leave. Her boss offered to create a new job, so she can stay longer beyond the initial contract.


Tor for Chromebook

Question: I am thinking of getting a Chromebook in the not so distant future. However, I want to be able to use Tor on it. However, since, at least that is my perception, everything goes through Google, will Tor then be available on a Chromebook?
Comment: Tor is not supported on Chrome OS.
You might be able to run it if you install ubuntu on it, but keep in mind that the browserbundle is not for ARM architecture, you you cannot use tor browser bundle, but you can install tor on ubuntu on it and set up transparent proxying.
Comment: After posting I found the older question. However, it hadn't been accessed in over a year, and I don't know if you can "bump" here.
Answer: TOR is not available for Chrome. Though it is not recommended but you can choose out of various options if you have to.

Use Tor2Web to access all the TOR Network Hidden Services ( aka .onion sites ) without TOR.
Route all the data through a proxy server using OrBot and Proxy Server apps on Android Phones.

Also, if you have a Chromebook with the Play Store on it, like the Asus Chromebook Flip, you can run Orbot and Orfox independently of the Chrome browser, and therefore access Tor!

Tor for Chromebook