What type of digital camera should a novice get?

Question: I am looking for a new digital camera that doesn't break the bank.  I am certainly not a professional but I like my photos to look professional.
Comment: What do you mean by break the bank? Some people consider 500 dollars cheap, others consider it too much. Also, do you want an SLR or a point and shoot? SLRs generally take better looking photos, but are much more of an investment in money and dedication.
Comment: Hi User2121, and welcome to Photo.SE. It would be very helpful if you could be much more specific about your need and your situation. As rm999 stated, what each individual considers "cheap" is extremely subjective.
Comment: Ditto "look professional". What does that mean to you, exactly?
Comment: And also one should remember that not camera takes pictures, but a photographer. My point is, first learn how to take pictures with any camera you can afford and then you will realize what you miss, and what you need. You can fill your drawer (or wherever you want to keep your gear) with $20000 or more worth stuff but it will not take you a step closer to professional look photos until you can see and learn how and what to do....
Comment: Do you want to learn about photography or just get a camera which will take good photos of things you point it at? Some cameras give you more control and more chance to learn, others don't really give you any control but can generally take nice photos...
Answer: You need to be specific at what you want to do with it. Just like I can't recommend you which car to buy without knowing anything about you, the same goes for cameras. We don't even know what 'break the bank' means for you, it is very relative.
Definitely if you are looking for high quality, people will tell you to get a DSLR or interchangeable lens camera. The latter is smaller but also slower, if you don't shoot things that move, you won't care about that.
My advice is to read a buying guide that explains to you what the important points to consider are.
Don't get fooled into thinking that you need a professional camera to make fantastic images. Take a look at this pro who takes a $150 digital camera when he goes on vacations.
Comment: great link about the P&S guy :)
Comment: The buying guide you linked is excellent. I am impressed by how well researched and presented it is.
Answer: Sometimes gear is not to be blamed for the photographs to come out "unprofessional".. Before transitioning to an SLR three years ago, I had a really modest kodak camera and used to look at flickr's "interesting" pictures from that camera to get the needed result (by looking at the exif to check the modes they were using and the composition).
Since you probably don't want to get neck deep into photography, nor want to lug a heavy camera around, I'd say grab a great well reviewed P&S camera like the G11 and use flickr to learn taking great pictures with it (http://www.flickr.com/cameras/canon/powershot_g11/)
Answer: The question is quite vague, what does professional mean to you? What's your budget? Breaking the bank varies by person. The Pentax 645D at $10,000 breaks the bank for me, but the Canon 5D mark II at $2500 does not, but for someone else, $2500 is way off the line.
In any case, the best way to approach the purchase is based on your needs and desires. To that end, DP Review has a nice tool for plugging in what you're interested in and then recommending some options as a result. That's a place to start, but then you need to look at the potential options online, especially images. At which point, the Flickr Camera Finder becomes handy for seeing the art of the possible.
However, despite all of that, the camera is just a tool. Your pictures will look as professional as you make them, end of story. For some people, you could put the lowest specified camera into their hands and they will produce incredible photos that would make some of us drool. For other people, you could put a $42,000 Phase One camera in front of them and they'll produce a piece of junk. It's not the gear, it's the photographer. If you still don't believe that, consider this: some of the greatest photographs in the last 100 years were taken by photographers using gear that we would currently consider to be utterly archaic.
Net effect, you need to figure out exactly what you want and then use that information to make a decision. Then, if you want professional looking results, you need to practice, practice, and then practice some more. Unless you do both, the camera you buy will not answer your question, regardless of what you choose.


dismissViewControllerAnimated:completion: not working for iPhone 5

Question: So in my iPhone 4 device after I pick a image I want the image picker popover to go away. The following code WORKS for iPad 3 on iOS 5, iPad 4 on iOS 6, iPhone 4 on iOS 5 BUT the following code does not work for iPhone 5 on iOS 6. Why is this?
<code>- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[self loadImage:[info objectForKey:UIImagePickerControllerOriginalImage]];

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad ) {
    if ([popoverController isPopoverVisible]) {
        // called for iPad
        [popoverController dismissPopoverAnimated:YES];
    }
}
else {
    // called for iPhone
    [self dismissModalViewControllerAnimated:YES]; <== NOT WORKING
    [self dismissViewControllerAnimated:YES completion:nil]; <== ALSO NOT WORKING
}
</code>
Answer: It looks like you're telling the delegate of the image picker (self) to dismiss, not the image picker itself.


Is it possible to create a mapping class in Entity Framework Core?

Question: In previous versions of Entity Framework we could use EntityTypeConfiguration<TEntity> to configure the mapping for the entity of type TEntity on the constructor.
The other option is to set the mapping on the OnModelCreating method of the DbContext, but this other option is nice because we can leave each mapping in its own place.
Now I'm starting to use Entity Framework Core and I could not find the EntityTypeConfiguration<TEntity> class, so I believe things have changed.
Is it possible to create a mapping class in the new version of Entity Framework or for now we have to use the OnModelCreating?
Answer: Unfortunately, OnModelCreating is the preferred way to do it right now. The team (specifically rowanmiller) mentioned that:

I think we will probably do this, or something like it, but it is lower priority than some of the other features EF Core is missing at the moment.

https://github.com/aspnet/EntityFramework/issues/2805
If you read through the comments on that issue, there are some alternative ways to do it, but not "officially" supported ways other than OnModelCreating right now.


How do I set the height of a div programmatically in the LWC's HTML file?

Question: I have an outer div which wraps an inner div with a dynamic amount of content in it. For reasons that are beyond the scope of this question, I want to set the height of the outer div to match the height of the inner div once the content is loaded.
Because the content that is loaded into the div is dynamic, the height could potentially be anything (within reason. It is unlikely to be measured in kilometers, for instance.). I am therefore inspecting the DOM and determining the height of the inner div. I concatenate that value in a string like so: this.outerHeight = 'height: '+innerheight+'px;'; I then reference this variable in the HTML file like so:
.
This works. The file saves and gets deployed to my org and everyone rejoices.
However...
For some reason I get problems reported in VS Code indicating that assigning a variable to the Style attribute is a no-no. Specifically it tells me I can't have an empty ruleset. The HTML file is red in the file tree. Again, it works fine, but it is really getting on my nerves that the file is red and I am seeing problems reported.
How do I fix this? Is there a better way to set the height of a div using a variable? (Please do not tell me to use a class, I am trying to do a thing with overflow:hidden, and you need to set the containing div with an explicit height for that to work, since the height could be anything I do not want to write a thousand classes to cover a thousand different possible heights.) Passing a variable into every other tag attribute works fine, why is style so picky?
Thanks for any insight, tips, or tricks you have.
Comment: Does this answer your question? [How can I get VS Code to consider dynamic styles as valid CSS?](https://salesforce.stackexchange.com/questions/348022/how-can-i-get-vs-code-to-consider-dynamic-styles-as-valid-css)
Answer: You can directly assign the style to the element.

this.refs.container.style = `height: ${innerheight}px;`;

You can also use style directly, as in:
this.refs.container.style.height = `${innerheight}px`;

These are only examples, there's a lot of ways you can do this.
Comment: I forgot about refs, that did it, my sanity thanks you!


Why is there a double "ll" in "bell"?

Question: I am trying to understand some of the idiosyncrasies of the English language.  One is the use of double consonants.  Why does the word bell have two letter L?
Comment: because belll would be plain silly
Comment: Similar question (unfortunately no answers there yet): [Spelling etymology of "-il(l)" words](http://english.stackexchange.com/questions/247524/spelling-etymology-of-ill-words)
Answer: A handful of English consonant letters are often doubled when they come after a single vowel at the end of a word, especially in single-syllable words, or words that are stressed on the last syllable. The website "Logic of English" describes this:

We often double F, L, and S after a single vowel at the end of a base
  word.

If you follow the link, you'll see a list of many other common words ending in "ll"; this may help you to learn this spelling pattern. Note that it says "often" and not "always"; there are common words like "pencil" where the l is not doubled.
Here are other resources that describe this spelling pattern:

http://www.allaboutlearningpress.com/content/downloads/AAS-L1-Step18.pdf
http://www.phonicslessons.co.uk/englishspellingrules.html

There are many other reasons double consonants may be used in English. For example, double "ll" may also show up when you add a verb ending to a word ending in a single l (explained here: http://www.dailywritingtips.com/one-l-or-two/; there is also a Stack Exchange question about it here: When is "L" doubled?).
Comment: 'Z' is also doubled.  There are exceptions, like 'bus'.
Comment: @aml: "z" is often doubled, but there not many [words with final "z,"](http://www.wordfind.com/ends-with/z/)  and a fair number of them are exceptions (*whiz, wiz, quiz, fez*). You're right that the rules for final *ss* and *ff* also have exceptions; I didn't list them because I was mainly focusing on the word "bell" and the double *ll* spelling pattern.
Answer: Etymology often provides the key to questions like this.  Etymology Online yields this:

Old English belle, common North Sea Germanic (cognates: Middle Dutch belle, Middle Low German belle) but not found elsewhere in Germanic (except as a borrowing), from PIE root *bhel- (4) "to sound, roar."

In the transition from Old English and Middle English into more modern usage, the terminal "e" dropped first from pronunciation, then from spelling.
(Chaucer fans will remember the journey that began in "Aprille," which we now pronounce with fewer syllables and spell with fewer letters.)
The monosyllable bell was once spelled belle. Exactly why it retained the doubled L while April did not may be as much a matter of 15th C printers' choice and London orthography than anything else. My guess is that the French word "Avril" may have had something to do with it.
Most of the rules on the subject have been created retroactively in an attempt to explain things that just sort of happened.
Comment: Well, I don't think etymology is a great guide to current spelling for words ending in the /l/ sound: *small* comes from Old English *smæl* with a single *l*, and *metal* comes from Latin *metallum* with a double l (although the French *metal* seems to have been an intermediary).
Comment: @sumelic - It's a place to start.  *And *smale* foweles maken melodye* ... I'd be willing to opine that *smale* became *small* in the non-scholarly mind of the typesetter who had to decide whether to treat it like *Aprille* (or "belle.")
Comment: Well, sure; but there's several other examples like "skill" (from Middle English *skele, scele, skile, skyle* from Old Norse *skil*) or "dill" (from Old English *dili, dile, dyle*).

Why is there a double "ll" in "bell"?


Buffer all polygon feature classes inside geodatabase using ArcGIS 10.4

Question: I have a geodatabase which contain a hundred of separated polygon feature classes. I want to create a same value buffer of all feature classes in same time. Each buffer must have a "dissolve"  option. Note that all FCs inside geodatabase have one same column needed for dissolve. I have tried to use ArcGIS buffer tool for each FC but that is very slow. Now I need something faster. Also I have tried to merge all of these files and create buffer with dissolve but in that case some small polygons will be lost.
Comment: Add class name to all f.classes (search this forum) , merge all and concatenate 2 fields, to be used for buffer with dissolve.
Comment: @FelixIP Ineresting solution but are you sure that some small polygons smaller than buffer size will not be lost in this case?  Also if you are sure that works add this as answer with more details.
Comment: @SonofaBeach I have edited the question.
Answer: If you want an alternative to manually buffering each fc code below will work. Each output fc will be named after the input +'_buffered'
<code>import arcpy,os
ingdb = r'C:\Default.gdb' #Change
outgdb = r'C:\Default.gdb' #Change
dissolvefield = 'Somefield' #Change
buffdist = '100 Meters' #Change

arcpy.env.workspace = ingdb
polyfcs = [os.path.join(ingdb,fc) for fc in arcpy.ListFeatureClasses(feature_type='Polygon')]
arcpy.env.workspace = outgdb
for poly in polyfcs:
    arcpy.Buffer_analysis(in_features=poly, out_feature_class=os.path.basename(poly)+'_buffered',
                         buffer_distance_or_field=buffdist,
                         dissolve_option='ALL',
                         dissolve_field=dissolvefield)
</code>


How do I change a custom lookup field to a text field?

Question: I have an important custom field, Agency, used by all records and I need to change it from a lookup window to a text field so I can use a workflow rule that updates the agency for a contact or opportunity based on agency list in the account.  When I click edit and change field type the options are non and lookup window.  How can I change this field type or replace it with another field without compromising the data this field has for every record?
Answer: As per documentation of salesforce there are limitation of changing field type in Salesforce.

Relationships  You can convert relationship fields to nonrelationship
  fields and vice versa, but only on external objects. If your
  organization has a large number of records, Salesforce displays a
  waiting page after you have requested to change a master-detail into a
  lookup relationship or a lookup into a master-detail relationship.
  After you have created a roll-up summary field on an object, you
  cannot convert the object's master-detail relationship into a lookup
  relationship. A lookup cannot be converted to a master detail
  relationship if there are any existing records on the object that have
  a null value set for the lookup relationship. If you are converting a
  master-detail relationship to a lookup for a custom object on the
  "detail" side, the organization-wide default for the object is
  automatically updated to Public Read/Write. Similarly, converting a
  lookup to a master-detail-relationship changes the organization-wide
  default to Controlled by Parent

Lookup relationship can only be converted into relationship data type. The only exception to this is external Object.
You can't change Lookup relationship to text.
I would suggest you to take back up of values of the lookup field and create  new text field and update the existing data to the text field.
Comment: Create a new text field. Then, export the data, making sure to capture the lookup record name with or without the id. In excel, copy the lookup name and paste it in the new text field. Finally, update the new field en mass.
Comment: How would I take backup of existing values and then update the existing data?  Can you walk me through that process?
Comment: what tool do i use for that?
Comment: Appex data loader?
Comment: Can someone please provide a walkthrough on exporting the data and then updating it?  Would it just be a report of all accounts all time that I export with both the old look up field and the new text field?  Then I just replace text field with the values of lookup in excel and upload through data loader?
Comment: Just a note that you could use process builder and visual workflow to set a lookup on contact or opp based on the value on the account, or you could do so with a trigger.


What is data is submitted to Google when using google maps?

Question: I have been asked by a client to map data, but the client does not what any other data besides addresses for geocoding to be sent to another server. Does the Google maps API submit other data besides addresses and latitude/longitude to Google?
For example, I would not want the "dealerInfo" node to be submitted to Google in the following XML used for a map on [http://www.coastalbendchevydealers.com/][1] .
<?xml version="1.0" encoding="utf-8"?>
<markers>

    <marker lat="27.5380258" lng="-97.8547257" dealer="Neessen Automotive">
    <dealerInfo><![CDATA[

Neessen Automotive

2007 S. US Highway 77 Bypass
Kingsville, Texas

361-592-2668

www.neessenautomotive.com

    ]]></dealerInfo>
    </marker>

Answer: It shouldn't be submitted at all, it depends on how you are paring the XML file.

      GDownloadUrl("AMBest2bil50bil.xml", function(doc) {
        var xmlDoc = GXml.parse(doc);
        var markers = xmlDoc.documentElement.getElementsByTagName("marker");

        for (var i = 0; i "+name+"Total Assets: "+formatCurrency(text)+""+address;
          var category = markers[i].getAttribute("category");
          // create the marker
          var marker = createMarker(point,name,html,category);
          GEvent.addListener(marker, "click", function() {
            map.setCenter(point,10);
          });
          map.addOverlay(marker);
        }

That will parse my XML file and only manipulate the 'marker' tag.  You already have the info geocoded since you have the lat/long and I'd presume that the CDATA is for some type of popup/mouse over display.  I do not believe you will be passing any of that to Google.
Comment: Agreed,  the marker content is just being used by the client side javascript to display the infowindow.  Not sent to Google. +1
Comment: I disagree, see answer below...I don't know if it gets submitted or not, but the Terms you agree to allow them to reproduce that content.
Answer: Keep in mind Google is providing this as a free service, if you are concerned over data sharing then look into the premium licensing (10K / year)
From Google's Privacy Policy:

Licenses from You to Google.

11.1 Content License. Google claims no ownership over Your Content, and You
  retain copyright and any other rights
  you already hold in Your Content. By
  submitting, posting or displaying Your
  Content in the Service, you give
  Google a perpetual, irrevocable,
  worldwide, royalty-free, and
  non-exclusive license to reproduce,
  adapt, modify, translate, publicly
  perform, publicly display and
  distribute Your Content through the
  Service and as search results through
  Google Services. This license is
  solely for the purpose of enabling
  Google to operate the Service, to
  promote the Service (including through
  public presentations), and to index
  and serve such content as search
  results through Google Services. If
  you are unable or unwilling to provide
  such a license to Your Content, please
  see the FAQ for information on
  configuring your Maps API
  Implementation to opt out.
11.2 Brand Features License. You grant to Google a nontransferable,
  nonexclusive license during the Term
  to use Your Brand Features to
  advertise that you are using the
  Service.
11.3 Authority to Grant Licenses. You confirm and warrant to Google that you
  have all the rights, power and
  authority necessary to grant the above
  licenses.

Anyway, keep in mind no such thing as a free lunch. At the end Google does search, and the more data they can get the better search they have.
Comment: With a license like that our client was just not willing to take a chance. Some of the data should not be searchable.


Debug "Access Denied"

Question: Is there a way for debugging "Access Denied" errors in Drupal 8? I'm having some routing/permission issues, and I would like to be able to debug why i'm getting "Access Denied".
Comment: You can check watch_dog table. Please specifiy latest watchdog table information here so we can identify exact problem.
Comment: It's not the exact problem i'm trying to find a solution for. I mostly find it myself by adjusting permissions or configuration, but it often takes some time because there's no clear indication what permission causes the 403.
And I checked watchdog, only thing I can see is "access_denied" "route", "timestamp", "user", which I already knew :)
Comment: Have you tried to clear the cache table using drush ?

drush cache-clear

please try this command for drupal 8.
Answer: Install the devel module and then Web Profile module which is bundled with it. You will then see the Symfony web profiler bar below the browser screen. Click on a Request gear icon, and it will show you the route and the controller class. You can start there.

You can also search your code base for that route name and see, if there are additional cases when it is handled.
Comment: @JorgeeFG Looked it up - there is a permission "View webprofiler toolbar" in the permissions section that you can assign to anonymous users.
Comment: This is usefull if the controller is letting you deny access, but since also elements can throw a denied this is not solely the answer for debugging an access denied.
Webprofiler is a cool tool though.
Comment: I can't see the toolbar, but I do see it in Admin. Is this because I'm anonymous in the page I want to debug?
Comment: @JorgeeFG The webprofiler for Drupal has a setting to show the toolbar even for anonymous users, if I remember correctly. You just need to check that setting.
Comment: @AlexeiRayu I didn't find it in the module's settings :(
Answer: This is super old, but in case anybody, like me, is looking for an answer to this, here's how I did it.
During development, I create a page that allows me to play with and investigate various Drupal services. I'll just give the code I have for that page controller.
<code><?php

/**
 * @file
 * Contains \Drupal\my_module\Controller\MyControllerClass
 */

namespace Drupal\my_module\Controller;

use Drupal\Core\Controller\ControllerBase;
use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
use Drupal\Core\Routing\AccessAwareRouterInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;

class MyControllerClass extends ControllerBase implements ContainerInjectionInterface {

  /**
   * The entity type manager.
   *
   * @var \Drupal\Core\Entity\EntityTypeManagerInterface
   */
  protected $entityTypeManager;

  /**
   * The router service.
   *
   * @var \Drupal\Core\Routing\AccessAwareRouterInterface
   */
  protected $router;

  /**
   * The access manager.
   *
   * @var \Drupal\Core\Access\AccessManagerInterface
   */
  protected $accessManager;

  /**
   * The controller class for my testing page.
   *
   * @return array
   */
  public function page() {
    // I create a user account that has the permission(s) I need.
    $account = $this->entityTypeManager->getStorage('user')->load(2);

    // If you need to get the route name:
    $route_name = $this->router->match('/the/path/to/check')['_route'];

    // You can create route parameters if any are needed.
    $parameters = [];

    // Checking the access.
    $debug = $this->accessManager->checkNamedRoute($route_name, $parameters, $account, TRUE);

    ksm($debug);

    return ['#markup' => $this->t('The page markup.')];
  }
}
</code>
When you view the page created by the above controller, it should give you an object with the information about the access check. You can see which AccessResult is returned, and one of the properties of the object is 'reason'.
It will most likely not give you all the answers you need, but it's a place to start.
This should work on both Drupal 8 and Drupal 9. If using Drupal 9, be aware that the Kint module is not part of the Devel module. It is part of the PHP required by Drupal 9. You can check out How to properly setup Devel and Kint on Drupal 9? • AltaGrade. More information about the checkNamedRoute() method: AccessManager::checkNamedRoute | AccessManager.php | Drupal 9.0.x | Drupal API
Comment: Very nice and helpful. Thank you !

I wrapped that into a drush command so now you can check with drush if a certain user may access a certain url with certain parameters (eg may user xyzzy access /node/123/edit).

In case anybody needs that:

https://www.drupal.org/project/drush_tools/releases/1.0.4
Comment: Wow, that's very helpful! But for my case I used route name directly in accessManager:
```
$route_name = 'block.admin_display';
    $parameters = [];
    $debug = \Drupal::accessManager()->checkNamedRoute($route_name, $parameters, $account, TRUE);
    dump($debug);
```

Debug "Access Denied"


Weird Finder behavior under OS X Leopard

Question: For several months now whenever I double click on a folder on my desktop via the Finder under OS X Leopard Finder closes my active window rather than opening the folder as it should.  Moving this folder somewhere other than /Users/somas1/Desktop/ allows me to open folders as expected.  The only way to currently to open folders on the desktop is to hold down the option button while double clicking.  What exactly is going on here and how do I fix it?
Answer: I haven't been able to reproduce this symptom, nor find a combination of controls in System Preferences and the Finder Preferences that would account for it.
It sounds like the finder thinks that the option key state is opposite from what you think it is. That is, closing the existing window when opening a new one is the expected behavior when the option key is depressed.

More:
Do I understand that this effects only folder on the desktop?
If so, control-click the desktop to bring up the contextual menu, then go to More...:Configure Folder Actions..., and see what is active for that folder.
Comment: Thank you, you've fixed my problem.  I had a very useless folder action enabled for the Desktop that auto-closed all subfolders.  I don't even understand why such a script exists and have never really "gotten" folder actions as a whole.  I think I turned folder actions on at one point to better understand them and then promptly forgot about them.


Can a SCOTUS hearing on constitutional matters be hung?

Question: I'm assuming that constitutional matters at a federal level are decided by a panel of judges. Is it then possible for such decision to be hung like what can happen with juries? Are judges allowed to abstain from voting or is it as simple as being put to a vote and there always being an odd number of votes?
Answer: Constitutional matters can be, and often are, decided by a single judge in a garden-variety trial court.  It's just that the judge's decisions may be reviewed and possibly overturned by a higher court, one of which is the supreme court.  Furthermore, district courts are bound by precedent.  If a case turns on a new statute, however, the trial judge can indeed find that new statute unconstitutional without a higher court first having done so.
If a panel of judges is evenly divided on whether to overturn a lower court's ruling, the lower court's ruling stands, but no precedent is set.
The supreme court often has an even number of justices hearing a case, whether because of a vacancy or because a justice has recused him or herself.
Comment: What is the difference between abstaining and recusal in this context?
Comment: @NeilMeyer I'm not aware of a justice abstaining other than through recusal.  Whatever the reasons underlying a particular voting pattern, though, reversal of a lower court's decision requires a majority.
Comment: This only partially answers the question.  It demonstrates that in most cases, the answer is a "no."  But it does not definitely show that the answer is always a "no."  Namely, can a question remain undecided in a case in which SCOTUS has the "original jurisdiction."
Comment: @grovkin the same principle applies: if the court is evenly divided, the moving party's motion is not sustained.  However, such cases have no precedential value.  I'll add this to the answer.


Disable Location History in Android

Question:
If I disable Location History and keep Location Reporting enabled, will Google still save the Locations I've been to? I am purchasing an Android phone for the first time and I am quite paranoid about security.
If I use plain GPS and not Google Location Services, will I be missing anything?
Is using Google Maps on Android secure, or should I use any alternate apps. I am looking for an offline GPS that I can use for apps like Runtastic etc.
Comment: The answer to "Is X secure?" is always "secure against what?" What are you worried about? It's secure in the sense that it won't let people run malware on your phone, but that's probably not what you're thinking of.
Comment: 1) In theory no, but probably, can be deleted at any time. 2) It will ONLY use GPS and not WiFi location and use more battery and not work indoors. 3) Opinion based. If you don't trust Google I guess Android is a bad idea to begin with to be honest.
Comment: If you're "that paranoid", I might refer you to my [Android without Google](http://android.izzysoft.de/articles/named/android-without-google-1) series. I can not really proof it, but I would bet Google is collecting all it can get – and disabling history just disables *you* from seeing it. There were enough other "incidents" where similar things were discovered which I could name (but don't fit in a comment, nor are on-topic here).
Comment: @RossC 2) can be done with OpenCellID for WiFi/Cell location. Concerning "Can be deleted any time" I have my doubts. That was said for backups of WiFi APs as well – still, tech magazin [Heise found them restored weeks later](http://heise.de/-1922971). For 3) – Android != Google. The former works fine without the latter (see link in my previous comment). Not sure if that can be said the other way around, too ;) But yes: definitely opinion-based.
Comment: @Izzy yeah can (in theory) be deleted. Unofficially (from sources) Chrome saves an extraordinary amount of data on the user, and it's saved full time. I wouldn't trust it myself tbh. Yeah Android and Google can be separated but it is hard to disable EVERYTHING and be sure there's nothing running somewhere behind the scenes. I can't tell the actual story but suffice to say I have seen people quit jobs and face serious hardship, claiming ethical concerns around data gathering in certain applications / browsers/ OS functions. Then the OEMs store their own data and send it out....
Comment: I have had 12 Mb .txt files send out from my phone despite disabling all those options thanks to Samsung amongst others. It's 'off in theory' but sending data like a good thing.
Comment: Which is why I'm speaking of a completely open source ROM using open source apps only. No chance to control proprietary stuff. Guess that's also the idea behind [Replicant](http://replicant.us/).
Comment: @Izzy thanks for the link you provided on Replicant
Comment: You're welcome, @HasH_BrowN (missed you in chat, btw ;) You might be interested in my summary below as well then :D
Answer: Summing up all the comments:
Will Google save the locations?
Definitely. As soon as you want to use the more battery-friendly "network based location" you have to agree that Google collects your location data "to improve its services":

click image for larger variant
So "location history" and "location report" are meaningless in this context. As it was adressed: Whilest theoretically you should be able to delete all collected data associated with your account, first Google claims here it's "anonymous" (so not connected to your account) – and second, noone except Google can tell if "deleting" really means the data was "destroyed". Different reports rather suggest otherwise, as e.g. a German tech magazin found out: They decided to delete all backups from Google servers. Weeks later, they wanted to test a new device, and configured it with the very same account. Miraculously, that device immediately connected to their WiFi. How can that be, with the backups deleted? (Find the full article here, in German).
Will you miss anything when switching to GPS only?
Depends on your "usage profile". When no satellites are in sight, you would be unable to find your location. That could be e.g. with heavy clouds, or inside buildings – where otherwise a "coarse location" based on WiFi APs and mobile cell IDs would be possible. But there are ways to get that functionality back without Google: The OpenCellID project is aimed to provide the data, and there are several connected apps – including alternative open source network location providers. But to use those, your device must be rooted, as these services must be installed as system apps. You can find out more in my Android without Google series.
Should you use alternative maps?
That's pretty much opinion-based. I do so, but not solely for the reasons you mentioned. There are alternatives (part 2 of the just mentioned series names some). Furthermore, let me quote Dan here:

The answer to "Is X secure?" is always "secure against what?" What are you worried about? It's secure in the sense that it won't let people run malware on your phone, but that's probably not what you're thinking of.

IMHO you cannot avoid completely that some services collect data on you. You can minimize it, you can make it harder for them – and you definitely shouldn't offer your data on a silver tablet. It's always balancing privacy and convenience. So how much privacy you can gain, depends on how much convenience you're willing to give up.
More hints
Not only if you're absolutely paranoid (correct: today that's called "informed"), a custom-rom can offer you advantages. As those usually ship without all the pre-installed bloat, your battery will last much longer (on my "Android device without Google", 3 times longer: 4,5 days, and still 20% left). In this context, I have to mention Replicant – which is aimed at absolute open-source. Unfortunately, only few devices are supported.
Comment: Great write up!  +1

Disable Location History in Android


Asking the user's goal in the Signup or first time Sign in?

Question: I want to qualify users in a SaaS product and understand how to bucket these users into use cases. Still, I wonder what's the best moment to add this question and reducing onboarding friction. Is the user psych any different from the sign-up and first-time sign-in?
Answer: Anecdotal: Yes. My experience is that people are far less resistant to voluntary surveys after signup/account creation. If you need to have this information before first use of the product/service, it should still be presented as a survey after the account has been created. In either case, you should preface the survey (or the request that the user take the survey) with a basic explanation of why you want the user to take the survey, and how responding will benefit the user.


Legendary sudo rm -rf /

Question: Just curious, what happens in OS X Maverick if someone issues sudo rm -rf /?
I heard most modern *nix systems are protected from this epic fail.
Comment: It just asks you for your admin password. ;)
Answer: In the interest of science, a VM died to answer this question:
testrm:~ admin$ sudo rm -rf /

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password:
rm: /dev/fd/0: Operation not supported
rm: /dev/fd/1: Operation not supported
rm: /dev/fd/2: Operation not supported
rm: /dev/fd/3: Not a directory
rm: /dev/fd/4: Bad file descriptor
rm: /dev/fd: Operation not supported
rm: /dev: Resource busy
rm: /home: Resource busy
rm: /net: Resource busy
rm: /private/var/log: Directory not empty
rm: /private/var/run: Directory not empty
rm: /private/var: Directory not empty
rm: /private: Directory not empty
rm: /System/Library: Directory not empty
rm: /System: Directory not empty
rm: /: Is a directory
testrm:~ admin$

Interestingly, it succeeded. Back in the Slackware 2 days, I tried this on Linux and after it deleted the dynamically linked libraries rm was using, it failed.
Comment: Anything that is already loaded into memory is still there. Also, any files that a process has open are still on disk, and the space is not reclaimed until after all   close them. So, since bash was running, it could still show its prompt, etc. But it would not be able to load any commands, since they are all gone.  Similarly, when I tried this from a terminal on the Mac, instead of doing an ssh in, the finder and UI was still there... But any time a program tried to open a file, it would fail.
Comment: @jalanb That is not version specific as all files under / need to be deleted before / can be deleted. However if you are storing these "must have files" you probably want to name them something at the end of the alphabet, as it goes in alphabetical order.
Comment: Why were you able to get the prompt at the end? Seems like `/bin/bash` would crash after being deleted. Or was that just not the entire output?
Comment: This also answers the question I had "What's the last directory to be removed during 'rm -rf /'?", which would seem to be `/`. So, if I do hit  in time, that's the place to store my few "must have" files.

Any ideas as to how OS and/or version specific that would be?

Legendary sudo rm -rf /


Using Phonegap for Native Application development

Question: I recently came across Phonegap. Have anyone of you tried it. Its an incredible tool which claims that developers can use HTML 5 based framework like Sencha touch and Jquery at the same time
having access to native features on phone. Also the code is portable from Android to Iphone with some effort. Before I plunge into it I want to know what is forum's experience with Phonegap. What are the pain points and is it really scalable for enterprise level application development.
Answer: I've built a couple of applications using PhoneGap, and for what it provides, it's great.  There are a couple of quick notes I would like to point out, which might help you.
Disable device-based features you're not using
The accelerometer, geolocation features are by default turned on.  If you're not using them, I would turn them off, as your app will load faster (initialize) and run smoother.
onDeviceReady - This is the method that's called once phonegap has loaded and is ready.  $(document).ready or whatever you're used to, doesn't really apply here - unless you're only doing interface/hard-coded HTML stuff.  If you're interacting with iPhone features, like GeoLocation, you will need to do everything after onDeviceReady has been called.
Pick a UI/library
There are a ton of options for the interface/libraries, jquery-mobile, sencha touch, jqtouch, etc.. These each offer a unique approach, and feature-set.  Do some research and use one, but avoid combining.  You can read about some more options, tools here:  http://www.phonegap.com/tool (link updated)
Also, more on just mobile development in general, with PhoneGap If you're looking to build apps, that are distributed through the Android market and iPhone App Store, I would read through their exhaustive lists for guidelines on how to develop your app.  For example, in the tools link above, there is a "tool/plugin" called Easy APNS - while this is useful for Android - and technically doable on the iPhone, it violates the development agreement, as it states you must use the Apple notification network, etc..  This is just an example, but reading up on that stuff will save you a lot of headaches, if that's your end goal.
All in all, it's great for lightweight apps, especially if you come from a web development background.  LocalStorage, GeoLocation, etc.. works really well.
Additional Edit:
I really think it comes down to what you want to do, and what you know how to do.  Matt pointed out that developing native apps, for iOS is better, etc..  Yeah, if you have the time and knowledge to learn that - of course native will be better.  But PhoneGap is made for web developers that can take their existing skillset and build apps.  Also, PhoneGap allows you to build apps quickly, for iOS, Android, Symbian, Palm, Blackberry.  With minor adjustments to your codebase for each.
Comment: If at the end of the day, you have time and money to learn the different languages to build native apps for Android and iOS - then by all means do that :)  But for most of us, using what we know to build apps that run really well on multiple devices, is a no brainer.
Comment: It seems that developers are divided on Phonegap.
Comment: easyapns is for iPhone notification only(not android) and does use  Apple notification network, not sure where you get the idea that it breaks the developer agreement..
Comment: A good debugger is your best friend.  Check out this to remote debug iOS: http://stackoverflow.com/questions/7242997/is-there-a-way-to-debug-the-iphone-browser
Comment: is porting angular js based webapp to mobile app using phone gap good option or not..in term of performance and ui?
Answer: Here are all the best Performance guides I've read for PhoneGap... there is alot to be wary of to ensure you have solid, stable performance... but you can pick it all up in just one evening of reading.
Here are the best nuggets:
PhoneGap/Mobile Web Performance Tips

How Diary.com increased the performance of their PhoneGap app running Sencha: http://www.phonegap.com/2011/06/21/building-the-diary-com-ios-app-using-pg-sencha-touch/
http://floatlearning.com/2011/03/developing-better-phonegap-apps/
http://jslint.com/ - to debug your javascript
http://zeptojs.com/ and http://xuijs.com/ - minimal alternative frameworks to jquery and jqtouch
Disable the accelerometer and location http://blogs.nitobi.com/jesse/2009/10/28/running-jqtouch-in-phonegap/

set "EnableAcceleration" to false in PhoneGap.plist
set "AutoRotate" to false in PhoneGap.plist

http://mir.aculo.us/2010/06/04/making-an-ipad-html5-app-making-it-really-fast/
http://cubiq.org/remove-onclick-delay-on-webkit-for-iphone
Demo: http://cubiq.org/dropbox/clickdelay.html
FastClick v TouchStart: http://groups.google.com/group/phonegap/browse_thread/thread/f5f5c78e26513821?pli=1
http://forum.jquery.com/topic/ontouch-instead-of-onclick-event
http://wiki.phonegap.com/w/page/16494809/Performance-tips-for-device/
http://www.developer.nokia.com/Community/Wiki/JavaScript_Performance_Best_Practices
http://evolvingwe.com/building-an-iphone-app-part-3-7-dev-tips/
http://evolvingwe.com/upgrading-to-phonegap1-0/
VIDEO Performance Tips for Sencha Touch: http://vimeo.com/17882927

It covers performance features in Sencha, which are great principles we can reapply. We may even be able to cut code from certain pieces of Sencha to reapply for Skej.
It states that we MUST destroy anything that is not visible on the DOM. And that the DOM must be kept as small as possible at all times, with as few listeners as possible. (I.e attach one listener to the parent item of a list, rather than to each list item.)
It also has practical CSS3 tips for me to apply... Basically, dont use many of the new transitions and shadows/round corners because the currently use CPU, and not yet GPU.

Event Delegation in Sencha Touch: How to design lists with a single listener, and not one on every line. http://www.sencha.com/blog/event-delegation-in-sencha-touch/
Optimizing DOM Memory Usage in Sencha Touch: Sliding from a List to a Details panel and killing the list, and then sliding from Details to a List and killing the details panel. Minimizing elements on your screen, your DOM. http://www.sencha.com/blog/sencha-touch-optimizing-memory-usage/
DESTROY ANYTHING THAT IS NOT VISIBLE ON YOUR DOM!
Use CSS Animations instead of jQuery
http://nyroo.com/l/B7UN5c
http://www.ferretarmy.com/css-animation-examples/

Be careful... these are tricky when they don't leverage the GPU, and bog down the CPU.

Enabling New Functions

Enable Retina Display: http://evolvingwe.com/create-retina-display-images-in-mobile-web-themes-and-phonegap-apps/
Swipe to delete: http://www.codesta.com/blog/2011/5/23/sencha-touchphonegap-tips-and-tricks.html
Disable accelerometer and location: http://iamcam.wordpress.com/2009/10/29/phonegap-up-to-speed/
Cut jQuery and Hand-code: http://cubiq.org/do-you-really-need-jquery-for-mobile-dev
Display Contact List in Mobile Safari: http://cubiq.org/contact-list-on-webkit-for-iphone
iScroll4: Create a header, scroll within a fixed size div, pinch and zoom, pull up/down refresh. http://cubiq.org/iscroll-4 (Includes tips on rubber-band effect.)
PhoneGap's GitHub repo: Includes interesting examples like DatePicker, SMSComposer, ApplicationPreferences, Splashscreen, NetworkActivityIndicator... https://github.com/phonegap/phonegap-plugins

Architecture
Architecting your App in Ext JS 4: http://www.sencha.com/learn/architecting-your-app-in-ext-js-4-part-2
Comment: Great collection of documentation.. Really helpful thanks :)
Answer: Before expressing my opinion of Phonegap, I need to issue a little disclaimer saying that I am, by no means, a web developer. For me, writing JavaScript and CSS is like pulling teeth. That said, I don't like Phonegap.
There are a few very appealing aspects of the framework, mainly the "Write-Once-Run-Anywere" appeal and the "I-Don't-Have-To-Learn-Objective-C?" appeal. The framework can even give you access to some of the hardware features like the accelerometer. All of these are valid, to a certain extent.
That said, none of the great iOS apps are built using any kind of cross platform framework. There are so many subtle and elegant UI interactions that are handled for you by the native UIKit controls that many users and developers take for granted until they're missing, like the slew of incredibly detailed view animation curves and scrolling bounces that aren't there in the web-view based UI. You could toil to reproduce them perfectly, but for that time investment, why not just go native?
A second point to note is that the support community for Phonegap-built iOS applications is drastically smaller than natively developed applications. If you're one to rely on the community during projects, this should also give you pause.
In the end it comes down to the quality of experience you want to deliver. The upper bound is lower with Phonegap. If you're ready to accept a less-than-excellent user experience in exchange for reduced development times and increased portability, than it is a very viable framework.
As subtext for any who are interested, Marco Arment and Dan Benjamin recently discussed this topic. You can listen to it here.
Comment: +1 Great point on the size of the community.
Comment: +1 Great point on user experience. It really matters in iOS.
Comment: you can create the same user experience in phonegap too.
I do not think it is only a matter of learning objective c.
as other mobile OSes become popular: Androi now, lets see what happens to Windows Mobile and Firefox OS ... the crossplatform solution will be THE solution if you want to not be limited to the x% market share that iOS will have then.
Comment: @memical, the Facebook dev team would disagree with you, for one. I'm not saying it doesn't make sense from a market coverage perspective, I'm saying it's not as performant as native. Despite what you say, that's a fact.
Answer: The installation procedure involves a number of packages (Java, Apache Ant, Ruby, iOS SDK, Android SDK and PhoneGap itself), which all have to be correctly installed and set up. This can be a major effort. To be fair, they have something called PhoneGap Build in beta that should make this much easier.
We use it with NS Basic/App Studio to produce apps which qualify for app stores.
Comment: [PhoneGap Build](https://build.phonegap.com/) is still in beta a year later, more than six months after Adobe bought the original developer, Nitobi.
Answer: if your are not making a game nor widget, just plain nice-looking app then phonegap is your choice.
But you should take care with your JS, avoid doing anything in JS
for example if you want to do any animation avoid setting a timer with small intervals (eg. 100 ms), avoid jquery and alike animations. For example instead of animating fade by setting a short-period timer decreasing opacity at each point step by step (this is how jquery fade work), you should use css3 transitions from opacity 1 to opacity 0.
My advice is to go with something like zeptojs.com, after all phonegap won't run ie6 :-)
Check some tutorial on how to make your JS more light
http://bcksp.blogspot.com/
Comment: actually you can now build games as well
Answer: If you don't need any of the hardware features or performance beyond what HTML5 and Phonegap provide, an encapsulated web app (plus some limited access to other features) is a great solution.
Many enterprises deploy large scale web apps.  Phonegap (or just a plain web view control with embedded content) will allow you to run these web apps offline (except, of course, for any online data required).
Answer: One "pain" not mentioned when deploying among several different devices: The more devices, the greater the learning curve. To deploy to iOS devices with PhoneGap, you'll need to learn the basics of Xcode on a Mac. To deploy to Android, you'll need to install and learn Eclipse, the Android SDK, etc. The other platforms demand their own SDKs be used. Learning some rudimentary Xcode, Javascript, and Java helps me to understand errors and general syntax.
"Create once, deploy everywhere" leaves out a LOT of steps!


Does it make sense to purposefully run multiple regression with missing values for certain dummy variables?

Question: Let me explain.  You have a multiple regression using time series data within an econometrics model.  And, some of your variables are either dummy variables or interaction variables.  So, they take a value of 0 or a continuous value.  As an example, let's say one of your variable is the quarterly change in 5 year Treasury rate.  And, you disaggregate that variable into two.  One would cover the pre-Greenspan era from 1951 to 1986.  And, the other one would cover the Greenspan era to the present.  The first variable will show the quarterly change in such Treasury rates until mid 1986.  Thereafter, it will have a value of 0 or 0%.  Someone suggested that instead such a variable in the Greenspan era to the present should not have a zero value, but instead be blank.  In essence, creating purposefully missing values.  The argument is that this variable does not have a true value of 0% in the specified time frame.  Instead, it is truly absent.  And, this could affect the magnitude of its regression coefficient or impact on Y.  I question this rational on two counts.  First, I am not sure that any software could calculate such a regression with variables with different numbers of observations.  And, I think there is a very specific reason for that as outlined in my second argument.  Second, multiple regressions are resolved through matrix algebra including the use of covariance matrices and the inverting and transposing of such matrices.  And, those calculations are impossible with missing values on some of the variables.  In my mind, I believe I have already answered this question.  Can you tell me if this answer is correct.  Or am I missing something.
Comment: Why wouldn't you want to have a single quarterly change in 5 year Treasury Rate column and then a second indicator variable with 0 = pre-Greenspan and 1 = Greenspan?
Comment: I believe you can also use an interaction to address a slope. Or use a hierarchical model. Both of these suggestions are also not what you've asked for, but it's my feeling that you've spelled out the problems with either specifying 0 or NA, and they seem hard. The NA solution seems equivalent to just running two unpooled regressions (pre- and post-Greenspan). So I'm trying to question whether there isn't a way to structure your problem so you don't have two variables that correspond to the same data but in two different eras, which is the root of your dilemma.
Comment: Your structure creates a Greenspan intercept adjustment dummy variable.  There is nothing wrong in doing so.  But, it is not the topic of this issue.
Comment: You can run an a model with an interaction variable.  The Greenspan intercept adjustment dummy is not statistically significant.  So, you can keep the slope-interaction variable 5 year Treasury times Greenspan intercept adjustment dummy (the latter not being used in the regression).  And, you get the exact same result than with the variables as structured in example.  The meaning of the coefficients are different.  But, estimation is identical.
Comment: You could set variables to 0 instead of NA, but only if that equates to 0 in your regression formula.  For example: X=0 is fine in Y ~ X + sqrt(X), but X=0 is wrong in Y ~ X + log(X).  But even the "fine" case is ugly.  Don't do it this way!
Comment: Wonderful like-minded colleagues, please focus on the issue at hand.  I am not talking of complex models.  I am not talking of values that obviously can't have a value of 0.  I am asking a simple question.  Can you run a regression with missing values on some of the variables instead of zeroes (in the case of dummy or interactive variables).  And, I am answering it myself...  you can't because the underlying Matrix algebra requires that your variables have the same number of observations.  Is this correct?  I am 99% sure.  I would like to be 100% sure.
Comment: When you say "the underlying Matrix algebra requires that your variables have the same number of observations," I do not know what that means, in particular "your variables have the same number of observations."  What does it mean for a variable to "have an observation?"  What I do know is that interacting a nominal (dummied out) variable with a numerical variable is totally fine.  I was at first under the impression that this was your DV, which would not be great.
Answer: It's not that matrix computations are especially finicky: the plain old arithmetical operations they concisely represent are defined on numbers. You can't carry out a regression when an observation has a missing value on a predictor; you need to either substitute a number, or omit the predictor, or omit the observation.
It may assuage someone's doubts to work out the consequences of your coding scheme. For your predictor $x$, let
$$ x_1 =\left\{\begin{array}{ll}
x & \mathrm{pre-Greenspan}\\
0 & \mathrm{post-Greenspan}\\
\end{array}\right.$$
$$ x_2 =\left\{\begin{array}{ll}
0 & \mathrm{pre-Greenspan}\\
x & \mathrm{post-Greenspan}\\
\end{array}\right.$$
The expected value of the response $Y$ is given by the model
$$
\operatorname{E}Y  = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \ldots
$$
where the $\beta$s are the coefficients you'll estimate. Now pre-Greenspan
$$\operatorname{E}Y  = \beta_0 + \beta_1 x + \ldots$$
while post-Greenspan
$$
\operatorname{E}Y  = \beta_0 + \beta_2 x + \ldots
$$
—the intercepts are equal & the slopes of $\operatorname{E}Y$ vs $x$ differ in the two time periods, which is, I gather, what you wanted.
As you say, your method is equivalent to @Wayne's method without the indicator variable appearing as an isolated term, but only multiplied by $x$. Note the constraint that when $x$ is zero, $\operatorname{E} Y$ is the same in both time periods (given equal values of other predictors)—most people would want this violation of the marginality principle to have theoretical support as well as not being discrepant with the data.
Answer: Why not just calculate a regression for the data pre-Greenspan (using the data 1951-1986) and calculate another regression using the data post-Greenspan (using the data 1986 onwards)? If you have some assumptions on e.g. the intercept, you can still include that. Setting values to zero will naturally distort your regression.
And it is perfectly possible to calculate statistics and perform fitting with missing/incomplete data - just not with the usual matrix formalism (and as said, filling the missing values just to use the "inappropriate" tools is problematic) - in the case of unbalanced observations or missing data the estimators are then calculated as sums (of which matrix multiplication of course is a special case).
Comment: Splitting the regression into two is not interesting to the question at hand.  Meanwhile, your second paragraph contradicts the answer of Scorchi.  Given that I specified in the question that I was working with a multiple regression framework, I trust Scorchi's answer is correct.  And, yours is probably not wrong but not focused on the relevant methodology.
Comment: Let me specify: Correct, you cannot do it in a matrix framework. However, as multiple regressions do not always use matrices, this means that you can do multiple regressions in the presence of missing values - you just have to use other tools than matrices to arrive at the result.
Comment: Brkn Kybrd can you clarify how you would do that.  Using OLS, maximum likelihood, etc..., I am not familiar with a closed form algorithm that could solve for multiple regression coefficients with missing values.


Present simple + time? "I can't do it for the next 5 hours"

Question: Is it correct to say something in present tense, but it has a time information that will be taking place until a certain time in the Future.
For example,

I can't do it for the next 5 hours.
Answer: It depends on what you're trying to express.  If you mean it will take more than five hours to do, then the expression would be something like:  "I can't do it within the next five hours."  Your sentence, "I can't do it for the next five hours," is fine if you mean you won't be able to get to it until five hours from now.
Answer: This is general negation not in simple present but with timeless  modal, CAN and " for the next five hours " is an adverbial phrase with no discernable impact on 'my doing'. This sentence makes use of the adverb phrase like general adverbs like 'continuously', ceaselessly  or uninterruptedly  and, "for the next five hours" is an exacting elaboration of this continuity. It would be unfair to relate it with the verb which is by no means affected by it. The time factor has no direct bearing on the verb which expresses only an ability/possibility with the use of MODAL AUXILIARY, "CAN".
When we use modal auxiliaries like CAN/COULD, it is in irrealis mood, subjunctive mood or timelessness. To be precise here's an action or state which is hypothetical or anticipated rather than actual including wishes and commands. The modals (as CAN ) may refer to probability,  uncertainty or tentative ness of the present, past or future. Time of action is not important at all.
There had been a time,— will, shall, may and CAN— did exist in present and past but now their past forms exist in their own right and historical tense connection is remotely echoed in backshiftng in narration change. In englishforum.com in a discussion about timelessness of modals, it is succinctly remarked some modals (they're four) are tensed in form but tense less in usages.
Our instant example negates the time factor; it can as well admit of the same continuation and would  remain as usual  irrealis as time and aspect of the verb is not kindled  since modal CAN expresses the ability of a probable  action.
The action is not in the present, nor would it happen in the future ; it is an expression of your inability. In subjunctive expression time aspect is inconsequential — for the mood of the verb is timeless with the use of  CAN.


If $X$ is a random variable, why is the PDF of $X + X$ not the same as the PDF of $2X$?

Question: Background:
According to Wikipedia, the PDF of the sum of two random variables $X$ and $Y$ is given by the convolution:
$$f_{X + Y}(x) = \int_{-\infty}^{\infty} f_X(\eta) f_Y(x - \eta) \; d\eta$$
Therefore for the PDF of $X + X$ we have:
$$f_{X + X}(x) = \int_{-\infty}^{\infty} f_X(\eta) f_X(x - \eta) \; d\eta$$
Additionally, the stated PDF of the product of two random variables $X$ and $Y$ is given by the integral:
$$f_{XY}(x) = \int_{\infty}^{\infty} f_X(\eta) f_Y(x/\eta) \frac{1}{|\eta|} \; d\eta$$
It follows from this formula that the PDF of a constant and a random variable is given by:
$$f_{\alpha X}(x) = \int_{-\infty}^{\infty} \delta(\eta - \alpha) f_X(x/\eta) \frac{1}{|\eta|} \; d\eta$$
$$f_{\alpha X}(x) = \frac{f_X(x/\alpha)}{|\alpha|}$$
Example:
Suppose we let $X \sim N(0, 1)$ such that the PDF of $X$ is:
$$f_X(x) = \frac{1}{\sqrt{2 \pi}}e^{-x^2/2}$$
This gives the PDF of $X + X$ as:
$$f_{X + X}(x) = \int_{-\infty}^{\infty} e^{-\left((x - \eta)^2 - \eta^2\right)/2} \; dx$$
$$f_{X + X}(x) = \frac{1}{2\sqrt{\pi}}e^{-x^2/4}$$
Whereas the PDF of $2X$ is:
$$f_{2X}(x) = \frac{1}{2}f_X(x/2)= \frac{1}{2\sqrt{2\pi}}e^{-x^2/8}$$
Therefore we see that $X + X$ is distributed as:
$$X + X \sim N(0, \sqrt{2})$$
While $2X$ is distributed as:
$$2X \sim N(0, 2)$$
The Question: Why is this the case? Clearly the mathematics implies that variables $X + X$ and $2X$ have distinct meanings, however I am struggling to find an intuitive explanation for why they would be different. It seems that for a physical property distributed as $X$ that $X + X$ and $2X$ would be identically distributed. It could also be the case that this is true and that I am somehow misapplying the formulas given above. In either case, I would appreciate any insight.
Comment: covolution works only for indepedent random variables; this is also carefully discussed below :-)
Comment: This is well stated.  But I believe it's a FAQ.  See, for instance, https://stats.stackexchange.com/questions/21549  or  https://stats.stackexchange.com/questions/600037.  For a long list of applications, search our site for [convolutions of dependent random variables](https://stats.stackexchange.com)./search?q=convolution+depend*+random+variabl*)
Answer: $2X$ and $X + X$ are the same random variable. Your confusion arises since you forgot a key condition of the convolution: It gives the distribution or pdf of two independent random variables. Obviously, $X$ is not independent from itself, so you cannot apply the convolution formula in your setting. Additionally, in your example, $2X$ has variance $\sigma^2 = 4$ and it is more common to write this as $N(0,4)$ than $N(0,2)$.
Comment: I think OP is using the (less common) convention of writing $\mathcal{N}(\text{mean}, \text{standard deviation})$ as opposed to $\mathcal{N}(\text{mean}, \text{variance})$ - that would fit with both the results they derived.
Comment: @RubenvanBergen Yes, I clarified that in the post. Thanks.
Answer: (Edit: it looks like the answer by PBulls that I referenced below has now been deleted.)
I have to disagree with the answer given by PBulls. I would always interpret $X+X$ s.t. when we have a draw of $X$, the corresponding draw of the sum $X+X$ would be given by that drawn value plus itself, which is the same as twice that drawn value. In other words, $X+X=2X$.
See also this answer from Math Exchange which agrees with me.
In other words, the premise of your question is false: $X+X$ does in fact have the same distribution as $2X$. The convolution of PDF's only applies when adding two independent random variables, $X$ and $Y$. If $X=Y$, then they are not independent - far from it.
Comment: Yeah, I really didn't approach this with any form of mathematical rigor & seem to have started from the same error as the question - that X and X are independent. I'll stick to more applied questions for a while ;-)


Were animals not afraid of people before the flood?

Question: Gen 9:2

All the animals . . . will look on you with fear and terror. (NLT)

This seems to indicate to me that there was a different relationship between people and animals after the flood.
Answer: Two things occurred after the flood:

Gen 9:2 - The fear and dread of you will fall on every living creature on the earth, every bird of the air, every creature that crawls on the ground, and all the fish of the sea.

Gen 9:3, 4 - Everything that lives and moves will be food for you; just as I gave you the green plants, I now give you all things. But you must not eat meat with its lifeblood still in it.

Thus, after the flood, God, by His own declaration, placed the "fear and dread" of man into animals, and, man was given permission to hunt and kill animals and not just vegetable matter.
There is no mystery why animals feared humans after the flood.
Answer: Were animals not afraid of people before the flood?
No, the Insight on the Scriptures offers two points to establish this. Under the topic "Animals", we see the following:

Animals were so created that they would have a fear and dread of man as their superior. (Ge 9:2, 3) According to naturalists, wild creatures, such as the leopard and the king cobra, normally prefer to retreat from man's presence, although they do attack when provoked, wounded, cornered, or suddenly surprised. It has been suggested that tigers become man-eaters, for example, by force of circumstances, such as old age or injury that would greatly limit the tiger's ability to procure its normal game, or the depletion of the tiger's game through man's hunting.

Under the topic "Fear", the subheading "Animals Toward Humans" gives Dr. George G. Goodwin's attestation:

At Genesis 9:2 the word "fear" is used in connection with the animal creation. God told Noah and his sons: "A fear of you and a terror of you will continue upon every living creature of the earth." During the year that Noah and his family were inside the ark, the animals and birds penned up therein had a fear of these humans that helped to restrain them. Accordingly, when they emerged from the ark after the Flood, Jehovah gave Noah assurance that this fear would continue. This is supported by human experience. Dr. George G. Goodwin, Associate Curator of Mammals, The American Museum of Natural History, said: "Normally, a leopard will not attack a man. If provoked or wounded, however, the animal will turn on human beings and fight." Similarly, if given the opportunity, poisonous snakes known for aggressiveness, such as the mamba and king cobra, prefer, as a rule, cautiously to glide away from the presence of man rather than attack. Though man has mistreated and turned some animals into vicious creatures, it is generally true that this restraining fear still applies. This is in harmony with God's statement at Genesis 1:26-28, that the animal creation was to be subject to man from the time of his creation.

Gill's Exposition of the Entire Bible commentary explains:

This is a renewal, at least in part, of the grant of dominion to Adam over all the creatures; these obeyed him cheerfully, and from love, but sinning, he in a good measure lost his power over them, they rebelled against him; but now though the charter of power over them is renewed, they do not serve man freely, but are in dread of him, and flee from him; some are more easily brought into subjection to him, and even the fiercest and wildest of them may be tamed by him; and this power over them was the more easily retrieved in all probability by Noah and his sons, from the inhabitation of the creatures with them for so long a time in the ark:

So, from the beginning, animals were under the authority of man and Jehovah God reiterated this to Noah after the flood.
[All scripture quotations from the New World Translation of the Holy Scriptures (Study Edition)]
Answer: We have very little in terms of records concerning pre-Flood conditions, and the little that we have was all written well after the Flood, largely by Moses.  The only other pre-Flood evidences we have come to us via archeology and the fossil record.
The Bible indicates, however, that God or His agents led a selection of animals to the ark.

There went in two and two unto Noah into the ark, the male and the
female, as God had commanded Noah. (Genesis 7:9, KJV)
there came two and two unto Noah into the ark, male and female, as God
had commanded Noah. (Genesis 7:9, Darby)

God had told Noah that he would need to take in animals into the ark, so that Noah would know to prepare provisions for them.  But here in verse 9, the language indicates that the animals went in, as if on their own volition.  However, the fact that they went into the ark in exact pairs, male and female, indicates that they were supernaturally guided to the ark.
If the animals had been led by God or by His angels, it tells us little about whether or not the animals had been afraid of man at that time.  However, the implication is that they were.  One might ask, "Why weren't Noah and his sons given the task of finding and bringing the animals into the ark?"  Assuming that the task was not monumental and that they had sufficient time for it, there seems nothing to stop them from doing this very thing if the animals were not afraid of them.  But God led them to the ark--a clear sign that the task would have been too great for Noah and his family.
It is likely that hunters existed before the Flood, which would have taught the animals to fear humans--but the Bible's first mention of a hunter comes shortly after the Flood.

And Cush begat Nimrod: he began to be a mighty one in the earth.  He
was a mighty hunter before the LORD: wherefore it is said, Even as
Nimrod the mighty hunter before the LORD. (Genesis 10:8-9, KJV)

One reasonable interpretation of Genesis 9:2 is that God needed to cause the animals to be afraid of man after the Flood because man's strength was to rapidly weaken and he would be put to the worse in any confrontation with one of the more ferocious animals.  By instilling fear in the animals, God protected mankind.
The fossil record proves the existence of some very large animals before the Flood.  Because those animals (dinosaurs) do not exist today, we can assume God did not choose to preserve them through the Flood for the same reason--man would be unable to subdue them and to maintain his dominion, as God had desired.

And God blessed them, and God said unto them, Be fruitful, and
multiply, and replenish the earth, and subdue it: and have dominion
over the fish of the sea, and over the fowl of the air, and over every
living thing that moveth upon the earth. (Genesis 1:28, KJV)

By putting the fear of man into every animal, God made it possible for man to keep this commandment.
Comment: "Because those animals (dinosaurs) do not exist today, we can assume God did not choose to preserve them through the Flood for the same reason" If you're going to go for a literal global flood, surely you'd have to say that Noah took *all* the land animals on the ark too. Why wouldn't mankind be able to hunt them to extinction?
Comment: @curiousdannii Your question goes beyond the scope of the OP's question and involves great changes to earth and its atmosphere that occurred at the time of the Flood.  I favor the canopy theory and find Biblical support for it--just study the Hebrew word for "firmament."  Following the Flood, that canopy of water no longer existed, and oxygen levels dropped, atmospheric pressure dropped, and lifespans of humans rapidly dropped.  But human _size_ dropped as well, and mankind would no longer have been able to "subdue" the larger animals.  "Jurassic Park"-style dangers come to mind.


Sensing when micro USB power cable is unplugged from a smartphone (or other device)

Question: I am looking to create a charging device that can provide 5v power to charge a smartphone (or other consumer electronics device) via micro USB. How would I go about making this charging device "aware" of when it is plugged into the smartphone or not? It would need to be able to detect a simple "unplugging" of its micro USB male end from the smartphones's micro USB female end. It would need to be able to detect the "unplugging event" regardless of whether the smartphone is charging or not (i.e., it should not be affected by whether or not it is charging).
Comment: It would be really helpful that you've measured the current going into the smartphone in charging, fully charged and unplugged phases.
Answer: A USB device requiring charging will usually signal its presence either by attempting to negotiate digitally or by placing certain combinations of resistance on the data lines (depending on its sophistication).
At end of charging it will decrease charge current to essentially zero but is liable to maintain a voltage monitoring presence on the line. It may also maintain a resistive ID on the data lines.But that is less certain.
It is extremely unlikely that a phone will draw NO current when connected. Load will be very small when fully charged but is liable to be detectable.

[1]. Wikipedia on common universal power supply.
[2]. Here is USB.ORG's developers approved class specification documents download page. The documents are longer than the title. Much.
For all there is to know about the battery charging interface you could download.

Battery Charging v1.2 Spec and Adopters Agreement (.zip format, size 589 KB)

The old version is also there as

Battery Charging v1.1 Spec and Adopters Agreement (.zip format, size 292 KB)

Also see these - with the 2nd possibly most relevant

USB 3.0 Connectors and Cable Assemblies Document Rev. 1.02
Cable and Connector Class 2.0
Series 'A' Plug form factor Guideline 1.0
USB Connector for Mezzanine Applications Guidelines Rev. 1.0
Micro-USB Cables and Connectors v1.01 Spec and Adopters Agreement

OR (recommended), just try it.
Get a microusb cable which you have access to the conductors of. Plug into a socket you can probe or cut the end off a cable or ... .
Plug in a phone and measure the voltages bewtween data + and - and power + and -.
Repeat with a few phones.
A pattern will emerge.
Tell us about it.
Note that as the spec has evolved so too will the phones, so what phones do now will be subtly (usually) different than a year or few ago. Drwaing current somewhere is liable to be a common thread.
I haven't tried this with recent phones but intend to. May not be soon enough for you though.
Answer: The USB specification requires a device to have between 1 and 10 uF of capacitance across its 5V and GND pins.  It requires the hub (i.e. your charger) to have at least 100 uF of capacitance across those same pins.
This allows the hub to detect plug/unplug events without depending on the digital protocol, so it doesn't have to be "polling" the digital pins to detect a plug or unplug event. The detection is done by monitoring the current on the 5V line between the 100 uF cap and the A connector: Plugging in a device will cause an outward-going current spike as the 100 uF capacitor quickly charges the device's (<= 10 uF) capacitor, and unplugging will be seen as an (AC) spike in the other direction as the current on the resistor (and hence its voltage drop) drops to 0.
So all you need is a current-sense resistor in the 5V line, a current sense amplifier, and a couple comparator circuits. (You could cut it down to one comparator if you use a PIO output to change the comparator's threshold as needed.)
Comment: While the device capacitor should work for plugging in, it does not by itself work for unplugging a device that is fully charged and has basically stopped drawing current.  It really depends on how much current is being drawn by the idle device - just about none from the device's capacitor alone (unless it's a terribly leaky bad one).
Answer: What if the micro usb had a protruding momentary switch.  This would no be closed when unplugged that letting you know item is unplugged.
Comment: This would work but would add another mechanical fault point. The Standard actually already defined a procedure for this.


Stochastic gradient descent and its variations

Question: As I understood, SGDW and SGD + momentum is two different optimizer techniques and SGDWR is SGDW + scheduler in a form of cosine annealing with warm restart. Am I right? If not, please correct me.
So, another question would be, can SGDW and SGD + momentum be merged together or it will be pointless in terms of results?
And which one out of three show better results (even if it is individual for each model, but asking in average) in terms of better generalization, peak accuracy and times it get to this peak?
Thanks in advance!
Answer: I am late but anyways.
To answer second Question,
SGDW is usually defined as below (given in this paper Decoupled Weight Decay Regularization)

So, SGDW has momentum term in itself. It is just that the weight decay term is separately added. But it should be noted that if Loss function contains L2 regularization then SGDW will be same as SGD except you can choose the decay rate and learning rate without affecting each other.
Hence we need not merge them, since SGDW has all the characteristics of SGD+momentum.
To answer the first question,
Yes, SGDW and SGD + momentum is two different optimizer techniques. As far I understand SGDWR is SGDW with warm restart, the scheduler can be of any form.
To answer your last question,
This is really problem dependent. But I use warm restarts most of the time because initially since the weights are randomly initialized the gradients of each of the weights will be of different magnitude (and usually high). I find SGDWR to give better results in terms of accuracy.


Dynamic Paint with sequence of colors as brush

Question: I want to paint a sequence of colors dynamically onto an object.
In the blender docs under the category Dynamic Paint > Paint there is an example image that shows a sequence of colors painted on a surface. In the settings of the brush I can only draw a single color.
Blender Docs Image
How can this be achieved?
Answer: If you have e.g. a plane as canvas, you can make e.g. two objects (or even more) as brushes. If you give them a different color, you can get this:

Shading nodes of the plane:

You can of course animate/keyframe the brush/paint color.

result:

for color by distance feature you can use this node setup:

result:

although the animated gif looks a bit weird here (the white stripe isn't really white) but if you follow my node setup it works.
Comment: but can I change the color based on the traveled distance instead of the shading nodes of the plane?
I want this to be like a pen that is filled with different colors that releases the colors in the given order, independent of the surface.
Comment: just animate/keyframe the brush color. I updated my answer
Comment: ah! great, I didn't know that the color value could be keyframed, thanks!
Comment: You are welcome


Can you attack multiple targets when you have a rate of fire greater than 1?

Question: I'm DMing a campaign with OSRIC as the base rules and 1e AD&D as secondary rules where needed.  One of our characters is using a bow that the rules say has a rate of fire of 2.  I'm looking for a published rule that clarifies whether or not the character must attack the same target with both shots.  I've not been able to find it in the Gygax PHB, DMG, or OSRIC 2nd Edition.
Answer: You've not been able to find such a rule because there is no restriction. Having multiple attacks allows you to use them against multiple targets.
Comment: That's exactly how it works, yes. The rules for timing multiple attacks by PCs apply to all ways of having multiple attacks, barring rules or rulings that make exceptions. (e.g., the rule that allows claw/claw/bite to be all at once; or a DM ruling that a handful of shuriken may be thrown all at once instead of sequentially.)
Comment: Does that mean that rate of fire of two should be viewed as multiple attacks per round in the same sense as a fighter gaining multiple attacks at higher levels?  If that is the case, maybe I should move the second arrow to the end of the round like you would with a fighter's second attack.
Comment: Or you could assign a penalty to the to-hit roll. I tend to eyeball the proposed target and if it's within a certain range, say 20' or so, I'll allow it, but if it's waaaaaaay across the battlefield, at lower levels, I might assign a -2 to hit.


PTIJ: It's not Rosh Chodesh Adar for me yet. Do I need to filter PTIJ posts?

Question: I live in the USA where it is not yet Rosh Chodesh Adar. However there are Israelis for whom it is Rosh Chodesh Adar, and they are posting Purim Torah questions to Mi Yodeya. Am I halachically obligated to filter out PTIJ posts until it is Rosh Chodesh Adar for me as well?

This question is Purim Torah and is not intended to be taken completely seriously. See the Purim Torah policy.
Comment: This seems more like a meta question to me, no?
Comment: the new month is determined by where YOU happen to be, as defined by your local vaad hakashrut -- as they say, Chiddush b'makom teuda.
Comment: @Daniel If it asked if site policy demanded he not look, that would be meta. He's asking a halachic question. A very important one, in fact! :)
Comment: Related: https://judaism.stackexchange.com/q/55196/3483
Comment: Check out the International Date Line threads.
Answer: The halacha as not brought in Shulchan Aruch is משנכנס אדר מרבים בשמחה, when Adar enters you increase happiness.
So as long as you grumble and complain about the fact that it isn't really Adar yet, and get no happiness out of the whole thing, you could look at these questions.
If you can ruin the fun for others, הרי זה משובח.
Comment: This is the best answer ever given on MY.
Comment: Ouch! I sense a lot of sarcasm embedded in that humor :-&
Answer: On the first day of Adar, the court used to start announcing the collection of shekalim (Shekalim 1:1), because they couldn't use the new shekalim until a month later. "Shekel" means "weight." So if you can't weight, you're following an ancient tradition. So not filtering is obviously the weigh to go.
Comment: What if I was a Jewish doctor? Because then I'd have lots of patients.
Answer: I would think that due to the concept of דאקדומי פורימתורה לא מקדמינן (which is the Girsa of some Acharonim on Megillah 5a), one would be Chayav to filter it.  However, the Ritva (Megillah 5a) says:

ובתענית שלפני פורי' שנהגו להקדימו ליה משום דההוא תענית תשובה היא ולית בה משום אקדומי פורימתורה כלל ולא עוד אלא שתענית יחיד היא

For the Taanis Shelifnei Purim (answering before Purim, i.e. Mi Yodeya Purim Torah), which the custom is to make earlier, it is because the point of such an answering is to give the correct Teshuva (answer), and therefore the above concept of Akdumei (above) does not apply.  Also, it is because it is only the answering of one person.
Therefore, according to the Ritva, there are a few points that must be noted:

You do not need to filter the PTIJ posts, as "Akdumei" does not apply
You may only do this so you can answer the PTIJ questions, which is the whole point of them being asked.
However, due to the fact that it is a Taanis Yachid, you may not participate in any Community Wiki answers
Answer: What's confusing, here, is not as much M.Y.'s policy, but what standards they are using to define Rosh Hodesh Adar.
As you know, originally, witnesses were used to declare the molad, and then, Sanhedrin declared Rosh Hodesh after confirming things. So, I think we need to ask the moderators, here, if they think they are like Sanhedrin, and if they really declared Rosh Hodesh, or not. Who were the witnesses that showed up, or are we not allowed to know?
I'm not concerned about how long it takes to send the messengers, as posting the declaration on the web, would, nowadays, quickly get the message out.


How do I wall mount this sink?

Question: Please let me know how this round sink is mounted. There's no lip and I don't know how the brackets would go on it. Thanks.
Comment: what brackets are you talking about?
Comment: Can you provide a photo or fixture model number?
Answer: Looking at the top back of the sink, there are two screw holes provided, but these are for location not full weight bearing.
Having removed a similar sink in the past, there should be two (ornate) cast iron arms which may also double as towel rails which are secured to the wall and support the weight of the sink.
Another version would have two posts that came up from the floor to the side/front of the sink, there may be evidence of fixing points if you look - the picture does not show us. You might consider an under-sink cupboard with short support posts...
If you don't have those arms or posts then you will need to make something equivalent as you will not be able to rely on those two screw holes.
You might find some searching on google etc will provide images of similar sinks with the supports shown.
Comment: I Agree, a pipe stand is the way to go.  https://sinklegs.com/inspiration-gallery
Answer: Not sure what the model and make is, but this appears to be a) old and b) heavy iron or steel.  Furthermore the recess is beveled in such a way as to dislike any type of weight bearing.  If it's steel you definitely NEED a mounting bracket.
Two options are as follows:

cut a piece of wood and prime it heavily, that fits in the recess, and then against the wall side, and on the upper and lower part, weld on a lip which holds the wood in place.  (If done carefully it will not damage any porcelain or enamel on the front side)  Bolt the bracket to the wood then.  You'd need to route out the wood to accommodate the metal lips.
skip the wood entirely and just weld a metal plate to the back and mount the mounting plate via bolts.

In either case you need to make sure that the lip of the mounting plate "sucks the sink" up against the wall and is not loose, as this tightness transfers the load to whatever you do.
Comment: Thank you! Very helpful. I'm getting it re-enameled.
Comment: how do I add more pictures of it?
Comment: As Solar Mike noted there appear to be two screw holes but they don't look like they're viable and the left one is missing.  My post is based on the premise that you want to support the sink FROM THAT POINT and IMO welding would be the best option.  If you do have welding, obviously do it before the re-enameling - if you pre-make the metal parts a welding shop would charge you peanuts for the welding.

How do I wall mount this sink?


Location of photo used for Windows 10 desktop background?

Question: This showed up as the background on my Windows 10 desktop:

Does anyone know where the photo was taken?
Comment: Google says Sella Pass in the Val Gardena area of the Dolomites, a UNESCO World Heritage site.
Comment: Thanks Dorothy, you are exactly right. I found out the photo was taken by Matteo Zanvettor and he titled it "A New Day." Apparently you can get to where the photo was taken by riding up the Col-Raiser gondola at the Seceda ski area and hiking from there to the "Forcella Pana and the Odle Geisler."
Comment: Even though the name is embedded per the A by Michael C, I usually do a right click on the image and tell it to Google search (since I'm certainly not as techno savvy as so many here :-)
Answer: You can find the description of the photo by going to "C:\Users\username_for_your_computer\AppData\Local\Microsoft\Windows\Themes" and then selecting the picture and going to its properties. It should contain information on where the photo was taken.
http://techdows.com/2016/01/where-windows-10-themes-photos-were-taken.html
Comment: +1, would you add an answer to the canonical also? This question is highly specific and your answer covers a lot of cases, so the canonical should have the same material also.
Comment: @GayotFow what do you mean by canonical? I don't understand it in the context you are using it in.
Comment: A canonical question is meant to cover all different variations on an often asked question. The one meant here is http://travel.stackexchange.com/questions/74404/is-there-a-website-listing-the-location-of-all-the-windows-10-lock-screens
Comment: @MichaelC. what Willeke said, please add your answer there as well as here. It's a more generic question, thanks.
Comment: This answer did not work for me. Using file Explorer in Windows 10 I went to C:\Users, but at that location my only options were folders named "default.migrated," "DefaultAppPool," "Owner," and "Public." I couldn't find anything related to "username_for_your_computer."
Comment: @Joe It could be under owner.


How to protect EXIF data against editing/deleting in jpeg file?

Question: Is there any option to protect EXIF data against editing or provide password protection?
I came accross the idea of creating executable file from  image file, so that someone can view image the way is defined with no possibility to modify. Is this possible? Are there any other solutions?
Comment: If you make your own executable container, consider DMR (Digital Media Rights) protection, which will hide your image from the PrintScreen feature and various screen recording software.
Answer: EXIF data is metadata. Basically any (unencrypted) metadata can be altered anytime with access to (a copy of) the file.
Your idea of creating an executable to open images and protect EXIF data seems a bit like building a underground bunker just for storing the labels on and tabs in a physical folder.
Apart from the practical problems like system rights for running executables, possible antivirus detection, compatibility problems. You'll probably also get around this protection by screen capturing techniques like screenshots, screen recording and making actual photo's of the screen with another device. Or printing and rescanning it.
Secondly, the standardised metadata (EXIF) will be useless (for other applications and OS) when you put it in an executable container.
Why and in what environment would you possibly like to protect EXIF data? Maybe log it and monitor for changes in it?
Comment: This concept came accross the course I was attending and I started to think about some solutions that can secure EXIF data. I'm a begginer, so sorry for imprecise question. I was just wondering if it's possible to secure, protect original exif data in some way against modification later. The idea with own executable was soultion I encounter during digginig.
Comment: @rocksparrow It's always possible to protect everything, but the same applies for breaking it ;). It's an endless cat and mouse game. Can you close the answer by choosing it if you consider it answered?