Compiling for iPhone 2.2.1 using Xcode

Question: I have been developing an iPhone app. and had the Base SDK set to "iPhone Device 3.0" and Deployment target set to "iPhone OS 3.0". Everything worked fine. I recently realised I actually needed to compile the project to run on devices using version 2.2.1 of the SDK, so I set the deployment target to "iPhone OS 2.2.1". Now when I hit compile I get 2079 errors all eventually pointing back to my header files saying "#endif without #if". My header files are surrounded by #ifndef/#endif clauses and I have checked every single one of them and all of these match up (since it compiles targeting 3.0 I'm assuming this isn't the problem anyway). I am using XCode 3.1.3. I have no idea what is going on and would appreciate any help with this. Thanks.
Answer: First thing to check is that you aren't using libraries that are only available in the 3.0 SDK. If you are using the MPMediaPlayer Framework, for example, you will probably get some compile warnings since those libraries don't exist prior to the 3.0 SDK.
My general advice for compile errors is to start with the first error and work your way one at a time. Generally, a single failure at the top will cascade and cause many more compile errors than actually exist in your code.
Answer: I found the answer, I had the target SDK set to the wrong version (2.2.1), when it should have been set to 3.0.

Compiling for iPhone 2.2.1 using Xcode


What limitations does Lightroom have for portraiture?  Why might I need/want additional software?

Question: I do have Lightroom 3.
I do not have any Photoshop products.
I do shoot in RAW.
I do plan to shoot portraits professionally (studio & outdoors).
Comment: I disagree that it's overly subjective and I think it can be answered.   I've updated the title to reflect what I think is a better wording for the question.
Comment: This is honestly too subjective and is part of your style and personal vision. You'll find photographers using every possible combination of software. You are looking to see if a solution is there without having a problem. Once and only once you find something you cannot do, then you can ask what it takes to do it.
Comment: @Itai is right.  You might want to change your question to ask more along the lines of "what does package X add to Lightroom?" or "What packages do photographers use to extend what Lightroom can do?" or similar.     In other words, in stead of asking for a subjective judgement, ask about objective factors that might go into making that judgement.
Comment: The NIK plugins for Lightroom 3 are pretty good but when used in Photoshop you will gain a lot more control and creative freedom over individual shots.
Comment: ahockley, thank you for updating the title of my question. I am new here so I'm not too great at asking perfect questions. :-)
Answer: It's probably fair to say that portrait photography (as opposed to the more general class of "people pictures") presents a set of challenges not found in most genres.
While it is not possible to characterise the whole genre, portraitists are generally tasked with telling the truth, but not the whole objective truth. There are, of course, photographers who've made it their style to create photographs in a hyperrealistic "warts and all" fashion, where every pore and blemish on the subject's skin is paraded for all to see. At the other end of the scale, there is the romantic, soft-focus, painterly rendition that leaves everything to the imagination. Both approaches are legitimate, but very much a matter of taste and vogue.
Most of us, though, aim somewhere in the middle -- call it selective sharpness. We want the eyes, the hair, and (sometimes) the clothing to have a lot of detail, immediacy and presence. We also want the skin to look like skin -- we rarely want to make manneqins or wax figures of our subjects -- and want the shape and contours to remain identifiably and unquestionably those of the subject. At the same time, we want to avoid calling undue attention to flaws -- the zit that was there on the day you took the picture, but wasn't there the day before or the week after, a roughness of skin texture that is very much at odds with the character of the sitter (subject), lines that show clearly in the photograph but are much less noticeable when you see the sitter in person (particularly when emphasizing great age is not the aim of the picture), fine facial hair that you rarely notice except in detailed photographs, et cetera.
It is in removing or reducing those flaws that can't be addressed by lighting and posing that something like Photoshop and its like (and the plugins available for same) make their presence felt. Used properly, these tools will allow one to do away with the distractions without making the finished work look like anything other than a well-shot photograph.
Is it cheating? I don't know, but we used to do the same thing with pencils, dyes and bleach on the negative and the print back in the film days. My feeling has always been that a portrait is meant to portray the sitter (thus the name), and that there is a much greater subjective truth to be told in the portrayal than the mere objective truth gained by the process of fixing a pattern of light and shadow on paper. It is only very rarely that I find a "straight" photograph to be an adequate portrayal of the subject. I never actually lie; I just withold or gloss over those aspects of the whole truth that do no good for anyone. My opinion, then (and it is only an opinion) is that some use of competent image editing software is practically indispensible for portraiture.
Comment: for those of us who are not familiar with LR, what is there that is missing in order to realize all of the portrait post processing you justify in your answer?
Answer: As someone who uses Lightroom and creates a fair amount of portraits, but there's one big area where I find Lightroom's tools lacking and I jump to Photoshop: retouching.

Cloning - Lightroom has a spot removal tool which allows for a circular clone-like function, but if you need to do true cloning to remove blemishes, stray hairs, etc. you'll find that the circular tool doesn't work so well.
Healing Brush - The healing brush tool in Photoshop really works great for blemish removal; Lightroom can make some localized adjustments but doesn't have the healing/blending functionality.
Liquify - I don't use it often, but the Liquify tool in Photoshop can be used for overall slimming as well as some facial feature adjustments and it doesn't have anything comparable in Lightroom.

If price is a concern, you can get the Cloning and Healing Brush features in Photoshop Elements which is under $100.
Comment: Note that if you eventually find yourself in a need for more capable software, it doesn't have to cost you a dime. Instead of the crippled PS Elements, you can use the fully loaded free GIMP.
Answer: Lightroom is only a raw/jpeg image batch processor. It's like Adobe Bridge on steroids.
You'll need Photoshop if you want more granularity and fine adjustments. Lightroom is merely a tool to speed up your workflow.
It would also depend on your business model. Per print or per session (hundreds of photos).
Answer: I may be wrong but I believe Lightroom is aimed at making general, overall adjustments to photos like color and exposure correction. Retouching portraits often requires more fine control than that.
For example, you may want to sharpen the eyes and hair but leave the skin soft. For this reason I would think that dedicated software might be useful. Something like Portrait Professional should do the trick and won't break the bank.
Comment: Portrait Professional is *easily* abused and users of this software package are often big offenders of using it to create a incredibly unrealistic 'plastic skin' look. Unfortunately Portrait Professional defaults to that rather 'plastic' look in it's rather aggressive automated mode... If the software is dialed back it can be quite effective, but it is certainly not quite the 'one click and you're done!' software package that it's advertising seems to imply that it is...
Comment: Yeah, sorry, but that's just wrong. Lightroom has tools that allow subtle adjustments such as a brush tool and a spot removal tool, as well as the 'big' things like color correction. You might want to give the free demo a shot to get an idea of just what Lightroom does.
Comment: @Jay - agree re Portrait Professional. I used a previous version (but nit too old, via a free download promo they had), and the results were definitely 'over-done'. Not *so bad*, but since I *know* the subjects personally, for me the results were a little bit unrealistic.
Comment: Ah right. Never used Lightroom and my cups-and-string net connection doesn't allow me to download big trials willy nilly unfortunately.


Why do popular object detecting models output heatmaps instead of coordinators of object directly?

Question: I think heatmap outputs of architectures like CenterNet, OpenPose, etc. can be changed to coordinator outputs, and loss functions like focal loss can be modified so they can deal with coordinators instead of heatmaps. Is there any particular reasons that researchers use heatmaps instead of coordinators?
Answer: To have a more powerful representational output. You can derive a bounding box from heatmap but not vice-versa. Also, in case of dense object detection it is hard to create bounding boxes for each object (people standing in front of each other).
That being the case, it is better to run a segmentation loss for these networks. It also leads to less confusion for the network. Also, it is a single shot creation of output. On the other hand, the bounding box approach will have the creation of a lot of bounding boxes then finding their objectness score and finally applying NMS (non-max suppression).
In regards to focal loss and use of bounding boxes, it is something that is a consequence of the heatmaps/activations that neural networks learns. They are built upon that and then regressed.


Can I transfer my SO account to a new email address?

Question: I am getting excessive spam on the email address I use for my SO account and would like to cancel that address  and create a new one.  Is it possible to transfer my existing SO account to a new email address while keeping all history intact?
Comment: Why don't you just change the e-mail in your current profile?
Comment: Questions related to operations and support of SO should be posted to [meta]. SO itself is for programming related questions.
Comment: @ÁlvaroG.Vicario No, I have the same issue, my login email is different from my profile email
Comment: @KenWhite - I was on the _Meta_ page when I posted this question.  I am not sure why it ended up on SO.  Appreciate the comment, but I believe I experienced a system hicup.  (perhaps pilot error)
Answer: You don't "transfer" an account to an other email address. You add another OpenID account to your existing Stack Overflow account. The procedure is outlined in the Help Center.
So first create your new email address, add it as an OpenID provider to your account and then remove your current (old) one.
Then you should be good to go.
Answer: The procedure in the other answer is the way to go if you want to change your OpenID creds, but counterinuitively, this won't help if the problem is too many SO emails.
For that you'll want to change your email preferences, which can be done by going to your profile page and clicking on the 'preferences' link along the top of the page. There you can choose which address you receive emails at, and how often you want 'em.
Comment: I'm assuming that the OP means he's generally receiving too much spam. Not that the source is SO/SE.


Does "50Mhz Oscilloscope" mean that it can plot up to only 50Mhz frequencies or its bandwith is 50Mhz?

Question: I couldn't find it in the books. I mean the fixed freq. value on the oscilloscope.
Comment: A video to go with these answers: [Basics of Analog Oscilloscope Bandwidth](http://www.youtube.com/watch?v=hXbPnY7VIes&feature=g-subs-u)
Answer: I'm not sure what the distinction is between the two choices in your question, but the real answer is that the gain of the amplifier(s) inside the scope is "flat" up to that frequency. In other words, the voltage measurements you make on the screen will be "accurate" up to that frequency. Above that frequency, the values will appear smaller than they actually are.
But the truth is that the specified frequency is usually the "-3 dB" point of the gain curve, which means that measurements at that frequency are already off by 30% — the waveform is only 0.707× the height that it should be. If you want more accurate measurements, you need to look for the -1 dB frequency (10% accuracy) or even the -0.1 dB frequency (1% accuracy).
But in most cases, you're not really making precision measurements with a scope; instead, you're looking for qualitative changes in the waveforms, etc. As long as you're generally within the specified bandwidth, you should be good to go.
Comment: Warning: objects behind graticule are larger than they appear. :)
Comment: The difference between the two, it seems to me, is a factor of two, thanks to the nyquist frequency.
Comment: Note that the OP didn't specify digital scope, and in any case, the bandwidth spec refers to the analog front end of a digital scope.
Answer: A 50MHz oscilloscope has a bandwidth of 50MHz. What it can plot will depend on its samples/second value (assuming vector plotting, first order interpolation will fill in more than what is actually measured) . This is explained a little further in this related question.
Answer: For an analog scope it means that a 50MHz sine will be attenuated 3 db (down to 70% in voltage terms). A digital signal of the same frequency contains components of much higher frequencies, so it will be severely distorted. A ballpark estimate I read somewhere is that you should not trust the picture of (non-sine) signals higher than 1/3 of the bandwidth.
For a digital scope it means 50M samples/second. Hence when you see a signal change from 0 to 1 that change could have happened anywhere between those two sample moments, hence your timing uncertainty is +/- 10 ns.
Comment: For a digital scope it could mean either; a digital scope specification should include 2 figures - say, 200MHz sampling, 50MHz bandwidth (or 50MHz sampling, 15MHz bandwidth)
Answer: Apart from the accuracy in the waveform shown, you'll notice that triggering on signals with higher frequency will get increasingly difficult.
Good/stable triggering is essential to obtain a stable/any image on screen.
Comment: N.B. Trigger bandwidth is usually specified separately.


ZFS Beginner Setup with Different Size Drives

Question: Sorry for the noobie questions, I've been Googling all sorts of walkthroughs to create my ZFS raid, but I can't seem to find the correct links for the answers I'm looking for.
This is my first attempt for a RAID, and from all I've read, it seems that zfs is the best way to go.

What happens if I have to change the underlying hardware behind the zfs pool? Like the mobo / processor, what happens if that dies on me in a year or two; can I port my zfs pool somehow?
I've got quite the set of different sized drives, and i'm trying to get the most storage space out of it with redundancy. What is the best setup for this config, and how much space will I be losing by using these different size drives. I am not creating this for any speed requirements, I just want a file server for multiple HTPCs. My currently available drives for this are:

1x 500GB 'Hybrid' Drive
1x 1TB Drive
1x 3TB Drive
1x 4TB Drive (will be added to the pool later, currently holding all the data from the the drives listed above)

Will adding the 4TB drive to the pool later be a problem of any kind?
Any recommendations on a Linux OS to run this all on, and should I use a separate drive for the OS? I'm familiar with Ubuntu, RHEL, and OpenSUSE / SLES.

Any help is very appreciated, I'm continuing to read up on this, just a lot to take in at once, any links on where to start would be very helpful as well.
Answer:
What happens if I have to change the underlying hardware behind the
  zfs pool? Like the mobo / processor, what happens if that dies on me
  in a year or two; can I port my zfs pool somehow?

A ZFS pool is not hardware dependent.  Just make sure your HBA (Host Bus Adapter) isn't doing something like encrypting your data at the hardware level.  ZFS works best with a HBA like an LSI 9211-8i or an IBM m1015 cross-flashed to use the 9211-8i firmware, not a full blow "hardware" RAID card.

I've got quite the set of different sized drives, and i'm trying to
  get the most storage space out of it with redundancy. What is the best
  setup for this config, and how much space will I be losing by using
  these different size drives. I am not creating this for any speed
  requirements, I just want a file server for multiple HTPCs. My
  currently available drives for this are: 1x 500GB 'Hybrid' Drive 1x
  1TB Drive 1x 3TB Drive 1x 4TB Drive (will be added to the pool later,
  currently holding all the data from the the drives listed above)

If I were you I would sell the smaller drives and put the money towards larger drives of all the same size.  It will make your life a lot easier.  Also, you cannot just add drives to a ZFS pool.  There are constraints.  Read here.

Will adding the 4TB drive to the pool later be a problem of any kind?

Possibly.  I am in a similar position.  At some time in the future I will have to increase my storage capacity.  At that time I plan on purchasing a second HBA and a new array of larger drives.  I will then transfer all the data from my existing drives to my new drives then sell my existing drives.  There may be other (cheaper) ways around this, but doing it this way:

Keeps all of my drives the same size
Only has the additional cost of an extra HBA, which isn't a bad thing to have laying around anyhow
Does not require me to replace my drives one at a time, re-silvering after each replacement.

Any recommendations on a Linux OS to run this all on, and should I use
  a separate drive for the OS? I'm familiar with Ubuntu, RHEL, and
  OpenSUSE / SLES.

Don't use Linux, it does not have native ZFS support.  Linux support of ZFS comes from ZFS on Linux and zfs-fuse.  The current state of ZFS is in flux as Oracle tries their best to ruin it.  ZFS will likely branch at version 28 in the very near future, so don't make your ZFS pool with any version greater than 28 unless you are 100% certain you want to stick with an Oracle solution.  Currently FreeBSD and its spinoffs support ZFS version 28.
Since you are a self proclaimed ZFS noob I would recommend FreeNAS.  I have been using it for awhile now and I'm pretty happy with it.  It will definitely allow the most straight forward setup for you.
Additional Thoughts:
Make sure you choose the correct level of parity for your particular use case.  Specifically, make sure you plan around URE.  Basically you don't want to use RAID 5 (RAID Z1) if you are using anything larger than 2TB drives.  There are some other factors to consider that may prompt you to increase your level of parity data as well.  Here is a good article on the subject.
Update:
It has been 1.5 years since I posted this answer and in that time I have been giving ZFS on Linux (Ubuntu server specifically) another chance. It has come a long way since I tried first tried it and I'm pretty happy so far. My reason for switching was the installation restrictions on FreeNAS and the jailing system. I wanted to use my server for more than just a NAS server and FreeNAS makes that hard. The jailing system is good and very secure, but I didn't really need that level of security in my home and I didn't want to deal with logging into a jail every time I wanted to unzip a file. I think FreeNAS is still a good choice if you are just getting started with ZFS (because of the web interface) or if you just want a NAS appliance (i.e. no other server functionality needed).
Comment: Thank you for your detailed response. Your OS recommendation is something that I will definitely need to look further into. As far as creating a new array with larger drives, from things I've read it's possible to replace existing drives in an array with larger drives to increase their capacity. I think I'm understanding that correctly, is this something you're considering?
Comment: Yes that is possible, but I think you have to do all of them.  Read comments [here](http://forums.freenas.org/threads/zpool-not-growing-after-replacing-all-drives-in-pool-with-larger-drives.10415/) posted by a guy who did exactly that.  I have also updated my answer with an additional thought.
Answer: 1: there is no problem changing anything. The pool should be importable regardless of the CPU, mainboard or anything similar.
2: ZFS works best with devices of the same size. Moreover, as you want redundancy, devices larger than the smallest one would have their extra size wasted. Finally, you cannot add a device (eg: the 4 TB disk) to a RAIDZ. If you only want metadata redundancy (which I doubt), you can create a stripe with all of your disks, and add the 4 TB disk later to the pool.
Alternatively, you could first create a 500 GB pool containing a mirror with disk 1 and disk 2 and keep disk 3 for later, then add a second mirror when you have the 4 TB disk available with disk 3 and disk 4 making a 3.5 TB pool.
3: yes, see #2
4: No recommendation.
Answer: If you want to create a raid with zfs using different disk sizes you need to use "zpool create (name of your pool) raidz1 -f sdb sdc sdd" the -f arqument force zfs to use different sizes example 500gb 1tb 250gb hd
Answer: ubiquibacon's answer covers all your direct questions, but I thought I'd chime in some "first hand experience".
ZFS on FreeBSD is my primary area of experience, although most ZFS implementations are similar enough that the resources might be analogous.  I chose FreeBSD for my installation because it gives me a general-purpose operating system that I can use for whatever devious purposes I choose, as opposed to a friendlier but special purposed solution such as FreeNAS.  ZFS, configured correctly, can be a great system.  ZFS configured incorrectly can be a total pain.  It is a relatively new filesystem and is not as well understood as older, more well established filesystems (like UFS2 in FreeBSD or ext2/3/4 on Linux.  The mailing lists are fairly active and it's probably worth your while to at least scan them to understand what will be expected of you, should you run into any problems.  The people on them are generally friendly and very helpful as long as you are willing to help figure out what's going on.  For this general "newness", you get neat features like compression which can be turned on in a lot of circumstances with little lost, and dangerous features like De-duplication, which can require a lot of resources, be impossible to turn off without copying all your data off, and can make your computer unbootable (as mine did, one happy day).
It's a great filesystem if any of the benefits outweigh the tradeoffs.  I've been happy with mine overall.
Comment: @Stevan Can you put some light over "performance issues due to having multiple pools on the same physical disks" ?
Answer: Turns out you can't create with ashift=12 in zfs-fuse:
<code># zpool create -n -o ashift=12 test /dev/disk/by-id/scsi-SATA_......
property 'ashift' is not a valid pool property
</code>
But it works with the one from github zfs+spl 0.6.5.x:
<code># dd if=/dev/zero of=/tmp/testfile bs=1M count=64
# zpool create -o ashift=12 test /tmp/testfile
# dd if=/dev/zero of=/tmp/testfile8 bs=1M count=64
# zpool create -o version=8 test8 /tmp/testfile8
</code>
Answer: An ad-hoc solution to this is to partition the disks into sets of equal sized partitions and then create multiple pools using partition sets of equal size.
There may be some performance issues due to having multiple pools on the same physical disks, but you do get to use most of the space on your disks.
Comment: But if a drive with multiple partitions fails, you lose multiple ZFS "disks". For example, if you use RAIDZ3 with three partitions on each disk, you can only lose one disk, not three


IIS HTTP Redirect too many times error

Question: I'm having some issues trying to set up a http redirect for a web application of mine in IIS. I have 2 DNS aliases assigned to the box "test.website.com" and "test1.website.com", I'm trying to redirect "test1" to test but it doesn't seem to be working. I have both URL's listed in the bindings and under the HTTP redirect form in IIS I checked the "redirect requests to this destination" box and put the "http://test.website.com" url as the link and also checked the "Redirect all requests to exact destination" as well. Status code is permanent, and I'm still receiving the ERR_TOO_MANY_REDIRECTS error and I'm not sure how to solve this. Any help would be greatly appreciated.
Comment: It sounds like your configuration is not quite right as you are redirecting back and forth in an infinite loop. You may have set up more then one redirect.
Comment: I only see one instance of httpRedirect in my configuration search view in IIS for my site...
Comment: You may have set up another redirect not necessarily in your httpRedirect Module it could be another form of redirect maybe in your web.config or in an other IIS module?
Answer: The Problem
In IIS Manager, the HTTP Redirect form where you can specify a redirect destination does exactly one thing when you apply the changes: It adds a <httpRedirect> tag to the website's Web.config file. The image below illustrates the change.

In a perfect world, IIS would be smart enough to recognize that it has already come to the destination specified and not redirect. Sadly, IIS isn't smart enough. It will repeatedly search for itself. find itself, and tell itself to go back and search again. Eventually, the ERR_TOO_MANY_REDIRECTS error is thrown.
My Work Around

Create a dummy website (a single page web app will do).
Add an httpRedirect tag to the website's Web.config redirecting users to the website you want to make aliases for (in your case, "test.website.com").
In IIS, create a new website that references your dummy website source code.
In IIS, set the bindings of the dummy website to alias bindings for the website you want to make aliases for (in your case "test1.website.com")

Note
The content (or lack thereof) of the dummy website doesn't matter because visitors will be redirected away to the aliased website before they can view any of the dummy website's content. That being said, it might be smart to make the dummy website display a page informing any viewers that something went wrong when redirecting in case it ever is viewed.
Answer: The problem is you have both sites pointing to the same folder. Easiest thing to do is to move the test1 site to a separate IIS website in a separate folder. Keep the bindings separate, meaning put the test1 binding on the test1 site, and the regular test binding on the test site. Then put the redirect on the test1 site only.

IIS HTTP Redirect too many times error


How can there be uncertainty reflecting the polarization of a photon?

Question: I am aware that many quantum entanglement experiments are based on uncertainties related to the polarization of a single photon, which can be measured in the horizontal/vertical, clockwise/counterclockwise, or any other orthonormal basis. However, I have been reading about the nature of photons in more depth from the book The Quantum Theory of Light, by Rodney Loudon, which makes it seem that each photon is associate with a single wavevector $\mathbf k$ and frequency $\omega_{\mathbf k}$. It seems to me that the wavevector completely defines the polarization of the photon, so how can there be uncertainty as to which way the photon is polarized? I understand that the state of an electromagnetic field can be delocalized over several possible number states (i.e. different combinations of photons). If every photon is inherently associated with a single mode of the field, though, how is saying that a photon has the polarization state $\frac1{\sqrt2}\left(|\uparrow\rangle+|\rightarrow\rangle\right)$ like saying that a particle is in a quantum superposition of being a proton and a neutron (or something equally absurd)?
Comment: You might want to remove the last quip, as the isospin 0 deuteron is a singlet combination of up/down isospins: $(|pn\rangle-|np\rangle)/\sqrt 2$.
Comment: "the nature of the photon" is that of an irreversible energy exchange between the electromagnetic field and an external system. That energy exchange can never happen without a (quantized) exchange of angular momentum. So what you are actually observing is that "the absorbed photon" makes your (classical) polarizer rotate slowly. If you are working in reflection, it makes it rotate twice as fast (because now you are looking at an absorption/emission process). Since you are in charge of which way the polarizer can rotate, you can change the polarization part of the wave function.
Answer: Linear polarization is a tensor alignment, so the basis should be written with double arrows (an alignment lacks a direction):
$$ \{|\leftrightarrow\rangle, |\updownarrow\rangle\} $$
These represent field alignments that are orthogonal to the propagation direction, $\hat k$. So for each $\vec k$ there are two independent states.
Also, up to a phase convention, the state in your question is an eigenstate of circular polarization (which is a vector polarization, but since it's constrained to be transverse you can label it by helicity):
$$ |+\rangle = \frac 1 {\sqrt 2}\big(|\leftrightarrow\rangle+ |\updownarrow\rangle\ \big)$$


Achieving orbit in Medival age

Question: Can people living in the Medieval age put anything into orbit? if this question is too difficult then what about setting altitude records with man-made object in the stratosphere?
Comment: Depends on your definition of medieval
Comment: @Jimmy360 I think at *no point* of the period we called the MiddleAges/Medieval age would we have been able to put something in orbit.
Comment: Is Medieval age just an indicator of time, or does it include any civilizations that are around at the time, in which case there are more possibilities to explore or contemplate with this question.
Comment: @Michael Lai this includes any pieces of technology created or could be made by the 15th century civilizations. Note that hot air balloon didn't float until 17-something. Given abundance of resources and materials with some innovation and imagination are they capable of achieving such feat?
Answer:
It's hard to get to orbit because you have to go so fast.

What we call an 'orbit' is a fancy word for falling without hitting the Earth. Basically you fly horizontal to the Earth so blisteringly fast that you fall around the Earth. This is about 8km/s for Earth (in Low Earth Orbit), that's 28800km/h or about 17400miles/h.
Building a hot air balloon is technically possible for a Medieval person, but even if the balloon could take you to space (it can't) you won't get into orbit with Medieval technology.
If you want altitude, a hot air balloon is your best bet. If your medieval types are a bit more advanced they can build a hydrogen airship, which would be flammable. Or you can try a gunpowder rocket, but I think it unlikely that a Medieval person could build one large enough to lift someone safely.
Comment: It's amazing how often XKCD has an answer to the questions around here.
Comment: I think it's more that, on Worldbuilders (and StackExchange in general) so many people read XKCD that one of them will eventually find a relevant comic to post/page to link to.
Comment: XKCD covered gunpowder rockets too.  The ISP is too low, so you start needing exponentially more rockets as you try to go faster and faster.
Comment: @CortAmmon Do you mean the model rocket one?
Comment: @Amziraro That's the one I'm thinking of!
Answer: Jerry Pournelle wrote a novel "King David's Spaceship" about a lower tech world scratching together a spaceship launch in order to get better terms when added to a space Empire as a 'space faring nation'.  This was a case of tech lost due to wars rather than true medieval, but it has similar aspects you can learn from.
Comment: Yeah, but Orion doesn't work with black powder.
Answer: I don't think you could do it in the Medieval Age, but all the resources I've read seem to say that Jules Verne's idea actually has some merit for putting things into orbit. Just don't try to send people, as the g-forces would be a bit too much. By "a bit too much", I mean "something like 22,000  g".
The basic premise is a giant cast iron cannon buried in the ground (300 meters long or so), charged with literally hundreds of tons of propellant. Verne proposes using nitrocellulose rather than "gunpowder" (I believe this would be smokeless powder, which is more powerful than black powder if I recall correctly). I don't know how far these chemicals are beyond medieval technology, but I'm sure black powder would at least impart a lot of thrust, even if it's not enough for orbit.
Could a medieval society dig a 300 meter deep hole? Could they build a 300 meter cast iron tube? Do they have enough iron? Could they make hundreds of  tons of explosive? I don't know these things, but it could at least seem plausible in a fictional story.
No suit of armor is going to work for the 22,000 gees though.
Answer: If your civilization knows gunpowder, they can create a solid fuel busters powerfull enough to accelerate something to enter orbit. But your civilization needs a good knowledge of Mathematics, Mechanics and Chemistry to achieve this. At least at Kerbal Space Program you can send spaceship to orbit using only solid fuel boosters.
UPD: for staging you can use visco fuse

UPD2: For control you can use slave powered wings, gyroscopes, slave powered nozzles that emmit byproducts of combustion of powder to aim the ship
UPD3: you can create some spacesuits for crew, there was a leather scuba suits with external air supply - there was a leather scuba suits with external air supply

But, i think this expedition was a one way, because on medieval level of technology it is near impossible to create heat resistant materials to survive atmospheric re-entry (unless the Mithril is existent on planet of your civilization :-) ).
Comment: Gunpowder = solid fuel boosters? Puhleeeze. The same SSRB article you link shows booster fuel specific energy of 31 MJ/kg. Gunpowder has 3. Then there's the technology needed to produce metallic aluminum, which requires large amounts of electricity. And the chemical industry to provide enormous quantities of ammonium perchlorate (have you ever dealt with large quantities of anhydrous ammonia?). And the metallurgy to produce the booster walls of uniform-thickness, flaw-free, high-strength steel. Oh, and let's not forget the swiveling nozzles, which cannot be moved by human power.
Comment: Doing this you still need some way of staging your rocket. You cannot send a single solid rocket booster in to orbit.

Achieving orbit in Medival age


How to update Geodatabase point file table from Excel data using FME

Question: I have excel spreadsheet with data that I want to load into a GeoDatabase point  table. The table already exists and I want to update the data not append. There is a unique ID to link the Excel data to the point file. When I use Joiner in FME or load data tool in ArcGIS it appends the data rather than updating.
Comment: Welcome to GIS SE!  Would you be able to edit your question to clarify whether your geodatabase table is stored in a file geodatabase (*.gdb) or an ArcSDE geodatabase (in Oracle, SQL Server, PostgreSQL, etc) or another geodatabase type, please?
Answer: When using FME, rather than using a joiner factory open the properties of the the writer and go to the parameters tab.
In there change the writer mode from INSERT to UPDATE.  Then set your unique key field in the Update Key Columns field.  Here's a link that may help Editing Writer Properties
Answer: Yes to MickyT's answer - and also the DatabaseUpdater transformer might be of use.
Also, there's an FME Tutorial on Spatial Databases at: http://www.safe.com/learning/training/on-demand/tutorials/ which I happen to know covers updates.


NDA - binding if unknown partner is involved?

Question: If a person has someone sign a generic (downloaded from the internet) NDA, where they said the subject of the NDA was theirs alone, but later discover a third party who was not mentioned is involved, does that impact the validity of the NDA? Would it count as "false pretenses"? For example, if I signed an NDA to not discuss X's green bean casserole recipe, but later discover Y was involved in the green bean casserole recipe which X purposeful obfuscated, is the NDA still binding?
Comment: How/why would the existence of person Y change the agreement between the subject person and person X?  There is no agreement with Y, so whatever information you glean from Y may be shared.  Are you asking if doing so would violate the agreement with X?  Why would it if you got the information from Y?
Comment: Alice owns the green bean casserole recipe. Bob signs an NDA to learn more. Please explain how Charly's access to the recipe, who might or might not have signed an NDA with Alice, in any way impacts Bob's NDA. That part of your construction is very unclear to me.
Comment: I think it's more: Bob signs an NDA to get access to the green bean recipe Alice _claims_ she owns exclusively. It then transpires that Charly is at least part owner of the recipe (and Alice deliberately hid that fact).
Answer: "It's Complicated"
I can think of a very simple example where there would be no "case", but another where there might be.
Consider case A, Bob signs an NDA with Alice for access to her green bean casserole recipe, only to learn that Charlie actually provides the specially bred green beans which are the secret ingredient. The FACT that Alice has the association with Charlie IS the protected information under the NDA. If not enforceable, the NDA is meaningless.
Now consider case B (sorry, have to change the scenario slightly): Bob signs an NDA with Alice for access to the source code of the Magic Widget app. On gaining access, he sees that the source code is a direct copy of open source project SuperWidget developed by Charlie, complete with the GPL notifications in the source code. Again, here the fact of Alice's associate with Charlie IS the protected information, but also the fact that Alice essentially stole Charlie's intellectual property. This NDA is likely unenforceable, due to covering illegal or unethical activity.


At what energy consumption would we get a 1 degree rise in the Earth's temperature?

Question: If energy consumption continues to rise at (say) 4% per year, how long before the heat dissipation seriously impacts climate?
Comment: I think that probably the most productive approach would be to compare this heat dissipation to geothermal heat generation (which is around 0.1 W/m²), as it is of similar nature (a more or less constant internal heat source).
Comment: Try cbat.info :)
Answer: Q=mc(t1-t2)
You need to calculate C, the specific heat capacity of Earth(as a whole).
You need to calculate the specific heat capacity of everything present on, inside earth for that purpose.
It might be possible after we advance a bit more further:).
Answer:
Global energy consumption is $5\times10^{20}\ J/yr$
Assume it is all used to power incandescent lightbulbs, so 95% goes to heating the atmosphere
The mass of the atmosphere is $5\times10^{18}\ kg$
The heat capacity of air is $1\times10^{3}\frac{J}{kg\cdot °C}$

Assuming all the heat goes to the atmosphere and stays there, using the definition of heat capcity $C$:
$$Q = mC \Delta T$$
$$\Delta T = \frac{Q}{mC}=\frac{\left(95\%\right)\left(5\times10^{20}\ J/yr\right)}{\left(5\times10^{18}\ kg\right)\left(1\times10^{3}\frac{J}{kg\cdot °C}\right)} = 0.095 °C/yr$$
To answer your question about a rise of 4% let's calculate how many years it would take before the atmosphere was heating at 1 °C/yr... oh compound interest formulas, how I've missed you:
$$n=\frac{ln(FV)-ln(PV)}{ln(1+i)}=\frac{ln(1)-ln(0.095)}{ln(1+0.04)}=60$$
In other words, if the rate of energy consumption goes up at 4% per year and nearly all that energy ends up as heat (using lightbulbs as a model), in 60 years the atmosphere would heat up at 1 °C/yr. Please note these calculations are extremely naive and have little bearing on reality in that they ignore 1) factors that actually control the climate, such as gas composition, greenhouse effect, transfer of heat between air-oceans-land, feedback mechanisms, etc. 2) the economics of steady 4% energy consumption increase 3) the fraction of energy consumption that heats the atmosphere.
Comment: You have to consider the oceans.
Comment: @gerrit right. The unstated assumption was that heat goes to the atmosphere and stays there. I added it explicitly to the post, thanks.
Comment: Right.  That assumption is very very far from the real world, so your calculation is interesting, but not very useful.  As you already state in your answer anyway.
Answer: I suggest to compare human produced heat with the incident heat of the sun which is around 1 kW/m$^2$. The usual comparison is "the sun delivers more heat in an hour than humans use in a day". While such a comparison may not remain accurate forever, a difference in scale of 7000x suggests that even if humans doubled thei energy consumption every 17 years (Thalys roughly 4% per year) it would be w hole before we compete with the sun. This suggests that direct heating of Earth by human activity is insignificant.
But the extent to which human activity can change (even by a small %) the amount of sunlight captured by the atmosphere is a MUCH bigger deal. If we would cause just 1% more of the sun's power to remain on earth (by slightly modifying the surface properties of Earth or the atmospheric composition) that is a far more powerful multiplier. This is why there is such emphasis on greenhouse gas emissions.


Field of view (FOV) of the Camera - ArcGIS Java runtime SDK

Question: I'm trying to set the 3D Camera of the SceneView in the Java SDK and I cannot find a "field of view" / "angle of view" member.
I was wondering how the camera's field of view is being set, since I need a way to change it according to the horizontal and vertical field of views.
Comment: which field of view are you talking about ? The IFOV of pixel, the FOV of the optical device (angle) or the extent of the map viewed by the camera ?
Comment: the FOV of the optical device (angle)
Comment: Please use the [edit] button beneath your question to revise it with any requested clarifications.
Answer: As far as I understand, the camera does not work like a real camera but gives you the line of sight that is needed to build the perspective. Instead of manipulating the camera properties, you should manipulate the view properties based on its extent or the zoom of the map. Of course, this needs some manipulations of the variable, knowing that the scale = "extent on map"/"extent in reality" and that AFOV = 2* (tan-1) ("extent in reality"/(2*"distance between camera and object")
Answer: Make sure you use v100.6, where a SetFieldOfView method was added to the SceneView control (it's not directly on the camera).
The method takes the horizontal FoV, and the vertical is a function of the width/height ratio of the control. There's another overload that allows you to "squish" the vertical ratio as well, if you have some specific camera matching needs.


The book says 27 terminals but I only see 10. Where are they?

Question: On page 103 of Mike Sisper's Introdution to Theory of Computation, it says that the grammar has 27 terminals (26 being the letters of the English Alphabet and 1 being the space character) but in the rules above, I don't see those 27 terminals. I only see 10 which are "a", "the", "boy", "girl", "flower", "touches", "likes", "sees", and "with".

So my question is, what does the book mean? Is this an error?
Comment: They counted every letter a-z plus a space character. It is explaind in parentheses right after the "27 terminals", so the word "with" for instance consist is a word of 4 terminals w, i, t, h.
Comment: @ttnick How does one determine what terminals a CFG has from looking at its rules?
Comment: @ttnick "In  parentheses" is one claim. The rule list shows ten non-variables, giving rise to Sbeve's question. I'd call it an *inconsistency*, or *lack of completeness* if those ten are neither *variables* nor *terminals*.
Answer: The author defines terminals in the following way.

The string consists of variables and other symbols called terminals.

When you are writing grammar for a human language, it is better to treat letters as symbols rather than words (sequence of letters) which although correct tend to be in thousands. One concern remains which is generation of new nouns. How would generate X Æ A-12 in the latter case, unless you are constantly updating the massive corpus, that you call the alphabet?
$G_2$ is however just a toy example spanning a small fragment of the English language, in which case $\Sigma_1$ = {a, the, boy, girl, flower, touches, likes, sees, with, ␣} would be as fine as $\Sigma_2$ = {a, b, $\ldots$ , z, ␣} if not more.
Comment: "How would generate X Æ A-12 in the latter case, unless you are constantly updating the massive corpus, that you call the alphabet?" I don't understand why I would need that. It is just a toy example so it could just be a language with a limited number of words allowed. Also, the example strings of the language only contain words from the 10 words I listed in the question. It adds to the confusion because it implies that no other strings are possible for this language.
Comment: @Sbeve When you are teaching a concept, it is best to keep it as broad as possible, which is why the author choose to mention 27 as the number of terminals, and not just 10. Michael Sipser's lectures on Theory of Computation are available on YouTube, maybe you can refer to that.


dynamically create an image with image URL's

Question: I have a single decorated "picture frame" image with 5 blank boxes.
The user will provide 5 facebook picture URL's which will populate the 5 blank boxes.
I want to take the resulting "picture frame" populated with these 5 uploaded photos and generate a SINGLE image... with PHP/html/css/javascript... is this possible??
I already know that I can take the 5 URL's, upload them to a database and spit out the "template" image with the placeholder background-image source to be pulled from the picture URL's.  The problem is generating this SINGLE image... how can I do this?  please help!
thanks
Answer: You can use PHP GD to generate an image from the 5 uploaded photos.
See PHP GD Documentation


Assigning relative force to a projectile fired while orbiting a sphere

Question: Projectile Not Correctly Inheriting Parent Velocity (Unity3D)
So I am trying to incorporate the above person's changes into a script I am making although

I'm no great coder and
I'm not even sure their solution works best for what I am doing.

Essentially what I have right now is a high speed shooter where the player is being pushed around as a physics object on a sphere world rather than using translate for movement. I keep finding solutions that would work really well if I was just translating through xyz space. Using a physics object for my projectile has been working well (I can shoot in one direction and have the projectile hit my in the back after circling around) but once I get up to speed I'm in trouble.
I think I've successfully incorporated the projectile portion into my script but currently it keeps shooting on the positive z axis.
On top of that, I'm not even sure where to start incorporating the second half.
Emitter Script
<code>using UnityEngine;
using System.Collections;

public class SpaceShoot : MonoBehaviour
{
public GameObject Bullet_Emitter;
public GameObject Bullet;
public GameObject target; // Player

public float Bullet_Forward_Force = 100;
public float Bullet_Life = 60;
public float fireInterval = 0.05f;

void Update()
{
    if (Input.GetKeyDown(KeyCode.Space))
        InvokeRepeating("Fire", float.Epsilon, fireInterval);
    if (Input.GetKeyUp(KeyCode.Space))
        CancelInvoke("Fire");
}

void Fire()
{
    GameObject Temporary_Bullet_Handler;
    Temporary_Bullet_Handler = Instantiate(Bullet, Bullet_Emitter.transform.position, Bullet_Emitter.transform.rotation) as GameObject;

    Rigidbody Temporary_RigidBody;
    Temporary_RigidBody = Temporary_Bullet_Handler.GetComponent<Rigidbody>();

    Temporary_Bullet_Handler.transform.Rotate(Vector3.left * 90);

    Rigidbody target_rigidbody;
    target_rigidbody = target.GetComponent<Rigidbody>();

    Temporary_RigidBody.velocity = target_rigidbody.velocity;

    Temporary_RigidBody.AddForce(transform.forward * Bullet_Forward_Force);

    Destroy(Temporary_Bullet_Handler, Bullet_Life);
}
}
</code>
Edited script as it currently stands. It mostly does what I need although I'm trying to figure out a way to clamp the distance to the origin.
Answer: Figured out how to clamp the projectile's distance from the origin. It's 75% of the way there but that'll do for a Game Jam. https://docs.unity3d.com/ScriptReference/Vector3.ClampMagnitude.html


Waves in Box are Black Bodies?

Question: From what I understood, a Blackbody is a perfect absorber, and hence also a perfect emitter since it is in thermal equilibrium. One example of a blackbody is a box with interior walls painted in black. What I don't understand is why the wave must have zero amplitude at the walls of the box. If it is nodes at the walls, then it never gets absorbed, right? But shouldn't a black body absorb all radiation?
Answer: The box with interior walls painted in black is not the blackbody. The realization of the surface of a black body is the surface of a small hole (small with respect to the size of the box) on the wall of such a box.
As clearly stated in wikipedia page:

Any light entering the hole is reflected or absorbed at the internal surfaces of the body and is unlikely to re-emerge, making the hole a nearly perfect absorber. When the radiation confined in such an enclosure is in thermal equilibrium, the radiation emitted from the hole will be as great as from any body at that equilibrium temperature.

When modeling the set of electromagnetic (em) waves in the cavity, there are a couple of points which allow significant simplifications:

provided the cavity is large enough, details of the em radiation inside become less important. In a more technical words, the density of states at thermodynamic limit becomes independent on the shape of the cavity and on the boundary conditions. Therefore, one is enabled to chose the simplest case, without loss of generality.
When interested in equilibrium properties, the precise mechanism at the basis of thermal equilibrium becomes irrelevant, thus one has not to take into account explicitly the real absorption/emission by the atoms on the wall. The final effect of thermal equilibrium (whatever is the underlying mechanism) is taken into account by the equilibrium probability function for the em modes. Interestingly, a  similar approach is used when dealing with the equilibrium properties of the perfect gas. Strictly speaking the perfect gas does not have a mechanism for thermalization (no collision between molecules). What is implicitly done in the usual statistical mechanics treatment is to take for granted that an unspecified mechanism exists allowing the system to reach thermal equilibrium, even if it is not explicitly present in the Hamiltonian. It is enough to make the hypothesis that the mechanism exists and is effective in establishing thermal equilibrium. At that point it can be switched off.
Comment: yes, thank you. But why does the wave have to have nodes at the walls of the box?
Comment: @KoutaDagnino This is something which has to do with the set up of a workable model for the radiation inside the box. The simplest model is a set of stationary waves in the box. Which require the presence of odes at the walls.
Comment: Thank yous o much. So when deriving the Planck equation the simplest model is considering stationary waves inside a box, if I understood correctly. If so, then they have zero amplitude at the walls, right? How does the wave get absorbed then?
Comment: @KoutaDagnino I'll add something on this issue to my answer to clarify this point.
Comment: Thank you, clarified a lot.
Answer: For thermal radiation inside a cavity the waves do not need to have, and usually do not have, nodes at the walls of the box.
There is a widely-used picture in simple presentations of the theory which suggests the waves have nodes at the walls. In fact this picture is just offering a way to count how many linearly independent modes of the field there can be. Standing-wave boundary conditions is one way to do it; periodic boundary conditions is another way. In the latter method the waves do not have nodes at the walls. But in either case what one gets from this part of the analysis is the density of states. The actual waves in the box do not need to have nodes at the walls, but you can imagine forming them by first using the waves you have counted (by whichever argument) and then adjusting the phases to move the nodes along. When one adjusts the phase of the waves like this, the number of states, and therefore the density of states, does not change.

Waves in Box are Black Bodies?


How to install FreeDos onto a USB stick?

Question: The FreeDos project offers a number of downloads, but all of these contain an installer that tries to install FreeDos from an installation media onto the harddisk. Selecting the mobile stick as installation target is not supported. Since USB sticks are usually large enough to contain the OS plus applications, writing onto the harddisk is often not intented. Some pages point to tools like Rufus, which can create a bootable FreeDos installation from a template, but this disk is then missing the typical FreeDos components. So how can a complete FreeDos be installed onto a bootable USB stick to create a live USB version with FreeDos?
Answer: Unfortunately the current information on the FreeDOS Wiki is not up to date, but with the help from FreeDos Developer Jim Hall I could find the solution:

Download the USB "Full" installer from the FreeDOS page.
Unpack the downloaded zip
Use a USB formatting tool (for example rufus) to write the image to USB (take care to write over the right drive)
Move the directory D:\FDSETUP\BIN to D:\BIN
Edit first and last two lines in D:\FDCONFIG.SYS as follows
!COUNTRY=001,858:\BIN\COUNTRY.SYS
!LASTDRIVE=Z
!BUFFERS=20
!FILES=40

DOS=HIGH
DOS=UMB
DOSDATA=UMB

DEVICE=\BIN\HIMEMX.EXE

SHELLHIGH=COMMAND.COM \BIN /E:2048 /P=\AUTOEXEC.BAT

Edit D:\AUTOEXEC.BAT as follows (Windows will hide this file, but you can open it by directly giving the filename).
Only the line setting the DOSDIR needs to be changed and some display code at the end of AUTOEXEC.BAT are to be removed
@echo off
SET DOSDIR=
SET LANG=
SET PATH=%dosdir%\BIN

SET DIRCMD=/P /OGN /Y

rem SET TEMP=%dosdir%\TEMP
rem SET TMP=%TEMP%

rem SET NLSPATH=%dosdir%\NLS
rem SET HELPPATH=%dosdir%\HELP
rem SET BLASTER=A220 I5 D1 H5 P330
rem SET COPYCMD=/-Y

DEVLOAD /H /Q %dosdir%\BIN\UDVD2.SYS /D:FDCD0001

SHSUCDX /QQ /D3

rem SHSUCDHD /QQ /F:FDBOOTCD.ISO

FDAPM APMDOS

rem SHARE

rem NLSFUNC %dosdir%\BIN\COUNTRY.SYS
rem DISPLAY CON=(EGA),858,2)
rem MODE CON CP PREP=((858) %dosdir%\CPI\EGA.CPX)
rem KEYB US,858,%dosdir%\bin\keyboard.sys
rem CHCP 858
rem PCNTPK INT=0x60
rem DHCP
rem MOUSE

rem DEVLOAD /H /Q %dosdir%\BIN\UIDE.SYS /H /D:FDCD0001 /S5

SHSUCDX /QQ /~ /D:?SHSU-CDR,D /D:?SHSU-CDH,D /D:?FDCD0001,D /D:?FDCD0002,D /D:?FDCD0003,D

rem MEM /C /N

SHSUCDX /D

rem DOSLFN

rem LBACACHE.COM buf 20 flop

SET AUTOFILE=%0
SET CFGFILE=\FDCONFIG.SYS
alias reboot=fdapm warmboot
alias reset=fdisk /reboot
alias halt=fdapm poweroff
alias shutdown=fdapm poweroff

rem alias cfg=edit %cfgfile%
rem alias auto=edit %0

vecho /p Done processing startup files /fCyan FDCONFIG.SYS /a7 and /fCyan AUTOEXEC.BAT /a7/p

Delete D:\SETUP.BAT
Done, safe your files and safely remove the USB stick

Boot and test
The USB key now boots directly into FreeDOS and loads into high memory, leaving roughly 600KB of common memory for programs.
Comment: this explains how to get a barebones bootable freedos stick (which is great!) but how do add the rest of the tools in FDSetup directory (unzip, ...) to this stick? "the rest" is 99% of the freedos installer payload...
Comment: Peter I think @bernstein is refering to the bonus packages that come with freedoss full (i.e. the packages inside "FDSETUP\PACKAGES" ) which are all zipped up and not setup. Any solution to that in addition to your already great answer?
Comment: This explains how to put everything from the installer onto a stick, so it includes the tools from the Full Installer package.
Answer: The easiest version I've found so far is this one:
https://www.scivision.dev/freedos-flash-bios-linux/

Determine USB drive device (e.g. /dev/mmcblk0) by issuing this command
before and after USB drive insertion:
lsblk
Format (permanently erase) this USB drive with
umount /dev/mmcblk0
mkdosfs -F 32 /dev/mmcblk0
Download the FreeDOS "USB Full Image" and extract the FD*.img file.
Write this image to the USB stick:
dd if=FD*.img of=/dev/mmcblk0 bs=4M
the image write will take a minute or two, depending on the write
speed of the USB stick. To be sure it's done, wait for this command to
exit in a second Terminal window:
sync
Answer: To detail breversa's answer, which then worked for me:

find out USB device and partition as described (e.g., whole USB stick is /dev/sdc, with first partition /dev/sdc1)
use mkdos on the partition level (e.g., /dev/sdc1)
use dd on the whole device level, not on the partition level (i.e., use dd [...] of=/dev/sdc)
otherwise, dd will produce an invalid partition and the USB stick is not bootable
you can then mount /dev/sdc1 and add any additionally needed files (a BIOS/firmware updater in my case)
no additional changing of FreeDOS files was necessary in my case
if my hardware gave a 'boot error' (or whatever) message, I found that in most cases the 'culprit' is the USB stick itself; different models work with different computers (or don't); usually, newer USB sticks work better than older ones
Answer: As of 2022-12-20, after various attempts, they only way I was able to get any FreeDOS live (i.e., whether full or not) onto a USB thumb drive was using Rufus (it's current version is 3.21 as of now) and choosing FreeDOS from the "Boot selection" dropdown list.  I let Rufus create a bootable thumb drive, mounted the drive, and manually copied whichever software I needed to the drive.  Using this drive, FreeDOS booted by default in a laptop from year 2014 but not (or at least not by default) in a laptop from year 2022.
At least 3 other methods failed for me:

In Linux, letting unetbootin put FreeDOS 1.0 to my thumb drive according to https://wiki.ubuntuusers.de/BIOS_aktualisieren/#DOS-USB-Methode (outcome: doesn't boot on the 2014 laptop).

In Linux, letting unetbootin put self-downloaded Full or Legacy FreeDOS 1.3 to my thumb drive according to https://wiki.ubuntuusers.de/BIOS_aktualisieren/#DOS-USB-Methode (outcome: neither Full FreeDOS nor Legacy FreeDOS boot on the 2014 laptop),

Using "odin" FreeDOS edition according to http://wiki.freedos.org/wiki/index.php/How_to_Create_a_USB_Boot_Disk_Using_FreeDOS (outcome: the URL given there is rotten away).

Of course, I don't claim I tried all possible options and variations of 1.-3. and all BIOS/UEFI boot options of all laptops. So, dear reader, your experiences might vary.
Comment: June 2023.  This was the only solution that worked for me.
Answer: I'm pretty sure the OP wants to create a complete LiveUSB install of FreeDOS. This creates a USB flash drive that boots FreeDOS and has all the software installed:
https://www.trishtech.com/2017/07/how-to-create-bootable-live-freedos-usb-drive/
Comment: TL;DR: Install in a VM and copy VHD contents to a FreeDOS USB prepared with Rufus. Worked for me.
Answer: Yes, the rufus way works, and so far it's the only way I know to make a FreeDOS USB boot.
But it partitions and formats the drive without alignment, which will produce excessive write/erase activity of the flash memory and prematurely wear out the drive.
That's not a problem if you're just flashing a BIOS or something, but it is if you will be often updating files.
BTW, if you use the trishtech link, there is a problem installing FreeDOS into VirtualBox, at the "install freedos to hdd" screen. If you just go ahead, you will get rolling "illegal instruction" messages.
Workaround: Press Tab, then add " raw" (no quotes) to the boot line, then press Enter.
Comment: _"But it partitions and formats the drive without alignment"_ That is simply false. I am the main developer for Rufus and I spent a lot of time ensuring that the partitions are aligned, unless you have a very different definition of what "alignment" means:
https://github.com/pbatard/rufus/blob/master/src/drive.c#L1541-L1548


Difference between Ajax upload and Normal upload

Question: i have a doubt with the upload system in PHP.
What is the difference between Normal Upload [ without ajax ] and Ajax Upload ?
By using Javascript i can send values to the server ,is it possible in the case of Files ?
Is there any limitation for this ? and i found that so many uploaders are using FLASH for to upload FILES,
ex:Gmail,uploadify.....
How can i build a basic uploader with JQUERY/javascript ? also i heard that i cant send FILE by a XHR request.
i am using Codeigniter Framework.
Expecting Possible duplicate or other refference
Main Goal Of this Question is to build my own uploader for my current project[neat and clean]
Answer: Okay, AJAX upload is basically just that, it's going through Javascript. The difference is that the page does not upload, and you can carry on with other things as it works. It generally makes for a better user experience in my opinion, it feels more seamless
On the other hand, it only works for newer browsers. Firefox, Chrome, Opera have it, but not IE (maybe Safari?). It also works well with drag and drop. I once made an image uploader inside a text editor, where it popped up a table with your currently uploaded images, you clicked one and it added it to the textbox or you dragged a new image into a box and it uploaded and displayed it straight away. It was beautiful.
Here's the plugin I used to help me
http://dropup.net/
Edit: No limitations either, you can even send plain binary data in
Answer: well as if you want to upload the file with jquery ajax request then use ajax form plugin as well,
this link Ajax From will help you to understand and implement on your page,
but i don't know about codignighter frame work cause i don't have experience of that. And ajax is the best way to distribute the process into different parts with any extra load on the page i mean ajax request will work on the back end..
Comment: `Since it is not possible to upload files using the browser's XMLHttpRequest object, the Form Plugin uses a hidden iframe element to help with the task` - From Malsup.
Comment: You can use iframe technique to upload images without refreshing the page


What objects can I search for using astropy.coordinates?

Question: The spectacular Python package astropy allows the user to search for a celestial object using astropy.coordinates, querying through CDS. The docs talk about how to use the package, but I can't see anywhere a list of the objects I could search for, even on the CDS website. Is there anywhere I could find such a list?
Answer: The astropy.coordinates packages has the SkyCoord.from_name() convenience method (docs link) uses the Sesame name resolver at CDS to search Simbad, the NASA/IPAC Extragalactic Database NED and VizieR database of astronomical catalogs. Since these encompass basically every known object in astronomy, there is no "list"; simply put something in and it's very likely to be in there. If it doesn't work initially, try putting it into the Simbad identifier search directly and it will likely give you hints if you are searching for something in a specific catalog but haven't quite got the catalog prefix right)
(There is a Dictionary of Nomenclature on Simbad which I've never needed to use, but you can put in parts of an identifier or put in terms you want to see entries for (if you change the 'Choose one of the Info possibilities:' to Related to words)
Comment: `from astropy.coordinates import SkyCoord, EarthLocation`
`betelgeuse = SkyCoord.from_name('Betelgeuse')`
`print(betelgeuse)`

Have there been any major changes to the databases? My code for Betelgeuse didn't work (I was trying to combine database searching and Jupyter Notebook work).
Comment: Working here for me on astropy 5.3.2: `print(betelgeuse) ; ` Maybe it was a temporary issue in the name resolver ?


Is there software on Windows that will protect myself from devices like the "USB Rubber Ducky"?

Question: I'm pretty sure a lot of you are familiar with the "USB Rubber Ducky", the USB stick that emulates a keyboard. Is there software for Windows that will prevent this type of attack, while still letting me use legitimate keyboards? For example, is there a program that will prompt "Please enter the words you see on the screen to activate your keyboard" when you plug in a new keyboard, sort of like a CAPTCHA? If not, is it easy to write such software?
Answer: I'm not aware of any built into windows.  However there are third party device control products that lock the screen when a new keyboard is added.  This thwarts some of the "rubber ducky" attacks by preventing a simple set of keystrokes from running immediately on insertion of the usb device doing anything useful.
Answer: I'm not aware of any such software, and in general, such software would likely be ineffective and potentially harmful.  Consider the following scenarios.
First, one could create a real USB keyboard that contains a special chip that, upon activation with a special key sequence or upon remote activation, sends malicious text, but otherwise behaves like a normal keyboard.  That wouldn't be noticeable with your proposed software and yet would still be malicious.
Second, one could just create a USB keyboard that logs all keystrokes and uploads them via a cell connection.  Such devices already exist, and while they wouldn't grant someone access to your computer, they would allow someone to just compromise all of your accounts remotely.
Third, many common security keys like YubiKeys have an OTP mode where, upon pressing the button, the key sends the one-time password, including an Enter key.  These look and act like USB keyboards.  This is a secure and valid use of automated USB keyboards, and while it's better to use something like the FIDO2 mode when possible, making it impossible to use these (since they would be unable to enter an arbitrary challenge), which might harm security.
Thus, it's unlikely that such a device could be effectively prevented from activation or exploitation and it's better to avoid untrusted USB devices altogether.  If you can't do that, it would be better to pass them through to a restricted VM running a throwaway live CD Linux distro instead so their damage is limited.  Note that doing so doesn't prevent things like physical damage to the port, though.
Comment: With GPS you are probably referring to some other technology.
Comment: I somewhat disagree with this answer. Sure, there could be supply chain attacks against your own keyboards and devices you use. But the more likely threat is that someone plugs a straight-up malicious device into your machine while it is unlocked and unattended (which should never happen), or if you briefly look away or have computer stolen etc. It's not a foolproof tactic, but could be part of a defense in depth strategy. There is a tool for Linux, usbguard, that works well.
Comment: GPRS maybe? Though, probably 4G or 5G these days.
Comment: @multithr3at3d and for Windows there is one on the MS Store, the Disguised Keyboard Detector.


Long text increase maxlength

Question: I have added a textarea and i want to store more that 1024 characters in it. Long text is the field type that i have chosen but an error comes up saying :Keywords cannot be longer than 1024 characters but is currently "xx" characters long.I tried using hook_form_alter to increase the maxlength but it does not work. Also tried the hook_form_field_ui_field_edit_form_alter to change the length from 255 to 555 but no success.Is there any other workaround for this ?
Answer: Use Field maxlength alter module

Creating an update hook that alters the field tables
Installing this module and simply edit the max_length in the admin    interface
Installing this module and run the Drush command to modify the    max_length
Comment: I tried using this module but option to increase Maximum length does not appear for textarea's. It comes up for textfields only.
Comment: That's because long text fields don't have a max length @KapilRopalekar, having such a setting wouldn't make sense. They use a `big text`, per [`text_field_schema`](https://api.drupal.org/api/drupal/modules!field!modules!text!text.install/function/text_field_schema/7), which in MySQL translates to a `LONGTEXT`, which has ~4GB of storage - considerably more than 1024 characters worth. Drupal core doesn't impose this limit, so you need to start disabling contrib modules one by one until you find which one is doing it. After that you can work out how to get around it

Long text increase maxlength


Nexus 4 sync contacts

Question: I am trying to sync my contacts between a Nexus 4 Ubuntu phone (15.04 OTA 12) and an Android phone. I can import a vcf file from the android, but end up with duplicate contacts and there seems to be no way to merge these on ubuntu, and I cannot find a way to export to a vcf file from ubuntu and use Android to merge the contacts. Any advice on how to do it would be much appreciated.
Answer: I don't know how you're syncing between Ubuntu and Android such that you are getting duplicates, but I found from a post elsewhere here that you can email the vcf file to yourself and in Ubuntu Touch on my Nexus 4 (OTA-13) when you tap on the attachment, it will ask which app you want to open it with, and when you select Contacts, they will be imported! (It's beyond me why the import capability is present but not exposed in the UI...)
Answer: 1/ what is the connection to Ubuntu? seems you are trying to sync between 2 phones.
2/ to export from android, search the google store for "contact export". this will save your contacts in csv, vfcf, pdf to your phone.  you then copy from phone to pc via any means you prefer: wifi, blue, usb.

Nexus 4 sync contacts


Force swapping of certain stopped processes

Question: When I'm playing minecraft, my computer often has to swap because Google Chrome takes much RAM, too. So, I'd like to manually swap out Google Chrome. I know that I can temporarily stop all its processes with SIGSTOP, but how can I force them into swap? Or is that a bad idea?
Answer: I wouldn't bother; other processes will be paged out automatically when there's memory pressure.  The kernel uses a "least-recently-used" scheme for deciding what should be paged out next, and if you stop Chrome with SIGSTOP, it won't be able to use any of its pages, so after awhile they'll be kicked out of RAM if Minecraft needs more.
Comment: Your answer and Brians are both good, don't know which one to accept :D
Answer: Maybe try a command like this to temporarily use a lot of memory to force Chrome (and everything else) to swap out before starting minecraft
<code>dd if=/dev/zero conv=block cbs=1024m of=/dev/null bs=32m count=32
</code>
Comment: Your answer and Wyzards are both good, don't know which one to accept :D
Comment: Give my suggestion a try and if it doesn't help minecraft responsiveness you should accept Wyzard's answer.
Comment: Well, as the problem only occurs from time to time, I can't really test based on that, but I've seen that while minecraft was running, I had 500MB free RAM, so it looks like this is a good idea.
Answer: If you're using them both at once thats probably a bad idea. Constant adding and removing from swap will cause thrashing which is not only bad for your hard drive, but slow.
As far as I know it is not possible, swap space is managed by the kernel. You can however mount a ramdisk as a directory if you have the spare ram.
Answer: If you're seriously determined to run Chrome while gaming then I'd suggest digging into chrome's threads and choosing what you need running (a lot of individual threads are simply one extension constantly running) and freeze the rest right after clearing your ram. With the way chrome sandboxes everything it makes it pretty stable even if you start freezing parts of it as long as the main portion (which isn't that big alone) isn't messed with.
I'd also consider throwing in a few cpulimit commands as well so the processor demand coming from chrome doesn't make it look like the top priority for caching.
If you're using chrome for push notifications or anything that is incremental then incrementally pausing and resuming it may be a lot of help as well if you only allowed enough time for it to fetch what it needs.
One last suggestion I've done a few times before is having a set interval set up that clears the ram of processes that aren't that important in terms of preformance for you and have that interval set under a "self.cpulimit" function because depending on which command you choose, some of them can get pretty cpu heavy.


how to convert discrete variable to continus variable for use as NN input?

Question: I have some discrete variables
I want to convert them to continus variables to use as the inputs of a neural network
has anyone an idea?
Answer: It results in a large number of input features, but you could use an indicator input (0 or 1) for each state of the discrete variable(s).  Technically, you could drop one of these inputs for a given variable, since it is equivalent to all of the others being zero.
Answer: Would scaling the discrete values to be between 0 and 1 (or, rather, 0.1 and 0.9 for better numerical behavior) work for your application?


How does operator overloading (especially 'new') arity work?

Question: I've never quite understood how the argument lists for operator overloading are determined in a systematic way, and I'm particularly confused by a problem I have now.
When you overload a unary operator it has one argument, or zero if it's a class member.  When you overload a binary operator it has two arguments, or one if it's a class member.  At least that's the way it would seem to work.  I'm having a problem with operator new (not a class member) however.
In a codebase I'm working in, as in other places I have seen in the past (like here for example) there is a define like #define new new(__FILE__, __LINE__) and a corresponding function with the signature void *new(size_t size, const char *file, unsigned line) or something like it for memory debugging.  I note that the one in my project is actually different from the previously linked one.  This presents a problem for me, because for some reason it's messing up a placement new.  I've looked in The C++ Programming Language, and if it explains this I'm missing it.
Is new special in this regard, i.e. does it have specific language defined extra debug signatures?  It doesn't seem like it because, as I noted above, I've seen slightly different signatures in different places.  If it does, what other operators have non-obvious signatures, and what are they?  Are these varied signatures instead some implementation specific extras?  If so, are there any general rules as to what most implementations do?  Alternatively, is it an arity issue like I implied in my title?  Can you just tack on as many extra arguments as you want in the signature and if you call new with the arguments between the new keyword itself and the new type you want you can just do whatever?  Or am I even more confused, and there's something else I'm missing?
Most importantly in the short term (although I'd really like to understand this), what's going on the messes up my placement new?  The macro is causing an expansion something like new ("file.cpp", 100) (class_pointer) class_t.  Is the problem the two groups in parenthesis maybe, or something else?
Answer: operator new is closer to functions in that you can provide as many overloads as you want and the compiler will choose the version based on function overload rules.
So, when you do new ((T1)value1, (T2)value2) TYPE, that will get routed to:
operator new(size_t, T1, T2);

The problem with your macro is that it is assuming you are calling the plain version of new and that it can use the preprocessor to turn that into a call to debugging new.  The macro is broken when you need to call a different version of new.
If you need to call placement new (or any other special new), you can fix your issue by turning off that macro:
#undef new

Answer: The arity of an overloaded operator is whatever you declare. For the operators named after symbols (+), if you define them to have extra args, they will only be invoked via an explicit call. (operator +(a, b, c, d, e)). For operator new, you must give it at least one arg, but you may give it as many as you want. Regular operator overloading determines which one gets called.


What is your provisioning method? (out of the cardboard -> bare metal -> fully functional server)?

Question: Trying to cut down our deploy times and looking for suggestions and shortcuts you or your team uses to get back in the terminal and out of the data center.  Looking at the entire process from ordering gear to end of life.
Answer:
If you are large enough to worry about big deployments you are large enough to use some sort of database for machine information.  It should contain info about IP addresses, MAC addresses, and machine names and roles as well as the normal model and vendor info.  Use this to populate configuration and installation tools.
If it is just a few machines, the sys admins may be the best choice for rack and stack.  If the deployment is more than 5-10 machines hire a contractor to do the unpacking, racking, and cabling.  They do this frequently enough that they can accomplish the task faster and for less money than 1-2 sys admins and some volunteers (read interns).
Have an automated installation setup.  For Linux this means something like FAI (Debian & Ubuntu) or kickstart (RHEL & CentOS).  Solaris uses jumpstart and Windows uses WDS.  x86/x86_64 hardware almost always supports dhcp and PXE.  You may need to use bootp for other servers.  Use the database mentioned above to feed the configuration.  Test that the installation configuration scripts do what you expect.  Then have your machines turned on as the final step of of the hardware installation.
Have a configuration management system that has definitions for the types of machines and services you use.  Puppet and cfengine are popular but there are many others.  Have server roles come from the database mentioned above.  This is vital as you grow.  The configuration management tools will ensure that all servers have the right version of software and all of the needed configuration for the services they provide.  Call this on initial boot after your install.  Run through a few iterations with a fresh install to ensure that everything is right.
If possible, once everything is installed, give everything a few days of run-in before you start throwing user traffic at it.  Set your monitoring to email you if there is a problem but not to page anyone during the burnin.  If a burnin isn't possible be prepared for more problems than normal until you have sorted out any early problems.
After each deployment have a retrospective.  Identify what went well and what didn't.  Determine what needs to be improved and make the improvements.  This can be as formal or informal as you want.  The retrospective is as important as the other steps.  It is how you improve the process.

I cannot stress enough that you will need to test the process before and during any deployment.  The tests should be as automated as you can make them.  As you become more familiar with the gotchas for your deployments you should improve your testing.
This is how a small team (2 people) can add 50 or more machines in less than 12 man hours not including the time spent unpacking, racking, cabling, etc.
Comment: +1 for point 6. Retrospective and process improvement you can't buy nor outsource.
Answer: There's a lot to be learned from Henry Ford if you are looking to deploy numerous identical (or almost identical) items, of anything.
If you have say 100 brand new servers, all sitting on their packing crates, just begging to be configured, it makes a lot of sense to set up a production line. Obviously before your production line starts work you will need to set up one of them so you know exactly what needs to be done (and often to create your master image that will be deployed onto the other 99). But I digress.
Henry Ford proved that if you want to speed up your production of anything, get one person to do just the one job, but have a lot of people all doing different jobs. E.g.

One person takes the box and opens it
One person takes out the styrofoam, puts the manuals and cables somewhere the person later on will use them, and prints a label for the front of the server
One person takes the server and stacks it in front of the appropriate rack
One person takes the server, installs the rack kit, mounts it into the rack, plugs in the cables and turns it on.
One person sets the server up to PXE boot, or inserts the installation media, or whatever
One person monitors or conducts the installation process
One person (a different person to who installed it) verifies the installation and makes the minor changes needed (computer name, etc)

Obviously this is going to require more than just one person, but even with two people this can be highly effective. As soon as someone finishes their job they assume the next available job.
s also only useful if you have a lot of the same item, and they're all pretty much identical.
By the time they reach the 100th iteration of their job they will be very efficient at it.
Things to note: Don't get the one person doing the same job for too long. In a car construction line we're talking about 3 days in a row, but in server deployment it could be more like 3 hours.
Also, a lot of these tasks are fairly un-skilled (unpacking, screwing in bolts, etc) which means that if you can grab a work experience kid or a brand new intern it can save your own team for doing the more skilled tasks (cabling, OS, etc).
Answer: It really depends on what you are trying to provision.  I have previously used a setup whereby we have corporate standard configs for servers available in Dell Premier. So we can just log in and order 1 new web server and the config will be already pre-specified.
Once the hardware has arrived, we plug it in, boot from a USB thumb drive. The pre-boot environment asks what role the new server is going to perform.  Once the selection is made the server is imaged, configured, and up and running ready to go.
This works well but took a reasonable amnount of effort to set up. It also works because the whole environment is set up to scale horozontally, with servers assigned to very specific roles.
Comment: Where's the burnin??
Comment: I have to be honest and say it didn't always happen (usually because the extra capacity was required at the last minute on short notice).  But when it did happen we would fire up the machines in the dev/test environment (same deployment process applied to dev and test as well as prod) and leave it running there.  Once we were happy it would be shutdown, relocated, and then re-imaged.


How does the medieval militants use mirror as weapon?

Question: Set between 4th to 6th century silvered glass mirror has been invented and were seen in battles all over Europe. How do the medieval militants use the mirror to turn the tides of war? (Archimedes's heat ray?)
Comment: They... don't, really. http://www.discovery.com/tv-shows/mythbusters/videos/death-ray-minimyth/
Comment: Although perhaps if you made it look like you had a bigger army... that could be useful
Answer: A few possibilities for you, that are unfortunately unconfirmed.
1: Signalling. You can reflect light off of a mirror into someone's eyes to create a 'flash' of light that can be seen from a substantial distance. Used correctly, this could carry simple messages across great distances. As an added bonus, anyone not caught by the 'beam' of light coming off the mirror would not be able to see that the message was being sent at all. The messages would be very simple, as Morse code had not yet been invented. There's also the restriction that it only works when the sun is out.
2: Observation. It is a lot harder to see a small piece of reflective material stuck around a corner or the side of a tree than it is to see a person sticking their head out. Even the modern military uses reflective materials to look around corners without exposing themselves.
3: As mentioned above, you could use mirrors to temporarily dazzle or distract enemies. As marching into the sun is a bad idea, you'd want to have mirrors that could be angled to catch the sun. In open combat, this would be hard...but distracting a guard to make him look towards the mirrors, and away from where he's supposed to be looking would be much more doable.
The unfortunate truth is that it is very difficult to weaponize a mirror...especially ones as primitive as what existed in the middle ages.
Answer: If you put mirrors on your soldier's shields, and face them towards the sun, they can blind their enemies with the reflected sunlight (for a great example of the effectiveness of this tactic, see the battle of Helm's Deep in the film adaptation of Lord of the Rings:The Two Towers). There's not much that can be done to combat this tactic, as sunglasses won't be invented for another few centuries, and you sort of have to be looking at your enemy to fight them.
The only flaw to this strategy, and I think it's one Sun Tzu warns about, is that you should never point your army at the sun. Worst case scenario, you'll fight a battle where no one is able to see. But if you get the angle right, the sun should be high enough to not get in your eyes, but reflect into the enemy's.
I can only think of a few reasons why this wasn't actually done in the past: 1)- mirrors were too expensive, and 2)- soldiers were too dirty. 2 can be solved by holding some water in reserve, and washing the shields right before battle, but 1 is really up to you; get as much mirror as you think the army can afford, and divide it up among your front line.
Comment: Another option to tag on there is to use mirrors as signaling devices. Used correctly, a mirror can let you send a signal that is unreadable to anyone who is not in the path of the beam of light. Very good for sending discrete, if very simple, messages (as morse code wasn't invented for quite a while). But even simple messages are incredibly useful.
Comment: @guildsbounty Yeah, that sounds like something you could put into your own answer. I'd upvote it.


Opencart import/export tool uploads XLS file, stops without error

Question: I'm using the Opencart import/export tool (the one written by Mr. Neuhoff) to update our product database. I have not had any issues with it until just now... when I try to upload more than 12,000 products. After the XLS file is uploaded, the script just stops. No error. Nothing.
All error reporting is on. The tool is using PHP Pear (mini) library, and PHPExcel to parse through the data. My php.ini file is set to allow for up to eight gigs of RAM, and pretty much maxed out in every category. I'm at a total loss as to why this would be happening.
I'm totally open to ideas at this point. Anything I can try, would be very helpful.
Comment: Why not asking the extension developer?
Answer: It was post_max_size error. Thanks to J.Neuhoff for bringing light to this, via the OC forum post here.


Should I mention that I am interested in developing bioinformatics tools in my SOP for a "Software Development/Engineering" Master's program?

Question: The program I am applying for is "Software Engineering/Development" master's program, I am really interested in this field of study, and I have already mentioned in my SOP that I wish to follow the studies up with a PhD and then want to have a career as a professional programmer. With all that being said, is there any need to give specific examples of what I can and want to potentially do when I become a programming expert? For example, developing bioinformatics tools really amazes me, should I mention that just as an example of what I would like to do during my career as a programmer?
Answer: Put yourself into the shoes of who should decide to select you or other applicants for this program.
Will she/he be interested of what you are going to do after the Master program?
Also, if you really like bioinformatics, probably you should approach it more from scientist point of view than a software developer point of view.
You should already have a strong base on biology, molecular biology, genetics and proteomics to start to develop new algorithms that give a substantial contribution in the field.
Comment: Most definitely. Because it's the main question of the application form that I have to answer.

Based on what I have read on few bioinformatics websites, an expert software developer can have a great possibility of being able to collaborate with a bioinformatician to develop bioinformatics tools.


Is there a 64-bit version of ArcMap?

Question: 32-bit ArcMap is not playing well with 64-bit AutoCAD Map
Comment: How are they conflicting?  How are they supposed to be interacting?
Comment: This has now shown up in at least two different review queues - low quality and close - unclear what is being asked. Low quality is a matter of opinion and should be addressed by voting on the question, up or down. "Is there a 64bit version of ArcMap?" seems pretty clear to me and is the question being asked - not 'why aren't Arc and ACAD getting along'. If the asker would like to rephrase or expand their question to try and troubleshoot specific issues they're having, that's fine and as written it would be unclear. But as written it's just a short, simple question to be dealt with via votes.
Comment: There was mumblings about 10.3 being offered as 64 bit but it looks like that didn't happen... perhaps in the next version will be offered as 32/64 bit but don't hold your breath. It would be far simpler to get 32bit AutoCAD. What is it about them that isn't getting along? is there a shared DLL, is there an interoperablility issue, is there a link that can't be established?
Comment: No "perhaps" about it, @MichaelMiles-Stimson; I don't see *any* chance that Desktop will be rewritten as a 64-bit application suite.
Comment: @Vince I'll reserve my opinion on that and multi-threading too (been waiting for that since the early 2k's). Both would take a **huge** rewrite at the lowest level and as ArcGis is a huge suite of source code and a vast number of extensions that would also need to be extensively rewritten, there's no doubt this is a big task... but then again Esri is a large company with a lot of paying customers (lots of them requesting 64 bit mult-threading).... just saying.
Answer: There isn't a 64-bit version although you can add in 64 bit background processing.    ESRI released ArcGIS Pro, which is a 64 bit program.  Have a look at the site for licensing and other details surrounding the program.  It isn't a replacement for ArcMap, but you may find you're able to use a lot of the same functionality in it that you would with ArcMap.
The 64 bit background processing is a good start if you are able to run items in the background.  If speed is your worry, you are also able to utilize ArcPy modules in stand-alone python scripts as long as you have appropriate licensing.

Is there a 64-bit version of ArcMap?