What is effect of fractional sample delay effect on FIR Filters?

Question: In the DSP lecture slides we have this slide:

And

So why this part of FIR Type 2 and Type 4 filter impulse response equation bolded in this slide?
Thanks for your attention.
Answer: To answer your primary question, what is the effect of fractional delay- in this case the fractional delay when it would exist (for Type 2 and Type 4 filters only) would be M.5 samples where M is an integer. (So would always be on a half sample increment).
In the picture below the blue line represents the sampled waveform that would pass through the filter, with the blue dots representing the input of the filter, while the output would have samples on the red dots (with the additional M sample delay). This is the effect of a fractional delay.

The presentations are simply showing you the delay of a linear phase filter; in all cases the delay is $N/2$ where N is the order of the filter, which is 1 less than the length L. If the filter has an odd length it will have an even order as in the case of Type 1 and Type 3 filters and the delay will be an integer number of samples. If the filter has an even length it will have an odd order as in the case of Type 2 and Type 3, and therefore the delay will be a half sample more than an integer number of samples.
Consider how this works which also illuminates why these four filter types are linear phase.
The frequency response for a FIR filter is determined by replacing evaluating $H(z)$ as z is swept over the unit circle. ($z=1$ corresponds to "DC" while $z=1$ corresponds to $\pm F_s/2$ where $F_s$ is the sampling rate.) To keep z on the unit circle, $z=e^{j\omega}$ as $\omega$ is swept from $-\pi$ to $\pi$ corresponding to $=F_s/2$ to $F_s/2$.
Therefore, we are evaluating $H(z) = H(e^{j\omega})$
Also note Euler's identities:
$e^{j\phi} + e^{-j\phi} = 2\cos(\phi)$
$e^{j\phi} - e^{-j\phi} = 2j\sin(\phi)$
Note that a real waveform such as $\cos(\omega n)$ has a phase that can only be $0$ or $\pi$ radians (mod $2\pi$).
Similarly the imaginary waveform such as $2j\sin(\omega n)$ has a phase that can only be $\pm pi/2$ (mod $2\pi$).
It is only complex waveforms such as $e^{j\omega n}$ with both real and imaginary components that can have arbitrary phases. And note that the magnitude of $e^{j\omega n}$ is always one, so this expression describes phase only.
From this, the approach is to factor the linear phase frequency response into the form $A(\omega)e^{j\phi(\omega)}$, where $A(\omega)$ is real and only describes the magnitude while $e^{j\phi(\omega)}$ describes the phase:
Given the general form of the z-transform for an FIR filter as
$$H(z) = \Sigma_{n=0}^{N-1}h[n]z^{-n}$$
And the frequency response as evaluated on the unit circle as:
$$H(e^{j\omega}) = \Sigma_{n=0}^{N-1}h[n]e^{-j\omega n}$$
If we factor out of this $e^{-j\omega N/2}$ the result is symmetric terms of $e^{-j\omega n}$, resulting in sine and cosine terms.
Here is a simple example of a 5 tap unity gain filter (coefficients = [1 1 1 1 1]). The is a length = 5 filter that is 4th order (even).
The frequency response of this is given as
$$H(e^{j\omega}) = 1 + e^{-j\omega}+e^{-j2\omega}+e^{-j3\omega}++e^{-j4\omega}$$
as $\omega$ is swept from $0$ to $2\pi$ or alternatively $-\pi$ to $\pi$ depending on how you want to present the frequency axis (corresponding to DC to $F_s$ or $-F_s/2$ to +$F_s/2$.)
If we factor out the linear phase component, we easily get the desired $A(\omega)e^{j\phi(\omega)}$ form since we can replace the remaining symmetric exponential terms with sines or cosines using Euler's identities. In this case, in order for the exponential exponents to be symmetric resulting in real sinusoidal terms, we need to factor out what will result in an integer delay of samples:
$$H(e^{j\omega}) = e^{-2\omega}(e^{-2\omega} + e^{-j\omega}+e^{j\omega}+e^{j2\omega})$$
Notice the symmetric exponential components such that we can now convert them easily using Euler's identities to cosine terms in this case:
$$H(e^{j\omega}) = e^{-2\omega}[(e^{-2\omega}+e^{j2\omega}) +  (e^{-j\omega}+e^{j\omega})]$$
$$= e^{-2\omega}(2\cos(2\omega)+ 2\cos(\omega))$$
So here we see that the term $(2\cos(2\omega)+ 2\cos(\omega))$ contributes nothing to the phase except for $0$ and $\pi$ radian phase changes, so only changes the magnitude in the frequency response. Similarly  the term $e^{-2\omega}$ only contributes to phase as the magnitude is always 1. Notice as the frequency term $\omega$ is changed, the phase is changing in direct proportion, in this case at a negative rate of twice the frequency-- this is consistent with the delay of two samples, and is "linear phase", as the phase is changing linearly with frequency.
We can only extract a single linear phase term and get real sinusoids when the filter coefficients are symmetric or anti-symmetric as in the four linear phase types. Further we see how when we have an odd number of taps with asymmetric coefficients how the center tap must be zero as well as other interesting properties that are revealed. Such as Type 2 filters must always have a zero at z=-1 (low pass) and similarly Type 4 filters must always have a zero at z = 1 (high pass).
It may be helpful to know that time delay is the negative slope (derivative) of phase with respect to frequency--- so if the phase versus frequency response is decreasing linearly versus frequency- this would correspond to all frequency components experiencing the same delay and thus there would be no distortion introduced.
So the reason for showing the fractional delay in those slides (and specifically it will be a 1/2 sample fraction) for the type 2 and type 4 filters is to simply show that this will always be the case for those filter types, and why. So the waveform at the output of a filter that has a half-sample fractional delay will have sample locations that are at the midpoints of the input samples for the underlying waveform that could also be represented in continuous time.
Answer: Linear phase FIR filters are either symmetric or anti-symmetric. When the length of the filter is odd then the point of symmetry falls on an integer sample. These are the Type-1 and Type-3 linear phase filters.
For example, the odd length filter $$h[n] = [1,-2,3,-4,7,-4,3,-2,1] $$
is of $9$ samples long (from $n=0$ to $n=8$) and the point of symmetry is at the position $n = 8/2 = 4 $ which is the sample $h[4] = 7$.
On the other hand, if the filter has an even number of samples then the symmetry point does not coincide with an integer sample position but a fraction. These are the Type-2 and Type-4 filters.
For example, the even length filter
$$g[n] =[ 1,2,3,3,2,1] $$ is of length $6$ (from $n=0$ to $n=5$) and the point of symmetry falls at the index $n = 5/2 = 2.5$.
This is not a valid sequence index, which should be an integer. Hence the point of symmetry is a virtual line between the indices $n=2$ and $n=3$.
Comment: @modern Hi! Will you accept an answer ? or leave the question floating ? Don't forget to upvote as well :-))


journalctl --user -u myservice "No journal files were found", for a specific user

Question: Problem:
systemd user units journalctl output display "No journal files were found." This only happens for the one sss user I am testing with, all local users seem to work fine. EDIT: sss does not seem to be the issue. Just this user is the problem. Exact command and output:
$journalctl --user -u myservice
No journal files were found.

system env

RHEL 8.4
systemd 239 (239-45.el8_4.3)
kernel: 4.18.0-305.19.1.el8_4.x86_64

Troubleshooting:
I already read these posts and tried troubleshooting found within each:

https://stackoverflow.com/questions/30783134/systemd-user-journals-not-being-created
https://bbs.archlinux.org/viewtopic.php?id=193518
Why does journalctl say "-- no entries --"?
journalctl --user giving "No journal files were found."

I have tried the following:

Rebooting.
Redeploying the host OS.
Tried creating a local user to test with.
Made sure to login to all newly created local user account I am working with directly with SSH or terminal initially before continuing testing. Also tested sshing to the sss user account in question which I am able to.
Restarting journalctl services (systmectl restart systemd-journald.service)
Made sure /etc/systemd/journald.conf Storage=persistent. But also tried auto, and volatile, no change with any.
added export XDG_RUNTIME_DIR=/run/user/$(id -u) in ~/.bashrc for the local user and the user in question. Then sourced the file.
Confirmed linger is enabled.
Noticed that this problem is only happening one specific user on the box. Created new users, and this problem does not happen.
User account in question has a different uid from the gid/groups. However I tested adjusting a newly created account with a different uid from its gid/groups, adjusted the ~/.bashrc for the new uid, rebooted, and that account works showing the correct journalctl output.
User account in question appears to be an sss user.
Confirmed the user's d-bus channel is running with ps, I see the user is running /usr/lib/systemd/systemd --user
I am able to run other systmectl --user commands as the user in question. I can check status, start, stop, restart the user service.
When I run journalctl --user, here is the output:
$ journalctl --user
No journal files were found.
-- No entries --

When I run journalctl --user --verify, here is the output:
$ journalctl --user --verify
No journal files were found.

I did all the above on another box where the sss user is also built, problem follows the user account.
I found journalctl output! but its in /var/log/messages (the default location for journalctl output to syslog for rhel systems). Wonder why it shows there but not for the --user area?
I checked systemctl status user.slice --no-pager and see the correct user slices for each uid with the correct services, systmectl --user status myservice shows the correct slice as well. However if I check ls /var/log/journal/<number> I do not see the user-<UID>@UUID.journal listed for the user in question.

This problem appears to only happen for the user I am testing with which was built with sss. I am not able to remove or rebuild this user as I do not manage sss on this system.
Why does this specific sss user journalctl --user output not appear but local user's do? What am I missing here? Not sure how else to troubleshoot this issue, any recommendations?
EDIT: well it does not seem to be sss related. I deployed my own AD server, integrated kerberos and SSSd, built a user, and journalctl works fine for them.
At this point I have no idea why this user's journalctl will not work, any recommendations  for troubleshooting would be helpful!
EDIT2: I found journalctl output for the --user service does show in /var/log/messages but this can only be accessed by root.
Answer: I found the problem!
The user in question had a UID/GID that was < 1000.
I adjusted the UID/GID to "1111", logged off and back in, and the journalctl immediately started working!
After reading this post it made realize maybe journalctl was doing something that would not allow it to work with systemd --user units that it perceived as used for system users.


Copy MySQL table using backup

Question: I want to copy the contents of a hot table to another table on the same database. I don't want to rename the original or delete it.
One option is to create a new table LIKE the current one and then INSERT INTO... SELECT.
However, I think it might be fastest to create a backup of my table using mysqlhotcopy and then load this into the second table. I'm not sure how I can accomplish the second part of this - loading into an arbitrary table Foo from a backup. I want to do this using PHP.
Any ideas?
Answer: This is an Overview:
Your answer really depends on how big your table is and how much read-lock time you can stand.  A lot of records can be copied in 2 seconds.
No matter which way you cut it, you are going to need a read lock of some sort on the table while it is being read (to get a consistent read anyway).  InnoDB transactions may provide a way to get a consistent snapshot without holding up other writers.  MyISAM or InnoDB will have very different backup strategies.
With MyISAM
A very fast way to do what you are referring to is:
CREATE TABLE x_backup LIKE x;
ALTER TABLE x_backup DISABLE KEYS;
INSERT INTO x_backup SELECT * from x;
ALTER TABLE x_backup ENABLE KEYS;

A real example:
8.68 seconds for 333,935 decently sized records.
           Name: sds_profile
         Engine: MyISAM
        Version: 10
     Row_format: Dynamic
           Rows: 333935
 Avg_row_length: 129
    Data_length: 43114720
   Index_length: 11572224

mysql> create table x LIKE sds_profile;
Query OK, 0 rows affected (0.01 sec)

mysql> alter table x disable keys;
Query OK, 0 rows affected (0.00 sec)

mysql> insert into x select * from sds_profile;
Query OK, 333935 rows affected (8.68 sec)
Records: 333935  Duplicates: 0  Warnings: 0

mysql> alter table x enable keys;
Query OK, 0 rows affected (0.78 sec)

With InnoDB
Consider doing similar, but in a transaction with the correct isolation level.
hotcopy
If you are doing this from PHP, it would be good to do it via the normal MySQL authentication mechanisms.  Otherwise, you need to get direct access to the data dir, with read privs on the mysql files.  This can open up further security issues that you may not want to contend with.
Answer: I would use SELECT...INTO OUTFILE and LOAD DATA INFILE to accomplish this.
You have a lot of flexibility and it will perform much faster.
Answer: I was going to suggest using php myadmin and click on the operations tab. There is a table copy procedure there. If this is going to be an ongoing thing, creating a new table and inserting the contents should do.

Copy MySQL table using backup


NDVI values obtained with different sensors

Question: In a research paper with NDVI values, differences were found for the same pixel between Landsat 5, Landsat 8, MODIS or Sentinel made after the corresponding atmospheric corrections. Can this be right? If so, is there any way to correct it?
Answer: As for your first question, the different sensors will return different NDVI values because of their different spectral and spatial characteristics.  As towards your second question, there is significant agreement between Landsat 7 & OLI, OLI & MODIS:

(Yinghai Ke, Jungho Im, Junghee Lee, Huili Gong, Youngryel Ryu,
  Characteristics of Landsat 8 OLI-derived NDVI by comparison with
  multiple satellite sensors and in-situ observations, Remote Sensing of
  Environment, Volume 164, July 2015)
Answer: As the band intervals and spatial resolution of the satellite images you've mentioned and the used atmospheric correction algorithms are different not only NDVI but also other indices have different pixel based values.
The need to apply a transformation or correction depends on your application area. Even though there is an agreement, when using multi-satellite data for time series analysis, especially for phenological purposes, you will need to consider these differences.  For example, lower vegetated areas has higher NDVI values with Landsat 8 than Landsat 7.
You can also check "Compare NDVI extracted from Landsat 8 imagery with that from Landsat 7 imagery" and "Comparison of the Continuity of Vegetation Indices Derived from Landsat 8 OLI and Landsat 7 ETM+ Data among Different Vegetation Types"


Azure Cache intermittent response times from WCF REST service

Question: I'm building an EF6 web app in Azure and I'm using Azure Cache.
I'm testing calls to my WCF service and I'm getting wildly erratic response times - between 300ms and 15sec!
I configured my code according to the this example and it runs fine locally
I've debugged remotely and I can see that the cache key is being found and the data is getting called from cache, so I'm struggling to understand why there is sych a huge variation in response times. Most of the time it's 5+sec which is obviously waaay too long.
The example I've been testing is as follows:
WCF service GET request to:
http://feniksdev-staging.azurewebsites.net/EkckoNewsService.svc/getFriends
       // Cache client configured by settings in application configuration file.
        public DataCacheFactory cacheFactory = new DataCacheFactory();
        public DataCache _cache;
        public DataCache cache
        {
            get
            {
                if (_cache == null)
                    _cache = cacheFactory.GetDefaultCache();

                return _cache;
            }
            set { }
        }
...
...

[OperationContract]
    [System.ServiceModel.Web.WebGet(ResponseFormat = WebMessageFormat.Json, UriTemplate = "/getFriends")]
    public string getFriends()
    {
        string cachekey = "getFriends/{" + user.Id + "}";
        object result = cache.Get(cachekey);
        if (result == null)
        {
            using (EkckoContext entities = new EkckoContext())
            {
                var frnds = entities.UserConnections.Where(uc => uc.UserId == user.Id).Select(uc => new { Name = uc.Friend.Username }).ToList();
                JsonSerializerSettings jsonSettings = new JsonSerializerSettings { PreserveReferencesHandling = PreserveReferencesHandling.Objects };
                string json = JsonConvert.SerializeObject(frnds, jsonSettings);
                cache.Add(cachekey, json);
                return json;
            }
        }
        else
        {
            return (string)result;
        }
    }

UserConnection is a simple table in my db and currently has no data, so the call returns an empty JSON array. user is a Session object and currently defaults to 1 for user.Id
When remote-debugging this, the object is found in cache and the cached object is returned. So all good, except the response time still varies by a factor of 20 (300ms - 6sec).
When remote debugging one of the other web service methods, I got the following error when attempting to access the cached object using the corresponding key (object result = cache.Get(cachekey);):

{"ErrorCode:SubStatus:There is a temporary failure. Please retry later. (One or more specified cache servers are unavailable, which could be caused by busy network or servers. For on-premises cache clusters, also verify the following conditions. Ensure that security permission has been granted for this client account, and check that the AppFabric Caching Service is allowed through the firewall on all cache hosts. Also the MaxBufferSize on the server must be greater than or equal to the serialized object size sent from the client.). Additional Information : The client was trying to communicate with the server: net.tcp://ekckodev.cache.windows.net:22238."}

I then set the maxBufferSize in my config as follows:
    <configSections>

</configSections>
...
...
<system.web>
...
...
<caching>
      <outputCache defaultProvider="AFCacheOutputCacheProvider">
        <providers>
          <add name="AFCacheOutputCacheProvider" type="Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache" cacheName="default" dataCacheClientName="default" applicationName="AFCacheOutputCache" />
        </providers>
      </outputCache>
    </caching>
</system.web>
    ....
    ....
    ...
      <dataCacheClients>
        <dataCacheClient name="default">
          <autoDiscover isEnabled="true" identifier="ekckodev.cache.windows.net" />
          <localCache  isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
          <securityProperties mode="Message" sslEnabled="false">
            <messageSecurity authorizationInfo="xxxxxxxxxxxxxxxxxxxxxxx" />
          </securityProperties>
          <transportProperties connectionBufferSize="131072" maxBufferPoolSize="268435456"
                               maxBufferSize="8388608" maxOutputDelay="2" channelInitializationTimeout="60000"
                               receiveTimeout="600000"/>
        </dataCacheClient>
      </dataCacheClients>

But I still get such erratic response times - particularly when hitting the same service call repeatedly.
After adding the maxbuffersize config, the cache calls are still hit-and-miss. some fetch the object; other times I get the same exception, however the port is different

"... The client was trying to communicate with the server: net.tcp://ekckodev.cache.windows.net:22233."}"

Could this be a firewall issue? If so, how do I open the appropriate ports?
I also just got the following exception when instantiating the DataCache object:
_cache = cacheFactory.GetDefaultCache();

ErrorCode:SubStatus:There is a temporary failure. Please retry later.
  (One or more specified cache servers are unavailable, which could be caused by busy network or servers.
  For on-premises cache clusters, also verify the following conditions. Ensure that security permission has
  been granted for this client account, and check that the AppFabric Caching Service is allowed through the
  firewall on all cache hosts. Also the MaxBufferSize on the server must be greater than or equal to the
  serialized object size sent from the client.)

Any thoughts on why I'm getting such results? it's certainly no quicker WITH the cache than WIHTOUT it, so it appears there is some sort of latency in the cache which doesn't seem right...
Thanks in advance for any help!
UPDATE:
After doing some more searching, it seems I'm not the only one with this issue:
poor performance with azure cache
I find it hard to believe that this is the performance I should expect
UPDATE 2
I have commented out all cache-related code from my service and ran the same tests again. The response times are appreciably lower WITHOUT the cache! the "getFriends" callaverages about 250ms wihtout the cache, but peaks at over 5sec WITH the cache.
My other method that fetches about 4kb of data, was peaking at 20+ seconds with cache and now averages about 2sec WITHOUT the cache.
Again: I find it hard to believe that this is the performance I should expect
UPDATE 3
I have now scrapped Azure Cache in favour of MemoryCache. Nice example here
My service calls are now consistently taking approx 300ms in the browser.
I've opened a ticket with Microsoft Azure support regarding Azure Cache, so I'll update this post when they get in touch and I've asked them why their cache is so rubbish. Just when my faith in Microsoft was climbing :/
Comment: Are you totally sure that the cache is the slow component? Dow did you determine that?
Comment: Yeah - I ran speed tests before, during and after implementing the Azure Cache. And then again after implementing MemCache. As stated, I also remote debugged to be sure it was getting data from cache and not the DB.
The only variable that changed was the cache. It's possible the problem is down to a configuration error, but I double checked my config against MS's examples
Comment: I'd profile the site to find out where the time is spent in the internals of the cache. The stack often gives important clues to what is going on just by the function names. Just pause the debugger 10 times while there is load on the site. It will very likely stop in the slow component most of the time. Look at the stack (including external code).
Comment: Your right, that this isnt the performance you should expect.
Can you confirm that your cache/sqldb/website are all in the exact same region.
Comment: Yeah, they're all in the same region (West Europe). I haven't had any similar issues since switching to MemCache. Microsoft have since advised that I try RedisCache, but I haven't yet had the time (or the inclination!). Thanks again for everyone's input
Answer: Looks like you've arrived at the correct conclusion, which is don't use Azure Managed Cache. About 6 months ago, Microsoft started recommending all new development be done against their Redis-based cache offering in Azure.

We recommend all new developments use Azure Redis Cache.

Strangely, they don't show the option to create a Redis cache in the 'old' Azure management site (manage.windowsazure.com), but they do have it in the "preview" Azure management portal.


Use of the word 'together' as in the Norfolk dialect

Question: In the Norfolk dialect, which I learned at my mother's and grandmother's knee, the word 'together'(pronounced 'tergatha') is used in an additional sense. If there are two people outside I might say 'Come in here, together'. Or if I have company I might ask 'Would you like a cup of tea, together'. I am not asking that they enter the house simultaneously or that they speak in unison, I am just making it clear that I am addressing everyone. If one grows up in Norfolk and leaves the county one notices the need for this form, which no one else in Britain recognises. I am told that a similar expression is available in some Scandinavian languages, perhaps indicating Norfolk's special connection with the Vikings. I think it may also exist in German. Can anyone supply any information please?
Answer: If it's any help, the OED's definition 2e of together confirms this use. Its earliest citation is from the first part of the nineteenth century. This subsequent citation from J G Nall's book 'Great Yarmouth and Lowestoft' of 1866 suggests that it may have had a singular form:

It has been wittily observed, that . . . 'together' is [the] plural
  [of 'bor'][a single person, male or female, being addressed as bor or
  'bo', two or more persons as 'together'].
Comment: And Great Yarmouth is in Norfolk, with Lowestoft some 10 miles down the coast in the neighbouring Suffolk.
Comment: Thank you for that. I've never thought of it as the plural of 'bor' but I guess it amounts to that since 'bor', a corruption of 'boy' and with links to the Dutch 'boer', does not otherwise have a plural in Norfolk. Though Lowestoft is in Suffolk, according to Trudgill the town uses the Norfolk dialect. You have to go as far as Halesworth before the Suffolk dialect rules. The separation line interestingly is also coincidental with the dividing line between Norwich City supporters and Ipswich Town fans. It has something to do with ease of access respectively to Norwich and Ipswich (re Trudgill).
Answer: The Scandinavian word for 'together' (Danish and Norwegian sammen, Swedish samman or tillsammans, Icelandic and Faeroese saman) can function in that way to a limited degree.
If I'm understanding your examples correctly, the sense is really 'together with us' or 'along with us', which does work in Scandinavian languages—sometimes.

Would you like a cup of tea, together ≈ (Da/No) Vil du have/ha en kop/kopp te sammen? / (Sw) Vill du ha en kopp te tillsammans?
  Come in here, together ≠ (Da/No) †Kom herind/inn her sammen. / (Sw) †Kom in här tillsammans.

The first works okay (but would sound more natural, as in non-Norfolk English, if phrased like "Should we get a cup of tea together?" vel sim), but the second is quite impossible in the sense intended: it would unambiguously be understood as asking multiple people to enter the room in unison.
A perhaps somewhat related concept is the Insular Scandinavian (i.e., Icelandic and Faeroese, but not Danish, Norwegian, or Swedish) ability to use a plural pronoun + a name (or similar noun phrase) to express that the plural pronoun refers to the person indicated by the pronoun's number plus the name/noun phrase mentioned:

(Ic) Við Jón hreinsuðum til í húsinu. = We John tidied up the house. = We [=John and I] tidied up the house.

This is not possible in any other language that I know, but seems to be a related phenomenon.

If that is a misreading of how the word is used in Norfolk English, and you mean that 'together' is simply used as a kind of vocative to refer to more than one person (similar to how American English would use 'you guys'), then the parallel to Scandinavian is less straightforward.
All the Scandinavian languages can optionally add 'together' to the word for 'all', either singular or plural (neuter singular: Da/No alt, Sw allt, Ic allt / plural [masculine]: Da/No alle, Sw alla, Ic/Fae allir) to make a lexeme that simply means 'everything' (singular) or 'everybody' (plural)[*]. But this isn't particularly vocative, and it isn't really too different from 'all together' in English, only more lexemic.

I'll leave the German links to someone more versed in that tongue than I am.

[*] The more common word in Swedish is alltihop (singular) / allihop (plural), which is basically identical: ihop (etymologically from i hop 'in (a) group') is just a different word for 'together' that's only used in Swedish and sometimes in Icelandic (and Faeroese?). Allir í hópi is also quite common in Icelandic, though not (as in Swedish) more common than allir saman.
Comment: I think the Norfolk *together* is a bit like American *y'all*. [*Nall's Glossary of East Anglian Dialect*](http://books.google.com/books?id=jnJH4vqF8rsC&pg=PA199&dq=%22how+are+ye+all+together%22&hl=en&sa=X&ei=F9pbUtqaAsSN4ATr0oEo&ved=0CC0Q6AEwAA) (2006): "In very common use, addressed to a number of persons, e.g., 'Well, how are ye all together?'" / *[The Song of Solomon in the Norfolk Dialect*](http://bit.ly/15BfBd4) (1860): "Together," is used as a pronoun of multitude, always in the vocative ; e.g. " Here's a nice harvest day, together !" would be a salntation to a company of mowers.
Comment: @Hugo, see, in the first of those examples, where 'together' modifies the pronoun, the Scandinavian parallel works. _Alle( )sammen_ (Da/No) / _alla samman_ (Sw) / _allir saman_ (Ic/Fae) is very natural in that phrase. In the latter, though, where 'together' is used pronominally on its own, the Scandiwegians come up short.
Comment: Thank you for your comprehensive and interesting answer. I would have to agree that the Norfolk sense is a bit like the American 'you guys'. It strikes the same companionable note in a gathering of people.
Comment: @Hugo. thank you for the references to those two works. Apart from Trudgill's book, and the fact that I grew up speaking it,  I have done little research on the dialect. Though when researching late-18th century Norwich politics I did find one reference made by some smart Londoners about the less than pretty way they spoke in Norfolk. That was of course when gentry spoke dialect.


How can I replace Ant with Maven?

Question: What are the minimum steps I should follow to replace Ant with Maven?
Answer:
Set up your project according to the standard directory layout.
Create a minimal pom.xml with groupId, artifactId and version.
Add your dependencies to the pom.xml
Compare the WAR/JAR/EAR to the old version see if there is any change. Take actions to minimize the differences as told here.

You should now be able to build a simple project, run the tests and package it.
Answer: Anecdote: Once you are in Maven, the reverse trip (though why would you ever go back!) is so simple:
<code>mvn ant:ant
</code>
generates functionally equivalent ant scripts.  Now if only an Ant->Maven generator existed.
Comment: the only source for mvn->ant migration I was able to find within 10 minutes. Thanks, Matthew
Answer: You can have a look to ant2maven script, that builds pom.xml from Ant scripts. I've never tried it, but it can be used to have a good pom.xml to start with...

How can I replace Ant with Maven?


Debug Mode Stats?

Question: If you hit F5, you turn on some debugging stuff at the top of the screen.
FPS is frames per second and Drawn Editors seems to be associated with the number of overlay windows, but I have no idea what the other stuff is.
Anybody have any idea?
Answer: I'm not 100% sure for SpaceChem, but this is one of the possibilities:
Bind calls are open functions in the programming code. For example, a background music playing, might be a function in a function, in a function, in a function, in a method etc etc.. This is a certain amount of bind calls.
Unfortunately, I really do not have a clue what Locals and User can mean..

Debug Mode Stats?


Xubuntu 17.04: suspend, shutdown dump to login screen

Question: Running Xubuntu 17.04 on a little old acer aspire one.
Suspend just doesn't seem to work very well on this computer. Suspending by closing the lid has never worked (even the screen remains on), and rather than troubleshoot it I just made a keybinding that suspends on Super-S. That worked fine for a while but in the last couple of days this new problem has appeared:
Periodically (about every third or fourth suspend) it now shows a black screen for a few seconds and then just puts me on the login screen. It doesn't seem to have anything to do with my keybinding as it also does this when suspending from the whisker menu. Also, it doesn't matter if suspending or shutting down, the result is the same. The only thing I can do is hard shut down the computer at that point.
I checked dmesg but it only showed messages since the last time I had force shut down, so no help there. Next time it happens I'll try to grab the dmesg output and post it here but I hoped maybe someone recognized the problem, it's annoying as when this happens I'm always trying to put my computer away and often cannot sit and troubleshoot it.
I think it might be related to this: laptop fails to suspend or hibernate but it at least does not appear to be the same module causing the issue as I do not have that module listed as enabled for wakeup. Here's my output on that:
<code>sarai@ninjacer:~$ cat /proc/acpi/wakeup
Device  S-state   Status   Sysfs node
USB0      S3    *enabled   pci:0000:00:1d.0
USB1      S3    *enabled   pci:0000:00:1d.1
USB2      S3    *enabled   pci:0000:00:1d.2
USB3      S3    *enabled   pci:0000:00:1d.3
USB7      S3    *enabled   pci:0000:00:1d.7
RP01      S4    *disabled  pci:0000:00:1c.0
PXSX      S4    *enabled   pci:0000:01:00.0
PXSX      S4    *disabled  pci:0000:02:00.0
PXSX      S4    *disabled  pci:0000:03:00.0
    *disabled  platform:rtsx_pci_sdmmc.0
    *disabled  platform:rtsx_pci_ms.0
PXSX      S4    *disabled
</code>
Comment: I think the older hardware is not suitable for suspending and/or the laptop is low on memory.
Answer: It's been over a full day since this reoccured. I wonder if something got fixed in an update? It has been suspending properly, whereas before it would happen several times a day. I guess this  is resolved.


Paste bones from one armature into another?

Question: Is it possible to copy and paste bones from one armature to another in edit mode? Joining the two armatures with Ctrl J is not an option in this case since it breaks a lot of other stuff.
Answer: Shift D to duplicate the bones, P to separate them into a new armature and Ctrl J to join to the target armature is the way, so you have to understand what is breaking and why.
The target final armature has to be last selected, so it will retain its name, loc, rot, scale, and so on.
Both armature should start with everything applied (loc, rot and scale, Ctrl A).
All bones should have their own unique name before joining.
If theese conditions are respected, nothing breaks with joining.
Comment: looks like that solved it! thank you sir!


Does hotspot connect directly to proxy or through the computer from the connection being shared?

Question: Let's say I have connected my phone to the internet through the hotspot from my Laptop. In order to access the internet, i have to configure proxy in both laptop and android. Now on the server side would the traffic come from my laptop or it would be shown as different i.e coming from the android?
Answer: On the server side, traffic would come from your laptop, however if browsing the web the phone would pass its own User Agent (Android) value in the request headers.


Why does configuration option stay red?

Question: I am very new to CiviCRM. I am setting the Configuration Checklist options. After setting one, and saving, it remains red. Have I missed something?
Answer: The "Configuration Checklist" is just a set of links - the color is just an indication of whether or not you've clicked on it.  In many cases, there's no definitive way for CiviCRM to know whether the answer you gave is "correct".  For instance, you may not have set a default state/province because you don't want one, not because you forgot to.
That said: Some configurations MUST be set.  Those will show up at Administer menu » Administration Console » System Status if they're not configured.
Answer: Try refreshing the Configuration Checklist page after you have visited the links it suggests. They should change from red.

Why does configuration option stay red?


Is there a map of the galaxies?

Question: I see that there are many maps of a single galaxy, the Milky Way, showing the positions of the stars within our galaxy.
I could not find a map of Galaxies, however. Is there such a map? In lieu of that I suppose I could make my own map if I knew celestial coordinates of all the nearby galaxies and the distances to those galaxies. Is there such a data table readily available?
Comment: Have you tried https://www.google.com/sky/ already?
Answer: A map of all galaxies gets kind of unwieldy, like a map of all stars in the milky way or a map of every house in the country, or every grain of sand on a beach . . . you get the idea.
Start here - Local Group

Source
Then Virgo Supercluster

Source
Then local superclusters

Source
And an article, even if it's a summary it's very much worth reading, with a more recent map with a "ginormous" supercluster that includes the milky way.

and here's another, more info here.
The largest of these maps is some 520 million light years across, so this is just a tiny part of the entire known universe, which (depending on how you measure) is either 27.5 billion light years across or 84 billion light years across.
It's worth pointing out, I haven't actually answered your question, and that was deliberate, cause I think the nearest 520 million light years is enough and it's all we have a really good picture of anyway (as far as I know).  The farther out you go the more holes and inaccuracies there will be in the map.
There's also some closer stuff that's blocked by the Milky way so we can't see it, like the great attractor.  No worries about superclusters eating our galaxy one day because dark energy expansion keeps these super-clusters from merging most of the time.  Andromeda will merge with the Milky way in about 4 billion years though but we're not expected to ever merge with the great attractor, even as it pulls our galaxy towards it, the distance between us is growing.
Comment: The Lick galaxy catalog produced by Shane & Wirtanen (1967), included about 1,000,000 galaxies above magnitude 19 in the northern hemisphere: https://ned.ipac.caltech.edu/level5/March12/Coil/Coil1.html Someone made the survey into a lovely map around 1979: http://faraday.physics.uiowa.edu/astro/8C10.80.htm Structure is readily apparent.
Comment: I have a fun little bit of info that if nothing else shows just how big the Milky Way is. I we define the diameter of the solar system as about 200 AU (100x Earth-sun orbit and about the distance to the heliopause) then the ratio of the diameter of the Milky Way to the solar system is about 3 x 10E7. If we take the diameter of the observable universe as about 100 billion LY, then it is only about 10E6 times the diameter of the Milky Way! If you made a hologram with the Milky Way a seeable one millimeter (pencil lead diam.), then the whole obs. universe would be a one kilometer sphere. Doable!
Comment: @WayfaringStranger  I didn't know about that.  Nice addition.
Comment: That map was produced by Jim Peebles in the early 1970's following his converting the high resolution Shane-Wirtanen galaxy counts to a digital format.  Peebles told me that his daughters had undertaken to produce the poster version using a stipple brush to represent the local galaxy density - the dots making up the image are not the galaxies.  The picture is used as the frontispiece of his book "Large Scale Structure of the Universe" where credit is given to "J.A. Peebles and P.J.E. Peebles".  Shane and Wirtanen had produced low-res isoplethic maps that showed superclusters of galaxies.

Is there a map of the galaxies?


Are there any known languages in the intersection of NP and co-NP but not in P?

Question: We currently don't know the relationship between NP and co-NP, but would it be possible to show whether the intersection is equal to P? I can't think of any languages in both NP and co-NP, but not in P.
Comment: Note that you can't prove that any NP problem is outside of P as that would imply that P != NP
Answer: Proving that $P= NP \cap$ co-$NP$ is an open problem and believed to be unlikely since Integer factoring decision problem is in both $NP$ and co-$NP$ but conjectured to be outside $P$.


What ROM could be used on an HTC Desire bravo with non-functioning physical buttons

Question: I have a HTC Desire (bravo). Currently I use it with the old Oxygene ROM. Basically It's fine, but the physical buttons (menu, back, home) are very hard to press. Sometimes it takes more than 5 hard presses until it reacts. There might be other ways to fix it (maybe fixing the buttons or just cleaning them?) but being a software engineer I thought that I might be able to find a ROM that can be used without those 3 physical buttons (just like the newer phones usually don't even have those physical buttons) What ROM-s are worth to look at?
Comment: You might wish to check [Where can I find stock or custom ROMs for my Android device?](http://android.stackexchange.com/q/17152/16575)
Answer: You can install the Xposed framework on a rooted device.
There are numerous modules that will enable softkeys on the device. Have a search in Xposed in the "Downloads" section for "softkeys".
One example is here and it has the Android L style soft keys. In case the article goes down here's the XDA thread with the apk


Screw Modifier - how to change axis dynamically?

Question: I'm trying to use a screw function to create a spiraling object with an axis that changes over distance. In the attached photo I have a screw with a uniform axis, but I would like the spiral of the screw to follow the geometry of the "egg," so the screw has a small axis at the bottom/top of the egg, and widest axis in the center of the egg. The egg is a UV sphere that has been scaled in the Z axis by 1.5x. I appreciate any recommendations for how to approach this!
Answer: Add Sphere and add Spherical Spiral (you have to enable addon Extra Curve for that).

Parent Spiral to Sphere.
In Object mode scale Sphere to egg shape.
Rotate Spiral.


What does 「に」 mean at the end of the 「侘しさに」?

Question: The full sentence is 「寄る辺ない侘しさに」. I did some research and found out that「に」is used with na-adjectives to basically turn them into adverbs, but「侘しい」is an i-adjective, so it doesn't make much sense.
Comment: But then 侘しさ is a noun derived from 侘しい, right?
Comment: So in that case に is operating on a noun, not any kind of adjective.
Comment: @jogloran right
Answer: First of all, is this really a full sentence? I googled and found this song. If your phrase is from this, 寄る辺ない侘しさに is a part of a sentence, not a full sentence. Please always provide the entire context.
This に is a cause/reason marker that is used with a word related to emotion or psychological reactions.

に in コントロールに苦しまなくなった
When do you use に to indicate a cause or reason for something?
Grammar of nounの多さに
Meaning of に in この狭さに

侘しい is an i-adjective, but note that it has already been nominalized with さ ("-ness") here. 侘しさ is a noun meaning "loneliness" or  "melancholy".

寄る辺ない侘しさに頬杖ついてるようじゃ変わらない
(literally) If it's like you rest your cheek in your hand because of desolation with nowhere to turn, things won't change.
→ When you feel desolate with nowhere to turn, just resting your cheek in your hand won't change anything.

Even if your 寄る辺ない侘しさに is not from this song, に is still a cause/reason marker. If this is a book title, the implicit focus is how someone psychologically reacts to the 侘しさ, so it might be translated like "Loneliness Makes Me..." or "In Desolate Solitude...".
Answer: As noted in the comments, に is operating on a noun, in this case it means Because of / From. The sentence is incomplete.


Verbs with multiple correct Present Perfect conjugations

Question: From my time of learning conjugation tables by heart, I seem to remember that there were a few verbs which had multiple, grammatically correct,  ways of conjugating them into present perfect . However, googling a while did not reveal any, and I am starting to wonder whether my memory is simply betraying me. Any ideas?
Comment: You should probably search for "English verbs regular and irregular".  Some, like "hang", have two forms of the Past Participle. PP of "hang" is "hung" or "hanged".
Comment: It would be best to include the specific search queries you used, so we know what didn't work.
Comment: @VictorBazarov yes, so hang is actually already what I was looking for, Thanks! A semi-followup, does the correct conjugation depend on the context it is used in? At least to my ear, it sounds ok to say "I have hung my head in shame ever since what had happened at the party last week", and "He has hanged himself in a prison cell."
Comment: @sfeuz : for "hang", yes.  Others, I am not sure.  For instance, verb "light" has PP "lit" or "lighted", which I've seen used seemingly without regard to context.
Comment: Dreamed and dreamt perhaps?
Answer: As noted by some of the commenters (like @VictorBarzov & @S.Baggy) there are several:

hung vs hanged  <== special connotation
dreamt vs dreamed
got vs gotten
drug vs dragged <== dialectic, use with caution
lit vs lighted

Do be careful with hanged, as it has special connotation with a method of execution (hanging). Also, be careful with drug; popular consensus pegs it as a variant limited to a dialect of English, not the language as a whole. Worse still, the more common definition is pharmacological, so perhaps it's better to avoid this one in anything but the most informal of settings.
Comment: When I lived in the northern midwestern United States, I didn't hear it either. It wasn't until I moved to the Southwest that I started hearing it being spoken. I've been informed that it is dialectic, so I'll edit my answer to reflect that.
Comment: I have never run into a single person who used "drug" as a conjugation of "drag". "Drug" as a verb always referred to the pharmacological sense.


(Blender 2.8) Imported .obj files are translucent

Question: Just as the title describes, whenever I import .obj files and I use "Cycles" render in my viewport, they completely become translucent, or almost transparent, I'm wondering as to how to fix this problem but its been bothering me for more than a week now. Any suggestions?
Comment: Confused--are you talking about: 1) the helmets? 2) the graininess of the scene in the viewport? 3) the fact that thr controller-guy in the background has no legs?
Answer: Confused--are you talking about: 1) the helmets? 2) the graininess of the scene in the viewport? 3) the fact that thr controller-guy in the background has no legs?
If 1):
Preview mode is never as robust a's an actual render but I can tell by looking at it that the material assigned to the helmets is either not a realistic glass material or you need to give the helmets thickness to use it correctly (as with Blender''s Glass and PBR materials with glass settings.
Assuming the helmets have no thickness, first make sure the portion that is supposed to be glass is its own mesh. Once that is done, give it a Solidify modifier so that the surface has thickness. You may need to adjust the thickness or direction settings. You may need to flip the surface's normals in the Mesh dropdown menu whIle in edit mode (check if you need to do this before using the Solidify modifier).
2)
Preview render for Cycles is always grainy, but fast computers can mitigate that. You can preview in Look-Dev mode for a less CPU intensive studio lit preview.
3)
Check the material assigned to the guy in the background's legs. See if any connections or files are missing. If you just need him to have black legs, select all the faces in the legs and Assign whareverse matrial is on the astronaughts' legs. Or make and assign your own. Materials with textures will not look correct (although shouldn't be invisible) if the model does not have UV coordinates.
Answer: Go to the shading tab and unplug the image from alpha (the color is plugged into alpha for some reason.) Done.


Calculating average customer turnover

Question: I am currently coding a script which displays data for a company intranet. I am stuck with a question that seemed pretty simple, but turned out to give me headaches.
We have the following scenario:

Store A has 70 male customers and 100 female customers - (170 total)
Store B has 50 male customers and 230 female customers - (280 total)

Now, I learned that in order to display the average male/female ratio I have to calculate:
$$\frac{\text{Male Store A} + \text{Male Store B}}{170 + 280} = X $$
$X * 100 = 28.9\%$ for males, $71.1\%$ for females
Yet when thinking it over, it doesn't show the real average, because the total number of clients isn't the same (170 vs 280).
So I did a second approach, which is first separating the percentage by store, and then calculating the average percentage:

Males, Store A: $\cfrac{70}{170} * 100 = 41.2\%$
Males, Store B: $\cfrac{50}{280} * 100 = 17.9\%$

And then divide it:
$$\frac{41.2\% + 17.9\%}{2} = 29.6\% $$
So in the second case, rounded up, male ratio is 29.6% instead of 27.3%
Then I showed both calculations to somebody who is better in math then me, and he told me that both are wrong. He said I should use "weighted average", but when I do i get exactly the same average percentage like in the first calculation.
What am I doing wrong?
Background:
We have a lot of stores, each with a different number of female and male clients. I want to have a percentage of the average client gender, but taking into account the different amount of the guests in each store.
Answer: Okay, so I decided to stick to the weighted average method. Here is a good calculator to cross check your results:
http://www.handymath.com/cgi-bin/average.cgi

Calculating average customer turnover


determining whether a program halts or not

Question: I have difficulty understanding the halting problem. I know that for all possible Turing machines and strings w, we don't have a Turing machine that can decide whether a TM M halts on input w. Now suppose we have a program p that, for example, solves the Hamiltonian path problem. Can we conclude from the halting problem that we can't decide whether this program halts or not?
Comment: If p solves the Hamiltonian path problem, then in particular it always halts. So it is decidable whether it halts or not – it does halt, on all inputs.
Answer: The halting problem is the following problem:

Given a Turing machine $M$ and an input $x$, decide whether $M$ halts on $x$.

This version of the halting problem is undecidable. For a given Turing machine $M$, the problem might well be decidable. For example, suppose that $M$ is a machine that always halts, and consider the following problem:

Given an input $x$, decide whether $M$ halts on $x$.

This problem is decidable. Indeed, the following algorithm decides it:

Output YES.
Comment: The question is not really well-defined. It's definitely possible to prove that many programs halt – we do it all the time in papers.
Comment: Well, actually I meant suppose somebody "claims" that I have a program that solves Hamiltonian path.Now can we say that according to the halting problem it is impossible to understand whether the program halts or not? Now from what you've said, I think that's not true, it MAY BE decidable. Am I right?
Answer:
In computability theory, the halting problem is the problem of determining, from a description of an arbitrary computer program and an input, whether the program will finish running or continue to run forever.

The Halting problem for a specific (narrow) class of programs (Turing machines) may be decidable. But in general, for arbitrary TM $M$and input $w$, the Halting problem is undecidable.


If your housecarl dies, can you get another one?

Question: If My housecarl dies, will I be able to get another one? I need to know because I have mine travel with me everywhere and I pretty much mean everywhere.
Answer: If your housecarl, or any other follower for that matter dies in earnest, then they are gone forever (discounting console voodoo).
However, there are plenty of other followers that appear depending on where you are in various storylines and you also can gain a housecarl for each of the major cities too (indeed for every hold with the Hearthfire DLC), so yes - you can get another one, but not from the same hold!
Answer: No they are gone for good but for a fee you can hire a follower that will follow you for a set amount of time.  These followers are found on the roads of Skyrim, and usually in taverns such as the drunken huntsman up in Whiterun's middle district.
Comment: Hi, Jon, welcome to Arqade.  I've removed your question from your answer because that's not how we work.  Feel free to ask it as a separate question, but try searching first; maybe someone's already asked it!
Answer: The only way to get your follower back when they die is to load an old save.


Can we create a shulchan aruch, mi yodeya

Question: I am curious, is it possible for us on mi yodeya to create a Shulchan Aruch Ha Mi Yodeya? Basically, the way it would work is that it would be a clickable feature on mi yodeya which would be ordered in the style of the Tur/Shulchan Aruch (Orach Chaim, Yoreh Deah, Even Haazer, Choshen Mishpat) and would have links to questions  in each area of Halacha in the shulchan  aruch. The way to fill it up would be users submitting their question, saying where they want it to go (like in hilchos shabbos Orach chain , Hilchos milah Yoreh deah etc.) and mods would review and approve/deny the entry based on how valuable they think it would be.
Comment: Isn't this what tags already are?
Comment: If you want to make a list of tags by shulchan aruch topic, that would do the same thing
Comment: What do you see as the value of such a feature?
Comment: Related: https://judaism.meta.stackexchange.com/q/5362/15256
Answer: What you're describing is a major organization project, layering on top of our existing collection of tags. As it is, if a person is interested in, say, interest Q&A, they can go to https://judaism.stackexchange.com/tags, type in "interest" or "ribis" or "ribit," and be directed to lending-interest-ribbis, our collection of Q&A on that topic (91 to date). They can then sort to see the newest material, questions needing answers, or the questions deemed most valuable by the community (score). This list is constantly updated every time anyone posts a question on this topic, posts an answer to one of those questions, or votes on one of them, without additional organization work by users or moderators (other than occasionally applying the tag if it's missing from a relevant question). It seems to me that the existing system provides nearly all the value of the project you're proposing, without the significant additional cost.
Comment: Of course, ours is by topic; where to find things in Shulchan Aruch is um ... not always quite so easy.


Same eigenvalues, different eigenvectors

Question: I'm interested in the case of a specific matrix having different eigenvectors corresponding to two identical eigenvalues. The method I use for spectral decomposition returns different eigenvectors, even though the eigenvalue is the same. Is this possible, and if so, what this tells about the matrix?
Comment: Any vector is an eigenvector with eigenvalue $1$ for the identity matrix.  All eigenvectors with a given eigenvalue form a linear space, so there will never be just one.
Answer: Of course it's possible:
$$
\begin{bmatrix}
2&0\\ 0&2
\end{bmatrix}
\,
\begin{bmatrix}
1\\ 0
\end{bmatrix}
=
2\;\begin{bmatrix}
1\\ 0
\end{bmatrix},
\ \ \ \ \ \
\begin{bmatrix}
2&0\\ 0&2
\end{bmatrix}
\,
\begin{bmatrix}
0\\ 1
\end{bmatrix}
=
2\;\begin{bmatrix}
0\\ 1
\end{bmatrix}.
$$
What it tells you about the matrix is that the geometric multiplicity of the eigenvalue is greater than $1$.
Comment: *(four years later; I don't know why I didn't reply back then)*. Geometric multiplicity for an eigenvalue is the dimension of its corresponding eigenspace. Algebraic multiplicity is the order of the eigenvalue as a root of the characteristic polynomial.
Comment: What do you mean by geometric multiplicity? How is different from algebraic multiplicity?
Comment: I believe the question was whether 2 linear transformations T,T', could have equal eigenvalues,  but different Eigenvectors.  Even if it wasn't, can you please answer it.
Comment: Yes, of course. Consider $$\begin{bmatrix} 2&0\\0&0\end{bmatrix}\qquad\text{ and }\qquad \begin{bmatrix} 1&1\\1&1\end{bmatrix}. $$ Both have eigenvalues $0$ and $2$, but the eigenvectors of the first one are (scalar multiplies of) $$\begin{bmatrix} 1\\0\end{bmatrix},\qquad \begin{bmatrix} 0\\1\end{bmatrix},$$ while the second one has eigenvectors (scalar multiples of) $$\begin{bmatrix} 1\\1\end{bmatrix},\qquad \begin{bmatrix} 1\\-1\end{bmatrix}.$$ More generally, $T$ and $STS^{-1}$ have the same eigenvalues for any invertible $S$.
Answer: A trivial example: Consider the 2 by 2 identity matrix. It has only one eigenvalue, namely 1. However both $e_1=(1,0)$ and $e_2=(0,1)$ are eigenvectors of this matrix.
Answer: Quick test for a $2 \times 2$ matrix where $a$ are (same) eigenvalues:
\begin{bmatrix} a & b \\ 0 & a\end{bmatrix}.
If $b = 0$, there are $2$ different eigenvectors for same eigenvalue $a$.
If $b \neq 0$, then there is only one eigenvector for eigenvalue $a$.
Answer: Every eigenvalue with multiplicity = n will be associated with n different (as in linearly independent) eigenvalues.
Multiplicity is how many "times" it shows up as an eigenvalue. It is like when you find only one solution to a second degree equation, which always has two roots. This solution has a multiplicity = 2.


Certification Authority CPS VS certificate template crypyography

Question: I'm really confused,When I choose cryptography service provider  for certification authority (RSA # microsoft software key storage provider), why again  should I choose rsa algorithm at new certification template? What is the difference between them؟
Comment: What do you mean "again"?
Comment: For example,email  encryption and signature by algorithms and functions within the user template  and the result again  encryption and signature by algorithms and functions within certification authority (RSA # microsoft software key storage provider) .Is that correct?
Answer: When you install CA service, you specify cryptographic settings for CA certificate itself (cryptographic service provider, key algorithm, key length and signature algorithm).
When you configure certificate template, you specify provider name and public key algorithm for certificates issued by this particular certificate template. They don't need to match CA certificate cryptography settings. Regarding signature algorithm in certificate templates: this setting specifies the signature algorithm used to sign certificate request. Nothing else. It may not match issued certificate's signature algorithm, because certificate signature is controlled by CA server.


Where to find synaptics mouspad gesture installation packages

Question: I stumbled upon following web page  and was immediately interested in the mousepad gesture possibilities. However I can't find any installation package (not in the software center, nor in synaptic). Anyone an idea where the installation packages can be downloaded?
Answer: This software is not available in the Ubuntu-packages.
However it could be that it's available in this site (click here)
Mind you: installing software from unofficial sites or recourses could compromise your system.


How and why did bats and dolphins develop echolocation?

Question: By how and why, I mean, what factors pushed them to develop echolocation and how did the intermediate stage (before a full-fledged echolocation system was developed) look like?
Comment: @com.prehensible Is that an answer disguised as a comment ;-)
Comment: There should be echo locating birds, but they perhaps don't have the right vocal and auditory structures. For dolphins, perhaps their eyes can't point forward while swimming fast, plus they stir sand and hunt in dark and low visibility waters. water's awesome transmission of high frequency sound is a factor. All animals can echo locate, like blind people do, evolution just has to increase high frequency hearing and chirps. Mammals tend to be nocturnal prior ot KT boundary and have good vocal and auditory structures by default.
Comment: echolocation likely evolved very differently in each group you may have better luck spitting this into individual questions.
Answer: There are many conditions in which echolocation has evolved, and bats, dolphins, and even some birds (oilbirds) have evolved the ability to echolocate with different anatomical structures. Echolocation is a great example of convergent evolution, where a very similar feature is developed through very different stages in different taxa. Stephen Rossiter (from Queen Mary University of London) has uncovered that both bats and dolphins have similar mutations in a unique protein called "prestin", that increases hearing sensitivity. This could be a key step in developing the ability to echolocate.
Before a fully fledged echolocation system developed, fossil odontocetes seem to have developed high frequency hearing and sound production structures (for more details see research by Travis Park, Erich M. G. Fitzgerald, Alistair R. Evans http://rsbl.royalsocietypublishing.org/content/12/4/20160060 DOI: 10.1098/rsbl.2016.0060).
Instead of anatomical limitations (eyes on the side of the head) driving the development of echolocation, it seems to have evolved because it gives predators a competitive edge over visually oriented predators.
Answer: Simple echolocation is fairly widespread and varying levels of quality exist
This specifically addresses what the intermediary forms look like.
Mammals posses some nice preadaptations for echolocation. external ears for gathering sound, a three bone middle ear which creates an amplifier which means mammals can hear both weaker and a wider range of sounds. It also means the brain has to be able to do more processing of sound due to distortion and frequency shift. Even humans can perform very limited echolocation with training due to this.
Old world fruit bats don't use full fledgedly echolocation like other bats and dolphins. First the sound is created by their wings not their vocal cords, it is a side effect of their wing beat. Second it is functionally rather poor not giving a very detailed image, as noted in this study they cannot detect small objects or judge distance very accurately unlike other bats. The study also have a lovely table showing how many other animals have primitive forms of echolocation, including shrews, rats, and swiftlets.
Comment: re: mammals possess some nice preadaptations for echolocation, [here's a human mammal example](https://www.youtube.com/watch?v=TeFRkAYb1uk). The voiceover is incorrect when it says this is the only example of a person who sees with echolocation. There are others.


How does MobiForms bypass the app store?

Question: There's a neat iOS app called MobiForms (www.mobiforms.com). It's available for the iPod/iPhone yet somehow they are bypassing the Apple app store and selling it to you directly. How are they doing that? This is a unique trick I have not encountered yet.
Comment: Could you elaborate a bit on your question. Also check the FAQ - this site is geared to expert users and not so much the app development process details. Specifically mobiforms is a toolbox for making code to run on many devices so of course those apps for blackberry or other OS bypass Apple's store.
Answer: there is no MobiForms App in the iOS App store.

The latest version of MobiForms now supports Apple iPhone, iPad and iPod Touch. MobiForms supports many Apple iOS specific features including the built-in camera and GPS. The major advantage of MobiForms is that unlike the Apple iOS/iPhone SDK you do not need to own an Apple Mac or pay for the expensive yearly membership of the iPhone Developer Program. The MobiForms Developer will run on a Windows PC or an Apple Mac. Deployment of the MobiForms app is done via the USB cable and the Apple iTunes client on Windows PC or Apple Mac.

Basically what you are buying from them is a cross platform development tool.

The MobiForms adhoc deployment approach totally avoids the Apple App Store and app approval process. The app approval process alone can take weeks. Note that for each Apple iPhone, iPad or iPod Touch the MobiForms support team have to register its UUID with Apple to receive a runtime certificate for the MobiForms runtime client to run. The MobiForms licence includes free registration for one iPhone, iPad or iPod Touch. There is a small fee (£10 approx $15) for each additional iPhone, iPad or iPod Touch. Additional MobiForms iPhone certificates can be purchased from the MobiForms iPhone Certificate Buy Now button.

The development tool outputs an app, and you then pay them to make your iDevice a registered development device, and you can then install the app on your phone as if you were a real iOS developer.
Comment: So they use the adhoc method to distribute? I thought there was an expiration time like 90 days with that method?


Collect data from user during file upload.

Question: I want to setup my SharePoint in way that when I upload file in Document Library it will be automatic create line in SharePoint List with information from user. Should work in this way:

User Upload file in Document Library View.
When document are uploading or just after finish upload, should popup some kind of window with fields to fill and button "done".
After click "Done", should be crated new line in List and data from previously filled fields should be in appropriate columns.

First part of these I already done, which is when I upload file, SharePoint automatically creating new line in my List. But for now I setup data manually in Workflow "Create item" action. I can't figure out how to collect data from user.
Thanks for help.
Tobiasz
Answer: No workflow needed, just add a column to the library and mark it as required.


is sound produced by varying current or voltage?

Question: In a sound system (computer, stereo, CD, etc.) is the (just) current or voltage (and therefor current) modulated to create the output to the speakers?  If the answer is both, what are some examples of each?
Comment: Could be just bits too. Zeros and ones.
Comment: Creating sound waves requires power transfer. Since `P=V*I`, both current and voltage must be applied to the speakers to create that power in the first place.
Comment: I dont get it. A (raw, without any extra components) speaker is more similar to an inductor than resistor or capacitor. If a speaker was a resistor then I get it, but I doesn't the induction of the speaker have to be "compensated". Using a current-waveform instead of a voltage-waveform makes more sense to me. I can rephrase the question a little: Say that I want to mimic the waveform seen in Audacity of a specific wav-file. Now, is it more important that the volt-curve of the output to the speaker or the current-curve matches data seen? Especially considering + and - parts of the seen signal
Answer: There are two main ways electronics can generate sound:
As Dave said, some speakers use variable current to create a variable electromagnet which moves the cone and produces sound (of course, you need some voltage to induce the current).
Another way is with a piezoelectric material. When you apply a voltage to certain materials they can mechanically change shape. By varying the voltage, you can produce vibrations, and thus sound. Again, these devices must consume some current, but this is can be small compared to the voltage.
In summary: All electronic sound sources must have current and voltage to operate because they convert electrical energy into sound (and heat) energy. The electrical power they consume is given by \$P = I V\$, where P is the power, I is the current, and V is the voltage. In piezo devices V may be quite high and I quite small, and similarly in electromagnetic devices I may be quite high and V may be relatively small. However, if either of them is 0 you get no power, and thus there can be no sound.
Comment: Common culprits of piezoelectric sound production are high-speed networking routers. You can audibly tell the kind of load on your network just by listening to them.
Answer: Typically when you change one (voltage or current), the other will change as well (except with infinite resistance ie. open circuit or zero resistance ie. superconductors).
But speaking for speakers, most of which consist of a magnet and a big wire coil connected to a paper cone, it is the current flowing through the coil which creates the force that moves the coil and cone and produces the sound you hear.
Comment: True, but within the device which it generating the signal, is the voltage modulated to create the changes within the signal's amplitude or is the voltage constant?
Comment: There is no modulation involved; modulation is a non-linear process that is not used to drive loudspeakers.  A loudspeaker represents an electrical impedance to the amplifier. Therefore both the voltage across it and the current through it are representations of the audio signal.  They both will change in step with the audio signal. Hopefully, if the speaker is operated in its linear region, the sound output of the speaker will also vary in step with the audio signal.
Comment: The amplifier 'modulates' DC voltage from the power supply to reproduce the original audio waveform at the speaker. Current drawn by the speaker is whatever flows as a result of the voltage across it. The  cone of a dynamic speaker moves due to current flowing through it, but most speakers are designed to produce a sound output proportional to _voltage_, not current.
Comment: Ohm's law V=IR specifies that the amount of current flowing is proportional to the voltage, with R the resistance being the factor. R itself is presented by the speaker (you will typically see an 'Ohm' rating for different types), so in order to generate current through the coil you'll need to apply a voltage, and vary this voltage in time to vary the current, and thus create sound.
Comment: Thanks Barry and Bruce, these are the answers that I was looking for.
Answer: Prompted by a comment by @BruceAbbot (on a previous answer of mine that I deleted because it wasn't spot-on) I did some further researches and I found a reference that seems perfectly fit to answer your question.
In short: modern audio power amplifier generally have a very low output impedance (fraction of ohms) and act as (almost ideal) voltage sources. Therefore, using your terminology, they "modulate" the voltage across the speakers, which react absorbing the current needed for their operation, as their characteristics mandate.
The reference is Audio Power Amplifier Design Handbook, by Douglas Self (link to google books), under "Damping Factor" section. Excerpt:

Audio amplifiers, with a few very special exceptions, approximate to
  perfect voltage sources, i.e. they aspire to a zero output impedance
  across the audio band. The result is that amplifier output is
  unaffected by loading, so that the frequency-variable impedance of
  loudspeakers does not give an equally variable frequency response, and
  there is some control of speaker cone resonances.

The few exceptions cited are trasconductance power amplifier used for so-called current-driven loudspeakers, where the amplifier act like a current source and "modulates" the current into the loudspeaker, which reacts by generating a voltage across itself accordingly.
See also this EE.SE answer: How important is impedance matching in audio applications?
Answer: Many good answers, mine is short. Voltage causes current, current creates force, which in turn moves the magnet that makes sound waves. Good amplifier makes all that stuff very accurately. With good speakers you will only hear the initial signal. Otherwise all sorts of ringing may occur on each transformation.
Answer: My intuition says it's both.
I think you will get the best answer, for you, with a multimeter. Plug an old, cut-off headphone jack into something playing a song and attach the multimeter's probes to the headphone jack's wires. Look at the different detection settings. You should be able to see where the variations occur as the song plays.
Here's a link. http://www.gcaudio.com/resources/howtos/voltageloudness.html
The title is The Relationship of Voltage, Loudness, Power and Decibels.  There is discussion and a table showing a correlation between dB, voltage, wattage and loudness. I think it addresses the question kinda side-on because it talks about loudness rather than the sound signal, but I'm lead to believe that it will come down to the wiring of the sound system as to what's carrying the signal.
Comment: Welcome to EE.SE, Ben, but you need to back up intuition with theory and practical experience. See the accepted answer (from a year ago).
Comment: A voltmeter won't tell you anything very useful about audio.  The variations are too fast for you to see anything but a sluggish wandering that will barely let you tell loud from quiet, let alone tell you anything about the relationship between voltage, current, impedance, and speaker motion.
Comment: Ben, while this setup is a viable experiment, sadly it doesn't show the answer.  If you can provide evidence of this expirement working, I would highly reccoment adding it.


MySQL floating point rounding error

Question: Internally, what is going on with the floating point representation on the right to get false?
mysql> SELECT 3.1415 + 0.9585 = 4.1, 3.1415E0 + 0.9585E0 = 4.1E0;
+-----------------------+-----------------------------+
| 3.1415 + 0.9585 = 4.1 | 3.1415E0 + 0.9585E0 = 4.1E0 |
+-----------------------+-----------------------------+
|                     1 |                           0 |
+-----------------------+-----------------------------+

edit
Conclusion:  Don't use Float or Double for precision math.  Use Decimal.
Comment: They're called "floats" because the bodies of programmers who use them where precision is required are often found floating in the harbor after the application goes into production.
Comment: Don't use floats for absolute math.
Comment: There should be a mandatory floating point quiz to pass before being allowed to post a question.
Answer: First of all, you should never use = with floating points, as you simply cannot predict if no rounding errors occur. Always use < or >, dependent on what you want to achieve.
Second: Nothing is wrong with either formula. Internally, both variants get encoded in their variables to the nearest possible binary representation, which slightly differs from the value you set.
One digit before the decimal point is standard, so all following digits are used. On the right side, you specifically define where the comma occurs, thus "wasting" a certain part at the end of the binary representation of your variable - which leads to rounding errors (in this specific case).
Answer: floating points like FLOAT or DOUBLE are always inprecise because they're an approximity, not an exact value, you should not use them for calculations. Use the DECIMAL data type instead.
Comment: There are valid uses for FLOAT that cannot be satisfied with DECIMAL, however.
Answer: MySQL, just as almost any computer implementation that uses floating point arithmetic, employs the IEEE-754 standard. This is binary floating point.
Just as it is impossible to write 1/3 in decimal, it's impossible to write infinitely many digits in binary floating point (given that computers are restricted in time and space). A float uses 32 bits, a double uses 64 bits, mathematically, that's very little space for infinite many fractions.
The Wikipedia article above is a good read about floating point. In general, when dealing with computer match, it is imperative to know a bit how computers use limited storage for unlimited fractions.
Exact decimals also exist, but are limited to a fixed range (i.e. no high exponent). In MySQL you can use DECIMAL for fixed point numbers.
Answer: In this, it was lucky that the first one compared exactly:
SELECT 3.1415 + 0.9585 = 4.1, 3.1415E0 + 0.9585E0 = 4.1E0;

Test floating points for near equality in this way:
mysql> SELECT abs(3.1415 + 0.9585 - 4.1) < 0.0001, abs(3.1415E0 + 0.9585E0 - 4.1E0) < 0.0001;
+-------------------------------------+-------------------------------------------+
| abs(3.1415 + 0.9585 - 4.1) < 0.0001 | abs(3.1415E0 + 0.9585E0 - 4.1E0) < 0.0001 |
+-------------------------------------+-------------------------------------------+
|                                   1 |                                         1 |
+-------------------------------------+-------------------------------------------+
1 row in set (0.00 sec)

Choose the difference (where I've used 0.0001) appropriately to the values involved.

MySQL floating point rounding error


Mining with additional data

Question: i'm a beginner in using blockchain. Based on my knowledge, there are two ways blocks are created, mining and sending transactions. As there is an explanation to input additional data while sending a new transaction to other user in here: How do I send an arbitary message to an Ethereum address?. I wonder, is there a way to input the additional data while mining? I just want to store the data inside the blocks and not sending any transactions. Thank you
Comment: only the miner can do that. In the block there is an extra place called 'Extra Data' miners used it usually to set their ID or pool name, IDK how big is that and how they do that :)
Answer: There is only one way blocks are created: they are mined. Mining is the process of collecting a bunch of pending transactions, forming a block of them and trying to solve the Proof of Work puzzle for that block. If the miner manages to solve the puzzle then the block becomes valid and is added to the blockchain and the miner is rewarded.
So even if there was a way to add extra data into blocks when mining you couldn't use it the way you think. You'd have to: 1) be a miner and 2) mine successfully (have enough hardware to find a solution to the puzzle).
In any case blocks are not meant for such data propagation. All meaningful data should be in transactions.
Answer: Only mining creates blocks of transactions.
Transactions may include contract deployment instructions (CREATE), and/or messages to contracts, with data, as well as simple value transfers.
Hope it helps.

Mining with additional data


what is the best practice when rescanning scsi disks reliably in linux?

Question: I'm constantly having to make SAN changes which means that I am also constantly having to rescan the scsi bus so that my various changes are reflected in the machines I've exported disks to.
I've been plauged for some time by various facets of re-scanning disks in Linux.
Not to give Microsoft Credit, but they have really simplified the process into a single command which does everything and a lot faster than their linux counterparts.
I've been using the rescan-scsi-bus.sh command for quite some time now.  However, the rescan-scsi-bus.sh command usually needs to be ran several times depending on what changes were made.  IE. If a path was removed, I need to run "rescan-scsi-bus.sh -f -a -r -m".  However, this command will not scan the disks for re-mapped disks nor will it scan for resized disks.  In order to get the same functionality out of rescan-scsi-bus.sh, I end up having to run the command multiple times in succession which can end up taking lots of time (With lots of disks, 5 minutes or so which is years longer than windows takes.)
Example:
# If the disk was removed.. Even though we aren't syncing, rescan can still hang
# unless we remove the disks first.
rescan-scsi-bus.sh --nosync -f -a -r -m
# Next, We scan for new disks.. Don't know why the last command can't do it at the same time..
rescan-scsi-bus.sh -a
# Look for remapped disks.
rescan-scsi-bus.sh --nosync -a -u
# Look for resized disks.. Once again.. We have to go through the entire list which can take a good O'l 1 minute.
rescan-scsi-bus.sh --nosync -a -s

The question is, is there a better policy to re-scanning disks rather than running a gambit of rescan-scsi-bus.sh commands?
The requirement here is a single command which removes disks and disk paths which have been removed, adds disks and paths which are new, updates drives which have been remapped somewhere else, picks up changes in drives that have new sizes and runs in a reasonable amount of time (0-30 seconds) on ANY linux distribution regardless of the amount of disks or level of IO load the system is under.
I could go back to echoing values into sysfs, but that kind of defeats the whole make it simple and have a single command which runs that does it all in a timely fashion.
Answer: You can use any of the below methods
iscsiadm -m session --rescan
iscsiadm -m session -r SID --rescan

When Adding disk
echo "- - -" > /sys/class/scsi_host/hostX/scan

When expending existing disk
echo 1 > /sys/class/scsi_device/device/rescan

Comment: I know it's been a long time, but is there a way to run these commands on every device including FC. something like the following?
echo "- - -" > /sys/class/scsi_host/*/scan;
echo 1 > /sys/class/scsi_device/*/rescan;


New to file systems

Question: I dont understand why there is restriction in the file size and total addressable memory of each file system. For example why FAT32 can have a maximum file size of 4GB?
Answer: Basically, most of it comes down to old standards (FAT16/32, especially) that were designed back when 4GB files were unheard of, and a partition of 2TB was mind-bogglingly large.  They made trade-offs in the standards that, for the time, were completely reasonable.
If you look into it, the old filesystems are very limited, because the use of computers was limited at the time.  Now, we have the ability to create partitions so large we likely won't have their matching devices for another 20-30 years.
Answer: I'm going to omit a great deal of programming theory and OS design here or this'll take days..
Simply put, because at the time they were written certain assumptions and decisions were made in the implementation, specifically in how to address and access files.
In computer parlance, there has to be a maximum value for anything and everything -- infinite doesn't exist.
More importantly, every directory entry needs to have a unique way of identifying itself -- ownership, what special attributes and permissions it has, what kind of file it is (directory, symlink, hard link, regular file, pipe, block device, character device, and so on). On most unix filesystems, this is called an 'inode number', and since each of those has to be unique you can never have more files than you have possible different numbers.
The other problem is (or was) one of optimization; since filesystem operations are something your system will be doing quite often, designers are naturally inclined to pick the smallest size number range they think is going to be reasonable, because computers can do arithmetic with (bitlength wise) smaller numbers much faster than larger ones... And when the largest hard drives you see in the market are one or two gigabytes, you may be inclined to assume that 65 thousand files and a maximum filesystem size of 2 terabytes is reasonably forward thinking.
Then time passes, and less than a decade later kernel programmers curse your name and your lack of foresight as they try to reverse engineer better capacity into your filesystem code.

New to file systems


LawTech: How to systematically express Positivist-Law frameworks as control flow algorithm systems and automate statutary-construction analysis?

Question: I'm a brick-and-mortar engineer with very cursory coding experience (pseudo-code algorithms, formal logic gates in printed circuits, and Matlab/Simulink), studying to be a Civil Servant in a Romance country where the law is extremely informed by what I understand is the Positivist mindset - tries to create a closed logical system where all possibilities are accounted for and judges have as little leeway of interpretation as possible.
A lot of it follows patterns such as
<code>#INCLUDE(CONSTITUTION)
#INCLUDE(PARLIAMENTARY LAWS)
#INCLUDE(GOVERNMENT REGULATIONS)
#"DEFINITIONS"
#IF A THEN
    GOTO_LAW(B)
    //as in, "apply article 35 line 3 paragraph b
    //of section A of book 1 of law 75/2003 of
    //the National Assembly", for example
ELSEIF C THEN
    GOTO_LAW(D)
ELSEIF NOT(A OR C)
    DO ACTION_E
ENDIF

WHILE CONDITION_F=FALSE
   DO ACTION_G
ENDWHILE
</code>
etc.
In my line of work, it often happens that a lower-tier, quick-release
Executive Regulation conflicts with a parliamentary Law or with the Constitution Itself. This can have dire business consequences and completely wreck a project's timeline, or budget, or sink it altogether. I understand that this is known as "judicial insecurity", and it's tangibly damaging.
It would be nice if lawgivers were kind enough to decree airtight laws that, though one might argue they are more or less just or good, at least are formally consistent with each other, telling citizens and legal persons clearly what we can and cannot do. However, it's often up to lay citizens to notice these discrepancies and take them to court for appeal. Even when the cases are very clear-cut, it can take months or years, and by the time it's done, a whole new set of quick-and-dirty executive regulations may have come out.
I'd like to know if, given the at least attempted "formal algorithm" method of the law, there wouldn't be an automated method of parsing the laws for contradictions, formal inconsistencies, endless loops, or undesirable end-states. I'd likewise appreciate an automated system for parsing out the control flows in the laws and turning them into easily-readable, standardized diagrams and charts.
Now, However, I don't know enough about programming, particularly as applied to linguistics, to figure out what the best approach would be. If y'all got any insights, I'd strongly appreciate them.
The DEFINITIONS part is particularly tricky for me, as we've got, off the top of my head:

Agents

Public ones: Courts, Legislative Assemblies, Administrations, Department, Position (distinct to the person of the civil servant in it), "Organ", etc. (it's quite a tangled web of affiliations and dependencies, and liable to change quickly, too).
Private citizens, with the attributes thereof that are deemed relevant (nationals/EU citizens/foreign, major/minor, etc.)
Private associations: Privately or Publicly owned, For Profit or Non Profit, different types of corporation...

Actions: For example, for a person to be [appointed to an Positon],
-Organ A [nominates],
-Organ B [introduces in the agenda],
-Organ C [votes],
-Organ D [vetoes or not],
-Organ E [signs the appointment],
-Organ F [publishes] in the official bulletin, etc.
Documents: just in the example above, each action or lack thereof is recorded (actively or by default) in a document (Nomination, Minutes, Appointment, the Bulletin, etc.). Then you have stuff like Registries and Records, which are compilations of documents, and need to be distinguished from the Organs named after them that are in charge of running them. You have Contracts, which are a whole Thing themselves. You have your specific Administrative Acts and your General Decrees. And, well, I can't help but think of the myriad types of documents, both formal and not, that are introduced in - discovery, was it? - as Evidence.
Dates and timestamps are very important, as are the specific windows and deadlines to perform this or that action.
Principles: they're very annoying because they're unevenly applied and usually not self explanatory, but they're supposed to inform all legislation and, when they're in the Consitution, they're meant to be very binding indeed. Legality, Rule of Law, State of Law, Non-Arbitrariness, Objectivity, Impartiality, Transparency, Non-Retroactiveness, General Interest, Cooperation, Coordination...

It's possible to go to the Doctrine (i.e., the opinions of Respected Legal Scholars) or to Case Law (which tend to rule on ambiguities of this type) to construct something resembling a useful formal definition, but it's usually very difficult to avoid a degree of "fuzziness" and "gradient" in the concept.
As such, my impression is that any formal tests that one could devise to make sure the laws apply those principles would fall under the header of operationalization, i.e. answering a difficult question with a similar, much simpler one.

The example I was given in Philosophy of Science class at Uni was: "How much do you love your wife?" vs. "How high a voltage are you willing to be shocked with in order to guarantee that she herself does not get shocked?"
Likewise, "is this law impartial" could be turned into "in practice, what demographics are disproportionately favored by it and what aren't", although that requires going outside of the formal confines of the law. There's likely a way to formally test if, in theory, the law is impartial, but I can't think of one right now.
Similarly, the concept of "General Interest" is quite problematic
- a huge collection of subjective interests that seems incredibly hard to even know objectively, let alone turn into a set of quantitative criteria, or legislate for without biases or hidden assumptions,
- and yet "the Administration serves the General Interest Objectively and Impartially" is an actual article of Law that is in effect and which you could refer to in court when appealing an  administrative regulation or act that you have evidence serves Special Interests, is Subjective, or favors certain parties over others.

I've been circling the problem, reading some law, attempting a chart and a pseudo-code, going to practical cases, reading some theory on the background thereof, learning about different coding languages and practicing simple exercises just to get the hang of them, etc. I'm slowly growing familiar with declarative, imperative, object-oriented, etc languages, as well as Controlled Natural Languages and attempts to make programming easy to parse for people and human language easy to parse for machine. I'm finding out about programs and AIs that are designed to parse language, and about statistical methods to hermeneutics and data analysis.
It's been quite haphazard and unstructured, and I feel like I may be wasting my time blindly touching an elephant's trunk and trying to figure out what sort of snake it is. But I'm afraid to raise my voice, explaining what I'm doing and ask, "am I doing this right" and of either being ignored or being told to ask a more specific and well-researched question. I'd really appreciate some guidance, though.
I guess, for now, I'd be content with tips on how to approach the following problems, in order of priority:

automating the representation of laws as control flow charts
automating the discovery of

undesirable loops and end-states in said flow charts
fringe cases that are pedagogically optimal for explaining the nuts and bolts of the law to people learning it
ambiguous language: when a word means different things depending on which "semantic field" of law we're in - for example, "convention" can mean very different kinds of agreements in Civil Law, Administrative Law dealing with private entities, Administrative law dealing with different tiers of the Administration, and International Law, just to name a few.
formal contradictions between laws of equal and different tiers

That would be a good start - just a formal comprehension and testing of the law.
Other than that, I'm aware that LawTech firms are developing some truly interesting applications on a number of subjects, with particular attention paid to contract drafting and enforcement, and the automation thereof, as well as to the prediction of outcomes in lawsuits based on case analytics. I'm not, however, aware of the theoretical and skillset edifice upon which this kind of work is build - but it interests me a great deal. In fact, I'm finding Law so fascinating and vitally important that I'm actually considering getting a Law degree myself - I understand that STEM-trained folks are actually rather welcome in Law Schools? I'd strongly appreciate any guidance on how to build my knowledge and skills base to begin to be able to grapple with such problems - and, eventually, if I'm any good at it, offer useful billable expertise that clients would purchase, of course.
Comment: Your question is way too broad and unrealistic. Consider [Worldbuilding SE](https://worldbuilding.stackexchange.com/) instead.
Comment: @BlueDogRanch Not necessarily. I'm not here asking for programming tips. but for the tools to approach understanding law from a theoretical perspective.
Comment: I'm sorry, I tried to read the question but it's way too long. In general, the problem seems to be that while if–then implications can be encoded clearly, the definitions used in law are far too imprecise for automation. The legislator would have to build a clear and unambiguous ontology instead. Often, lawsuits hinge not on facts but on questions of law, e.g. on the definitions of individual words such as "access", "consent", or "legitimate".
Comment: I'm voting to close this question because asking for guidance developing technical implementations legal software - "I'd strongly appreciate any guidance on how to build my knowledge and skills base to begin to be able to grapple with such problems" is off topic here.
Comment: @IñakiViggers Exactly the reaction I was wary of. I'm trying to narrow down questions and avenues of investigation. but I can't know what's "realistic" or "unrealistic" in advance outside of my field of expertise. Worldbuilding is about speculative fiction, while [LawTech](https://www.lawtechnologytoday.org/) is [quite](https://www.biggerlawfirm.com/how-data-analysis-is-disrupting-the-legal-industry/) [real](https://www.lawtechnologytoday.org/2016/04/big-data-law-firm-data-analytics-influencing-cases/) [and](https://tinyurl.com/5e5nwx6n) [active](http://tinyurl.com/7f6kh2cx).
Comment: I love the question and the approach. I learn the law best through flowcharts and similar approaches. That said, the question is way too long and has far too many parts. I think you'll get more useful answers if you can narrow your focus.
Comment: @amon Thank you for trying - appreciate it! Given "Ignorantia juris non excusat" and how it's crucial to grasp the law to avoid breaking it, waiting for the [courts](https://tinyurl.com/xshxsv8m) to [disambiguate](https://tinyurl.com/4ucbktp2) seems suboptimal - though [machines can help with that too](https://www.solomonic.co.uk/). There was effort over the past decades to [make legal language more accessible.](https://tinyurl.com/ta4a8fza), and [machines read better](https://tinyurl.com/4tc4z5xa).  By "automate", I mean "[ease and enhance](https://www.structureflow.co/)", not "replace".
Comment: @bdb484 Thank you! I was afraid my question would come off as half-baked and under-researched, and may have over-compensated. Maybe I could say, in short,  "How can I best model Laws using flow-charts in order to get a better handle on how they work and checking for 'errors' (contradictions, loopholes, etc.) and 'warnings' (ambiguities), both internally and in relation to the wider System." and "What should I look out for when trying to save time by automating the process as much as possible?"
Comment: I suspect you'll want to get more specific, but I'm also wondering whether this is the best forum. I doubt there are that many people here who are sufficiently competent in both the law and programming to give you useful answers. I'm eager to see how it unfolds, though.
Comment: @bdb484 I mean, it's a Stack Exchange webstie that focuses on Law. I haven't been able to think of a more likely envioronment. In fact, I've found my way here because I was on StackExchange and GitHub researching LawTech, Natural Language Parsing, and Controlled Natural Languages (like [this](https://en.wikipedia.org/wiki/Attempto_Controlled_English) little [gem](https://github.com/Attempto/APE)). If you can think of a better place, I'm all ears.
Answer: You can't have complete mathematics; you have no chance of a complete legal system
Godel's incompleteness theorems tell us that mathematics has no complete, consistent and finite set of axioms that can prove every correct statement. If we can't do it for something as logical as maths, we certainly can't do it for anything involving things as messy as people.
The solution that has been adopted in most jurisdictions is to give decision makers discretion and allow appeals. That's pretty hard to turn into an algorithm.
Comment: I'm aware of Gödel's incompleteness theorem, but it's not relevant here -I wasn't asking about completely automating law into a perfectly logical system so that a robot can do all the work. I was asking about ways of presenting laws and, possibly, legal systems, in a way that highlights and clarifies its requirements and consequences and eases testing it for loopholes, undersirable end states, ambiguities, etc., and then ways of automating as much of that work _as possible_. To create a "handle" that makes law easier to grasp, wield, study and improve, not about aiming for Platonic perfection.
Comment: As you say, even Math & Physics cannot be "perfect" or "complete", but we've automated the _hell_ out of them anyway, and that didn't diminish the work and role of scientists and engineers, it just saved on tedious pen-and-paper calculations and onerous destructive testing of prototypes, in favour of virtual simulations more complex than any human brain could imagine. Laws are drafted by assemblies of elected officials that may not be legal experts (or experts in anything), and understood, obeyed by laypeople, who rely on the Law's protection. Shouldn't their work be eased as much as possible?
Comment: That could do with a little more explanation.


Are MSN numbers unique

Question: Is it possible for two aircraft to have the same MSN number,  I was under the assumption the an MSN was a unique identifier for an aircraft
Answer: Each manufacturer has its own conventions. For example, Airbus only use MSN (which is only unique per aircraft type). Boeing on the other hand uses both an MSN and "line number". Boeing's "line number" is unique per aircraft type (like Airbus's MSN) but the MSN is unique across all aircraft types.
Other manufacturers may or may not have the same conventions.

Are MSN numbers unique