text:
Q: Given a binary boolean formula, how to find primary/root operator? I have binary boolean functions as input strings and need an efficient way to find the "primary" or "root" operator. Some restrictions on the form of the formula are that there is only "and" and "or" operators and no negation. The input strings denote "and" operators as single a's and "or" operators as single o's. The elementary variables are the represented by upper case letters. I am working in python. For example,
s = "( ( A o B ) a C ) a D" ==> root = second 'a'
s = "( A o B ) a ( C o D )" ==> root = 'a'
Instead of setting up a binary tree to traverse I have decided to work directly with the formula for ease in other areas of the program. As well, I would like to avoid having to create a whole tree for the formula as it's only purpose would be finding the root. I was wondering if anyone had an efficient way to find the root?
Thanks for your help!

A: Given a root, both subtree of the root must contain balanced set of parentheses.
So If you just iterate from left to right until you find the first operator when parentheses are balanced.
pcount = 0
for c in function_str:
    if c == '(': pcount += 1
    if c == ')': pcount -= 1
    if (c == 'a' or c == 'o') and pcount == 0:
        return c # Root found

*I'm not 100% sure this will work in all cases since i thought of this just now. Do you see any cases this won't work?

A: Like Hugh mentioned above, this modification to kefeizhou's code should cover all cases:
min_pcount, pcount = 10000, 0
root_node = '#'
for c in function_str:
    if c == '(': pcount += 1
    if c == ')': pcount -= 1
    if (c == 'a' or c == 'o'):
        if pcount < min_pcount:
            min_pcount = pcount
            root_node = c
return root_node


text:
Q: How can I add an autoincrementing ID field to a table in SQL-SERVER starting from X I have a table in SQL server right now, and I want to add the column PART_NO to it. It needs to be auto incremented (1,2,3 etc) starting from the number 107.
How can I do something like this?

A: Using alter table add to add a column with the identity(autoincrementing) property using identity() you can set the seed value for the first row, and the increment number. identity(seed,increment).
alter table [tbl] add part_no int identity (107,1) not null;

A: Use the following command
Alter table tablename add columnname int identity <starting number,incremented by> not null;

redpajama_set_name: RedPajamaStackExchange


text:
Q: PHP mongoDB find by array Alright so I am trying to send bunch of URI's and I hope to get back their ID's in return but I keep on failing with it.
$this->load->model("base/discussions_service");
$test = ["Discussion1","Discussion2"];

$res = $this->discussions_service->get_all(array("uri" => $test), array("content"));

So basically as you can see I am passing array of URI's but I keep on getting empty results for some reason


text:
Q: Get something between separators with regular expressions I am trying to extract the middle value from a register that is something like this:
NAME=PATH=USER=DATE

I need to get the path part and all I came up with is this:
=[^=]*=

the problem is that it includes the = at the beginning and at the end. How could i not include them?
Also, which unix command should I use to extract it? I was thinking sed, but I usually use it to replace strings not to get them. grep maybe?
I am new in bash programming...
Is there any place where I can learn some regex? because I think I will need to really know how to work with them.

A: Use captured groups:
if [[ $str =~ =([^=]+)= ]]
then
    echo "Part between = and = is ${BASH_REMATCH[1]}."
fi

A: In bash:
IFS="="
a="NAME=PATH=USER=DATE"
read -a b <<< "$a"
echo "${b[1]}"

UPDATE as suggested by mklement0
a="NAME=PATH=USER=DATE"
IFS="=" read -a b <<< "$a"
echo "${b[1]}"

A: So as to have several possibilities, you can also use read and make an array with all your fields:
var="NAME=PATH=USER=DATE"
IFS== read -r -a var_ary <<< "$var"
echo "field1: ${var_ary[0]}"
echo "field2: ${var_ary[1]}"
echo "field3: ${var_ary[2]}"
echo "field4: ${var_ary[3]}"

will output:
field1: NAME
field2: PATH
field3: USER
field4: DATE

this will also enable you to check that you have the correct number of fields:
if ((${#var_ary[@]}==4)); then
    echo "Cool I have 4 fields"
else
    echo "Oh no, I don't have 4 fields (I have ${#var_ary[@]} fields)"
fi

A: No need for complicated regex, a simple awk can do it:
echo "NAME=PATH=USER=DATE" | awk -F= '{print $2}'
PATH

A: You can use bash parameter to remove the leading and trailing pieces.
$ s='NAME=PATH=USER=DATE'
$ s=${s#*=} && echo "${s%%=*}"
PATH

%% removes the longest match from behind and # removes the shortest match from front. Using them together allows you to remove pieces you don't need. You can read more about bash parameter expansion here.

A: NAME=PATH=USER=DATE
Multiple ways to extract this data. The easiest may be pattern filtering. Pattern filtering has four forms:

*

*${VAR#PATTERN} - Remove the smallest left most part of the string that matches the pattern.

*${VAR##PATTERN} - Remove the largest left most part of the string that matches.

*${VAR%PATTERN} - Remove the **smallest right most part of the string that matches.

*${VAR%%PATTERN} - Remove the largest right most part of the string that matches.

You can remember that # is to the left of % on the keyboard, so # is left and % is right.
STRING="NAME=PATH=USER=DATE"
PATH=${STRING#*=}  # Removes NAME=
PATH=${PATH%%=*}   # Removes =USER=DATE
echo $PATH         # Echoes "PATH"

You might be able to use the read to get all four at once. I am on an iPad, so I can't test this right now.
OLD_IFS="$IFS"
IFS="="
read NAME PATH USER DATE <<<"$STRING"
IFS="$OLDIFS"

$IFS is thee Input File Separator and is set to space/tab/NL by default. I save the value of $IFS before I change it. I set it to = which separates your various values in your input string..
The read will read in the values using $IFS to separate each one. The <<< is a way to get the shell variable in as input.
Once I finish getting the values, I reset IFS. Otherwise, I would have problems later on.

A: Excellent place to start for regex on Stackoverflow is : Reference - What does this regex mean?
For your actual question - you were looking for a regex and a way to use it in bash so:
josephs-mbp$more temp.txt
NAME=PATH=USER=DATE
josephs-mbp$sed 's/^.*=\([^=]*\)=.*=.*$/\1/' temp.txt
PATH
josephs-mbp$

Let's break down the important bit.  Occasionally you want to refer to bits of a regular expression separately, it turns out that the easy way of doing this is by putting things in parenthesis '(' ')'  - but in regex land we have to escape them so it's '(' and ')'. These make no difference at all to the match but they make a difference to what happens now.
In general the bit of a regex between a '(' and ')' is stored in a location that can be accessed later with \1, \2,... with the first pair stored in \1 and the second in \2 and so on.  Here I just put the bit of the regex you wanted into the brackets and then replaced (thats the 's/fu/bar' bit) in sed.  It's ugly and there are probably much more effective ways of doing it, but I think you are starting from about the same point I am and I think that this is the next step for you.


text:
Q: Insert newline between the items of dropdownlist I want give some space between the items of the dropdownlist. is it possible?
ex:
ddl:
    item1

    item2

    item3

A: Try like this
        comboBox1.Items.Add("item1");
        comboBox1.Items.Add("");
        comboBox1.Items.Add("item2");
        comboBox1.Items.Add("");
        comboBox1.Items.Add("item3");
        comboBox1.Items.Add("");

A: If you mean a <select>, no this isn't possible, at least not in a cross-browser way (unless you add empty, selectable <option> elements, which I wouldn't guess that you want in there.
To do this you need to use something that replaces the <select> with stylable elements, here are some options:

*

*Stylish Select Box

*Select Box Replacement

A: You should use CSS.
example:
select option
{
    line-height: 35px;

}


text:
Q: Install software in different drive I've recently moved to Ubuntu 13.04 64bit. I want to install android adt into this os. But the problem is, the partition I made for this OS is very less. Are there any other options to install software into different drive as in windows OS. If there are any options please tell. Thanks

A: One option is to move your /home to another drive.  Just make sure that you enough room on the new drive, and then check out Partitioning/Home/Moving.
Note: when dealing with partitions, and drives, make sure that you have a current backup just in case.

A: I recommend you use GParted to resize your partitions.
With Gparted you can shrink your Windows partition, Move your Ubuntu Partition to the left, and then resize it to make it fill in the extra space on the right.
I don't know of any other partition manager that can do this.
I also highly suggest you burn Gparted to a bootable disc, or bootable USB.  Gparted only works in a linux environment; and since you'll be moving the information on every hard drive stripe when you move your Ubuntu partition to the left, it would be safest not to run Gparted from that partition.


text:
Q: ASP.NET Core: InvalidOperationException: No authenticationScheme was specified, and there was no DefaultSignInScheme found We have a brand new ASP.NET Core site, for the purpose of upgrading an old ASP.NET Framework site.  We used DotNetOpenAuth for OpenID logins back then, and now we're trying to replicate in ASP.NET Core.
We have gotten as far as our site redirecting to the OpenID provider, being able to log in, but it throws an exception upon calling back to our site:
InvalidOperationException: No authenticationScheme was specified, and there was no DefaultSignInScheme found.
I am unable to find a complete example, which would really help me understand the whole process.  I have pulled together the following from a variety of sources...
In Startup's ConfigureServices:
            services.AddDistributedMemoryCache();

            services.AddSession(options =>
            {
                // Set a short timeout for easy testing.
                options.IdleTimeout = TimeSpan.FromSeconds(10);
                options.Cookie.HttpOnly = true;
                options.Cookie.SecurePolicy = CookieSecurePolicy.Always; //require https
                // Make the session cookie essential
                options.Cookie.IsEssential = true;
            });

            services.Configure<CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded = context => false; //true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });

            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

            services.AddSimpleInjector(_simpleInjectorContainer, options =>
            {
                // AddAspNetCore() wraps web requests in a Simple Injector scope.
                options.AddAspNetCore()
                    // Ensure activation of a specific framework type to be created by
                    // Simple Injector instead of the built-in configuration system.
                    .AddControllerActivation()
                    .AddViewComponentActivation();
                //.AddPageModelActivation()
                //.AddTagHelperActivation();
            });

            services.AddAuthentication(options =>
            { /* Authentication options */
              //options.DefaultAuthenticateScheme = "Steam";

            })
                .AddSteam(options =>
                {
                });

With no prior experience in ASP.NET Core, I have blindly tried assigning "Steam" to DefaultAuthenticateScheme inside of AddAuthentication, but that throws an error saying it cannot call itself.
We've been using the default Home controller as a testing ground:
    [HttpGet("~/signin")]
    public IActionResult SignIn()
    {
        // Instruct the OIDC client middleware to redirect the user agent to the identity provider.
        // Note: the authenticationType parameter must match the value configured in Startup.cs
        return Challenge(new AuthenticationProperties
        {
            RedirectUri = Url.Action("HandleSteamLogin", "Home"),
        }, "Steam");
    }

    public async Task<IActionResult> HandleSteamLogin()
    {
        //Everything in this method is marked as obsolete, so it's a poor example.  I guess it's from an older version of ASP.NET Core?

        var claimsPrincipal = await HttpContext.Authentication.AuthenticateAsync("ExternalCookie");

        //do something the the claimsPrincipal, possibly create a new one with additional information
        //create a local user, etc

        await HttpContext.Authentication.SignInAsync("MainCookie", claimsPrincipal);
        await HttpContext.Authentication.SignOutAsync("ExternalCookie");
        return Redirect("~/");
    }

I can even see in the exception data, we are getting the necessary login information back, but I really need a complete example for me to be able to understand.


text:
Q: Importing times from a txt file in c++ I have this call log consisting of day time and duration data in a file:
Mo 12:30 16
Tu 7:15 10
We 9:10 20
Th 15:34 6
Fr 13:12 8
I want to store these data into variables so but i'm having trouble because of the colons.
    #include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main()
{
ifstream inputfile;
string day;
double time;
int hours;
string semicolon;
int minutes;
int timeSpent;

inputfile.open("Data.txt");
inputfile >> day;
cout << day << endl;
inputfile >> hours;
cout << hours << endl;
inputfile >> semicolon;
cout << semicolon << endl;
inputfile >> minutes;
cout << minutes << endl;
inputfile >> timeSpent;
cout << timeSpent << endl;

return 0;}

A: C++11 has get_time and put_time for this, with a small tweak to your date format (at least three letters for days, hours and minutes must have leading zeros if less than 10) it's as easy as writing:
#include <iostream>
#include <iomanip>

int main()
{
  std::tm t;
  int duration;
  while (std::cin >> std::get_time(&t, "%a %R") >> duration)
    std::cout << std::put_time(&t, "%a %R") << ' ' << duration << '\n';
}

Your input would be as follows:
Mon 12:30 16 Tue 07:15 10 Wed 09:10 20 Thu 15:34 6 Fri 13:12 8


text:
Q: Looping through cursor and passing record to procedure I'm parsing through xml and i need to update table record in autonomous transaction. For this i need to pass cursor record to procedure, how can i do that? f.e.
procedure process_message(
  p_xml in xmlType) is
  cursor c_parse_xml(cp_xml in xmltype) is
    select
      column_name_1,
      ...,
      column_name_n
    from
      xmltable(
        ...);
begin
  for r_rec in c_parse_xml(p_xml) loop
    update_table_records(r_rec);
  end loop;
end;

A: Create a package.  Declare cursor type as package-level cursor.  Then you
can reference cursor record with %ROWTYPE as parameter to another procedure:
CREATE OR REPLACE PACKAGE MyPackage
IS
  CURSOR c_parse_xml
  IS
    SELECT 'A' c1, 1 c2 FROM dual;
  PROCEDURE proc1;
  PROCEDURE update_table_records(
      P_Rec IN c_parse_xml%ROWTYPE );
END MyPackage;

CREATE OR REPLACE PACKAGE body MyPackage
IS
  PROCEDURE proc1
  IS
  BEGIN
    FOR c_rec IN c_parse_xml
    LOOP
      update_table_records( c_rec );
    END LOOP;
  END proc1;
  PROCEDURE update_table_records(
      P_Rec IN c_parse_xml%ROWTYPE )
  IS
    PRAGMA AUTONOMOUS_TRANSACTION;
  BEGIN
    dbms_output.put_line(P_Rec.c1 || ' ' || P_rec.c2 );
  END update_table_records;
END MyPackage;


text:
Q: How to use Active Choices Reactive Reference Parameter in Jenkins pipeline(jenkinsfile) I want achieve Picture 3. If no need update, give default value. If need update, then give user input area.
I'd like use active reactive Reference in Jenkins pipeline code, not the jenkins GUI. Checked the example, but user cannot input the value by them self, only provide choices. As we can see the Jenkins GUI picture 1 and 2 can use "Formatted HTML" do this, but how can we use it in pipeline or convert it to pipeline?

A: ========I made it====== here is the code.
 parameters([
                    choice(name:"NeedUpgradePC",choices:['yes','no'],description: "Do you need upgrade your PC"),
                    [$class: 'DynamicReferenceParameter',
                            choiceType: 'ET_FORMATTED_HTML',
                            omitValueField: true,
                            description: 'Please provide a Elastic alias label',
                            name: 'PC_RAM',
                            randomName: 'choice-parameter-5631314456178624',
                            referencedParameters: 'NeedUpgradePC',
                            script: [
                                    $class: 'GroovyScript',
                                    fallbackScript: [
                                            classpath: [],
                                            sandbox: true,
                                            script:
                                                    'return[\'nothing.....\']'
                                    ],
                                    script: [
                                            classpath: [],
                                            sandbox: true,
                                            script:
                                                    """
                                    if(NeedUpgradePC.equals('yes')) {
                                        inputBox="<input name='value' type='text' value='Kingston 8GB'>"
                                    } else {
                                        inputBox="<input name='value' type='text' value='Kingston 8GB' disabled>"
                                    }
                                """
                                    ]
                            ]
                         ],
                            [$class: 'DynamicReferenceParameter',
                                    choiceType: 'ET_FORMATTED_HTML',
                                    omitValueField: true,
                                    description: 'Please provide a Elastic alias label',
                                    name: 'PC_CPU',
                                    randomName: 'choice-parameter-5631314456178624',
                                    referencedParameters: 'NeedUpgradePC',
                                    script: [
                                            $class: 'GroovyScript',
                                            fallbackScript: [
                                                    classpath: [],
                                                    sandbox: true,
                                                    script:
                                                            'return[\'nothing.....\']'
                                            ],
                                            script: [
                                                    classpath: [],
                                                    sandbox: true,
                                                    script:
                                                            """
                                    if(NeedUpgradePC.equals('yes')) {
                                        inputBox="<input name='value' type='text' value='Intel Core i5'>"
                                    } else {
                                        inputBox="<input name='value' type='text' value='Intel Core i5' disabled>"
                                    }
                                """
                                            ]
                                    ]
                            ]

            ])

A: Thanks Markzhu;
I ran into the same problem and this solution really helped!
You really don't need to use a Jenkinsfile though. You can just add the code to the reactive parameter like this.
if(NeedUpgradePC.equals('yes')) {
  inputBox="<input name='value' type='text' value='Intel Core i5'>"
} else {
  inputBox="<input name='value' type='text' value='Intel Core i5' disabled>"
}

But the better option is to stop using text and use a checkbox instead. Here is how you check the value of a checkbox.

*

*Use a standard Boolean Parameter and name it 'NeedUpgradePC'

*Add a description like: "Intel Core i5"

*In the Groovy Script for your Active Choices Reactive Reference Parameter:

if (NeedUpgradePC.equals('on')){
  inputBox="<input name='value' type='text' value='Intel Core i5'>"
} else {
  inputBox="<input name='value' type='text' value='Intel Core i5' disabled>"
}


text:
Q: How do I make the link and the div element activate at the same time when i hover on the div element, only it lights up and not the link as well.
is there any way to make the button light up as one and not the button background and THEN the link.

    BUY

    BUY

    BUY

a:visited{
    color: white
}
a:hover:visited{
    color: rgb(180, 179, 179);
}

a:link{
    color: white;
    background-color:  rgb(180, 179, 179);
}
a:hover{
    color: rgb(180, 179, 179);
    background-color: white
}

div.b{
    color:  white;
    background-color: rgb(180, 179, 179);
}

div.b:hover{
    color: rgb(180, 179, 179);
    background-color: white
}
a:link { text-decoration: none; }
a:visited { text-decoration: none; }
a:hover { text-decoration: none; }
a:active { text-decoration: none; }

i tried everything at least i know of

A: Try it
.b:hover {
  background: #ccc;
}

.b:hover a {
  background: green;
}

/* or */
.b a:hover {
  color: red;
}

https://codepen.io/roma3z/pen/QWxapdB


text:
Q: Error when compiling with -m32 option (32-bit code) using Mingw-w64
Error when compiling with -m32 option (for 32-bit code) using Mingw-w64

I've installed Mingw-w64 using the official installer mingw-w64-install as x86-64/POSIX-threads on Windows 10.
My plan was to use this compiler to compile C/C++ programs for both 32-bit and 64-bit architectures.
Doing some research, I've found that -m32 options should generate 32-bit code. Below is my Visual Studio Code build file:
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "command": "g++",
            "args": ["HelloWorld.cpp", "-w", "-m32", "-o", "HelloWorld.exe"],
            "label": "build",
            "type": "shell",
        }
    ]
}

Everything works just fine when compiling for 64-bit architecture. However, if I specifiy -m32 option, I get the error shown below:
In particular, ld.exe can't find lstdc++ etc. How do I fix this?
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/libstdc++.dll.a when searching for -lstdc++
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/libstdc++.a when searching for -lstdc++
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0\libstdc++.a when searching for -lstdc++
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/libstdc++.dll.a when searching for -lstdc++
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/libstdc++.a when searching for -lstdc++
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lstdc++
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libmingw32.a when searching for -lmingw32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib\libmingw32.a when searching for -lmingw32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libmingw32.a when searching for -lmingw32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lmingw32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libgcc_s.a when searching for -lgcc_s
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib\libgcc_s.a when searching for -lgcc_s
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libgcc_s.a when searching for -lgcc_s
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lgcc_s
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/libgcc.a when searching for -lgcc
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0\libgcc.a when searching for -lgcc
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/libgcc.a when searching for -lgcc
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lgcc
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libmoldname.a when searching for -lmoldname
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib\libmoldname.a when searching for -lmoldname
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libmoldname.a when searching for -lmoldname
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lmoldname
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libmingwex.a when searching for -lmingwex
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib\libmingwex.a when searching for -lmingwex
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libmingwex.a when searching for -lmingwex
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lmingwex
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libmsvcrt.a when searching for -lmsvcrt
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib\libmsvcrt.a when searching for -lmsvcrt
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libmsvcrt.a when searching for -lmsvcrt
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lmsvcrt
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libpthread.dll.a when searching for -lpthread
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libpthread.a when searching for -lpthread
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib\libpthread.a when searching for -lpthread
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libpthread.dll.a when searching for -lpthread
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libpthread.a when searching for -lpthread
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lpthread
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libadvapi32.a when searching for -ladvapi32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib\libadvapi32.a when searching for -ladvapi32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libadvapi32.a when searching for -ladvapi32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -ladvapi32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libshell32.a when searching for -lshell32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib\libshell32.a when searching for -lshell32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libshell32.a when searching for -lshell32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lshell32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libuser32.a when searching for -luser32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib\libuser32.a when searching for -luser32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libuser32.a when searching for -luser32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -luser32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libkernel32.a when searching for -lkernel32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib\libkernel32.a when searching for -lkernel32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libkernel32.a when searching for -lkernel32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lkernel32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libiconv.a when searching for -liconv
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib\libiconv.a when searching for -liconv
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libiconv.a when searching for -liconv
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -liconv
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libmingw32.a when searching for -lmingw32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib\libmingw32.a when searching for -lmingw32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libmingw32.a when searching for -lmingw32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lmingw32
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libgcc_s.a when searching for -lgcc_s
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib\libgcc_s.a when searching for -lgcc_s
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libgcc_s.a when searching for -lgcc_s
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lgcc_s
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/libgcc.a when searching for -lgcc
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0\libgcc.a when searching for -lgcc
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/libgcc.a when searching for -lgcc
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lgcc
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libmoldname.a when searching for -lmoldname
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib\libmoldname.a when searching for -lmoldname
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libmoldname.a when searching for -lmoldname
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lmoldname
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libmingwex.a when searching for -lmingwex
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib\libmingwex.a when searching for -lmingwex
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libmingwex.a when searching for -lmingwex
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lmingwex
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libmsvcrt.a when searching for -lmsvcrt
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib\libmsvcrt.a when searching for -lmsvcrt
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/libmsvcrt.a when searching for -lmsvcrt
C:/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lmsvcrt
collect2.exe: error: ld returned 1 exit status
The terminal process terminated with exit code: 1

A: How about considering to install glibc-devel.i386 and libstdc++-devel.i386?
Please check the link below.
https://www.cyberciti.biz/tips/compile-32bit-application-using-gcc-64-bit-linux.html


text:
Q: getting NegativeByteArraySizeException from ContentResolver's openAssetFileDescriptor method for reading vCardUri. Is there any workaround to fix it? I am creating a .VCF file for backing up the Contacts. The process of creating and inserting the data get failed because of the FileDescriptor's method getDeclaredLength which returns the size -1 for the length of the vCard-URI which I got from the ContentResolver's openAssetFileDiscritor method.
This is the exact same Question as asked here by Balakrishna Avulapati. but the only problem for asking the same question here is that, the proposed solution is a bit hard for me to understand. which do not salve my problem. The comment by @pskink in the solution of above link could be useful but i am anable to find the full source code, as there is only 1 line provided in the comment.
I am using the fllowing code,
Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_VCARD_URI, lookupKey);
AssetFileDescriptor fd = resolver.openAssetFileDescriptor(uri, "r");
FileInputStream fis = fd.createInputStream();
byte[] b = new byte[(int)fd.getDeclaredLength()];
fis.read(b);

Please give your kind sugestions. Thank you :)

A: So I figured it out by myself, and I'm posting the answer in case of somebody get the similar problem and stuck for the solution. So the code before byte[] b = new byte[(int)fd.getDeclaredLength()]; is same. Change this line to byte[] buf = readBytes(fis); and the method readBytes(FileInputStream fis) is below.
public byte[] readBytes(InputStream inputStream) throws IOException {
    // this dynamically extends to take the bytes you read
    ByteArrayOutputStream byteBuffer = new ByteArrayOutputStream();

    // this is storage overwritten on each iteration with bytes
    int bufferSize = 1024;
    byte[] buffer = new byte[bufferSize];

    // we need to know how may bytes were read to write them to the byteBuffer
    int len = 0;
    while ((len = inputStream.read(buffer)) != -1) {
        byteBuffer.write(buffer, 0, len);
    }

    // and then we can return your byte array.
    return byteBuffer.toByteArray();
}

Hope this help. Cheers


text:
Q: Fast way to delete many, many files? My impression is that a subfolder of the Temporary Internet Folder has become really, really bloated.  (Hard for me to say how bloated; the usual user-level tools for calculating disk usage don't stop with an answer in a reasonable amount of time.)
I've gone into the folder in a cmd window and typed
del *.*

but that seems to take forever, too.  (Meaning, hours.)  I'm pretty sure it's actually deleting things, because I haven't gotten any permissions errors, and free disk space is increasing.
Is there a way to delete all the files more quickly?


text:
Q: Имя приложения в PlayMarket Есть приложение, которое поддерживает несколько языков, если я ввожу поиск с других языков, то это приложение выходит в поиске, но название на русском языке. Возможно ли как-то сделать, чтобы в соответствии с языком системы, например для тех, у кого язык системы на английском, название моего приложения в плей маркете будет на английском, а у кого на русском, для них на русском и так далее?

A: Раньше можно было добавлять названия для разных языков в консоли управления:

Сейчас в панель с ноутбука войти не могу, но не думаю, что что-то поменялось


text:
Q: Ionic 4 oauth redirect connection refused I am building an Android & iOS app using ionic/cordova: ionic version is : 4.11.0 & Cordova version is : 8.1.2
I created the app and tested in browser on chrome and the whole app worked fine including authorization, fetching data, etc.
My problems started when I created the android app to test. No matter what I do, I can't get the authorization workflow to redirect to the app.
Here are the things I tried:
1- callback "http/localhost" gives connection refused no matter what I tried in config.xml, cordova web view plugin, and cordova custom url scheme plugin.
2- callback "myapp://callback" gives err_unkown_url_schema" no matter what I tried modifying config.xml and using the same cordova plugins above.
I am testing on an LGG6 Android version 8.0.0. Didn't test on iOS yet.
Code snippet:
var uniqueWindowId = 'authorization-' + this.client_id
var params = 'titlebar=no, location=yes'
    var loginWindow = window.open(this.authCodeURL, uniqueWindowId, params);

    loginWindow.addEventListener(
      'message',
      e => {
        var oauthMessage = e.data;
        alert(oauthMessage);
        loginWindow.close();
        loginWindow.opener.postMessage(oauthMessage, 'https://localhost/');
      },
      false
    );

and here is the log from the device via Android Studio
Connecting to io.ionic.starter
Connected to the target VM, address: 'localhost:8600', transport: 'socket'
Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
I/zygote64: Late-enabling -Xcheck:jni
W/ActivityThread: Application io.ionic.starter is waiting for the debugger on port 8100...
I/System.out: Sending WAIT chunk
I/zygote64: Debugger is active
I/System.out: Debugger has connected
    waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: debugger has settled (1419)
I/InstantRun: starting instant run server: is main process
I/CordovaLog: Changing log level to DEBUG(3)
I/CordovaActivity: Apache Cordova native platform version 7.1.4 is starting
D/CordovaActivity: CordovaActivity.onCreate()
I/WebViewFactory: Loading com.android.chrome version 72.0.3626.121 (code 362612152)
I/cr_LibraryLoader: Time to load native libraries: 7 ms (timestamps 8989-8996)
I/chromium: [INFO:library_loader_hooks.cc(42)] Chromium logging enabled: level = 0, default verbosity = 0
I/cr_LibraryLoader: Expected native library version number "72.0.3626.121", actual native library version number "72.0.3626.121"
W/cr_ChildProcLH: Create a new ChildConnectionAllocator with package name = com.android.chrome, sandboxed = true
I/cr_BrowserStartup: Initializing chromium process, singleProcess=false
W/ResourceType: Failure getting entry for 0x7f120538 (t=17 e=1336) (error -2147483647)
D/IonicWebViewEngine: Ionic Web View Engine Starting Right Up 1...
D/PhoneWindow: windowLightStatusBar : false, disable View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
D/SystemWebViewEngine: CordovaWebView is running on device made by: LGE
D/PluginManager: init()
D/PhoneWindow: windowLightStatusBar : false, disable View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
D/OpenGLRenderer: HWUI GL Pipeline
D/BezellessGripSuppressionFilter: getdisplaysize, x : 1440 y : 2880
D/PhoneWindow: windowLightStatusBar : false, disable View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
I/zygote64: Do partial code cache collection, code=28KB, data=25KB
I/zygote64: After code cache collection, code=27KB, data=25KB
    Increasing code cache capacity to 128KB
D/BezellessGripSuppressionFilter: getdisplaysize, x : 1440 y : 2880
D/CordovaWebViewImpl: >>> loadUrl(file:///android_asset/www/index.html)
I/AudioManagerEx: AudioManagerEx created
W/cr_media: Requires BLUETOOTH permission
D/CordovaActivity: Started the activity.
I/Adreno: QUALCOMM build                   : 14c0496, Ida6448821d
    Build Date                       : 01/08/18
    OpenGL ES Shader Compiler Version: EV031.22.00.01
    Local Branch                     :
    Remote Branch                    : refs/tags/AU_LINUX_ANDROID_LA.UM.6.5.R1.08.00.00.312.043
    Remote Branch                    : NONE
    Reconstruct Branch               : NOTHING
D/CordovaActivity: Resumed the activity.
I/vndksupport: sphal namespace is not configured for this process. Loading /vendor/lib64/hw/gralloc.msm8996.so from the current namespace instead.
D/BezellessGripSuppressionFilter: getdisplaysize, x : 1440 y : 2880
I/Adreno: PFP: 0x005ff087, ME: 0x005ff063
I/OpenGLRenderer: Initialized EGL, version 1.4
D/OpenGLRenderer: Swap behavior 2
W/AudioCapabilities: Unsupported mime audio/x-lg-alac
W/AudioCapabilities: Unsupported mime audio/x-lg-flac
W/AudioCapabilities: Unsupported mime audio/adpcm
W/AudioCapabilities: Unsupported mime audio/g726
W/AudioCapabilities: Unsupported mime audio/lg-wma-voice
W/AudioCapabilities: Unsupported mime audio/x-lg-ms-wma
W/VideoCapabilities: Unsupported mime video/mjpg
W/VideoCapabilities: Unsupported mime video/theora
W/VideoCapabilities: Unrecognized profile 2130706433 for video/avc
    Unrecognized profile 2130706434 for video/avc
I/vndksupport: sphal namespace is not configured for this process. Loading /vendor/lib64/hw/gralloc.msm8996.so from the current namespace instead.
W/VideoCapabilities: Unrecognized profile 2130706433 for video/avc
    Unrecognized profile 2130706434 for video/avc
W/VideoCapabilities: Unrecognized profile 2130706433 for video/avc
W/VideoCapabilities: Unrecognized profile 2130706434 for video/avc
I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@fdd775d time:801221046
W/VideoCapabilities: Unsupported mime video/dolby-vision
W/VideoCapabilities: Unsupported mime video/dolby-vision
W/VideoCapabilities: Unsupported mime video/mp4v-esdp
I/VideoCapabilities: Unsupported profile 4 for video/mp4v-es
W/cr_CrashFileManager: /data/user/0/io.ionic.starter/cache/WebView/Crash Reports does not exist or is not a directory
D/CordovaWebViewImpl: onPageDidNavigate(file:///android_asset/www/index.html)
D/CordovaWebViewImpl: onPageFinished(file:///android_asset/www/index.html)
D/SERVER: Handling local request: http://localhost/
D/CordovaWebViewImpl: onPageDidNavigate(http://localhost/)
D/SERVER: Handling local request: http://localhost/cordova.js
D/SERVER: Handling local request: http://localhost/build/main.css
D/SERVER: Handling local request: http://localhost/build/polyfills.js
D/SERVER: Handling local request: http://localhost/build/vendor.js
D/SERVER: Handling local request: http://localhost/build/main.js
D/JsMessageQueue: Set native->JS mode to EvalBridgeMode
D/SERVER: Handling local request: http://localhost/cordova_plugins.js
D/SERVER: Handling local request: http://localhost/plugins/cordova-plugin-device/www/device.js
D/SERVER: Handling local request: http://localhost/plugins/cordova-plugin-inappbrowser/www/inappbrowser.js
D/SERVER: Handling local request: http://localhost/plugins/cordova-plugin-ionic-keyboard/www/android/keyboard.js
D/SERVER: Handling local request: http://localhost/plugins/cordova-plugin-ionic-webview/src/www/util.js
D/SERVER: Handling local request: http://localhost/plugins/cordova-plugin-splashscreen/www/splashscreen.js
I/zygote64: Do partial code cache collection, code=61KB, data=56KB
    After code cache collection, code=61KB, data=56KB
    Increasing code cache capacity to 256KB
D/SERVER: Handling local request: http://localhost/plugins/cordova-plugin-statusbar/www/statusbar.js
D/SERVER: Handling local request: http://localhost/plugins/cordova-sqlite-storage/www/SQLitePlugin.js
D/SystemWebChromeClient: http://localhost/build/vendor.js: Line 4325 : Angular is running in the development mode. Call enableProdMode() to enable the production mode.
I/chromium: [INFO:CONSOLE(4325)] "Angular is running in the development mode. Call enableProdMode() to enable the production mode.", source: http://localhost/build/vendor.js (4325)
D/SystemWebChromeClient: http://localhost/build/main.js: Line 998 : ################################################################################ home.ts constructor
I/chromium: [INFO:CONSOLE(998)] "################################################################################ home.ts constructor", source: http://localhost/build/main.js (998)
D/SERVER: Handling local request: http://localhost/assets/icon/icon.png
D/SERVER: Handling local request: http://localhost/assets/fonts/ionicons.woff2?v=3.0.0-alpha.3
D/SERVER: Handling local request: http://localhost/assets/fonts/roboto-medium.woff2
D/SERVER: Handling local request: http://localhost/assets/fonts/roboto-regular.woff2
D/SystemWebChromeClient: http://localhost/build/vendor.js: Line 140284 : Ionic Native: deviceready event fired after 1716 ms
I/chromium: [INFO:CONSOLE(140284)] "Ionic Native: deviceready event fired after 1716 ms", source: http://localhost/build/vendor.js (140284)
I/App: WARNING: Back Button Default Behavior will be overridden.  The backbutton event will be fired!
D/CordovaWebViewImpl: onPageFinished(http://localhost/)
D/SERVER: Handling local request: http://localhost/assets/icon/favicon.ico
I/ViewRootImpl: ViewRoot's Touch Event : ACTION_DOWN
I/ViewRootImpl: ViewRoot's Touch Event : ACTION_UP
D/NetworkSecurityConfig: No Network Security Config specified, using platform default
I/zygote64: Compiler allocated 6MB to compile void android.view.ViewRootImpl.performTraversals()
I/zygote64: Do full code cache collection, code=123KB, data=107KB
I/zygote64: After code cache collection, code=94KB, data=64KB
D/InAppBrowser: target = _self
D/InAppBrowser: in self
D/InAppBrowser: isUrlWhiteListed [class java.lang.String]
D/InAppBrowser: loading in InAppBrowser
D/PhoneWindow: windowLightStatusBar : false, disable View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
D/BezellessGripSuppressionFilter: getdisplaysize, x : 1440 y : 2880
I/zygote64: Do partial code cache collection, code=118KB, data=94KB
    After code cache collection, code=118KB, data=94KB
    Increasing code cache capacity to 512KB
I/ViewRootImpl: ViewRoot's Touch Event : ACTION_DOWN
I/ViewRootImpl: ViewRoot's Touch Event : ACTION_UP
I/AssistStructure: Flattened final assist data: 520 bytes, containing 1 windows, 2 views
I/ViewRootImpl: ViewRoot's Touch Event : ACTION_DOWN
I/ViewRootImpl: ViewRoot's Touch Event : ACTION_UP
I/ViewRootImpl: ViewRoot's Touch Event : ACTION_DOWN
I/ViewRootImpl: ViewRoot's Touch Event : ACTION_UP
I/ViewRootImpl: ViewRoot's Touch Event : ACTION_DOWN
I/ViewRootImpl: ViewRoot's Touch Event : ACTION_UP

The message I get on the screen is:
the webpage at http://localhost/?code=......@state=..... could nopt be loaded becuase:

net::ERR_CONNECTION_REFUSED

A: I would suggest using the inappbrowser ionic native plugin in the case that you are doing oauth through a url external to the app.
https://ionicframework.com/docs/native/in-app-browser/
Have you tried that? In general this method of using the inapp browser as oauth is becoming an anti-pattern, moving forward with Ionic Capacitor, instead of using the inappbrowser they have implemented a solution around SafariViewController for iOS and Chrome Custom Tabs for Android, but this is still very much in beta in my opinion.
https://capacitor.ionicframework.com/docs/apis/browser/
Here is a somewhat dated article on OAuth with the inappbrowser, but it does well at covering the basic use of the plugin:
https://www.thepolyglotdeveloper.com/2016/01/using-an-oauth-2-0-service-within-an-ionic-2-mobile-app/
An article on why it is becoming an anti-pattern:
https://medium.com/@jlchereau/stop-using-inappbrowser-for-your-cordova-phonegap-oauth-flow-a806b61a2dc5
In terms of your specific issue I would check the console logs as well, and be sure that it is not a CORS issue, also check your whitelisting for navigation in your config.xml.


text:
Q: git confusion - cloning a repo is returning a past version Im having some confusion with my git usage.
I cloned a repo from one comp to the other, and the new clone is the state of the original that was active some time ago. So its cloning a past version.
when I do 'git log -n1' to see what the latest commit info of the new repo (the clone) it matches the original repo that I cloned (the latest commit info), so thats confusing me even more since git is indicating that both are the latest versions.
Im using git 1.5.4.3 on ubuntu server.
any ideas
thanks

A: First make sure all changes are committed on the remote repository.
git add .
git commit -m "my commit message"

Running git status should show no uncommitted changes.
Then on your local copy try running
git pull origin master #or whatever branch you're on

You can list branches by running
git branch -a

The -a shows local branches and those from the repository you cloned from.
It you need to switch to another branch on the from the remote repository you need to set up a local tracking branch first.  The command will look something like:
git branch --track my_branch origin/my_branch
git checkout my_branch

When in doubt run
git pull origin master #or whatever branch you're on

This would bring your local working copy up to date with the remote repository.

A: Are you on the same branch as the other repo?
(you get master by default, and newer commits in other branch aren't possibly hidden until you switch.)

A: That could possibly happen if you have inconsistent treating of newlines (core.autocrlf).
Make a simple change (add a line into one of your files).
Paste here what git diff, git status, cat .git/config say on and what is the exact output of git commit -am "test"


text:
Q: How to load model instance? Issue: Cannot be case I am writing a code to get all the contents of an EMF model instance. I tried to follow this tutorial that I found here: Create and modify ecore files and their instances from code in order to load the model.
In this tutorial, the model instance is an XMI file. In my case, I have a .myExt file (the extension I decided upon when I created the metamodel to which this model instance conforms to in ecore). I wrote the following code, but I get the following error:

    class GetModelObjects {
        ResourceSet resourceSet = new ResourceSetImpl()
        Resource metamodel
        EPackage mp
        Resource model
        EFactory mappinginstance
        //EList <EObject> modelobjects = new BasicEList<EObject>()
        def doTransform() {
            resourceSet.resourceFactoryRegistry.extensionToFactoryMap.put("ecore", new EcoreResourceFactoryImpl)
            resourceSet.resourceFactoryRegistry.extensionToFactoryMap.put("myext", new MyExtFactoryImpl)
            metamodel = resourceSet.getResource(URI.createFileURI("myext.ecore"), true)
            mp = metamodel.contents.get(0) as EPackage
            resourceSet.packageRegistry.put("http://www.example.org/myExt", metamodel)
            model = resourceSet.getResource(URI.createURI("model.myext"), true)
            mappinginstance = mp.getEFactoryInstance
            System.out.println("Model:" + model.contents)
        }

        def static void main(String[] args) {
            new GetModelObjects().doTransform()
        }
    }

class myExt.impl.MyExtFactoryImpl cannot be cast to class org.eclipse.emf.ecore.resource.Resource$Factory (myExt.impl.MyExtFactoryImpl
  and org.eclipse.emf.ecore.resource.Resource$Factory are in unnamed module of loader 'app')

One thing I am not quite sure about, and I think might be the reason for this error, is this line:
  resourceSet. resourceFactoryRegistry.extensionToFactoryMap.put("myext", new MyExtFactoryImpl)

Because I am not sure if this is the factory that should be placed here.
I would really appreciate any input on this.
Thank you in advance!

A: For reference, use Vogella's tutorials: https://www.vogella.com/tutorials/EclipseEMF/article.html#load-an-existing-model
The error message you are getting is a bit weird, I would check whether MyExtFactoryImpl (which should be the generated factory implementation for your metamodel) works (e.g. MyExtFactoryImpl.eINSTANCE.createXXX()) as intended. Also the error looks like it may be related to Java modules so check up on that (is EMF Resource on your classpath etc?)

A: If your .myext models are persisted as XMI files you need an XMIResourceFactoryImpl to load the file. In your example this would give:
resourceSet.resourceFactoryRegistry.extensionToFactoryMap.put("myext", new XMIResourceFactoryImpl())

MyExtFactoryImpl is a factory to create instances of the MyExt metamodel, it doesn't deal with loading the actual file.


text:
Q: Memory Management: Releasing Custom Objects in constructor - Objective-C I have an init method that takes values from a NSDictionary. This is within my Friend object.
My question is when do I release this particular instantiation of Friend?
- (id)initWithValue:(NSString *)value {
    Friend *friend = [[Friend alloc] init];
    friend.friendId = [value valueForKeyPath:@"id"];
    friend.friendName = [value valueForKeyPath:@"name"];

    return friend;
}

I call the init method below to add the Friend objects to a friends array
for (id value in dataDict) {
    Friend *friend = [[Friend alloc] initWithValue:value];
    [friends addObject:friend];
    [friend release];
}

I then do the following in code:
Friend *friend = (Friend *)[friends objectAtIndex:indexPath.row];

If I autorelease the Friend object in the init method then I get a message was sent to deallocated instance when I use the above code to get the particular objects value based on the indexPath.row.

A: A couple of things:

*

*an init method should not be calling alloc (see diwup's example for the right way to do an init)

*it looks like what you're trying to do is make a convenience method that creates, initializes, and returns an (autoreleased) object (similar to +NSString stringWithFormat: etc.). You've almost got it, but you need to (a) not name it "init*", and (b) make it a class method, not an instance method.
Something like:
+ (Friend)friendWithValue:(NSString *)value {
    Friend *friend = [[[Friend alloc] init] autorelease];
    friend.friendId = [value valueForKeyPath:@"id"];
    friend.friendName = [value valueForKeyPath:@"name"];

    return friend;
}

You would use that like:
[friends addObject:[Friend friendWithValue:value]];

A: Not directly answering your question, but these lines of code are definitely dangerous:
- (id)initWithValue:(NSString *)value {
    Friend *friend = [[Friend alloc] init];

Instead, you should write like this:
- (id)initWithValue:(NSString *)value {
    [super init];
    self.friendId = ...;
    self.friendName = ...;

    return self;
}

A: And directly answering it: Release your allocated objects ONLY when you are done with them. Create a method and call [object release]; for all your allocated objects. Doing so, you avoid having memory allocation inconsistencies, and this approach is better then calling autorelease.


text:
Q: Error says x is not a member of y, but it is I have a sp that I added to my linq designer, which generated the result class:
Partial Public Class web_GetTweetsByUserIDResult

    Private _userid As Integer

    Private _tweetid As Integer

    Private _TweeterFeed As String

    Public Sub New()
        MyBase.New
    End Sub

    <Global.System.Data.Linq.Mapping.ColumnAttribute(Storage:="_userid", DbType:="Int NOT NULL")>  _
    Public Property userid() As Integer
        Get
            Return Me._userid
        End Get
        Set
            If ((Me._userid = value)  _
                        = false) Then
                Me._userid = value
            End If
        End Set
    End Property

    <Global.System.Data.Linq.Mapping.ColumnAttribute(Storage:="_tweetid", DbType:="Int NOT NULL")>  _
    Public Property tweetid() As Integer
        Get
            Return Me._tweetid
        End Get
        Set
            If ((Me._tweetid = value)  _
                        = false) Then
                Me._tweetid = value
            End If
        End Set
    End Property

    <Global.System.Data.Linq.Mapping.ColumnAttribute(Storage:="_TweeterFeed", DbType:="NVarChar(100)")>  _
    Public Property TweeterFeed() As String
        Get
            Return Me._TweeterFeed
        End Get
        Set
            If (String.Equals(Me._TweeterFeed, value) = false) Then
                Me._TweeterFeed = value
            End If
        End Set
    End Property
End Class

However, in this one section of code where I am trying to use the "TweeterFeed" member of the result class I am getting the error, "Error   4 'TweeterFeed' is not a member of 'System.Data.Linq.ISingleResult(Of web_GetTweetsByUserIDResult)'."
My code in this section is, :
<WebMethod()> _
    Public Function GetTweetsByUserID(ByVal userID As Integer) As List(Of SimpleTweet)
        Dim result As New List(Of SimpleTweet)
        Dim urlTwitter As String = "https://api.twitter.com/1/statuses/user_timeline.xml?include_entities=true&include_rts=true&screen_name={0}&count=20"
        Dim lq As New lqDFDataContext
        Dim var = lq.web_GetTweetsByUserID(userID).ToList()
        If Not var Is Nothing Then
            For Each twitterfeed In var

                Dim listURL As String = String.Format(urlTwitter, var.TweeterFeed)

                Dim tweetXML As XmlDocument = utils.GetXMLForURL(listURL)

                Dim tweetnodelist As XmlNodeList = tweetXML.ChildNodes(1).ChildNodes

                For Each node As XmlNode In tweetnodelist
                    Dim tweet As New SimpleTweet
                    tweet.CreatedAt = node.SelectSingleNode("created_at").InnerText
                    tweet.HTMLText = utils.ReturnTextWithHRefLink(node.SelectSingleNode("text").InnerText)
                    tweet.ID = node.SelectSingleNode("id").InnerText
                    tweet.Name = node.SelectSingleNode("user/name").InnerText
                    tweet.ScreenName = node.SelectSingleNode("user/screen_name").InnerText
                    tweet.Text = node.SelectSingleNode("text").InnerText
                    tweet.UserID = node.SelectSingleNode("user/id").InnerText
                    tweet.ProfileImageURL = node.SelectSingleNode("user/profile_image_url_https").InnerText
                    result.Add(tweet)
                Next
            Next
        End If
        Return result
    End Function

Does anyone have any idea what is going on? As far as I see "TweeterFeed" is clearly a member of the class, I can't figure out why I would be getting this error.

A: You're using var.TweeterFeed when you should be using twitterFeed.TweeterFeed. twitterFeed is a result extracted from var which is a sequence of results.
Using a more descriptive variable name than var would probably have made this clearer to you :)

A: I have this class
Public Class Tamano
    Private pWidth As Integer
    Private pHeight As Integer
    Public Property Width As Integer
    Public Property Height As Integer
End Class

I got the compilation error message 'Height' is not a member of 'Tamaño' in IIS
To fix it, add Set and Get to the properties and it compiles.
Public Class Tamano
    Private pWidth As Integer
    Private pHeight As Integer
    Public Property Width As Integer
        Get
            Return pWidth
        End Get
        Set(value As Integer)
            pWidth = value
        End Set
    End Property
    Public Property Height As Integer
        Get
            Return pHeight
        End Get
        Set(value As Integer)
            pHeight = value
        End Set
    End Property
End Class

This might not be directly related to your question but It might help someone else.


text:
Q: Cannot write comment to my own "dark" post via Graph API - only receive OauthException 100 I write some dark post on my fanpage. (Dark post is a post, that is not published). Then I can get the post object using the graph api.
But if I try to write a comment via the graph api (Post to the post_id/comments resource) to this special kind of posts, facebook responds with a OAuthException 100.
{"error": {
    "message": "(#100) Error finding the requested story",
    "type": "OAuthException",
    "code": 100
    }
 }

On normal posts this is working fine.
Is there some special trick to write comments to dark posts via the API or is this not possible?
BTW: same problem on hidden and spam posts.

A: You cannot like or comment on a story that is not published yet.


text:
Q: HTTP request and Response I'd like to make an HTTP request to a remote server and want to get reply back.
How can I connect to server and how to read the xml file response.

A: See http://www.w3schools.com/ajax/ajax_server.asp for a simple example

A: Here's a good beginner tutorial on AJAX / XMLHTTPRequest.

A: You can try with a very simple test using telnet
telnet google.com 80
GET /path/to/file/index.html HTTP/1.0

A: The easiest way to generate a request to a web server and get a response back is to use a web browser - if you know the URL of the web service that is supplying the XML data, just navigate to that URL in the browser.  Note that this makes a few assumptions; for example, that the web service responds to GET requests (as opposed to POST, or other HTTP verbs).  If you clarify the scenario some more, we can provide more detailed guidance.


text:
Q: PGP Encrypted Marketing Cloud e-mails Can the Marketing Cloud send PGP encrypted e-mails?
This is a fairly short question but I couldn't find anything precise on the topic, either in documentation or via Google. The documentation only mentions "... digitally sign messages ..." on the Key Management page.
Thanks for your support!

A: After consultation with a very senior Solution Engineer I found my answer, which I will provide with two parts to the answer for better understanding and documentation for future searches around this:

*

*No, PGP encryption of e-mails doesn't work (or likely any other means). It's kind of plausible because this would have a massive impact on the sending infrastructure. It's likely to rare a use case to bother with development at this sort of scale. Totally understandable to be honest ...

*"Digitally Sign Messages" in the documentation refers to S/MIME, which allows to sign messages with a digital certificate that ensures the sender is correct and the message is not tampered with. From what I understand this is basically another layer on top of DMARC for increased trust.

I was warned though, that the S/MIME feature is a very old one and there is no guaranteee that it still has full support on all the various send methods now available.


text:
Q: Setting Firefox preferences using policies.json Scenario:  A custom(legacy) app depends on Firefox on Windows.  The following Firefox preferences are manually configured at install:[default]
  modify: "dom.popup_maximum": [20] 500,
  modify: "browser.cache.check_doc_frequency":[3] 1,
  create: "dom.successive_dialog_time_limit": 0,

Goal: Update all current Firefox installs to a current version and apply the custom settings using enterprise capabilities.  Establish process to manage Firefox for all future installs and updates.  Don't break the app.
Problem:  These changes can be easily applied individually via about:config.  They are not part of the GPO templates and its not clear how to add them or if it can be done.  Applying them via policies.json doesn't seem to work either.
On a representative test machine, a directory called \distribution has been created in the same directory as the firefox.exe [standard install, no hanky panky].  The file policies.json exists in the \distribution directory:
{
    "policies": {
      "Homepage": {
        "StartPage": "homepage",
        "URL": "https://www.google.com/"
      },
      "NewTabPage": true,
      "DontCheckDefaultBrowser": true,
      "Preferences": {
          "browser.cache.disk.enable":true,
          "dom.popup_maximum": -1,
          "dom.successive_dialog_time_limit": 0,
          "browser.cache.check_doc_frequency":1
        }
    }
  }

about:policies results
This image shows the results of about:policies.  The other settings, used to validate that the policies are working, get applied.
The results from about:config show that the three preferences that I need to affect, have not changed:
dom.popup_maximum;20
browser.cache.check_doc_frequency;3
and dom.successive_dialog_time_limit does not get created.

I believe that these are old preference options.  But I also believe that if I can make the changes manually and achieve the desired results, there must be a method to accomplish it programatically.

A: I think that the best way to change preferences is to use a javascript file that you add to the source code in browser/defaults/preferences where you specify each preference individually.
See here for more information.


text:
Q: Tooltip text for each column of a JTable header I am trying to display the text in each cell of the header as a tooltip when you hover over that cell.
I have found that you can set the tooltip for the entire header: table.getTableHeader().setToolTipText("asdf"); but cannot do similar for each cell such as: table.getTableHeader().getColumnModel().getColumn(0).setToolTipText("asdf");
I have looked at this question but cannot understand how to override getToolTipText when the only method in TableCellRenderer is getTableCellRendererComponent.
The only class that I've found that hass this getToolTipText is JComponent

A: See the section from the Swing tutorial on Specifying Tooltips For Column Headers.
I would recommend this approach because each LAF could have its own custom renderer, so extending the default renderer won't work for all LAF's.
The Windows table header is different than the MAC table header which is different than the Nimbus table header.

is it saying to create my own TableHeader?

It is overriding the code that creates the JTableHeader so you can override the  getToolTipText(MouseEvent) method of the JTableHeader so you can provide your own tooltip based on the mouse location. The example code just gets the tooltip from an Array.

Would I still be able to use the text under the mouse as the tooltip?

If you want the text of the header you need to get the TableColumnModel from the JTableHeader, then get the TableColumn and then use getHeaderValue() to get the text of the column header.

A: I came across this since it was similar to what I needed - I wanted to put in tooltips for the column headers. The Oracle demo example linked by camickr enabled tooltips by additional code in the JTable creation. That example steered me in the right direction, and I got it working similarly, but that way of doing it was initializing a new JTable every time the table was updated. Before, I was just using myJTable.setModel() to update the table. Plus the Oracle example looked messy and was confusing for a bit there. I didn't need to extend AbstractTableModel since it didn't look like it affected tooltips at all.
So how could I get column header tooltips without making a new JTable each time and without the mess? The crucial code in the JTable initialization was overriding a method in the JTable "protected JTableHeader createDefaultTableHeader()" which of course allows for a table header (JTableHeader) with tooltips. The JTableHeader is what I really wanted to work on.
What I did is I created a new class that extended JTableHeader so that it included a tooltips String array in the constructor and a getToolTipText() method (same as the example except with out the String tip), and then I did myJTable.setTableHeader() to set it to an instance of my new class that has the tooltips String array.
(I'm posting this as an answer since it's too involved for a comment, but could be useful to others)
Here is the code in my GUI class when I update the table-
myJTable.setModel(new javax.swing.table.DefaultTableModel(
            tableData,
            colHeader
        ));//setting the new data and col headers! (no tooltips yet)

MyTableHeader headerWithTooltips = new MyTableHeader(myJTable.getColumnModel(), colHeaderTooltips);//make a new header that allows for tooltips
myJTable.setTableHeader(headerWithTooltips);//use that header in my table

And here is my MyTableHeader class-
class MyTableHeader extends JTableHeader {

    String[] tooltips;

    MyTableHeader(TableColumnModel columnModel, String[] columnTooltips) {
      super(columnModel);//do everything a normal JTableHeader does
      this.tooltips = columnTooltips;//plus extra data
    }

    public String getToolTipText(MouseEvent e) {
        java.awt.Point p = e.getPoint();
        int index = columnModel.getColumnIndexAtX(p.x);
        int realIndex = columnModel.getColumn(index).getModelIndex();
        return this.tooltips[realIndex];
    }
}


text:
Q: Exit from a Watchkit app is handled by the Watchkit OS itself, I don't need to clear or reset screen? OK, this is pretty basic but I've read the documentation over and over and want to be sure I've got this right. In plain language, my watchkit app will be shut down by some user interaction exiting the app that's external to my code, right? I don't need to clear or reset the screen with any kind of close procedure that sets it up for another run? I don't need to build an "Exit" or "Close app" routine, right?  It's confusing because the documentation implies the app will deactivate once it's no longer on screen (presumably by a user action like swiping to another app) and that this will call the didDeactivate function. But the documentation also claims:

In iOS Simulator, WatchKit calls the didDeactivate method for the current
  interface controller when you lock the simulator by selecting Hardware > Lock.
  When you subsequently unlock the simulator, WatchKit calls that interface
  controller's willActivate method again. You can use this capability to debug
  your activation and deactivation code.

But the simulator doesn't appear to deallocate memory or reset variables or reset my app in any way. It remains persistent on screen in the state at the time of the lock, and it comes back in that state when I unlock.  What worries me is that if I've got this wrong, I have an app built for one run. But I don't see routines for shutdown, screen clearance, or any of the elements you'd expect in a conventional shutdown routine.

A: I agree that the documentation can be confusing. The easiest way to think about it is that willActivate is called whenever your interface controller is displayed/activated. Likewise, didDeactivate is called whenever it is hidden/deactivated. So, if you're flipping through pages of controllers, each will receive a willActivate when it shows up and a didDeactivate when it disappears. Similarly, if a controller is deactivated because the app is no longer visible (e.g. it was suspended), didDeactivate will be called. If the user then raises their wrist to resume the app, willActivate is called, because the interface controller is being displayed.
There is no promise about whether your WatchKit app will be suspended or terminated (it's up to the OS), so you have to consider both possibilities. Based on experience, I know that dropping your arm will call didDeactivate before suspending your app. If you then raise your wrist, the app will resume and call willActivate. In my testing, the app was simply suspended (not terminated) in this situation.
You're correct that there is no built-in method that is called when the app is terminated. However, iOS 8.2 added four notifications that can be used to monitor the app/extension's state:

*

*NSExtensionHostDidBecomeActiveNotification

*NSExtensionHostDidEnterBackgroundNotification

*NSExtensionHostWillEnterForegroundNotification

*NSExtensionHostWillResignActiveNotification


text:
Q: Find the radius of convergence of the power series $\sum_{n=1}^\infty x^n/{ (4-{1\over{n}})^n}$ Find the radius of convergence of  the following power series
$$\sum_{n=1}^\infty{x^n\over(4-{1\over{n}})^n}$$

A: Hint
The Cauchy-Hadamard test is probably better.
$$\frac 1R = \limsup \sqrt[n]{a_n}$$
The solution should be

 $R = 4$

A: Hint: The ratio of terms $n$ and $n+1$ is
$$
\frac x4\frac{4(4-\frac1n)^n}{(4-\frac1{n+1})^{n+1}}
$$
Consider the limit as $n\to\infty$.


text:
Q: Office JS Dialog - How to get back/keep context with Excel I'm messing around w/ Office Dialog for Add-Ins in JS. I've got it so far where I can open a dialog, capture input to console, run a function from a button and close the dialog box, but I can't seem to get my function to interact with Excel. It's lost context I beleive, I tried using this and I get no errors, but it doesn't work --> var context = new Excel.RequestContext().
Here is my open function and my main function and the end function.
main.js
export async function helloworld(event) {
    try {
        await Excel.run(async (context) => {
            //Start Func
            console.log("BEFORE OPEN UI");
            openDialog("/yo/dist/dialog.html", 30, 20);
            console.log("AFTER OPEN UI");
            await context.sync()
                .then(function () {
                    console.log("AFTER SYNC UI");
                    var ws = context.workbook.worksheets.getActiveWorksheet();
                    var range = ws.getRange("A1:D5");
                    range.select();
                })
            //End Func
            await context.sync();
        });
    } catch (error) {
        console.error(error);
    }
    console.log("EVENT COMPLETEED HELLOW");
    //event.completed();
}

open.js
function openDialog(RelURLStr, H, W) {
    Office.context.ui.displayDialogAsync(window.location.origin + RelURLStr,
        { height: H, width: W }, dialogCallback);
}

run func //this gets ran, but nothing output to worksheet and no errors.
function dobuttonrun(event) {
    console.log("ENDING");
    var context = new Excel.RequestContext()
    var ws = context.workbook.worksheets.getActiveWorksheet();
    var fakedatarng = ws.getRange("A1");
    fakedatarng.values = "TEST";
    return context.sync();
    event.completed();
}

function getGlobal() {
    return typeof self !== "undefined"
        ? self
        : typeof window !== "undefined"
            ? window
            : typeof global !== "undefined"
                ? global
                : undefined;
}

const g = getGlobal();

// The add-in command functions need to be available in global scope
g.dobuttonrun = dobuttonrun;

A: Opening a popup has UX issues on web clients. If you need to support excel web, it will ask the user a confirmation for the dialog each time and cannot by bypassed; Excel is asking not the browser!
I strongly suggest you, to use a Popup from your UX framework. If you are using Fluent UI, the microsoft suggested framework that keeps look and feel of office please refer to this page.

In case that you need a dialog solution, keep in mind that you are running a new page /yo/dist/dialog.html you'll loose all the variables and context from your parent webpage:
If you are using any SPA javascript framework like react.js or VUE.js, another clean app will be rendered.
BTW You can achieve your need implementing a simple communication as follows:
// Office.Dialog type
let dialog;

export async function helloworld(event) {
  Office.context.ui.displayDialogAsync(
    '/yo/dist/dialog',
    { promptBeforeOpen: true, height: 70, width: 50, displayInIframe: false },
    (result) => {

      if (result.status === Office.AsyncResultStatus.Failed) {
        // unable to manage status
        throw new Error(result.error.message)
      }
      else {
        dialog = result.value;
        dialog.addEventHandler(Office.EventType.DialogMessageReceived, messageHandler);
      }
    }
  )
}

/**
 * Assign the project to an employee.
 * @param {Object} arg - Event handler args
 * @param {string} arg.message - Message as string (NOT js OBJECT)
 * @param {string} arg.origin - Message Origin
 */
const messageHandler = (arg) => {
  // messaging can send only strings.
  // If you need to pass complex JSON you need to stringify and parse objects
  const message = JSON.parse(arg.message)

  if (message.type === "execution-canceled") {
    // you have all props of message like message.reason
    dialog.close();
    return
  }

  if (message.type === "execution-confirmed") {
    // execute than close popup
    // if you need to close popup than execute, just run dialog.close()
    // before doStuff() and remove finally method call
    doStuff()
      .then(() => console.log("EVENT COMPLETEED HELLOW"))
      .catch(error => console.error(error))
      .finally(() => dialog.close())
  }
}

const doStuff = async () => Excel.run(async (context) => {
  // you don't need context.sync() before interacting excel
  var ws = context.workbook.worksheets.getActiveWorksheet();
  var range = ws.getRange("A1:D5");
  range.select();
  await context.sync();
})

On your dialog page you need to wait for Office.initialize in order to use Office.context.ui.messaging apis, than you can simply send your object.
const send = (message) => {
  Office.context.ui.messageParent(JSON.stringify(message));
}

Office.initialize = () => {
  // render page or activate button
}

const onExecutionConfirmed = () => send({ type: 'execution-confirmed' })

const onExcecutionCanceled = () => send({
  type: 'execution-canceled',
  reason: "additional infos can be placed in any props of this serialized JSON object"
})

A: Here is what I finished with after @CLAudio detailed answer.
commands.js
Office.onReady(() => {
    // If needed, Office.js is ready to be called
});

export async function helloworld(event) {
    try {
        await Excel.run(async (context) => {
            //Start Func
            openDialog("/yo/dist/dialog.html", 30, 20);
            //End Func
            await context.sync();
        });
    } catch (error) {
        console.error(error);
    }
    event.completed();
}

const doStuff = async () => Excel.run(async (context) => {
    // you don't need context.sync() before interacting excel
    var ws = context.workbook.worksheets.getActiveWorksheet();
    var range = ws.getRange("A1:D5");
    range.select();
    await context.sync();
})

//////////////////////////////////////////
let dialog;

function openDialog(HTMLUrl, H, W) {
    Office.context.ui.displayDialogAsync(window.location.origin + HTMLUrl, { promptBeforeOpen: true, height: H, width: W, displayInIframe: false },
        (asyncResult) => {

            if (asyncResult.status === Office.AsyncResultStatus.Failed) {
                // In addition to general system errors, there are 3 specific errors for
                // displayDialogAsync that you can handle individually.
                switch (asyncResult.error.code) {
                    case 12004:
                        console.log("Domain is not trusted");
                        break;
                    case 12005:
                        console.log("HTTPS is required");
                        break;
                    case 12007:
                        console.log("A dialog is already opened.");
                        break;
                    default:
                        console.log(asyncResult.error.message);
                        break;
                }
            } else {
                dialog = asyncResult.value;
                /*Messages are sent by developers programatically from the dialog using office.context.ui.messageParent(...)*/
                dialog.addEventHandler(Office.EventType.DialogMessageReceived, messageHandler);

                /*Events are sent by the platform in response to user actions or errors. For example, the dialog is closed via the 'x' button*/
                dialog.addEventHandler(Office.EventType.DialogEventReceived, eventHandler);
            }
        }
    )
}

function eventHandler(arg) {

    // In addition to general system errors, there are 2 specific errors
    // and one event that you can handle individually.
    switch (arg.error) {
        case 12002:
            console.log("Cannot load URL, no such page or bad URL syntax.");
            break;
        case 12003:
            console.log("HTTPS is required.");
            break;
        case 12006:
            // The dialog was closed, typically because the user the pressed X button.
            console.log("Dialog closed by user");
            break;
        default:
            console.log("Undefined error in dialog window");
            break;
    }
}

/**
 * Assign the project to an employee.
 * @param {Object} arg - Event handler args
 * @param {string} arg.message - Message as string (NOT js OBJECT)
 * @param {string} arg.origin - Message Origin
 */
const messageHandler = (arg) => {
    // messaging can send only strings.
    // If you need to pass complex JSON you need to stringify and parse objects
    const message = JSON.parse(arg.message)
    console.log("message:")
    console.log(message)
    if (message.type === "execution-canceled") {
        // you have all props of message like message.reason
        dialog.close();
        return
    }

    if (message.type === "execution-confirmed") {
        // execute than close popup
        // if you need to close popup than execute, just run dialog.close()
        // before doStuff() and remove finally method call
        doStuff()
            .then(() => console.log("doStuff .then"))
            .catch(error => console.error(error))
            .finally(() => dialog.close())
    }
}
//////////////////////////////////////////

dialog.html
<!doctype html>

    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>Contoso Task Pane Add-in</title>

    <link rel="stylesheet" href="https://appsforoffice.microsoft.com/fabric/2.1.0/fabric.min.css">
    <link rel="stylesheet" href="https://appsforoffice.microsoft.com/fabric/2.1.0/fabric.components.min.css">

Pick a number

    <button class="ms-Button ms-Button--primary" id="run">

        RUN
        Run Func
    </button>
    <button class="ms-Button ms-Button--primary" id="close">

        EXIT
        Exit Func
    </button>
    <form>
        First name:

        <input type="text" id="fname" name="fname">

        Last name:

        <input type="text" id="lname" name="lname">
    </form>

dialog.js
Office.initialize = () => {
    document.getElementById("run").onclick = onExecutionConfirmed;
    document.getElementById("close").onclick = onExcecutionCanceled;
}

const send = (message) => {
    Office.context.ui.messageParent(JSON.stringify(message));
}

const onExecutionConfirmed = () => send({ type: 'execution-confirmed' })

const onExcecutionCanceled = () => send({
    type: 'execution-canceled',
    reason: "additional infos can be placed in any props of this serialized JSON object"
})


text:
Q: How to get branch name which triggered a github action workflow Edit: Question makes no sense, the branch which triggered the workflow always gets checked out per default.
Is there a way to get the name of the branch which started the workflow in Github Actions? For example, if I push to test/1, I'd like to use this name in my workflow.
Preferably before checking out the repo since I want to check out the branch which triggered the workflow. And I can't just specify the branch myself since I have multiple branches named test/* and I want my workflow to handle things dynamically in one workflow without creating a seperate workflow for each branch name.
Example:
name: Workflow

on:
  push:
    branches: [ test/* ]

jobs:
  build:
    runs-on: [ self-hosted ]
    steps:
      - name: Checkout the code
        uses: actions/checkout@v2
        with:
          ref: $branch_name <--- this is where I want to use the branch name for the branch which triggered the workflow on push
          fetch-depth: 0