Guess the question itself sums it up, Is it feasible? If so, how?
I will be getting a point-and-shoot camera for taking portraits and only portraits.  Specifically portraits with a shallow depth of field.   Groups portraits sometimes.  It's just too much work to add lens blur at post-prod.  I understand that setting a P&amp;S on macro mode gives a shallow focus and DOF.    How do I read P&amp;S camera specs to shortlist those with the shallowest depth of field?   Added: By point-and-shoot, I mean a camera that is easy to use -- Not necessarily compact, inexpensive, or current.  Also, if there are two or three factors/specs to get a shallow depth of field, then which spec contributes the most to bokeh? which is second most contributing? the third, etc.?
EDIT:  My question was poorly worded.   I wasn't asking about showing $\ln(1+x) &gt; \frac{2x}{2+x}$ for $x&gt;0$.   What I wanted to know is why the lower bound provided by $ \frac{2x}{2+x}$ was so tight for small positive values of $x$. This is addressed in robjohn's answer. In Adobe Photoshop I am able to select multiple layers at once with Shift+Click.  How can I do that in GIMP? Best way to select a subset of items in a long list One of our clients wants us to build a web application to share information about the magazines he publishes. Each edition of a magazine contains a variable amount of advertisers. These advertisers come from a central pool of advertisers. This pool contains (at the moment) about 150 advertisers. Each edition of a magazine contains a subset (about 70-80) of these advertisers.  Our client wants us to come up with a way for him to add 70-80 advertisers from this list of 150 to an edition of a magazine. It needs to be as fast as possible, as easy as possible and as intuitive as possible.  What would be an ideal solution here? I was thinking about something in the lines of the image below.   List of available advertisers. List of selected advertisers. Advertisers have a delete button. Textbox with auto-suggest for advertisers in the list on the left. &lt;Enter> removes the advertiser from the left list and adds it to the right one. Textbox gets cleared and remains focus.   My colleagues suggested drag-and-drop or just one list with a checkbox for each advertiser, but those approaches force the user to do a lot of searching and clicking. With my approach the user can just keep on typing.  Any other suggestions for this situation? Where are executables for programs stored in Ubuntu?  An application (Komodo Edit) is asking me to identify an application to be used as a web browser. I've become used to just entering the application name as a command for situations such as these, but this scenario got me thinking.   I know in Windows it would just be the relevant application folder in the 'program files' folder, but I'm assuming things are a bit different on Linux?  I thought somewhere like bin would be logical but this appears to standard Linux/Unix applications. Where would I find the binary executable for applications stored on my system? What is the need for Autobiographer badge? What is the reason that Autobiographer badge is kept in Stack Exchange?  This does not show any participation and people can just fill garbage to achieve this badge.   Is there a reason behind it? How do you open a command line? How do you access the command line or run option to put the commands into the system? Flirtatious Primes Here's a possibly interesting prime puzzle. Call a prime $p$ flirtatious if the sum of its digits is also prime. Are there finitely many flirtatious primes, or infinitely many? I recently wiped my computer to have 14.10 as my only OS. It has 160 GB of storage. That was a month ago. Now, I keep getting prompts that the storage is almost full. And when I look it says I only have 543 MB free. How is this possible? I haven't torrented any large files. I do have Variety to autodownload wallpapers and not erase though.  Filesystem Size Used Avail Use% Mounted on  /dev/sda1  146G  138G  554M  100%  /  none 4.0K 0 4.0K 0% /sys/fs/cgroup  udev 742M 4.0K 742M 1% /dev  tmpfs 151M 1.1M 150M 1% /run  none 5.0M 4.0K 5.0M 1% /run/lock  none 752M 540K 751M 1% /run/shm  none 100M 80K 100M 1% /run/user –  er – How does one experimentally determine chirality, helicity, spin and angular momentum of a fundamental particle? Pretty printing XML with javascript I have a string that represents a non indented XML that I would like to pretty-print. For example:  &lt;root&gt;&lt;node/&gt;&lt;/root&gt;   should become:  &lt;root&gt;   &lt;node/&gt; &lt;/root&gt;   Syntax highlighting is not a requirement. To tackle the problem I first transform the XML to add carriage returns and white spaces and then use a  tag to output the XML. To add new lines and white spaces I wrote the following function:   function formatXml(xml) {     var formatted = '';     var reg = /(&gt;)(&lt;)(\/*)/g;     xml = xml.replace(reg, '$1\r\n$2$3');     var pad = 0;     jQuery.each(xml.split('\r\n'), function(index, node) {         var indent = 0;         if (node.match( /.+&lt;\/\w[^&gt;]*&gt;$/ )) {             indent = 0;         } else if (node.match( /^&lt;\/\w/ )) {             if (pad != 0) {                 pad -= 1;             }         } else if (node.match( /^&lt;\w[^&gt;]*[^\/]&gt;.*$/ )) {             indent = 1;         } else {             indent = 0;         }          var padding = '';         for (var i = 0; i &lt; pad; i++) {             padding += '  ';         }          formatted += padding + node + '\r\n';         pad += indent;     });      return formatted; }   I then call the function like this:  jQuery('pre.formatted-xml').text(formatXml('&lt;root&gt;&lt;node1/&gt;&lt;/root&gt;'));   This works perfectly fine for me but while I was writing the previous function I thought that there must be a better way. So my question is do you know of any better way given an XML string to pretty-print it in an html page? Any javascript frameworks and/or plugins that could do the job are welcome. My only requirement is this to be done on the client side. How do I create variable variables? curl in Mathematica, google link-shortener Error in updating to ADT rev 23 for Eclipse Is it considered normal to publish job offers inviting candidates to apply based on their gender and/or race in academia? I was browsing PhD position offers in Europe on different websites and I was quite surprised to find that several offers contained sentences such as     University of X value equality and diversity. We strongly encourage women and BAME applicants for this position.    where BAME stands for Black, Asian and Minority Ethnicities; or     The research group aims to increase the number of women in scientific positions. Female candidates are therefore encouraged to apply.   Is it considered normal in the academic environment to discriminate between  candidates according to their race and/or gender for "egalitarian" reasons?   How is the choice of a candidate based on their gender and/or race considered "egalitarian"? Conformally Map Region between tangent circles to Disk Move data from regular partition to lvm I've read a bit about lvm and decided that I want to switch to using it. It seems like actually setting up lvm can be done from the debian installer, so I suppose that'll be easiest. What I'm not sure about is how to copy all of my files to the new system.   I would like to copy my whole system, not just my home directory or just my packages, I've messed around with a lot of stuff, to the point where I have no idea exactly where all of my config files live. The guides I've found on the internet seem to glaze over this step, just mentioning tools that can do it, not how to use them, i.e. use rsync. Instinct tells me I can't just rsync the root of my backup to the root of my lvm system, I'll copy over something important, like the lvm config files, but I'm not sure what exactly I need to exclude, while being sure not to exclude anything I might have changed. Any tips?  My planned steps, for clarity: I have a 1tb hdd and a 250gb ssd. I want to shrink the partition I have on the hdd, use the free space (I have enough) to make two new partitions, and dd my ssd and hdd partitions to those partitions as a backup. Then I want to wipe the ssd partition and hdd partition I'm currently using, and set up lvm on them (ideally with the debian installer for simplicity's sake, but maybe manually). And then I want to copy everything from the backup partitions to the new lvm partitions, somehow. And then wipe the backup partitions and either resize the existing lvm partitions to include the remaining space, or just make the remaining space another physical volume on lvm and add it that way. Is it possible to make a sequence of renders and give the user the option to cancel the process through the UI at any given time? I'm trying to make a script where I have to render several images of the same scene at the same frame, and write to disk with appropriate names. The problem is that although this works fine with a non-responsive UI, it doesn't work well when the render progress appears in the Blender UI.  I mean,  bpy.ops.render.render()   uses "EXEC_DEFAULT" when called from a script. This leaves a blocked User Interface until the render finishes, meaning that you can't cancel the process, except by killing Blender. The problem is that the render may be too big in resolution, and the user could want to stop the process when realizing that the render could take hours, so the idea is to cancel this process without losing the currently opened project.  If I call,  bpy.ops.render.render("INVOKE_DEFAULT")   I get a nice preview bar in the Info Window with a clickable "X" button. I want the user to be able to press that button to cancel the operation if needed, but for a series of renders (not animation).  The problem here seems to be when trying to loop this command with the INVOKE_DEFAULT context to write several renders. I made a lot of testing, and this way of calling the render operator seems to continue with whatever is next in the script, so it loops very fast and ends before the rendering actually finishes.  I think that I need some way to stop the script and make it wait until render finishes to continue looping with the next ones. I tried the "render_complete" and "render_cancel" handlers, but I can't use them to start a new render or even make the rest of the script wait until the loop of renders is complete. I tried threading and events without success either. Maybe I'm doing something wrong.  import bpy  render = bpy.context.scene.render path = render.filepath = "/tmp/" shots = ["one", "two", "three"]  for x in shots:     render.filepath = path + x     bpy.ops.render.render("INVOKE_DEFAULT", write_still=True) # this doesn't work      # but if I use:     # bpy.ops.render.render(write_still=True)     # without the INVOKE thing, images are written as expected,     # but losing the possibility to see the progress and cancel rendering How to merge records for query set We have a question related to a DB query :   CREATE TABLE `Action` (   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,   `emp_Id` int(10) unsigned NOT NULL,   `name` varchar(60) NOT NULL,   `updated_action_at` datetime(3) DEFAULT NULL,   `created_At` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,   `notes` varchar(400) DEFAULT NULL,   PRIMARY KEY (`id`),    KEY `action_empId_fk` (`emp_Id`),    CONSTRAINT `action_empId_fk` FOREIGN KEY (`emp_Id`) REFERENCES `Employee` (`id`) ON DELETE CASCADE,  ) ENGINE=InnoDB AUTO_INCREMENT=502004 DEFAULT CHARSET=latin1   CREATE TABLE `ActionAssignedTo` (   `action_Id` int(10) unsigned DEFAULT NULL,   `emp_Id` int(10) unsigned DEFAULT NULL,   KEY `actionassignedto_emp_id_foreign` (`emp_Id`),   KEY `actionassignedto_action_id_foreign` (`action_Id`),   CONSTRAINT `ActionAssignedTo_ibfk_1` FOREIGN KEY (`emp_Id`) REFERENCES `Employee` (`id`) ON DELETE CASCADE,   CONSTRAINT `ActionAssignedTo_ibfk_2` FOREIGN KEY (`action_Id`) REFERENCES `Action` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1  CREATE TABLE `Employee` (   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,   `vendor_Id` int(10) unsigned DEFAULT NULL,   `name` varchar(40) NOT NULL,   `mobile_Number` varchar(15) NOT NULL,   `active` tinyint(1) DEFAULT '1',   `updated_At` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,   `created_At` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,   PRIMARY KEY (`id`),   KEY `employee_vendor_id_foreign` (`vendor_Id`),   CONSTRAINT `employee_vendor_id_foreign` FOREIGN KEY (`vendor_Id`) REFERENCES `Vendor` (`vendor_Id`) ) ENGINE=InnoDB AUTO_INCREMENT=511 DEFAULT CHARSET=latin1   We want to find the action created by employee with Action.empId = 4 along with the list of Assignee (an action can be assigned to multiple people)  We have the following query :   Select     notes,             Action.id,             AssigneeName.name,             ActionAssignedTo.emp_Id  from       Employee inner join Action  on         (Action.emp_Id = Employee.id  and        Action.emp_Id in (select Employee.id                               from Employee                               where Employee.vendor_Id = 1)) inner      join ActionAssignedTo  on         Action.id =  ActionAssignedTo.action_Id inner join Employee as AssigneeName  on         ActionAssignedTo.emp_Id =  AssigneeName.id where      Action.emp_Id = 4   Now, lets say if Action with id = 10 was assigned to 2 people : John (empId : 2) And Jack (empId : 5) --> the above query returns following results :  (columns from the query)  notes                       | Action.id | AssigneeName.name | ActionAssignedTo.emp_Id 1. Finish Designing Queries | 10        | John              | 2 2. Finish Designing Queries | 10        | Jack              | 5   If we observe the above results the first 2 columns get repeated for the Assignees for SAME ACTION ID  --> is there a way we can merge them something like   1. Finish Designing Queries |10         | { John : 2  , Jack  : 5}   Basically records being merged into one. Find the highest order bit in C Why does Ubuntu force users to create a password upon installation?